@charset "UTF-8";
:root {
  --color: #CE1177;
}

.pageTtlArea {
  padding: 1.875em 0 3.125em;
  background-color: #C6C6C6;
}
@media screen and (min-width: 768px) {
  .pageTtlArea {
    padding: 6em 0 3.6364em;
  }
}
.pageTtlArea__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__inner {
    flex-direction: row;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1199px) {
  .pageTtlArea__inner {
    width: 80.8%;
  }
}
.pageTtlArea__ttl {
  width: 123.7623762376%;
  margin: 0 -11.8811881188% 0;
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}
.pageTtlArea__ttl .jp {
  margin-top: -0.9091em;
  color: #fff;
  font-size: 137.5%;
  font-weight: 500;
  --ls: 0.05em;
  text-align: center;
  align-self: center;
  position: relative;
  z-index: 1;
  transform: translateX(50px);
  transition: 1s;
  opacity: 0;
}
.pageTtlArea__ttl .en {
  margin-left: 9.6%;
  color: rgba(255, 255, 255, 0.2);
  font-size: 437.5%;
  font-weight: 900;
  --ls: 0;
  line-height: 1;
  transform: translateX(-50px);
  transition: 1s;
  opacity: 0;
}
.pageTtlArea__ttl.visibled .jp {
  transform: translateX(0);
  opacity: 1;
}
.pageTtlArea__ttl.visibled .en {
  transform: translateX(0);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__ttl {
    width: 132%;
    padding-bottom: 2.1818em;
    margin-left: -23.76%;
    position: relative;
  }
  .pageTtlArea__ttl::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: scaleX(0);
    transform-origin: left;
    animation: arc_ttl_line 1s 0.5s linear forwards;
  }
  .pageTtlArea__ttl .jp {
    margin-top: -1.7381em;
    margin-right: 2.1429em;
    font-size: 190.91%;
    align-self: flex-end;
  }
  .pageTtlArea__ttl .en {
    margin-bottom: 0.08em;
    font-size: 568.18%;
    line-height: 1.4286;
    white-space: nowrap;
  }
  @keyframes arc_ttl_line {
    from {
      transform: scaleX(0);
    }
    to {
      transform: scaleX(1);
    }
  }
}
@media screen and (min-width: 1024px) {
  .pageTtlArea__ttl {
    margin-left: -42.86%;
  }
  .pageTtlArea__ttl .en {
    margin-left: 31.56%;
  }
}
@media screen and (min-width: 1440px) {
  .pageTtlArea__ttl .en {
    font-size: 681.82%;
  }
}
.pageTtlArea__img {
  width: 125%;
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__img {
    width: 69%;
    max-width: 930px;
    margin: -1.8182em -55% 0 -10%;
    align-self: flex-end;
  }
}
.pageTtlArea__introBlk {
  width: 100%;
  padding: 2.5em 0.625em 3.5625em;
  line-height: 1.5625;
  order: 1;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__introBlk {
    padding-top: 5.4167em;
    padding-left: 2.25em;
    font-size: 109.09%;
    line-height: 1.6667;
  }
}
@media screen and (min-width: 1024px) {
  .pageTtlArea__introBlk {
    padding-left: 0;
  }
}
@media screen and (min-width: 1440px) {
  .pageTtlArea__introBlk {
    padding-top: 10.4167em;
    padding-left: 2.25em;
  }
}
@media screen and (min-width: 1600px) {
  .pageTtlArea__introBlk {
    padding-top: 8.3333em;
  }
}
.pageTtlArea__introBlk_ttl {
  margin-bottom: 1.5625em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .pageTtlArea__introBlk_ttl {
    margin-bottom: 1.6667em;
  }
}

.secFlow {
  padding: 3.75em 0 9.8182em;
}
@media screen and (min-width: 768px) {
  .secFlow {
    padding: 6.5455em 0 9.8182em;
  }
}
.secFlow__list {
  width: 100%;
  margin-bottom: 5.0909em;
  display: grid;
  grid-gap: 5.6818em;
}
.secFlow__list .listItem {
  padding: 0 1.25em;
  background-color: #F7F7F7;
  border-radius: 1.7273em;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 2.0455em;
}
.secFlow__list .listItem:not(:last-child) {
  position: relative;
}
.secFlow__list .listItem:not(:last-child)::after {
  content: "";
  width: 2.5em;
  height: 2.5em;
  background-color: #CE1177;
  -webkit-clip-path: polygon(49.55% 99.1%, 99.1% 49.55%, 70.2% 49.55%, 70.2% 0%, 28.9% 0%, 28.9% 49.55%, 0% 49.55%, 49.55% 99.1%);
          clip-path: polygon(49.55% 99.1%, 99.1% 49.55%, 70.2% 49.55%, 70.2% 0%, 28.9% 0%, 28.9% 49.55%, 0% 49.55%, 49.55% 99.1%);
  display: block;
  position: absolute;
  bottom: -1.9091em;
  left: 50%;
  transform: translate(-50%, 100%);
}
.secFlow__list .listItem:not(:has(.listItem__body)) .listItem__header {
  padding: 2.2727em 0;
}
.secFlow__list .listItem:not(:has(.listItem__body)) .listItem__header_ttl {
  padding: 0;
  border-bottom: 0;
}
@media screen and (min-width: 768px) {
  .secFlow__list .listItem {
    padding: 0;
    align-items: flex-end;
  }
}
.secFlow__list .listItem__header {
  width: 100%;
  padding-top: 2em;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-gap: 1.25em;
}
.secFlow__list .listItem__header_icon {
  width: 3.0455em;
  flex-shrink: 0;
}
.secFlow__list .listItem__header_ttl {
  width: 100%;
  padding: 0 0 0.8em;
  border-bottom: 1px solid #CE1177;
  color: #CE1177;
  font-size: 125%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .secFlow__list .listItem__header {
    width: 90%;
    flex-direction: row;
    grid-gap: 2.0909em;
  }
  .secFlow__list .listItem__header_ttl {
    padding: 0.1563em 0 0.9375em;
    font-size: 145.45%;
    text-align: left;
    display: flex;
    align-items: center;
    align-self: stretch;
  }
}
.secFlow__list .listItem__body {
  padding-bottom: 2em;
  line-height: 2.0455;
}
@media screen and (min-width: 768px) {
  .secFlow__list .listItem__body {
    width: 90%;
    padding: 0 10% 2.9545em 0.4545em;
  }
}
.secFlow__btnWrap {
  width: 100%;
  display: grid;
  grid-gap: 0.9091em;
}
.secFlow__btnWrap a {
  width: 100%;
  padding: 0.9167em;
  background-color: var(--color);
  border: 1px solid var(--color);
  border-radius: 2.5em;
  color: #fff;
  font-size: 109.09%;
  font-weight: 700;
  --ls: 0.05em;
  text-align: center;
  display: block;
}
.secFlow__btnWrap a.back {
  --color: #9A9A9A;
}
.secFlow__btnWrap a.next {
  --color: #CE1136;
}
.secFlow__btnWrap a.next.disabled {
  --color: color-mix(
    in srgb,
    #CE1136,
    white 50%
  );
  pointer-events: none;
  position: relative;
}
.secFlow__btnWrap a.next.disabled::after {
  content: "全てのチェックボックスにチェックしてください";
  color: #CE1136;
  font-size: 66.67%;
  font-weight: 500;
  white-space: nowrap;
  position: absolute;
  bottom: -0.5em;
  left: 50%;
  transform: translate(-50%, 100%);
}
@media screen and (min-width: 768px) {
  .secFlow__btnWrap {
    grid-template-columns: repeat(2, 1fr);
  }
}

.secIntro {
  padding: 3.75em 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .secIntro {
    padding: 7.7273em 0;
  }
}
.secIntro__ttl {
  margin-bottom: 0.9167em;
  color: #CE1177;
  font-size: 150%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .secIntro__ttl {
    font-size: 163.64%;
  }
}
.secIntro__txt {
  white-space: nowrap;
}

.secCheck {
  padding: 0 0 9.5455em;
}
.secCheck__ttl {
  padding: 0.9429em 0;
  margin-bottom: 1.2em;
  border-top: 1px solid #CE1177;
  border-bottom: 1px solid #CE1177;
  color: #CE1177;
  font-size: 150%;
  --ls: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .secCheck__ttl {
    font-size: 159.09%;
  }
}
.secCheck__list .listItem {
  padding-bottom: 4.1818em;
}
.secCheck__list .listItem__ttl {
  width: 100%;
  padding: 1em 0;
  margin-bottom: 2.875em;
  background-color: #CE1177;
  box-shadow: 0 0 0 100vmax #CE1177;
  -webkit-clip-path: inset(0 -100vmax);
          clip-path: inset(0 -100vmax);
  color: #fff;
  font-size: 125%;
}
.secCheck__list .listItem__txt + .listItem__txt {
  margin-top: 1.1818em;
}
.secCheck__list .listItem__txt a.underline {
  padding-bottom: 0.7273em;
  color: #CE1177;
  text-underline-offset: 0.7273em;
  display: inline-block;
}
.secCheck__list .listItem__txt a.underline:hover {
  text-decoration: underline;
}
.secCheck__list .listItem__input {
  margin-top: 2.3846em;
  font-size: 118.18%;
  display: flex;
  align-items: center;
  grid-gap: 0.6923em;
}
.secCheck__list .listItem__input input[type=checkbox] {
  width: 1.4615em;
  height: 1.4615em;
  border: 2px solid #3B3B3B;
  flex-shrink: 0;
}
.secCheck__list .listItem__input input[type=checkbox]:checked {
  background: #CE1177 url('data:image/svg+xml;charset=utf8,<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.6635 0.251789C12.0767 0.618201 12.1146 1.25023 11.7482 1.66346L4.79311 9.50729L0.251789 4.38568C-0.114623 3.97245 -0.0766688 3.34042 0.336563 2.97401C0.749795 2.6076 1.38182 2.64555 1.74823 3.05879L4.79311 6.49273L10.2518 0.336563C10.6182 -0.0766688 11.2502 -0.114623 11.6635 0.251789Z" fill="%23fff"/></svg>') center/0.769em no-repeat;
}
.secCheck__list .listItem__box {
  margin-top: 3.1818em;
  padding: 2.5em 1.25em;
  background-color: #F7F7F7;
  border-radius: 1.3636em;
  line-height: 1.5909;
}
.secCheck__list .listItem__box_ttl {
  margin-bottom: 1.5909em;
}
@media screen and (min-width: 768px) {
  .secCheck__list .listItem__ttl {
    font-size: 145.45%;
  }
  .secCheck__list .listItem__input {
    padding-left: 1.0769em;
  }
  .secCheck__list .listItem__box {
    padding: 2.0909em 2.9545em;
  }
}
.secCheck__check {
  margin-top: 0.4286em;
  margin-bottom: 6.25em;
  color: #CE1177;
  font-size: 112.5%;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  grid-gap: 0.7143em;
}
.secCheck__check input[type=checkbox] {
  width: 1.3571em;
  height: 1.3571em;
  border: 2px solid #CE1177;
  flex-shrink: 0;
}
.secCheck__check input[type=checkbox]:checked {
  background: #CE1177 url('data:image/svg+xml;charset=utf8,<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.6635 0.251789C12.0767 0.618201 12.1146 1.25023 11.7482 1.66346L4.79311 9.50729L0.251789 4.38568C-0.114623 3.97245 -0.0766688 3.34042 0.336563 2.97401C0.749795 2.6076 1.38182 2.64555 1.74823 3.05879L4.79311 6.49273L10.2518 0.336563C10.6182 -0.0766688 11.2502 -0.114623 11.6635 0.251789Z" fill="%23fff"/></svg>') center/0.769em no-repeat;
}
@media screen and (min-width: 768px) {
  .secCheck__check {
    font-size: 127.27%;
    grid-gap: 1.2857em;
  }
}