@charset "UTF-8";

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
* {
  box-sizing: border-box;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition: font-size 0.1s linear;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
img {
  max-width: 100%;
  border: 0;
}
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
input {
  line-height: normal;
}
input[type=checkbox],
input[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
body {
  margin: 0;
  line-height: 1.6;
}
@media print, screen and (max-width: 959px) {
  body {
    overflow-x: hidden;
  }
}
ul,
ol {
  list-style: none;
}
ul,
ol,
dl,
p {
  padding: 0;
  margin: 0;
}
img {
  vertical-align: top;
}
a:link,
a:visited {
  text-decoration: none;
}
a:hover,
a:active {
  text-decoration: none;
}
.cfx:before,
.cfx:after {
  display: table;
  content: "";
}
.cfx:after {
  clear: both;
}
#wrap_page {
  background-color: #f5f5f5 !important;
}
#wrap_contents {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
  font-family:
    "LINE Seed JP",
    "\30d2\30e9\30ae\30ce\89d2\30b4  ProN",
    "Hiragino Kaku Gothic ProN",
    "\30d2\30e9\30ae\30ce\89d2\30b4  ProN W3",
    "\30e1\30a4\30ea\30aa",
    Meiryo,
    sans-serif;
  font-size: 1.125rem;
  color: #333;
  background-color: #ffe9b3;
}
#wrap_contents img {
  max-width: 100%;
}
#wrap_contents a {
  display: inline;
  color: #0073a8;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 960px) {
  #wrap_contents a:hover {
    opacity: 0.6;
  }
}
#mv {
  padding: 0 0 2.6041666667vw;
}
@media screen and (min-width: 960px) {
  #mv {
    padding: 0 0 25px;
  }
}
#anchor {
  padding: 0 4.1666666667vw 0;
}
@media screen and (min-width: 960px) {
  #anchor {
    padding: 0 40px 0;
  }
}
.link-bnr-box {
  display: block;
  margin-bottom: 6.875vw;
}
@media screen and (min-width: 960px) {
  .link-bnr-box {
    margin-bottom: 66px;
  }
}
.link-box {
  display: flex;
  justify-content: space-between;
}
.anchor-link {
  width: 44.1666666667vw;
}
@media screen and (min-width: 960px) {
  .anchor-link {
    width: 424px;
  }
}
#about {
  position: relative;
  padding-top: 7.0833333333vw;
  padding-bottom: 0;
  margin-top: 2.0833333333vw;
}
@media screen and (min-width: 960px) {
  #about {
    padding-top: 68px;
    padding-bottom: 0;
    margin-top: 20px;
  }
}
.detail-area {
  padding: 0 4.1666666667vw;
}
@media screen and (min-width: 960px) {
  .detail-area {
    padding: 0 40px;
  }
}
.about-ttl {
  margin-bottom: 2.2916666667vw;
}
@media screen and (min-width: 960px) {
  .about-ttl {
    margin-bottom: 22px;
  }
}
.about-ttl {
  text-align: center;
}
.about-ttl img {
  width: 74.5833333333vw;
}
@media screen and (min-width: 960px) {
  .about-ttl img {
    width: 716px;
  }
}
.detail-last {
  position: relative;
  z-index: 2;
}
.more-detail-area {
  position: relative;
}
.more-detail-list {
  display: flex;
  flex-direction: column;
  padding: 3.3333333333vw 4.1666666667vw 0;
}
@media screen and (min-width: 960px) {
  .more-detail-list {
    padding: 32px 40px 0;
  }
}
.more-detail-list {
  gap: 4.1666666667vw;
}
@media screen and (min-width: 960px) {
  .more-detail-list {
    gap: 40px;
  }
}
.more-detail-list > li {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 11px 11px 0px #ffc283;
}
.more-detail-list > li .more-detail-ttl {
  margin-top: 0;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.05em;
  background-color: #492e26;
  padding: 2.6041666667vw 0 2.3958333333vw;
  font-size: 4.7916666667vw;
  letter-spacing: -0.1302083333vw;
}
@media screen and (min-width: 960px) {
  .more-detail-list > li .more-detail-ttl {
    padding: 25px 0 23px;
    font-size: 46px;
    letter-spacing: -1.25px;
  }
}
.more-detail-list > li .more-detail-img {
  padding: 3.8541666667vw 0 3.9583333333vw;
}
@media screen and (min-width: 960px) {
  .more-detail-list > li .more-detail-img {
    padding: 37px 0 38px;
  }
}
.more-detail-list > li .more-detail-img img {
  width: 87.7083333333vw;
}
@media screen and (min-width: 960px) {
  .more-detail-list > li .more-detail-img img {
    width: 842px;
  }
}
.more-detail-note {
  margin-top: 4.1666666667vw;
}
.more-detail-link {
  display: flex;
  justify-content: center;
  padding-bottom: 2.5vw;
}
.more-detail-link img {
  width: 665px;
}
.more-detail-ttl {
  display: flex;
  justify-content: center;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  margin-bottom: 0px;
  padding: 0 0 0;
}
@media screen and (min-width: 960px) {
  .more-detail-ttl {
    margin-bottom: 0px;
    padding: 0 0 0;
  }
}
.more-detail-img {
  display: flex;
  justify-content: center;
}
.more-chance-area {
  position: relative;
  z-index: 3;
  background-color: #d1403f;
  padding: 16.6666666667vw 4.1666666667vw 10.4166666667vw;
}
@media screen and (min-width: 960px) {
  .more-chance-area {
    padding: 160px 40px 100px;
  }
}
.more-chance-ttl {
  position: absolute;
  right: 0;
  left: 0;
  top: -6.6666666667vw;
  margin: 0 4.1666666667vw;
}
@media screen and (min-width: 960px) {
  .more-chance-ttl {
    top: -64px;
    margin: 0 40px;
  }
}
.line-dots {
  margin: 3.125vw auto;
}
@media screen and (min-width: 960px) {
  .line-dots {
    margin: 30px auto;
  }
}
#howto {
  position: relative;
}
.howto-ttl {
  padding-top: 12.5vw;
  margin-bottom: 8.3333333333vw;
}
@media screen and (min-width: 960px) {
  .howto-ttl {
    padding-top: 120px;
    margin-bottom: 80px;
  }
}
#campaign {
  position: relative;
  background-image:
    url(../img/bg_campaign.png),
    linear-gradient(#ffe9b3, #ffe9b3),
    linear-gradient(
      180deg,
      #ac83d4 0%,
      #e35b3a 100%);
  background-repeat: no-repeat;
  background-position: center top;
  background-size:
    100% auto,
    100% 9.6875vw,
    100% 100%;
}
@media screen and (min-width: 960px) {
  #campaign {
    background-size:
      100% auto,
      100% 93px,
      100% 100%;
  }
}
#campaign .step-box-inner {
  border-color: #eed1ff;
}
#campaign .step-ttl {
  color: #a805b0;
  background-color: #eed1ff;
}
#campaign .step-btn-box {
  background-color: #eed1ff;
}
#campaign .step-list {
  padding-bottom: 14.5833333333vw;
}
@media screen and (min-width: 960px) {
  #campaign .step-list {
    padding-bottom: 140px;
  }
}
.campaign-ttl {
  padding-top: 20.8333333333vw;
}
@media screen and (min-width: 960px) {
  .campaign-ttl {
    padding-top: 200px;
  }
}
.campaign-ttl {
  text-align: center;
}
.campaign-ttl img {
  width: 96.09375vw;
}
@media screen and (min-width: 960px) {
  .campaign-ttl img {
    width: 922.5px;
  }
}
.campaign-apply-ttl {
  padding-top: 8.75vw;
}
@media screen and (min-width: 960px) {
  .campaign-apply-ttl {
    padding-top: 84px;
  }
}
.campaign-apply-ttl {
  text-align: center;
}
.campaign-apply-ttl img {
  width: 100vw;
}
@media screen and (min-width: 960px) {
  .campaign-apply-ttl img {
    width: 960px;
  }
}
.campaign-ttl-note {
  font-family: "Hiragino Kaku Gothic Std", sans-serif;
  line-height: 1.4;
  color: #501860;
  -webkit-text-stroke: 3px #fff4fd;
  margin-top: 0.5208333333vw;
  font-size: 3.75vw;
}
@media screen and (min-width: 960px) {
  .campaign-ttl-note {
    margin-top: 5px;
    font-size: 36px;
  }
}
.step-list {
  padding: 3.3333333333vw 4.1666666667vw 12.5vw;
}
@media screen and (min-width: 960px) {
  .step-list {
    padding: 32px 40px 120px;
  }
}
.step-box {
  width: 100%;
}
.step-box:nth-of-type(2) {
  margin-top: 0;
}
.step-box-inner {
  background-color: #ffffff;
  border: 0.625vw solid #ffc84b;
}
@media screen and (min-width: 960px) {
  .step-box-inner {
    border: 6px solid #ffc84b;
  }
}
.step-box-inner {
  border-radius: 2.0833333333vw;
}
@media screen and (min-width: 960px) {
  .step-box-inner {
    border-radius: 20px;
  }
}
.step-dots {
  text-align: center;
  margin: 1.6666666667vw auto;
}
@media screen and (min-width: 960px) {
  .step-dots {
    margin: 16px auto;
  }
}
.step-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -2px auto 0;
  font-weight: 800;
  line-height: 1;
  color: #693c08;
  letter-spacing: 0.02em;
  background-color: #ffc84b;
  width: 35vw;
  height: 8.4375vw;
  font-size: 4.6875vw;
  border-radius: 0 0 2.0833333333vw 2.0833333333vw;
}
@media screen and (min-width: 960px) {
  .step-ttl {
    width: 336px;
    height: 81px;
    font-size: 45px;
    border-radius: 0 0 20px 20px;
  }
}
.step-img {
  width: 83.3333333333vw;
  margin: 6.25vw auto 4.1666666667vw;
}
@media screen and (min-width: 960px) {
  .step-img {
    width: 800px;
    margin: 60px auto 40px;
  }
}
.step-text {
  padding-left: 1em;
  line-height: 1.4;
  text-indent: -1em;
  margin: 0 4.1666666667vw 5.8333333333vw;
  font-size: 3.6458333333vw;
}
@media screen and (min-width: 960px) {
  .step-text {
    margin: 0 40px 56px;
    font-size: 35px;
  }
}
.step-btn-box {
  background-color: #ffc84b;
  padding: 4.1666666667vw 10.5208333333vw 3.4375vw;
}
@media screen and (min-width: 960px) {
  .step-btn-box {
    padding: 40px 101px 33px;
  }
}
.step-btn-box {
  border-bottom-right-radius: 1.0416666667vw;
  border-bottom-left-radius: 1.0416666667vw;
}
@media screen and (min-width: 960px) {
  .step-btn-box {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
  }
}
.step-btn-box.flex {
  display: flex;
  gap: 0px 1.6666666667vw;
  padding: 4.1666666667vw 2.0833333333vw;
}
@media screen and (min-width: 960px) {
  .step-btn-box.flex {
    gap: 0px 16px;
    padding: 40px 20px;
  }
}
.step-btn-ttl {
  text-align: center;
  margin-bottom: 1.0416666667vw;
}
@media screen and (min-width: 960px) {
  .step-btn-ttl {
    margin-bottom: 10px;
  }
}
.step-btn-ttl img {
  width: 65.9375vw;
}
@media screen and (min-width: 960px) {
  .step-btn-ttl img {
    width: 633px;
  }
}
.step-btn {
  display: block;
  flex-shrink: 0;
  width: 42.9166666667vw;
}
@media screen and (min-width: 960px) {
  .step-btn {
    width: 412px;
  }
}
.step-btn:not(.grayout) .step-btn_link {
  filter: drop-shadow(0px 8px 8px rgba(64, 16, 0, 0.2));
}
.step-btn.grayout {
  width: 42.9166666667vw;
}
@media screen and (min-width: 960px) {
  .step-btn.grayout {
    width: 412px;
  }
}
.step-btn-link {
  display: block;
}
.step-btn-note {
  margin-top: 0.5208333333vw;
  font-size: 3.75vw;
}
@media screen and (min-width: 960px) {
  .step-btn-note {
    margin-top: 5px;
    font-size: 36px;
  }
}
.step-btn-note {
  line-height: 1.4;
}
#agreement {
  padding: 10.4166666667vw 4.1666666667vw 2.7083333333vw;
}
@media screen and (min-width: 960px) {
  #agreement {
    padding: 100px 40px 26px;
  }
}
.term-top-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.term-top-image img {
  height: 14.375vw;
}
@media screen and (min-width: 960px) {
  .term-top-image img {
    height: 138px;
  }
}
.term_box {
  --term-ttl-color: #5b3c08;
  --term-badge-bg: #f99454;
  --term-btn-bg: #ff9453;
  --term-on-accent: #5b3c08;
  --term-icon-bar: #5b3c08;
  padding-top: 9.1666666667vw;
}
@media screen and (min-width: 960px) {
  .term_box {
    padding-top: 88px;
  }
}
.term_box-second {
  --term-ttl-color: #874f7f;
  --term-badge-bg: #ba4493;
  --term-btn-bg: #ba4493;
  --term-on-accent: #fff;
  --term-icon-bar: #ba4493;
  padding-top: 5.2083333333vw;
  margin-bottom: 14.5833333333vw;
}
@media screen and (min-width: 960px) {
  .term_box-second {
    padding-top: 50px;
    margin-bottom: 140px;
  }
}
.term_box-second .term-campaign {
  margin-bottom: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .term_box-second .term-campaign {
    margin-bottom: 32px;
  }
}
.term-campaign {
  display: flex;
  align-items: center;
  font-weight: 700;
  line-height: 1.25;
  color: var(--term-ttl-color);
  margin-bottom: 5.8333333333vw;
}
@media screen and (min-width: 960px) {
  .term-campaign {
    margin-bottom: 56px;
  }
}
.term-campaign-label {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  line-height: 1;
  color: var(--term-on-accent);
  background-color: var(--term-badge-bg);
  border-radius: 999px;
  height: 8.75vw;
  padding: 0 1.3541666667vw 0 2.0833333333vw;
  font-size: 4.4791666667vw;
  letter-spacing: 0.7291666667vw;
}
@media screen and (min-width: 960px) {
  .term-campaign-label {
    height: 84px;
    padding: 0 13px 0 20px;
    font-size: 43px;
    letter-spacing: 7px;
  }
}
.term-campaign-num {
  font-weight: 800;
  font-size: 5.9375vw;
}
@media screen and (min-width: 960px) {
  .term-campaign-num {
    font-size: 57px;
  }
}
.term-campaign-ttl {
  flex: 1;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  font-size: 4.7916666667vw;
}
@media screen and (min-width: 960px) {
  .term-campaign-ttl {
    font-size: 46px;
  }
}
.term_ttl {
  width: 87.5vw;
  margin-bottom: 4.1666666667vw;
}
@media screen and (min-width: 960px) {
  .term_ttl {
    width: 840px;
    margin-bottom: 40px;
  }
}
.term_content {
  margin-bottom: 2.5vw;
}
@media screen and (min-width: 960px) {
  .term_content {
    margin-bottom: 24px;
  }
}
.term-contents {
  background-color: #ffffff;
  padding: 5.2083333333vw 3.5416666667vw 0;
  border-bottom-right-radius: 2.0833333333vw;
  border-bottom-left-radius: 2.0833333333vw;
}
@media screen and (min-width: 960px) {
  .term-contents {
    padding: 50px 34px 0;
    border-bottom-right-radius: 20px;
    border-bottom-left-radius: 20px;
  }
}
.term-title {
  text-align: center;
  font-weight: 600;
  line-height: 1.6;
  color: #401000;
  padding-bottom: 6.0416666667vw;
  font-size: 3.75vw;
}
@media screen and (min-width: 960px) {
  .term-title {
    padding-bottom: 58px;
    font-size: 36px;
  }
}
.term-subtitle {
  font-weight: 600;
  line-height: 1.6;
  color: #401000;
  font-size: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .term-subtitle {
    font-size: 32px;
  }
}
.term-text {
  font-weight: 400;
  line-height: 1.6;
  color: #401000;
  font-size: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .term-text {
    font-size: 32px;
  }
}
.term-block {
  padding-bottom: 5.8333333333vw;
}
@media screen and (min-width: 960px) {
  .term-block {
    padding-bottom: 56px;
  }
}
.term-list {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
  padding-top: 1.6666666667vw;
}
@media screen and (min-width: 960px) {
  .term-list {
    gap: 6px;
    padding-top: 16px;
  }
}
.term-note {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 400;
  line-height: 1.6;
  color: #401000;
  font-size: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .term-note {
    font-size: 32px;
  }
}
.term-contents strong {
  font-weight: 600;
}
.term-note-plain {
  padding-left: 0;
  text-indent: 0;
}
.code-title {
  font-weight: 400;
  line-height: 1.6;
  color: #4c4c4c;
  padding-bottom: 1.875vw;
  font-size: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .code-title {
    padding-bottom: 18px;
    font-size: 32px;
  }
}
.code-note {
  font-weight: 400;
  line-height: 1.6;
  color: #4c4c4c;
  font-size: 3.3333333333vw;
}
@media screen and (min-width: 960px) {
  .code-note {
    font-size: 32px;
  }
}
.accordion-btn {
  display: block;
  width: 100%;
  font-weight: 700;
  line-height: 1.3;
  color: var(--term-on-accent);
  text-align: center;
  cursor: pointer;
  background-color: var(--term-btn-bg);
  border: 0;
  transition: opacity 0.3s ease, border-radius 0s 0.5s;
}
.accordion-btn:focus-visible {
  outline: 3px solid #401000;
  outline-offset: 3px;
}
.accordion-btn[aria-expanded=true] {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  transition-delay: 0s;
}
.accordion-btn {
  padding: 4.1666666667vw 0 4.6875vw;
  border-radius: 1.6666666667vw;
}
@media screen and (min-width: 960px) {
  .accordion-btn {
    padding: 40px 0 45px;
    border-radius: 16px;
  }
}
.accordion-btn-sub {
  display: block;
  font-size: 4.0625vw;
}
@media screen and (min-width: 960px) {
  .accordion-btn-sub {
    font-size: 39px;
  }
}
.accordion-btn-main {
  display: block;
  font-size: 4.5833333333vw;
}
@media screen and (min-width: 960px) {
  .accordion-btn-main {
    font-size: 44px;
  }
}
.accordion-btn-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  background-color: #fff;
  border-radius: 50%;
}
.accordion-btn-icon::before,
.accordion-btn-icon::after {
  position: absolute;
  inset: 0;
  margin: auto;
  content: "";
  background-color: var(--term-icon-bar);
  width: 2.8125vw;
  height: 0.7291666667vw;
}
@media screen and (min-width: 960px) {
  .accordion-btn-icon::before,
  .accordion-btn-icon::after {
    width: 27px;
    height: 7px;
  }
}
.accordion-btn-icon::after {
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
.accordion-btn[aria-expanded=true] .accordion-btn-icon::after {
  transform: rotate(0deg);
}
.accordion-btn-icon {
  width: 5vw;
  height: 5vw;
  margin: -0.4166666667vw 0 0 2.9166666667vw;
}
@media screen and (min-width: 960px) {
  .accordion-btn-icon {
    width: 48px;
    height: 48px;
    margin: -4px 0 0 28px;
  }
}
.accordion-contents {
  display: none;
}
.float_area {
  position: sticky;
  bottom: 0;
  z-index: 4;
  width: 100%;
  padding: 3.125vw 8.3333333333vw 2.0833333333vw;
  margin: 0 auto;
  background-color: #ffe9b3;
  box-shadow: 0px -0.625vw 0.625vw 0px rgba(17, 17, 17, 0.1019607843);
}
@media screen and (min-width: 960px) {
  .float_area {
    box-shadow: 0px -6px 6px 0px rgba(17, 17, 17, 0.1019607843);
  }
}
@media print, screen and (min-width: 960px) {
  .float_area {
    min-width: 641px;
    max-width: 980px;
    padding: 30px 80px 20px;
  }
}
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
