:root {
  --bk: #000;
  --bk00: rgba(0,0,0,0);
  --bk05: rgba(0,0,0,.05);
  --bk10: rgba(0,0,0,.10);
  --bk15: rgba(0,0,0,.15);
  --bk20: rgba(0,0,0,.20);
  --bk25: rgba(0,0,0,.25);
  --bk30: rgba(0,0,0,.30);
  --bk35: rgba(0,0,0,.35);
  --bk40: rgba(0,0,0,.40);
  --bk45: rgba(0,0,0,.45);
  --bk50: rgba(0,0,0,.50);
  --bk55: rgba(0,0,0,.55);
  --bk60: rgba(0,0,0,.60);
  --bk65: rgba(0,0,0,.65);
  --bk70: rgba(0,0,0,.70);
  --bk75: rgba(0,0,0,.75);
  --bk80: rgba(0,0,0,.80);
  --bk85: rgba(0,0,0,.85);
  --bk90: rgba(0,0,0,.90);
  --bk95: rgba(0,0,0,.95);
  --wh: #fff;
  --wh00: rgba(255,255,255,0);
  --wh05: rgba(255,255,255,.05);
  --wh10: rgba(255,255,255,.10);
  --wh15: rgba(255,255,255,.15);
  --wh20: rgba(255,255,255,.20);
  --wh25: rgba(255,255,255,.25);
  --wh30: rgba(255,255,255,.30);
  --wh35: rgba(255,255,255,.35);
  --wh40: rgba(255,255,255,.40);
  --wh45: rgba(255,255,255,.45);
  --wh50: rgba(255,255,255,.50);
  --wh55: rgba(255,255,255,.55);
  --wh60: rgba(255,255,255,.60);
  --wh65: rgba(255,255,255,.65);
  --wh70: rgba(255,255,255,.70);
  --wh75: rgba(255,255,255,.75);
  --wh80: rgba(255,255,255,.80);
  --wh85: rgba(255,255,255,.85);
  --wh90: rgba(255,255,255,.90);
  --wh95: rgba(255,255,255,.95);
  --key: #4d2700;
  --key10: rgba(77,39,0,.10);
  --key15: rgba(77,39,0,.15);
  --key20: rgba(77,39,0,.20);
  --key25: rgba(77,39,0,.25);
  --key30: rgba(77,39,0,.30);
  --key35: rgba(77,39,0,.35);
  --key40: rgba(77,39,0,.40);
  --key45: rgba(77,39,0,.45);
  --key50: rgba(77,39,0,.50);
  --key55: rgba(77,39,0,.55);
  --key60: rgba(77,39,0,.60);
  --key65: rgba(77,39,0,.65);
  --key70: rgba(77,39,0,.70);
  --key75: rgba(77,39,0,.75);
  --key80: rgba(77,39,0,.80);
  --key85: rgba(77,39,0,.85);
  --key90: rgba(77,39,0,.90);
  --key95: rgba(77,39,0,.95);
  --bg01: #ff6;
  --bg02: #fa0;
  --bg03: #e5e5e5;
  --bg04: #ccc;
  --bg05: #ffc;
  --red: #c00;
  --orange: #f50;
  --brown: #940;
  --gray: #808080;
  --required: #c00;
}

body#small .section .contents .outline {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
}
body#small .section .contents .outline .panel {
  flex: 1 1 0%;
  position: relative;
  display: flex;
  flex-direction: column;
  border: solid 0.3125rem var(--brown);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel {
    border-width: 1.0416666667vw;
  }
}
body#small .section .contents .outline .panel::before {
  content: "";
  position: absolute;
  top: -1px;
  right: -1px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 3.75rem 3.75rem 0;
  border-color: transparent var(--brown) transparent transparent;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel::before {
    border-width: 0 12.5vw 12.5vw 0;
  }
}
body#small .section .contents .outline .panel .heading {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem;
  background-color: var(--bg01);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading {
    flex-direction: column;
    gap: 4.1666666667vw;
    padding: 4.1666666667vw;
  }
}
body#small .section .contents .outline .panel .heading dt {
  color: var(--key);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.75;
  white-space: nowrap;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dt {
    font-size: 5vw;
  }
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd {
    width: 100%;
  }
}
body#small .section .contents .outline .panel .heading dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem 2.5rem;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd ul {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 2.0833333333vw;
  }
}
body#small .section .contents .outline .panel .heading dd ul li {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  width: calc(50% - 1.25rem);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd ul li {
    justify-content: center;
    gap: 4.1666666667vw;
    width: 100%;
  }
}
body#small .section .contents .outline .panel .heading dd ul li .label {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  padding: 0.3125rem 1.25rem;
  border-radius: 6.25rem;
  color: var(--wh);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  background-color: var(--orange);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd ul li .label {
    width: calc(50% - 2.0833333333vw);
    padding: 2.0833333333vw;
    border-radius: 20.8333333333vw;
    font-size: 2.9166666667vw;
  }
}
body#small .section .contents .outline .panel .heading dd ul li .price {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 30%;
  color: var(--red);
  font-size: 1.125rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd ul li .price {
    font-size: 3.75vw;
  }
}
body#small .section .contents .outline .panel .heading dd ul li .price .num {
  font-family: "Staatliches", sans-serif;
  font-size: 2.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .heading dd ul li .price .num {
    font-size: 7.5vw;
  }
}
body#small .section .contents .outline .panel .detail {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem;
  background-color: var(--wh);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail {
    gap: 4.1666666667vw;
    padding: 4.1666666667vw;
  }
}
body#small .section .contents .outline .panel .detail .card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.25rem;
  background-color: var(--bk10);
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card {
    gap: 2.0833333333vw;
    padding: 4.1666666667vw;
  }
}
body#small .section .contents .outline .panel .detail .card .caption {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.75;
  text-align: center;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .caption {
    font-size: 3.75vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group {
  display: flex;
  gap: 0.625rem;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .group {
    gap: 2.0833333333vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group .block {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .group .block {
    gap: 2.0833333333vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group .block.short {
  width: 40%;
}
body#small .section .contents .outline .panel .detail .card .group .block .ttl, body#small .section .contents .outline .panel .detail .card .group .block .label, body#small .section .contents .outline .panel .detail .card .group .block .sub {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .group .block .ttl, body#small .section .contents .outline .panel .detail .card .group .block .label, body#small .section .contents .outline .panel .detail .card .group .block .sub {
    padding: 2.0833333333vw;
    font-size: 3.3333333333vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group .block .ttl {
  color: var(--key);
  text-align: center;
  background-color: var(--bk10);
}
body#small .section .contents .outline .panel .detail .card .group .block .label {
  flex: 1 1 0%;
  color: var(--wh);
  text-align: center;
  background-color: var(--key);
}
body#small .section .contents .outline .panel .detail .card .group .block .set {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .group .block .set {
    gap: 2.0833333333vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group .block .set .description {
  flex: 1 1 0%;
  font-size: 1rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .group .block .set .description {
    font-size: 2.9166666667vw;
  }
}
body#small .section .contents .outline .panel .detail .card .group .block .sub {
  flex: 1 1 0%;
  border: 1px solid var(--key);
  background-color: var(--wh);
}
body#small .section .contents .outline .panel .detail .card .notes li {
  padding-left: 2em;
  text-indent: -2em;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  body#small .section .contents .outline .panel .detail .card .notes li {
    font-size: 2.5vw;
  }
}
body#small .section .contents .lead {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .lead {
    gap: 4.1666666667vw;
  }
}
body#small .section .contents .lead p {
  text-align: center;
}
@media (max-width: 768px) {
  body#small .section .contents .lead p {
    text-align: left;
  }
}
body#small .section .contents .lead p.large {
  color: var(--orange);
  font-size: 1.5rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#small .section .contents .lead p.large {
    font-size: 5vw;
  }
}
body#small .section .contents .example {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .example {
    gap: 4.1666666667vw;
  }
}
body#small .section .contents .example li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(33% - 1.25rem);
  padding: 0.625rem;
  border-radius: 6.25rem;
  color: var(--wh);
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  background-color: var(--brown);
}
@media (max-width: 768px) {
  body#small .section .contents .example li {
    width: calc(50% - 4.1666666667vw);
    padding: 2.0833333333vw;
    border-radius: 20.8333333333vw;
    font-size: 3.75vw;
  }
}
body#small .section .contents .problem {
  font-size: 1.875rem;
  font-weight: 700;
}
@media (max-width: 768px) {
  body#small .section .contents .problem {
    font-size: 3.75vw;
  }
}
body#small .section .contents .problem strong {
  color: var(--red);
}
body#small .section .contents .flow ol {
  display: flex;
  flex-wrap: wrap;
  row-gap: 2.5rem;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol {
    row-gap: 8.3333333333vw;
  }
}
body#small .section .contents .flow ol li {
  counter-increment: num;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  width: 11.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li {
    gap: 4.1666666667vw;
    width: 41.6666666667vw;
    margin-left: 8.3333333333vw;
  }
}
body#small .section .contents .flow ol li + li {
  margin-left: 2.5rem;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li + li {
    margin-left: 8.3333333333vw;
  }
}
body#small .section .contents .flow ol li + li::after {
  content: "";
  position: absolute;
  top: 4.375rem;
  left: -2.5rem;
  width: 1.25rem;
  height: 1.25rem;
  border-right: solid 0.3125rem var(--key);
  border-bottom: solid 0.3125rem var(--key);
  transform: translateY(-50%) rotate(-45deg);
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li + li::after {
    top: 14.5833333333vw;
    left: -8.3333333333vw;
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    border-width: 1.0416666667vw;
  }
}
body#small .section .contents .flow ol li::before {
  content: counter(num, decimal-leading-zero);
  position: absolute;
  top: 0;
  left: 0;
  color: var(--orange);
  font-family: "Staatliches", sans-serif;
  font-size: 2.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li::before {
    font-size: 7.5vw;
  }
}
body#small .section .contents .flow ol li:nth-child(5) {
  margin-left: 0;
}
body#small .section .contents .flow ol li:nth-child(5)::after {
  display: none;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li:nth-child(2n-1) {
    margin-left: 0;
  }
  body#small .section .contents .flow ol li:nth-child(2n-1)::after {
    display: none;
  }
}
body#small .section .contents .flow ol li:nth-child(4n) {
  transition-delay: 0.4s;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li:nth-child(4n) {
    transition-delay: 0.2s;
  }
}
body#small .section .contents .flow ol li:nth-child(4n-2) {
  transition-delay: 0.2s;
}
body#small .section .contents .flow ol li:nth-child(4n-1) {
  transition-delay: 0.3s;
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li:nth-child(4n-1) {
    transition-delay: 0.1s;
  }
}
body#small .section .contents .flow ol li figure {
  width: 8.75rem;
  height: 8.75rem;
  padding: 1.875rem;
  border-radius: 50%;
  background-color: var(--bg05);
}
@media (max-width: 768px) {
  body#small .section .contents .flow ol li figure {
    width: 29.1666666667vw;
    height: 29.1666666667vw;
    padding: 6.25vw;
  }
}
body#small .section .contents .flow ol li p {
  font-weight: 700;
}
body#small .section .contents .faq {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media (max-width: 768px) {
  body#small .section .contents .faq {
    gap: 4.1666666667vw;
  }
}
body#small .section .contents .faq li .question {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  padding: 0.625rem;
  background-color: var(--bk10);
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .question {
    padding: 2.0833333333vw;
  }
}
body#small .section .contents .faq li .question::before, body#small .section .contents .faq li .question::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.1875rem;
  width: 1.875rem;
  height: 0.125rem;
  background-color: var(--bk50);
  transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .question::before, body#small .section .contents .faq li .question::after {
    right: 7.2916666667vw;
    width: 6.25vw;
    height: 0.4166666667vw;
  }
}
body#small .section .contents .faq li .question::before {
  transform: translate(50%, -50%);
}
body#small .section .contents .faq li .question::after {
  transform: translate(50%, -50%) rotate(90deg);
}
body#small .section .contents .faq li .question .icon {
  flex-basis: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.125rem;
  color: var(--wh);
  font-family: "Staatliches", sans-serif;
  font-size: 1.875rem;
  background-color: var(--key);
  transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .question .icon {
    flex-basis: 10.4166666667vw;
    height: 10.4166666667vw;
    font-size: 6.25vw;
  }
}
body#small .section .contents .faq li .question h3 {
  flex-grow: 1;
  padding: 0 3.125rem 0 0.625rem;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  transition: color 0.5s cubic-bezier(0.2, 1, 0.2, 1);
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .question h3 {
    flex-basis: 77.0833333333vw;
    padding: 0 10.4166666667vw 0 2.0833333333vw;
    font-size: 3.75vw;
  }
}
body#small .section .contents .faq li .question.active {
  background-color: var(--brown);
}
body#small .section .contents .faq li .question.active .icon {
  background-color: var(--orange);
}
body#small .section .contents .faq li .question.active::after {
  transform: translate(50%, -50%) rotate(0deg);
}
body#small .section .contents .faq li .question.active h3 {
  color: #fff;
}
body#small .section .contents .faq li .answer {
  display: none;
  position: relative;
  padding: 1.25rem 4.375rem;
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .answer {
    padding: 4.1666666667vw 4.1666666667vw 4.1666666667vw 14.5833333333vw;
    font-size: 3.3333333333vw;
  }
}
body#small .section .contents .faq li .answer::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  width: 3.125rem;
  height: 3.125rem;
  color: var(--orange);
  font-family: "Staatliches", sans-serif;
  font-size: 1.875rem;
  background-color: rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  body#small .section .contents .faq li .answer::before {
    top: 2.0833333333vw;
    left: 2.0833333333vw;
    width: 10.4166666667vw;
    height: 10.4166666667vw;
    font-size: 6.25vw;
  }
}