@charset "UTF-8";
#wrapper {
  margin-bottom: 80px;
}
.for-large {
  display: none;
}

.for-small {
  display: block;
}

.hover-fade {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: var(--animate-duration);
  transition-duration: var(--animate-duration);
  -webkit-transition-timing-function: var(--animate-easing);
  transition-timing-function: var(--animate-easing);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}
.hover-fade:hover {
  opacity: var(--animate-opacity);
}

.hover-underline:hover {
  text-decoration: underline;
}

@font-face {
  font-family: "iconfonts";
  src: local("iconfonts"), url("../icon/iconfonts.eot");
  src: local("iconfonts"), url("../icon/iconfonts.eot") format("embedded-opentype");
  src: local("iconfonts"), url("../icon/iconfonts.woff2") format("woff2");
  src: local("iconfonts"), url("../icon/iconfonts.woff") format("woff");
  src: local("iconfonts"), url("../icon/iconfonts.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
.img-fit {
  height: auto;
  width: 100%;
}

.ol-lower {
  list-style-type: lower-alpha;
  overflow: visible;
  padding-left: 2rem;
}
.ol-lower li:last-child {
  margin-bottom: 0;
}

.ol-number {
  list-style-type: decimal;
  overflow: visible;
  padding-left: 2rem;
}
.ol-number li:last-child {
  margin-bottom: 0;
}

.ol-upper {
  list-style-type: upper-alpha;
  overflow: visible;
  padding-left: 2rem;
}
.ol-upper li:last-child {
  margin-bottom: 0;
}

.table-background thead th {
  background-color: #eeeeee;
}
.table-background tbody tr:nth-child(even) {
  background-color: #eeeeee;
}

.table-border {
  border: 1px solid var(--color-border);
  border-bottom: none;
}
.table-border th, .table-border td {
  border-bottom: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
}

.text-bold {
  font-weight: bold;
}

.text-center-for-large {
  text-align: left;
}

.text-center-for-small {
  text-align: center;
}

.text-center {
  text-align: center;
}
.text-center img {
  margin-left: auto;
  margin-right: auto;
}

.text-justify {
  text-align: justify;
}

.text-nowrap {
  display: inline-block;
  white-space: nowrap;
}

.text-right-for-large {
  text-align: left;
}

.text-right-for-small {
  text-align: right;
}

.text-right {
  text-align: right;
}
.text-right img {
  margin-left: auto;
  margin-right: 0;
}

.ul-disc {
  overflow: hidden;
}
.ul-disc li {
  padding-left: 1em;
}
.ul-disc li:last-child {
  margin-bottom: 0;
}
.ul-disc li:before {
  content: "・";
  margin-left: -1rem;
  width: 1rem;
}

.ul-halfnote {
  overflow: hidden;
}
.ul-halfnote li {
  padding-left: 1em;
}
.ul-halfnote li:last-child {
  margin-bottom: 0;
}
.ul-halfnote li:before {
  content: "*";
  margin-left: -1rem;
  width: 1rem;
}

.ul-hyphen {
  overflow: hidden;
}
.ul-hyphen li {
  padding-left: 1em;
}
.ul-hyphen li:last-child {
  margin-bottom: 0;
}
.ul-hyphen li:before {
  content: "-";
  margin-left: -1rem;
  width: 1rem;
}

.ul-note {
  overflow: hidden;
}
.ul-note li {
  padding-left: 1em;
}
.ul-note li:last-child {
  margin-bottom: 0;
}
.ul-note li:before {
  content: "※";
  margin-left: -1rem;
  width: 1rem;
}

.layout-max {
  margin-right: 8vw;
  margin-left: 8vw;
  width: auto;
}

.layout-primary {
  margin-right: var(--margin-side-small);
  margin-left: var(--margin-side-small);
  width: auto;
}

.layout-secondary {
  margin-right: 8vw;
  margin-left: 8vw;
  width: auto;
}

.js-fadein {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0;
  -webkit-transform: translateY(1.3333333333rem);
  transform: translateY(1.3333333333rem);
}
.js-fadein.-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.site-fixed-button {
  -webkit-transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  opacity: 0;
  position: fixed;
  right: 60px;
  bottom: 20px;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  visibility: hidden;
  z-index: 100;
  width: calc(100% - 120px);
}
.site-fixed-button.-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  visibility: visible;
}
.site-fixed-button::after {
  background-color: #DE949B;
  border-radius: 100px;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  bottom: -4px;
  width: 100%;
  filter: grayscale(1);
}
.site-fixed-button > .item {
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  background-color: #ea636e;
  border-radius: 50px;
  color: #ffffff;
  display: block;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 8px;
  position: relative;
  text-align: center;
  z-index: 2;
  filter: grayscale(1);
  pointer-events: none;
}
.site-fixed-button > .item > .note {
  display: block;
  font-size: 10px;
  margin-top: 4px;
}

.site-heading-combi {
  text-align: center;
}
.site-heading-combi > .ornament {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Jost", system-ui;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.45;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.site-heading-combi > .ornament::before, .site-heading-combi > .ornament::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
}
.site-heading-combi > .ornament > .text {
  display: block;
  padding: 0 1.38em 0 1.5em;
  position: relative;
  white-space: nowrap;
}
.site-heading-combi > .ornament > .text::after {
  font-family: "iconfonts";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  content: var(--icon-soy);
  font-size: 32px;
  margin: auto;
  height: 22px;
  line-height: 22px;
  opacity: 0.2;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 38px;
  z-index: -1;
}
.site-heading-combi > .title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.48;
}
.site-heading-combi.-prize {
  color: #B28939;
}
.site-heading-combi.-prize > .ornament::before, .site-heading-combi.-prize > .ornament::after {
  background-color: #B28939;
}
.site-heading-combi.-apply {
  color: #D83939;
}
.site-heading-combi.-apply > .ornament::before, .site-heading-combi.-apply > .ornament::after {
  background-color: #D83939;
}
.site-heading-combi.-tonyu {
  color: #60C3C7;
}
.site-heading-combi.-tonyu > .ornament::before, .site-heading-combi.-tonyu > .ornament::after {
  background-color: #60C3C7;
}
.site-heading-combi.-requirement {
  color: #D88239;
}
.site-heading-combi.-requirement > .ornament::before, .site-heading-combi.-requirement > .ornament::after {
  background-color: #D88239;
}
.site-heading-combi.-faq {
  color: #82D839;
}
.site-heading-combi.-faq > .ornament::before, .site-heading-combi.-faq > .ornament::after {
  background-color: #82D839;
}

.site-modal {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1000;
}
.site-modal.-open {
  opacity: 1;
  visibility: visible;
}
.site-modal > .inner {
  background-color: #ffffff;
  border-radius: 10px;
  padding: calc(var(--margin-side-small) * 0.5);
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 300;
}
.site-modal > .inner > .close {
  margin: auto;
  position: absolute;
  bottom: -3.1111111111rem;
  right: 0;
  left: 0;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.site-modal > .inner > .close::after {
  font-family: "iconfonts";
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: block;
  text-decoration: inherit;
  width: 1em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  content: var(--icon-close);
  color: #000000;
  cursor: pointer;
  display: block;
  font-size: 1.3333333333rem;
  line-height: 1;
}
.site-modal > .inner > .image {
  margin: 0 auto 25px;
  max-width: 208px;
}
.site-modal > .inner > .title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-bottom: 24px;
}
.site-modal > .inner > .description {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
.site-modal > .background {
  background-color: rgba(0, 0, 0, 0.4);
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 200;
}

.site-base {
  background: url(../images/common/background_noise.png) center center repeat;
  color: #242424;
  font-family: "M PLUS Rounded 1c", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-bottom: -50px;
  overflow: hidden;
  padding-bottom: 50px;
}

.site-block {
  margin: 40px 0;
}
.site-block:last-child {
  margin-bottom: 0;
}
.site-block#prize {
  margin-bottom: 100px;
  padding-bottom: 100px;
  position: relative;
}
.site-block#prize::before {
  background: url(../images/lp/image_prize.png) center center no-repeat;
  background-size: 552px 110px;
  content: "";
  height: 110px;
  margin: auto;
  position: absolute;
  bottom: -57px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 552px;
  z-index: -1;
}
.site-block#prize::after {
  background: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#FCF8ED));
  background: linear-gradient(to bottom, #FFFFFF, #FCF8ED);
  content: "";
  height: 594px;
  mix-blend-mode: multiply;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: -2;
}
.site-block#tonyu {
  margin-top: 80px;
  position: relative;
}
.site-block#tonyu::after {
  background: url(../images/lp/background_tonyu.png) center center no-repeat;
  background-size: 763px 523px;
  content: "";
  height: 523px;
  margin-left: -535px;
  opacity: 0.8;
  position: absolute;
  top: -373px;
  left: 50%;
  width: 763px;
  z-index: -1;
}
.site-block#requirement {
  margin-top: 80px;
}
.site-block#faq {
  position: relative;
}
.site-block#faq::after {
  background: url(../images/lp/background_faq.png) center center no-repeat;
  background-size: 512px 352px;
  content: "";
  height: 352px;
  margin-right: -443px;
  position: absolute;
  top: -167px;
  right: 50%;
  width: 512px;
  z-index: -1;
}
@media screen and (min-width: 1001px) {
  .for-large {
    display: block;
  }
  .for-small {
    display: none;
  }
  .text-center-for-large {
    text-align: center;
  }
  .text-center-for-small {
    text-align: left;
  }
  .text-right-for-large {
    text-align: right;
  }
  .text-right-for-small {
    text-align: left;
  }
  .layout-max {
    max-width: calc(var(--content-max) + 8vw);
    margin-right: auto;
    margin-left: auto;
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .layout-primary {
    margin-right: auto;
    margin-left: auto;
    max-width: 1140px;
    padding-right: 40px;
    padding-left: 40px;
  }
  .layout-secondary {
    margin-right: auto;
    margin-left: auto;
    max-width: calc(var(--content-secondary) + 8vw);
    padding-right: 4vw;
    padding-left: 4vw;
  }
  .js-fadein {
    -webkit-transform: translateY(3.5555555556rem);
    transform: translateY(3.5555555556rem);
  }
  .site-fixed-button {
    right: 100px;
    bottom: 30px;
    max-width: 270px;
    width: auto;
  }
  .site-fixed-button::after {
    bottom: -4px;
  }
  .site-fixed-button > .item {
    font-size: 14px;
    padding: 8px 20px;
  }
  .site-fixed-button > .item > .note {
    margin-top: 8px;
  }
  .site-fixed-button > .item:hover {
    opacity: 1;
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
  }
  .site-heading-combi > .ornament {
    font-size: 20px;
    margin-bottom: 10px;
  }
  .site-heading-combi > .ornament > .text::after {
    font-size: 42px;
  }
  .site-heading-combi > .title {
    font-size: 39px;
  }
  .site-modal > .inner {
    margin: var(--margin-side);
    max-width: 800px;
    padding: 80px 20px;
  }
  .site-modal > .inner > .close {
    top: 20px;
    bottom: auto;
    right: 20px;
    left: auto;
  }
  .site-base {
    margin-bottom: -80px;
    padding-bottom: 80px;
  }
  .site-block {
    margin: 100px 0;
  }
  .site-block#prize {
    margin-bottom: 180px;
    padding-bottom: 200px;
  }
  .site-block#prize::before {
    background-size: 1204px 240px;
    height: 240px;
    bottom: -85px;
    width: 1204px;
  }
  .site-block#tonyu {
    margin-top: 100px;
  }
  .site-block#tonyu::after {
    background-size: 1219px 835px;
    height: 835px;
    margin-left: -1273px;
    top: -600px;
    left: 50%;
    width: 1219px;
  }
  .site-block#requirement {
    margin-top: 100px;
  }
  .site-block#faq::after {
    background-size: 1280px 893px;
    height: 893px;
    margin-right: -1310px;
    top: -440px;
    right: 50%;
    width: 1280px;
  }
}
@media screen and (min-width: 641px) and (max-width: 1000px) {
  .site-fixed-button {
    right: 100px !important;
    bottom: 30px !important;
    width: calc(100% - 200px) !important;
  }
}