@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  word-break: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent;
}

html, body {
  font-size: 62.5%;
  height: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
  display: block;
}

li {
  list-style-type: none;
}

blockquote, q {
  quotes: none;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: bottom;
  max-width: 100%;
}

picture {
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, select {
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

br {
  line-height: 0;
}

input, textarea, select, button {
  font: inherit;
}

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

/*------------------------------------------------------------
	basic
------------------------------------------------------------*/
html.fixed {
  overflow: hidden;
}

html.fixed .track__modal__inner {
  overflow: auto;
}

body {
  -webkit-text-size-adjust: 100%;
  font-family: YakuHanMP, "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Serif", Meiryo, serif;
  font-size: min(1.38vw,16px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #111;
  background: url(../images/common/bg.jpg) left top/100% repeat-y;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 2.86458vw;
    line-height: 1.625;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
  }
}

img {
  vertical-align: middle;
  border: none;
}

a {
  color: #111;
}

@media screen and (min-width: 769px) {
  a {
    opacity: 1;
    -webkit-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
  }
  a:hover {
    opacity: 0.7;
  }
}

li {
  list-style: none;
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.rightTxt {
  text-align: right;
}

.leftTxt {
  text-align: left;
}

.centerTxt {
  text-align: center;
}

.tategaki {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .sp._inline {
    display: inline;
  }
  .sp._inline-block {
    display: inline-block;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc-inner {
    display: none;
  }
}

img {
  vertical-align: middle;
  border: none;
  max-width: 100%;
  margin: 0 auto;
  max-height: 100%;
}

header {
  position: relative;
}

header img {
  width: 100%;
  height: 100%;
}

header .kv_logo {
  position: absolute;
  left: 2.60417vw;
  top: 2.60417vw;
  width: 41.14583vw;
  height: 9.375vw;
}

@media screen and (min-width: 769px) {
  header .kv_logo {
    left: min(2.34vw,45px);
    top: min(1.25vw,24px);
    width: min(12.66vw,243px);
    height: min(2.86vw,55px);
  }
}

.inner {
  max-width: 1080px;
  margin-inline: auto;
}

.underline {
  color: #06ac6a;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #f8ff41));
  background: -webkit-linear-gradient(transparent 70%, #f8ff41 30%);
  background: -o-linear-gradient(transparent 70%, #f8ff41 30%);
  background: linear-gradient(transparent 70%, #f8ff41 30%);
  font-weight: 900;
}

.btn {
  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;
  border-radius: 50vw;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}

.btn.-try {
  background-color: #ff9600;
  font-size: 0;
  text-indent: -9999px;
  width: 87.63021vw;
  height: 15.23438vw;
  margin-block: 8.07292vw;
  padding-right: 8.20313vw;
}

@media screen and (min-width: 769px) {
  .btn.-try {
    width: 506px;
    height: 88px;
    margin-block: 56px;
    padding-right: 44px;
  }
}

.btn.-try:after {
  content: "";
  display: block;
  width: 7.03125vw;
  height: 7.03125vw;
  position: absolute;
  right: 8.85417vw;
  top: 50%;
  background: url(../images/ic-arrow_white.png) center/contain no-repeat;
  -webkit-transform: rotate(-90deg) translate(50%, 50%);
  -ms-transform: rotate(-90deg) translate(50%, 50%);
  transform: rotate(-90deg) translate(50%, 50%);
}

@media screen and (min-width: 769px) {
  .btn.-try:after {
    width: 41px;
    height: 41px;
    right: 50px;
  }
}

.btn.-try .txt {
  display: inline-block;
  width: 57.68229vw;
  height: 5.20833vw;
  background: url(../images/btn_txt.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .btn.-try .txt {
    width: 331px;
    height: 30px;
  }
}

.btn.-entry {
  background-color: #06ac6a;
  font-size: 0;
  text-indent: -9999px;
  width: 67.1875vw;
  height: 13.54167vw;
  margin-top: 5.33854vw;
  padding-right: 6.25vw;
  -webkit-box-shadow: 0 1.69271vw 0 #000;
  box-shadow: 0 1.69271vw 0 #000;
}

@media screen and (min-width: 769px) {
  .btn.-entry {
    width: 280px;
    height: 52px;
    margin-top: 20px;
    padding-right: 22px;
    -webkit-box-shadow: 0 6px 0 #000;
    box-shadow: 0 6px 0 #000;
  }
}

.btn.-entry:after {
  content: "";
  display: block;
  width: 5.20833vw;
  height: 5.20833vw;
  position: absolute;
  right: 5.98958vw;
  top: 50%;
  background: url(../images/ic-arrow_white.png) center/contain no-repeat;
  -webkit-transform: rotate(180deg) translate(-50%, 50%);
  -ms-transform: rotate(180deg) translate(-50%, 50%);
  transform: rotate(180deg) translate(-50%, 50%);
}

@media screen and (min-width: 769px) {
  .btn.-entry:after {
    width: 20px;
    height: 20px;
    right: 29px;
  }
}

.btn.-entry .txt {
  display: inline-block;
  width: 47.00521vw;
  height: 4.16667vw;
  background: url(../images/btn-txt_entry.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .btn.-entry .txt {
    width: 186px;
    height: 17px;
  }
}

.btn.-entry.coming {
  position: relative;
  pointer-events: none;
}

.btn.-entry.coming::before {
  content: "Coming soon";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 4.55729vw;
  color: #fff;
  text-indent: 0;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(49, 49, 49, 0.8);
  z-index: 5;
}

@media screen and (min-width: 769px) {
  .btn.-entry.coming::before {
    font-size: 20px;
  }
}

.btn.-modal {
  font-size: 0;
  text-indent: -9999px;
  width: 13.80208vw;
  height: 13.80208vw;
  -webkit-box-shadow: 0.39063vw 0.39063vw 0 #000;
  box-shadow: 0.39063vw 0.39063vw 0 #000;
  position: absolute;
  right: -2.47396vw;
  bottom: -1.69271vw;
  background: url(../images/ic-modal.png) center/contain no-repeat #ff9600;
}

@media screen and (min-width: 769px) {
  .btn.-modal {
    width: 53px;
    height: 53px;
    -webkit-box-shadow: 2px 2px 0 #000;
    box-shadow: 2px 2px 0 #000;
    position: absolute;
    right: -9px;
    bottom: -11px;
    cursor: pointer;
  }
}

.btn.-home {
  background-color: #111;
  width: 77.47396vw;
  height: 13.02083vw;
  margin-top: 2.60417vw;
  color: #fff;
  font-size: 4.03646vw;
}

@media screen and (min-width: 769px) {
  .btn.-home {
    width: 446px;
    height: 75px;
    margin-top: 14px;
    font-size: 24px;
  }
}

.btn.-home:after {
  content: "";
  display: block;
  width: 6.90104vw;
  height: 6.90104vw;
  position: absolute;
  left: 3.25521vw;
  top: 50%;
  background: url(../images/ic-arrow_white.png) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .btn.-home:after {
    width: 40px;
    height: 40px;
    left: 20px;
  }
}

.btn.-contact {
  background-color: #fff;
  border: 0.78125vw solid currentColor;
  width: 54.6875vw;
  height: 11.06771vw;
  margin-top: 2.60417vw;
  font-size: 3.38542vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .btn.-contact {
    width: 314px;
    height: 64px;
    margin-top: 20px;
    font-size: 20px;
    border-width: 4px;
  }
}

.btn.-contact:after {
  content: "";
  display: block;
  width: 5.72917vw;
  height: 5.72917vw;
  position: absolute;
  right: 2.60417vw;
  top: 50%;
  background: url(../images/ic-arrow_black.png) center/contain no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .btn.-contact:after {
    width: 33px;
    height: 33px;
    right: 15px;
  }
}

.statement {
  font-size: 5.07813vw;
  font-weight: 700;
  text-align: center;
  background-color: #e0f7da;
  border-radius: 2.60417vw;
  margin-inline: 4.42708vw;
  padding: 9.11458vw 5.20833vw;
  position: relative;
}

@media screen and (min-width: 769px) {
  .statement {
    font-size: 28px;
    border-radius: 20px;
    margin-inline: auto;
    padding: 56px 40px;
    line-height: 2;
  }
}

.statement::before, .statement::after {
  content: "";
  display: block;
  position: absolute;
}

.statement::before {
  width: 22.39583vw;
  height: 17.83854vw;
  background: url(../images/ic-statement_book.png) center/contain no-repeat;
  left: 0;
  top: -5.33854vw;
}

@media screen and (min-width: 769px) {
  .statement::before {
    width: 168px;
    height: 132px;
    top: -49px;
    left: 46px;
  }
}

.statement::after {
  width: 13.67188vw;
  height: 14.97396vw;
  background: url(../images/ic-statement_grass.png) center/contain no-repeat;
  right: -2.08333vw;
  bottom: -3.38542vw;
}

@media screen and (min-width: 769px) {
  .statement::after {
    width: 105px;
    height: 114px;
    bottom: -26px;
    right: 56px;
  }
}

.statement .fsx1-25 {
  font-size: 5.85938vw;
}

@media screen and (min-width: 769px) {
  .statement .fsx1-25 {
    font-size: 32px;
  }
}

.statement .fsx2 {
  font-size: 6.51042vw;
}

@media screen and (min-width: 769px) {
  .statement .fsx2 {
    font-size: 38px;
    line-height: 1;
  }
}

.howto--ttl {
  width: 57.68229vw;
  height: 16.92708vw;
  font-size: 0px;
  margin: 10.41667vw auto 1.95313vw;
  background: url(../images/ttl-howto.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .howto--ttl {
    width: 613px;
    height: 68px;
    margin-block: 60px 14px;
    background-image: url(../images/ttl-howto_pc.png);
  }
}

.howto--list {
  width: 79.42708vw;
  margin-inline: auto;
}

@media screen and (min-width: 769px) {
  .howto--list {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 18px;
  }
}

.howto--list-item {
  background-color: #fff2a8;
  border-radius: 2.60417vw;
  text-align: center;
  padding: 7.16146vw 3.90625vw 3.90625vw;
  height: 82.03125vw;
}

@media screen and (min-width: 769px) {
  .howto--list-item {
    padding: 31px 24px;
    height: auto;
  }
}

.howto--list-item_img {
  width: 68.35938vw;
  height: 39.58333vw;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .howto--list-item_img {
    width: 300px;
    height: 173px;
    border-radius: 20px;
  }
}

.howto--list-item_step {
  width: 30.85938vw;
  height: 8.33333vw;
  margin: 5.72917vw auto 3.25521vw;
}

@media screen and (min-width: 769px) {
  .howto--list-item_step {
    width: 132px;
    height: 37px;
    margin-block: 26px 18px;
  }
}

.howto--list-item_txt {
  font-size: 4.16667vw;
  font-weight: 700;
  line-height: 1.375;
}

@media screen and (min-width: 769px) {
  .howto--list-item_txt {
    font-size: 22px;
  }
}

.howto--list-item_txt .small {
  display: block;
  font-weight: 500;
  font-size: 2.86458vw;
}

@media screen and (min-width: 769px) {
  .howto--list-item_txt .small {
    font-size: 16px;
    margin-top: 8px;
  }
}

.entry_track {
  background-color: #e0f7da;
  -webkit-clip-path: polygon(0 8.07292vw, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 8.07292vw, 100% 0, 100% 100%, 0 100%);
  padding-block: 13.93229vw 10.41667vw;
  margin-top: 17.57813vw;
}

@media screen and (min-width: 769px) {
  .entry_track {
    -webkit-clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
    padding-block: 175px 100px;
    margin-top: 50px;
  }
}

.entry_track--ttl {
  width: 85.80729vw;
  height: 27.99479vw;
  font-size: 0px;
  margin-bottom: 6.51042vw;
  margin-inline: auto;
  background: url(../images/ttl_list.png) center bottom/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .entry_track--ttl {
    width: 740px;
    height: 232px;
    margin-bottom: 20px;
  }
}

.entry_track--state {
  text-align: center;
  font-size: 5.20833vw;
  font-weight: 700;
  margin-bottom: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .entry_track--state {
    font-size: 28px;
    margin-bottom: 60px;
  }
}

.entry_track--state .big {
  font-size: 7.68229vw;
  font-weight: 900;
}

@media screen and (min-width: 769px) {
  .entry_track--state .big {
    font-size: 44px;
  }
}

@media screen and (min-width: 769px) {
  .entry_track--list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
  }
}

.entry_track--list_item {
  background-color: #fff;
  padding-block: 11.19792vw;
  padding-inline: 5.72917vw 6.25vw;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item {
    padding-block: 20px 30px;
    padding-inline: 22px;
  }
}

.entry_track--list_item:nth-child(even) {
  background-color: #e0f7da;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item:nth-child(even) {
    background-color: #fff;
  }
}

.entry_track--list_item_ttl {
  width: 88.02083vw;
  height: 20.05208vw;
  margin-bottom: 1.95313vw;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item_ttl {
    width: 308px;
    height: 82px;
    margin-bottom: 8px;
  }
}

.entry_track--list_item_ttl img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left top;
  object-position: left top;
}

.entry_track--list_item_img {
  width: 87.5vw;
  height: 48.17708vw;
  margin-left: auto;
  position: relative;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item_img {
    width: 304px;
    height: 167px;
  }
}

.entry_track--list_item_img_main {
  border-radius: 2.60417vw;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item_img_main {
    border-radius: 20px;
  }
}

.entry_track--list_item_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left top;
  object-position: left top;
}

.entry_track--list_item .notes {
  display: block;
  font-size: 2.86458vw;
  text-align: center;
  margin-top: 3.38542vw;
}

@media screen and (min-width: 769px) {
  .entry_track--list_item .notes {
    font-size: 11px;
    margin-top: 13px;
  }
}

.entry_track--list__footer {
  width: 85.9375vw;
  height: 25.65104vw;
  margin: 10.41667vw auto 7.94271vw;
}

@media screen and (min-width: 769px) {
  .entry_track--list__footer {
    width: 623px;
    height: 173px;
    margin-block: 80px 50px;
  }
}

.entry_track--list__footer img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: center top;
  object-position: center top;
}

.present {
  background: url(../images/bg-present.png) top 6.51042vw center/100% no-repeat #ffecab;
  -webkit-clip-path: polygon(0 0, 100% 8.07292vw, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 8.07292vw, 100% 100%, 0% 100%);
  padding-block: 16.66667vw;
  margin-top: -10.41667vw;
}

@media screen and (min-width: 769px) {
  .present {
    background: url(../images/bg-present_pc.png) top 40px center/1585px no-repeat #ffecab;
    -webkit-clip-path: polygon(0 0, 100% 120px, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 120px, 100% 100%, 0% 100%);
    padding: 200px 3% 156px;
    margin-top: -120px;
  }
}

.present--ttl {
  width: 85.41667vw;
  height: 38.41146vw;
  font-size: 0px;
  margin-left: 2.73438vw;
  background: url(../images/ttl-present.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .present--ttl {
    width: 1056px;
    height: 138px;
    font-size: 0px;
    margin-left: -26px;
    background: url(../images/ttl-present_pc.png) center/contain no-repeat;
  }
}

.present-wrap {
  width: 87.5vw;
  margin-inline: auto;
  padding-bottom: 6.11979vw;
}

@media screen and (min-width: 769px) {
  .present-wrap {
    width: 100%;
    padding-bottom: 56px;
  }
}

.present-wrap:first-of-type {
  border-bottom: 0.26042vw dashed #ff9600;
  margin-block: 5.20833vw 7.03125vw;
  padding-bottom: 6.11979vw;
}

@media screen and (min-width: 769px) {
  .present-wrap:first-of-type {
    border-bottom: 2px dashed #ff9600;
    margin-block: 40px 55px;
    padding-bottom: 45px;
  }
}

.present-wrap.txt_aside {
  display: -ms-grid;
  display: grid;
  text-align: center;
}

.present-wrap .notes {
  font-size: 11px;
  margin-top: 10px;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .present-wrap .notes.pc {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .present-wrap .notes {
    font-size: 2.60417vw;
    margin-top: 1.30208vw;
    text-align: center;
  }
}

.present-img_main {
  width: 87.5vw;
  height: 48.17708vw;
  position: relative;
}

@media screen and (min-width: 769px) {
  .present-img_main {
    width: 1080px;
    height: 440px;
  }
}

.present-img_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left top;
  object-position: left top;
}

.present-img_main-icon {
  width: 23.4375vw;
  height: 23.4375vw;
  position: absolute;
  left: -4.16667vw;
  top: -6.51042vw;
}

@media screen and (min-width: 769px) {
  .present-img_main-icon {
    width: 185px;
    height: 185px;
    position: absolute;
    left: 10px;
    top: -30px;
  }
}

.present-img_aside {
  width: 87.5vw;
  height: 40.625vw;
  position: relative;
}

@media screen and (min-width: 769px) {
  .present-img_aside {
    width: 560px;
    height: 256px;
  }
}

.present-img_aside img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left top;
  object-position: left top;
}

.present-img_aside-icon {
  width: 23.4375vw;
  height: 23.4375vw;
  position: absolute;
  left: -3.38542vw;
  top: -5.59896vw;
}

@media screen and (min-width: 769px) {
  .present-img_aside-icon {
    width: 160px;
    height: 160px;
    position: absolute;
    left: -29px;
    top: -34px;
  }
}

.present-txt_main {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 31.64063vw 6.51042vw 49.47917vw;
  grid-template-columns: 31.64063vw 6.51042vw 49.47917vw;
  text-align: center;
  margin-top: 2.60417vw;
  font-size: 4.16667vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .present-txt_main {
    -ms-grid-columns: auto 45px auto;
    grid-template-columns: auto 45px auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 30px;
    margin-top: 20px;
    font-size: 32px;
  }
}

.present-txt_main .ic-plus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 6.51042vw;
  height: 6.51042vw;
  background-color: #ff9600;
  border-radius: 50vw;
  margin-top: 6.64063vw;
}

@media screen and (min-width: 769px) {
  .present-txt_main .ic-plus {
    width: 45px;
    height: 45px;
    margin-top: 0;
  }
}

.present-txt_main .ic-plus .ic-dli-plus {
  display: inline-block;
  width: 4.16667vw;
  height: 0.91146vw;
  background: #fff;
  position: relative;
}

@media screen and (min-width: 769px) {
  .present-txt_main .ic-plus .ic-dli-plus {
    width: 30px;
    height: 6px;
  }
}

.present-txt_main .ic-plus .ic-dli-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.present-txt_aside {
  font-size: 4.16667vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .present-txt_aside {
    font-size: 28px;
  }
}

.present-txt_aside_sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 3.64583vw;
  font-weight: 700;
  color: #06ac6a;
  margin-top: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .present-txt_aside_sub {
    font-size: 24px;
    font-weight: 900;
    margin: auto;
  }
}

.present-txt_aside_sub::before, .present-txt_aside_sub::after {
  width: 0.52083vw;
  height: 1.5em;
  background-color: currentColor;
  content: '';
  border-radius: 50vw;
}

@media screen and (min-width: 769px) {
  .present-txt_aside_sub::before, .present-txt_aside_sub::after {
    width: 3px;
  }
}

.present-txt_aside_sub::before {
  -webkit-transform: rotate(-35deg);
  -ms-transform: rotate(-35deg);
  transform: rotate(-35deg);
  margin-right: 1em;
}

.present-txt_aside_sub::after {
  -webkit-transform: rotate(35deg);
  -ms-transform: rotate(35deg);
  transform: rotate(35deg);
  margin-left: 1em;
}

.present-txt_aside .notes {
  display: block;
}

@media screen and (min-width: 769px) {
  .present .txt_aside {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto;
    grid-template-columns: auto auto;
    gap: 35px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.present .scroll {
  width: 87.5vw;
  height: 60.15625vw;
  margin: auto;
  border: 0.78125vw solid #06ac6a;
  background-color: #fff;
  padding: 4.6875vw 3.64583vw 5.20833vw 4.81771vw;
  -webkit-box-shadow: 0.52083vw 0.52083vw 5px rgba(0, 0, 0, 0.18);
  box-shadow: 0.52083vw 0.52083vw 5px rgba(0, 0, 0, 0.18);
}

@media screen and (min-width: 769px) {
  .present .scroll {
    width: 970px;
    height: 380px;
    border: 4px solid #06ac6a;
    padding: 40px 16px 40px 60px;
    -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
    box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
  }
}

.present .scroll > div {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  padding-right: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .present .scroll > div {
    padding-right: 44px;
  }
}

.present .scroll > div::-webkit-scrollbar {
  width: 6px;
}

.present .scroll > div::-webkit-scrollbar-track {
  background-color: #fff;
}

.present .scroll > div::-webkit-scrollbar-thumb {
  background-color: #06ac6a;
  border-radius: 50vw;
}

.present .scroll > div .rule_ttl {
  font-size: 4.42708vw;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .present .scroll > div .rule_ttl {
    font-size: 25px;
    margin-bottom: 20px;
  }
}

.present .scroll > div p:not(.rule_ttl):not(:last-of-type) {
  margin-bottom: 1.5em;
}

.present .scroll > div p .num, .present .scroll > div p .kome, .present .scroll > div p .square {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}

.present .scroll > div p .num:not(:last-child), .present .scroll > div p .kome:not(:last-child), .present .scroll > div p .square:not(:last-child) {
  margin-block: .2em;
}

.present .scroll > div p .disc {
  display: block;
  text-indent: -.5em;
  padding-left: .5em;
}

.present .scroll > div p a {
  word-break: break-all;
  text-decoration: underline;
}

.faq {
  background-color: #e0f7da;
  -webkit-clip-path: polygon(0 8.07292vw, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 8.07292vw, 100% 0, 100% 100%, 0 100%);
  padding-block: 15.625vw 11.71875vw;
  margin-top: -9.11458vw;
}

@media screen and (min-width: 769px) {
  .faq {
    -webkit-clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 120px, 100% 0, 100% 100%, 0 100%);
    padding: 200px 3% 120px;
    margin-top: -120px;
  }
}

.faq--ttl {
  width: 69.92188vw;
  height: 10.28646vw;
  font-size: 0px;
  margin-inline: auto;
  margin-bottom: 9.11458vw;
  background: url(../images/ttl_faq.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .faq--ttl {
    width: 419px;
    height: 62px;
    margin-bottom: 56px;
  }
}

.faq-wrap {
  background-color: #fff;
  margin: 6.25vw;
  border-radius: 2.60417vw;
  padding-inline: 3.64583vw;
}

@media screen and (min-width: 769px) {
  .faq-wrap {
    margin: 56px auto 65px;
    max-width: 1080px;
    border-radius: 20px;
    padding: 23px 96px;
  }
}

.faq-accordion {
  padding-block: 4.94792vw 5.20833vw;
}

@media screen and (min-width: 769px) {
  .faq-accordion {
    padding-block: 32px;
  }
}

.faq-accordion:not(:last-of-type) {
  border-bottom: 0.26042vw solid #e1e6eb;
}

@media screen and (min-width: 769px) {
  .faq-accordion:not(:last-of-type) {
    border-width: 2px;
  }
}

.faq-accordion__ttl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5.07813vw 1fr 6.51042vw;
  grid-template-columns: 5.07813vw 1fr 6.51042vw;
  grid-gap: 2.60417vw;
  font-size: 3.90625vw;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (min-width: 769px) {
  .faq-accordion__ttl {
    -ms-grid-columns: 30px 1fr 38px;
    grid-template-columns: 30px 1fr 38px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    grid-gap: 15px;
    font-size: 20px;
    cursor: pointer;
  }
}

.faq-accordion__ttl::before {
  content: "";
  display: block;
  width: 5.07813vw;
  height: 5.59896vw;
  background: url(../images/img-q.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .faq-accordion__ttl::before {
    width: 30px;
    height: 32px;
  }
}

.faq-accordion__ttl .ic-plus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 6.51042vw;
  height: 6.51042vw;
  border: 0.78125vw solid currentColor;
  border-radius: 50vw;
}

@media screen and (min-width: 769px) {
  .faq-accordion__ttl .ic-plus {
    width: 38px;
    height: 38px;
    border-width: 4px;
  }
}

.faq-accordion__ttl .ic-plus .ic-dli-plus {
  display: inline-block;
  width: 2.86458vw;
  height: 0.65104vw;
  background: currentColor;
  position: relative;
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

@media screen and (min-width: 769px) {
  .faq-accordion__ttl .ic-plus .ic-dli-plus {
    width: 16px;
    height: 4px;
  }
}

.faq-accordion__ttl .ic-plus .ic-dli-plus::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: inherit;
  border-radius: inherit;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.faq-accordion__ttl.is-active .ic-plus .ic-dli-plus {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
}

.faq-accordion__ttl.is-active .ic-plus .ic-dli-plus::before {
  content: none;
}

.faq-accordion__txt {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 5.33854vw 1fr;
  grid-template-columns: 5.33854vw 1fr;
  grid-gap: 2.60417vw;
  background-color: #fff5d5;
  border-radius: 2.60417vw;
  margin-top: 2.60417vw;
  padding: 3.90625vw 3.64583vw 3.90625vw 4.16667vw;
  font-size: 3.125vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .faq-accordion__txt {
    -ms-grid-columns: 32px 1fr;
    grid-template-columns: 32px 1fr;
    grid-gap: 15px;
    border-radius: 20px;
    margin-top: 32px;
    padding: 24px;
    font-size: 18px;
    font-weight: 500;
  }
}

.faq-accordion__txt::before {
  content: "";
  display: block;
  width: 5.33854vw;
  height: 5.20833vw;
  background: url(../images/img-a.png) center/contain no-repeat;
}

@media screen and (min-width: 769px) {
  .faq-accordion__txt::before {
    width: 32px;
    height: 30px;
  }
}

.faq-accordion__txt .kome {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
  font-size: 2.86458vw;
}

@media screen and (min-width: 769px) {
  .faq-accordion__txt .kome {
    font-size: 16px;
  }
}

.contact {
  background: #ffecab;
  -webkit-clip-path: polygon(0 0, 100% 8.07292vw, 100% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 8.07292vw, 100% 100%, 0% 100%);
  padding-block: 15.625vw 11.06771vw;
  margin-top: -10.41667vw;
  text-align: center;
}

@media screen and (min-width: 769px) {
  .contact {
    -webkit-clip-path: polygon(0 0, 100% 120px, 100% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 120px, 100% 100%, 0% 100%);
    padding-block: 150px 56px;
    margin-top: -120px;
  }
}

.contact-home_txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 3.64583vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .contact-home_txt {
    font-size: 20px;
  }
}

.contact-home_txt::before, .contact-home_txt::after {
  width: 0.52083vw;
  height: 9.11458vw;
  background-color: currentColor;
  content: '';
  border-radius: 50vw;
}

@media screen and (min-width: 769px) {
  .contact-home_txt::before, .contact-home_txt::after {
    width: 3px;
    height: 53px;
  }
}

.contact-home_txt::before {
  -webkit-transform: rotate(-35deg);
  -ms-transform: rotate(-35deg);
  transform: rotate(-35deg);
  margin-right: 1em;
}

.contact-home_txt::after {
  -webkit-transform: rotate(35deg);
  -ms-transform: rotate(35deg);
  transform: rotate(35deg);
  margin-left: 1em;
}

.contact-wrap {
  width: 80.33854vw;
  margin: 8.46354vw auto 0;
  background-color: #fff;
  border-radius: 2.60417vw;
  padding: 7.29167vw;
}

@media screen and (min-width: 769px) {
  .contact-wrap {
    width: 800px;
    margin: 40px auto 0;
    border-radius: 20px;
    padding: 40px;
  }
}

.contact-wrap_ttl {
  font-size: 4.42708vw;
  font-weight: 700;
  margin-bottom: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .contact-wrap_ttl {
    font-size: 26px;
    margin-bottom: 20px;
  }
}

.contact-wrap_txt {
  font-size: 3.51563vw;
}

@media screen and (min-width: 769px) {
  .contact-wrap_txt {
    font-size: 20px;
  }
}

.contact-wrap_txt span {
  font-size: 2.86458vw;
}

@media screen and (min-width: 769px) {
  .contact-wrap_txt span {
    font-size: 16px;
  }
}

.footer {
  background-color: #252525;
  color: #fff;
  text-align: center;
  padding: 7.29167vw;
  font-size: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .footer {
    padding: 45px;
    font-size: 15px;
  }
}

.app_form {
  display: none;
  margin-top: 11.06771vw;
}

@media screen and (min-width: 769px) {
  .app_form {
    margin-top: 105px;
  }
}

.app_form.is-active {
  display: block;
}

.p-form {
  background-color: #ffecab;
  padding: 6.51042vw 6.25vw 12.10938vw;
}

@media screen and (min-width: 769px) {
  .p-form {
    padding: 60px 3% 100px;
  }
}

.p-form--ttl {
  font-size: 4.81771vw;
  font-weight: 700;
  line-height: 1.24;
  border-left: 0.78125vw solid #fb802a;
  padding-left: 2.60417vw;
  margin-bottom: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .p-form--ttl {
    font-size: 28px;
    border-width: 6px;
    padding-left: 16px;
    margin-bottom: 24px;
    margin-inline: auto;
    max-width: 1080px;
  }
}

.p-form--choice_track {
  background-color: #fff;
  border-radius: 5.20833vw;
  padding: 4.6875vw 3.90625vw;
  margin-top: 3.25521vw;
  position: relative;
  -webkit-box-shadow: 0.52083vw 0.52083vw 5px rgba(0, 0, 0, 0.18);
  box-shadow: 0.52083vw 0.52083vw 5px rgba(0, 0, 0, 0.18);
}

@media screen and (min-width: 769px) {
  .p-form--choice_track {
    border-radius: 40px;
    padding: 56px 96px;
    margin-top: 20px;
    -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
    box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
    margin-inline: auto;
    max-width: 1080px;
  }
}

.p-form--choice_track::before {
  content: "";
  display: block;
  width: 29.16667vw;
  height: 17.70833vw;
  background: url(../images/form/ic-detail.png) center/contain no-repeat;
  position: absolute;
  right: -3.38542vw;
  top: -13.93229vw;
}

@media screen and (min-width: 769px) {
  .p-form--choice_track::before {
    width: 179px;
    height: 109px;
    right: 51px;
    top: -69px;
  }
}

.p-form-choice_txt {
  text-align: center;
  font-size: 3.125vw;
  margin-bottom: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .p-form-choice_txt {
    font-size: 18px;
    margin-bottom: 60px;
  }
}

.p-form-choice_txt strong {
  font-size: 3.38542vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .p-form-choice_txt strong {
    font-size: 20px;
  }
}

.p-form--txt {
  font-size: 2.99479vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .p-form--txt {
    font-size: 18px;
  }
}

.p-form--txt .red {
  color: #e70000;
}

.p-form--cookieTxt {
  text-align: center;
  font-size: 3.64583vw;
  font-weight: 700;
  color: #e70000;
}

@media screen and (min-width: 769px) {
  .p-form--cookieTxt {
    font-size: 22px;
  }
}

.p-form--cookieTxt span {
  display: block;
  font-size: 2.86458vw;
}

@media screen and (min-width: 769px) {
  .p-form--cookieTxt span {
    font-size: 18px;
  }
}

.p-form .form-check {
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-form .form-check {
    max-width: 888px;
    margin-inline: auto;
  }
}

.p-form .form-check:not(:last-of-type) {
  margin-bottom: 3.25521vw;
}

@media screen and (min-width: 769px) {
  .p-form .form-check:not(:last-of-type) {
    margin-bottom: 16px;
  }
}

.p-form .form-check-input {
  position: absolute;
  visibility: hidden;
}

.p-form .form-check-input:checked ~ .check {
  background-color: #fff;
}

.p-form .form-check-input:checked ~ .check::before {
  background: #06ac6a;
}

.p-form .form-check-input:checked ~ label {
  color: #fff;
  background-color: #06ac6a;
}

.p-form .form-check-label {
  display: block;
  position: relative;
  font-size: 2.86458vw;
  font-weight: 500;
  padding: 2.34375vw 2.60417vw 2.34375vw 10.41667vw;
  z-index: 9;
  border: 0.65104vw solid #ccc;
  border-radius: 1.30208vw;
  width: 68.09896vw;
  cursor: pointer;
  -webkit-transition: all 0.25s linear;
  -o-transition: all 0.25s linear;
  transition: all 0.25s linear;
}

@media screen and (min-width: 769px) {
  .p-form .form-check-label {
    width: 91.9%;
    font-size: 18px;
    border-width: 3px;
    border-radius: 10px;
    padding: 18px 20px 18px 65px;
  }
}

.p-form .form-check .check {
  display: block;
  position: absolute;
  border: 0.39063vw solid #ccc;
  border-radius: 50vw;
  height: 6.38021vw;
  width: 6.38021vw;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 1.69271vw;
  z-index: 20;
  -o-transition: border .25s linear;
  transition: border .25s linear;
  -webkit-transition: border .25s linear;
}

@media screen and (min-width: 769px) {
  .p-form .form-check .check {
    border-width: 2px;
    height: 38px;
    width: 38px;
    left: 12px;
  }
}

.p-form .form-check .check::before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 4.16667vw;
  width: 4.16667vw;
  top: 0.91146vw;
  left: 0.80729vw;
  margin: auto;
  -webkit-transition: background 0.25s linear;
  -o-transition: background 0.25s linear;
  transition: background 0.25s linear;
}

@media screen and (min-width: 769px) {
  .p-form .form-check .check::before {
    height: 26px;
    width: 26px;
    top: 4px;
    left: 4px;
  }
}

@media screen and (min-width: 769px) {
  .p-form .app_form {
    max-width: 1080px;
    margin-inline: auto;
  }
}

.p-form .app_form_open .checkbox {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 1fr;
  grid-template-columns: auto 1fr;
  gap: 10px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 74.21875vw;
  height: 13.02083vw;
  font-size: 3.125vw;
  border: 0.26042vw solid #06ac6a;
  border-radius: 1.30208vw;
  background-color: #c4ece0;
  margin: 5.20833vw auto 2.60417vw;
  padding-inline: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .p-form .app_form_open .checkbox {
    gap: 10px;
    width: 480px;
    height: 78px;
    font-size: 20px;
    border-width: 2px;
    border-radius: 10px;
    margin: 57px auto 24px;
    padding-inline: 18px;
    cursor: pointer;
  }
}

.p-form .app_form_open .checkbox:has(:checked) {
  background-color: #06ac6a;
  color: #fff;
}

.p-form .app_form_open .checkbox_icon {
  position: relative;
  width: 4.6875vw;
  height: 4.6875vw;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #FFFFFF;
  border: solid 0.26042vw #ccc;
  border-radius: 0.26042vw;
  -webkit-box-shadow: 0 0 0 0 transparent;
  box-shadow: 0 0 0 0 transparent;
  -webkit-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-property: background-color, border, color, -webkit-box-shadow;
  transition-property: background-color, border, color, -webkit-box-shadow;
  -o-transition-property: background-color, border, box-shadow, color;
  transition-property: background-color, border, box-shadow, color;
  transition-property: background-color, border, box-shadow, color, -webkit-box-shadow;
}

@media screen and (min-width: 769px) {
  .p-form .app_form_open .checkbox_icon {
    width: 28px;
    height: 28px;
    border-radius: 2px;
    border-width: 2px;
  }
}

@media (forced-colors: active) {
  .p-form .app_form_open .checkbox_icon {
    -webkit-transition: none;
    -o-transition: none;
    transition: none;
    border-color: CanvasText;
  }
}

.p-form .app_form_open .checkbox_icon::before {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  opacity: 0;
  -webkit-mask-image: url("../images/form/icon.svg");
  mask-image: url("../images/form/icon.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: #06ac6a;
  -webkit-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.p-form .app_form_open .checkbox_icon:checked::before {
  opacity: 1;
}

.p-form .app_form-item {
  margin-block: 3.25521vw;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-form .app_form-item {
    margin-block: 25px;
  }
}

.p-form .app_form-item .error_mss {
  position: absolute;
  left: -1.43229vw;
  bottom: 9.11458vw;
}

@media screen and (min-width: 769px) {
  .p-form .app_form-item .error_mss {
    left: 10px;
    bottom: 45px;
  }
}

.p-form .app_form-item .error_mss span {
  display: block;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: 1.30208vw;
  font-size: 2.86458vw;
  font-weight: 700;
  line-height: 1;
  padding: 2.60417vw 3.64583vw;
  position: relative;
}

.p-form .app_form-item .error_mss span:has(br) {
  line-height: 1.25;
}

@media screen and (min-width: 769px) {
  .p-form .app_form-item .error_mss span {
    border-radius: 10px;
    font-size: 14px;
    padding: 12px 20px;
  }
}

.p-form .app_form-item .error_mss span::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 1.17188vw solid transparent;
  border-left: 1.17188vw solid transparent;
  border-top: 2.21354vw solid rgba(0, 0, 0, 0.8);
  border-bottom: 0;
  position: absolute;
  left: 4.55729vw;
  bottom: 0;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
}

@media screen and (min-width: 769px) {
  .p-form .app_form-item .error_mss span::before {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 11px solid rgba(0, 0, 0, 0.8);
    left: 30px;
  }
}

.p-form .app_form-endTxt {
  text-align: center;
  font-size: 3.125vw;
  margin-block: 5.85938vw 5.20833vw;
}

@media screen and (min-width: 769px) {
  .p-form .app_form-endTxt {
    font-size: 18px;
    margin-block: 56px;
  }
}

.p-form--prize {
  background-color: #fff;
  border-radius: 5.20833vw;
  padding: 4.6875vw 3.90625vw;
  margin-top: 3.25521vw;
  -webkit-box-shadow: 0.52083vw 0.78125vw 5px rgba(0, 0, 0, 0.18);
  box-shadow: 0.52083vw 0.78125vw 5px rgba(0, 0, 0, 0.18);
}

@media screen and (min-width: 769px) {
  .p-form--prize {
    border-radius: 40px;
    padding: 50px 96px;
    margin-top: 30px;
    -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
    box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.18);
  }
  .p-form--prize .user_grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
  }
}

.p-form--prize input[type="text"], .p-form--prize input[type="email"] {
  width: 100%;
  border: 0.52083vw solid #ccc;
  border-radius: 1.30208vw;
  padding: 2.34375vw 2.86458vw;
  font-size: 2.86458vw;
  color: #111;
  margin-top: 1.30208vw;
  /* input:-webkit-autofill:focus {
                caret-color: #fff !important;
            } */
}

@media screen and (min-width: 769px) {
  .p-form--prize input[type="text"], .p-form--prize input[type="email"] {
    border-width: 3px;
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 17px;
    margin-top: 8px;
  }
}

.p-form--prize input[type="text"]:-webkit-autofill, .p-form--prize input[type="email"]:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color: #111 !important;
}

.p-form--prize input[type="text"].error_date, .p-form--prize input[type="email"].error_date {
  border-color: #b42700 !important;
  background-color: #f1d6d8 !important;
}

.p-form--prize input[type="text"].error_date:-webkit-autofill, .p-form--prize input[type="email"].error_date:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f1d6d8 inset !important;
  box-shadow: 0 0 0 1000px #f1d6d8 inset !important;
}

.p-form--prize label {
  font-size: 3.38542vw;
  font-weight: 700;
  color: #111;
}

@media screen and (min-width: 769px) {
  .p-form--prize label {
    font-size: 18px;
  }
}

.p-form--prize .select_wrap {
  width: 100%;
  position: relative;
}

@media screen and (min-width: 769px) {
  .p-form--prize .select_wrap {
    width: 47%;
  }
}

.p-form--prize .select_wrap::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 1.17188vw solid transparent;
  border-left: 1.17188vw solid transparent;
  border-top: 2.21354vw solid rgba(0, 0, 0, 0.8);
  border-bottom: 0;
  position: absolute;
  right: 4.55729vw;
  top: 55%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .p-form--prize .select_wrap::before {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 11px solid rgba(0, 0, 0, 0.8);
    right: 30px;
  }
}

.p-form--prize .select_wrap select {
  width: 100%;
  width: 100%;
  border: 0.52083vw solid #ccc;
  border-radius: 1.30208vw;
  padding: 2.34375vw 2.86458vw;
  font-size: 2.86458vw;
  margin-top: 1.30208vw;
  background-color: #fff;
  color: #111;
}

@media screen and (min-width: 769px) {
  .p-form--prize .select_wrap select {
    border-width: 3px;
    border-radius: 10px;
    padding: 10px 15px;
    font-size: 17px;
    margin-top: 8px;
  }
}

.p-form--prize .select_wrap select.error_date {
  border-color: #b42700 !important;
  background-color: #f1d6d8 !important;
}

.p-form--prize .any {
  display: inline-block;
  background-color: #111;
  font-size: 2.60417vw;
  color: #fff;
  line-height: 1;
  padding: .4em .5em;
  border-radius: 0.78125vw;
  margin-left: 1.95313vw;
}

@media screen and (min-width: 769px) {
  .p-form--prize .any {
    font-size: 14px;
    padding: 3px 8px 4px 8px;
    border-radius: 4px;
    margin-left: 10px;
  }
}

.p-form .btn.-modal_form {
  font-size: 0;
  text-indent: -9999px;
  width: 8.98438vw;
  height: 8.98438vw;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(../images/form/ic-modal.png) center/contain no-repeat #fb802a;
}

@media screen and (min-width: 769px) {
  .p-form .btn.-modal_form {
    width: 56px;
    height: 56px;
    cursor: pointer;
  }
}

.p-form .btn.-sent, .p-form .btn.-submit {
  background-color: #06ac6a;
  font-size: 4.6875vw;
  font-weight: 700;
  color: #fff;
  width: 74.21875vw;
  height: 13.54167vw;
  margin-top: 5.33854vw;
  -webkit-box-shadow: 0 1.69271vw 0 #000;
  box-shadow: 0 1.69271vw 0 #000;
}

@media screen and (min-width: 769px) {
  .p-form .btn.-sent, .p-form .btn.-submit {
    width: 505px;
    height: 88px;
    font-size: 29px;
    margin-top: 40px;
    -webkit-box-shadow: 0 6px 0 #000;
    box-shadow: 0 6px 0 #000;
    cursor: pointer;
  }
  .p-form .btn.-sent:hover, .p-form .btn.-submit:hover {
    opacity: 0.8;
  }
}

.p-form .btn.-sent:after, .p-form .btn.-submit:after {
  content: "";
  display: block;
  width: 5.20833vw;
  height: 5.20833vw;
  position: absolute;
  right: 4.81771vw;
  top: 50%;
  background: url(../images/ic-arrow_white.png) center/contain no-repeat;
  -webkit-transform: rotate(180deg) translate(-50%, 50%);
  -ms-transform: rotate(180deg) translate(-50%, 50%);
  transform: rotate(180deg) translate(-50%, 50%);
}

@media screen and (min-width: 769px) {
  .p-form .btn.-sent:after, .p-form .btn.-submit:after {
    width: 32px;
    height: 32px;
    right: 29px;
  }
}

.p-form .btn.-sent:disabled, .p-form .btn.-submit:disabled {
  background-color: #bfbfbf;
  cursor: auto;
  pointer-events: none;
}

.p-form .btn.-sent {
  padding-right: 6.25vw;
}

@media screen and (min-width: 769px) {
  .p-form .btn.-sent {
    padding-right: 0;
  }
}

.p-form .vote_wrap {
  display: none;
}

.p-form .vote_wrap.is-active {
  display: block;
}

.p-form .vote_wrap.false {
  pointer-events: none;
}

.p-form .vote_wrap.false .btn.-sent {
  background-color: #bfbfbf;
  cursor: auto;
  pointer-events: none;
}

.p-form .appVote_wrap.false {
  pointer-events: none;
}

.p-form .appVote_wrap.false .btn.-submit {
  background-color: #bfbfbf;
  cursor: auto;
  pointer-events: none;
}

.-complete {
  text-align: center;
  font-weight: 700;
}

.-complete_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 4.81771vw;
  font-weight: 700;
}

@media screen and (min-width: 769px) {
  .-complete_ttl {
    font-size: 28px;
  }
}

.-complete_ttl::before, .-complete_ttl::after {
  width: 0.52083vw;
  height: 1.25em;
  background-color: #fb802a;
  content: '';
  border-radius: 50vw;
}

@media screen and (min-width: 769px) {
  .-complete_ttl::before, .-complete_ttl::after {
    width: 3px;
  }
}

.-complete_ttl::before {
  -webkit-transform: rotate(-35deg);
  -ms-transform: rotate(-35deg);
  transform: rotate(-35deg);
  margin-right: 1em;
}

.-complete_ttl::after {
  -webkit-transform: rotate(35deg);
  -ms-transform: rotate(35deg);
  transform: rotate(35deg);
  margin-left: 1em;
}

.-complete_lead {
  font-size: 3.64583vw;
  margin-block: 4.55729vw 2.60417vw;
}

@media screen and (min-width: 769px) {
  .-complete_lead {
    font-size: 24px;
    margin-block: 35px;
  }
}

.-complete_txt {
  font-size: 3.125vw;
}

@media screen and (min-width: 769px) {
  .-complete_txt {
    font-size: 18px;
  }
}

.-complete_box {
  width: 80.33854vw;
  margin: 3.90625vw auto 5.20833vw;
  background-color: #fff;
  border-radius: 2.60417vw;
  padding: 5.85938vw 2.60417vw;
  -webkit-box-shadow: 0.52083vw 0.78125vw 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0.52083vw 0.78125vw 5px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 769px) {
  .-complete_box {
    max-width: 800px;
    margin: 40px auto 56px;
    border-radius: 20px;
    padding: 56px 2%;
    -webkit-box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 4px 4px 5px rgba(0, 0, 0, 0.1);
  }
}

.-complete_box_logo {
  width: 45.44271vw;
  margin: 0 auto 2.60417vw;
}

@media screen and (min-width: 769px) {
  .-complete_box_logo {
    width: 317px;
    margin: 0 auto 20px;
  }
}

.-complete_box_txt {
  font-size: 3.64583vw;
}

@media screen and (min-width: 769px) {
  .-complete_box_txt {
    font-size: 18px;
  }
}

.-complete_box .-home {
  width: 54.6875vw;
  padding-right: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .-complete_box .-home {
    width: 335px;
    height: 68px;
    font-size: 22px;
    padding-right: 20px;
  }
}

.-complete_box .-home:after {
  width: 5.72917vw;
  height: 5.72917vw;
  left: inherit;
  right: 5.20833vw;
  -webkit-transform: rotate(180deg) translate(-50%, 50%);
  -ms-transform: rotate(180deg) translate(-50%, 50%);
  transform: rotate(180deg) translate(-50%, 50%);
}

@media screen and (min-width: 769px) {
  .-complete_box .-home:after {
    width: 35px;
    height: 35px;
    right: 36px;
  }
}

.-complete .-contact {
  width: 54.6875vw;
  height: 10.9375vw;
  font-size: 3.38542vw;
}

@media screen and (min-width: 769px) {
  .-complete .-contact {
    width: 335px;
    height: 68px;
    font-size: 20px;
  }
}

.-complete .-contact:after {
  width: 5.72917vw;
  height: 5.72917vw;
  right: inherit;
  left: 2.60417vw;
  -webkit-transform: rotate(180deg) translate(0%, 50%);
  -ms-transform: rotate(180deg) translate(0%, 50%);
  transform: rotate(180deg) translate(0%, 50%);
}

@media screen and (min-width: 769px) {
  .-complete .-contact:after {
    width: 35px;
    height: 35px;
    left: 15px;
  }
}

/*modal_css*/
.track__modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  overflow: auto;
  padding: 6.25vw;
  opacity: 0;
  -webkit-transition: opacity .3s ease-in-out;
  -o-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
  pointer-events: none;
}

@media screen and (min-width: 769px) {
  .track__modal {
    padding: 40px 3%;
  }
}

.track__modal.active {
  opacity: 1;
  pointer-events: auto;
}

.track__modal__layer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  height: 100vh;
}

.track__modal__inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 10.41667vw;
}

@media screen and (min-width: 769px) {
  .track__modal__inner {
    padding: 40px;
  }
}

.track__modal__box {
  position: relative;
  margin: auto;
  background: #e0f7da;
  border-radius: 2.60417vw;
}

@media screen and (min-width: 769px) {
  .track__modal__box {
    border-radius: 20px;
  }
}

.track__modal__close {
  position: absolute;
  top: -2.60417vw;
  right: -2.60417vw;
  display: block;
  width: 8.20313vw;
  height: 8.20313vw;
  background-color: #111;
  border-radius: 50vw;
  padding: 2.60417vw;
  z-index: 99;
}

@media screen and (min-width: 769px) {
  .track__modal__close {
    top: -16px;
    right: -20px;
    width: 54px;
    height: 54px;
    padding: 15px;
  }
}

.track__modal__close:before, .track__modal__close:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  background: #fff;
  content: "";
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-radius: 50vw;
  width: 55%;
  height: 55%;
}

.track__modal__close:before {
  height: 0.78125vw;
}

@media screen and (min-width: 769px) {
  .track__modal__close:before {
    height: 4px;
  }
}

.track__modal__close:after {
  width: 0.78125vw;
}

@media screen and (min-width: 769px) {
  .track__modal__close:after {
    width: 4px;
  }
}

.track__modal-slider {
  width: 87.5vw;
  margin-bottom: 0 !important;
}

@media screen and (min-width: 769px) {
  .track__modal-slider {
    width: 100%;
    max-width: 1080px;
    font-size: 18px;
  }
}

.track__modal-slider .slick-prev, .track__modal-slider .slick-next, .track__modal-slider .slick-dots {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.track__modal-slider .slick-prev, .track__modal-slider .slick-next {
  top: inherit;
  bottom: 5.20833vw;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  width: 10.54688vw;
  height: 10.54688vw;
}

@media screen and (min-width: 769px) {
  .track__modal-slider .slick-prev, .track__modal-slider .slick-next {
    bottom: 25px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    width: 56px;
    height: 56px;
  }
}

.track__modal-slider .slick-dots {
  bottom: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .track__modal-slider .slick-dots {
    bottom: 42px;
  }
}

.track__modal-slider .slick-prev {
  left: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .track__modal-slider .slick-prev {
    left: 353px;
  }
}

.track__modal-slider .slick-next {
  right: 7.8125vw;
}

@media screen and (min-width: 769px) {
  .track__modal-slider .slick-next {
    right: 353px;
  }
}

.track__modal-slider__item {
  padding: 6.25vw;
  height: 117.1875vw;
  /* background: #e0f7da;
            border-radius: vw(20); */
  font-size: 3.125vw;
}

@media screen and (min-width: 769px) {
  .track__modal-slider__item {
    height: 800px;
    padding: 40px 15.55%;
    font-size: 18px;
  }
}

.track__modal-ttl {
  width: 75.78125vw;
  margin-bottom: 5.33854vw;
  max-height: 14.58333vw;
}

@media screen and (min-width: 769px) {
  .track__modal-ttl {
    width: 562px;
    margin: 0 auto 30px;
    max-height: 112px;
  }
}

.track__modal-img__main {
  width: 74.86979vw;
  border-radius: 2.60417vw;
  overflow: hidden;
  margin-bottom: 3.90625vw;
}

@media screen and (min-width: 769px) {
  .track__modal-img__main {
    width: 100%;
    border-radius: 20px;
    margin: 0 auto 20px;
  }
}

.track__modal-img__pimg {
  width: 74.86979vw;
  border-radius: 2.60417vw;
  overflow: hidden;
  height: 50.26042vw;
}

@media screen and (min-width: 769px) {
  .track__modal-img__pimg {
    width: 744px;
    height: 410px;
    border-radius: 20px;
    margin: 0 auto 30px;
  }
}

.track__modal-img__pimg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.track__modal-img__point {
  width: 46.09375vw;
  margin-inline: auto;
  -webkit-transform: translateY(-5.72917vw);
  -ms-transform: translateY(-5.72917vw);
  transform: translateY(-5.72917vw);
}

@media screen and (min-width: 769px) {
  .track__modal-img__point {
    width: 300px;
    -webkit-transform: translateY(-40px);
    -ms-transform: translateY(-40px);
    transform: translateY(-40px);
  }
}

.track__modal-text-box {
  border-radius: 2.60417vw;
  background-color: #fff;
  margin-top: 9.63542vw;
  padding: 0 1.30208vw 5.85938vw;
}

@media screen and (min-width: 769px) {
  .track__modal-text-box {
    border-radius: 20px;
    margin-top: 72px;
    padding: 0 10px 40px;
  }
}

.track__modal-text-box_point {
  text-align: center;
  font-size: 4.16667vw;
  font-weight: 700;
  margin-top: -2.60417vw;
}

@media screen and (min-width: 769px) {
  .track__modal-text-box_point {
    font-size: 24px;
    margin-top: -20px;
  }
}

.track__modal-text-box_point span {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(30%, #f8ff41));
  background: -webkit-linear-gradient(transparent 70%, #f8ff41 30%);
  background: -o-linear-gradient(transparent 70%, #f8ff41 30%);
  background: linear-gradient(transparent 70%, #f8ff41 30%);
}
