@charset "UTF-8";

/* sass */

body,
div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
dl,
dt,
dd,
ul,
ol,
li,
table,
caption,
th,
td,
form,
fieldset,
input,
textarea,
select,
pre,
address,
blockquote,
embed,
object,
dfn,
article,
aside,
canvas,
figure,
figcaption,
footer,
header,
nav,
section,
main,
audio,
video {
  margin: 0px;
  padding: 0px;
}

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

audio,
canvas,
progress,
video {
  display: inline-block;
}

address,
dfn {
  display: inline;
  font-style: normal;
}

canvas {
  width: 0;
  height: 0;
}

iframe {
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}

html {
  overflow-y: scroll;
  font-size: 62.5%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
}

* {
  box-sizing: border-box;
}

body {
  color: #000;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  background: #fff;
  font-size: 1.6em;
  line-height: 1;
}

em {
  font-style: normal;
  font-weight: bold;
}

strong {
  font-style: normal;
  font-weight: bold;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  empty-cells: show;
}

caption,
th {
  text-align: left;
}

img {
  border: 0;
  vertical-align: middle;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a {
  cursor: pointer;
}

form {
  font-weight: normal;
}

input,
button,
textarea,
select {
  font-size: 1.6rem;
  line-height: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  text-transform: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

button {
  color: inherit;
  font-size: inherit;
}

select::-ms-expand {
  display: none;
}

body {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.txt {
  line-height: 1.8;
}

.img-wrap {
  font-size: 0;
  line-height: 0;
}

.u-ft-xxs {
  font-size: 1rem !important;
}

.u-ft-xs {
  font-size: 1.2rem !important;
}

.u-ft-s {
  font-size: 1.4rem !important;
}

.u-ft-m {
  font-size: 1.6rem !important;
}

.u-ft-l {
  font-size: 1.8rem !important;
}

.u-ft-xl {
  font-size: 2rem !important;
}

.u-ft-xxl {
  font-size: 2.4rem !important;
}

.clearfix:after {
  display: block;
  content: "";
  clear: both;
}

.u-ta-l {
  text-align: left !important;
}

.u-ta-c {
  text-align: center !important;
}

.u-ta-r {
  text-align: right !important;
}

.u-ta-l-c {
  text-align: left !important;
}

.u-ta-l-r {
  text-align: left !important;
}

.u-ta-c-l {
  text-align: center !important;
}

.u-ta-c-r {
  text-align: center !important;
}

.u-ta-r-l {
  text-align: right !important;
}

.u-ta-r-c {
  text-align: right !important;
}

.u-disp-n {
  display: none !important;
}

.u-disp-b {
  display: block !important;
}

.u-disp-i-n {
  display: inline !important;
}

.u-disp-ib-n {
  display: inline-block !important;
}

.u-disp-b-n {
  display: block !important;
}

.u-disp-n-i {
  display: none !important;
}

.u-disp-n-ib {
  display: none !important;
}

.u-disp-n-b {
  display: none !important;
}

.u-br-sp {
  display: inline !important;
}

.u-br-pc {
  display: none !important;
}

.u-mg0 {
  margin: 0 !important;
}

.u-mg-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-mgt-xxs {
  margin-top: 5px !important;
}

.u-mgt-xs {
  margin-top: 10px !important;
}

.u-mgt-s {
  margin-top: 15px !important;
}

.u-mgt-m {
  margin-top: 20px !important;
}

.u-mgt-l {
  margin-top: 25px !important;
}

.u-mgt-xl {
  margin-top: 30px !important;
}

.u-mgt-xxl {
  margin-top: 40px !important;
}

.u-mgb-xxs {
  margin-bottom: 5px !important;
}

.u-mgb-xs {
  margin-bottom: 10px !important;
}

.u-mgb-s {
  margin-bottom: 15px !important;
}

.u-mgb-m {
  margin-bottom: 20px !important;
}

.u-mgb-l {
  margin-bottom: 25px !important;
}

.u-mgb-xl {
  margin-bottom: 30px !important;
}

.u-mgb-xxl {
  margin-bottom: 40px !important;
}

.u-mgt0 {
  margin-top: 0px !important;
}

.u-mgb0 {
  margin-bottom: 0px !important;
}

.u-mgt5 {
  margin-top: 5px !important;
}

.u-mgb5 {
  margin-bottom: 5px !important;
}

.u-mgt10 {
  margin-top: 10px !important;
}

.u-mgb10 {
  margin-bottom: 10px !important;
}

.u-mgt15 {
  margin-top: 15px !important;
}

.u-mgb15 {
  margin-bottom: 15px !important;
}

.u-mgt20 {
  margin-top: 20px !important;
}

.u-mgb20 {
  margin-bottom: 20px !important;
}

.u-mgt25 {
  margin-top: 25px !important;
}

.u-mgb25 {
  margin-bottom: 25px !important;
}

.u-mgt30 {
  margin-top: 30px !important;
}

.u-mgb30 {
  margin-bottom: 30px !important;
}

.u-mgt35 {
  margin-top: 35px !important;
}

.u-mgb35 {
  margin-bottom: 35px !important;
}

.u-mgt40 {
  margin-top: 40px !important;
}

.u-mgb40 {
  margin-bottom: 40px !important;
}

.u-mgt45 {
  margin-top: 45px !important;
}

.u-mgb45 {
  margin-bottom: 45px !important;
}

.u-mgt50 {
  margin-top: 50px !important;
}

.u-mgb50 {
  margin-bottom: 50px !important;
}

.u-pdt0 {
  padding-top: 0px !important;
}

.u-pdb0 {
  padding-bottom: 0px !important;
}

.u-pdt5 {
  padding-top: 5px !important;
}

.u-pdb5 {
  padding-bottom: 5px !important;
}

.u-pdt10 {
  padding-top: 10px !important;
}

.u-pdb10 {
  padding-bottom: 10px !important;
}

.u-pdt15 {
  padding-top: 15px !important;
}

.u-pdb15 {
  padding-bottom: 15px !important;
}

.u-pdt20 {
  padding-top: 20px !important;
}

.u-pdb20 {
  padding-bottom: 20px !important;
}

.u-pdt25 {
  padding-top: 25px !important;
}

.u-pdb25 {
  padding-bottom: 25px !important;
}

.u-pdt30 {
  padding-top: 30px !important;
}

.u-pdb30 {
  padding-bottom: 30px !important;
}

.u-pdt35 {
  padding-top: 35px !important;
}

.u-pdb35 {
  padding-bottom: 35px !important;
}

.u-pdt40 {
  padding-top: 40px !important;
}

.u-pdb40 {
  padding-bottom: 40px !important;
}

.u-pdt45 {
  padding-top: 45px !important;
}

.u-pdb45 {
  padding-bottom: 45px !important;
}

.u-pdt50 {
  padding-top: 50px !important;
}

.u-pdb50 {
  padding-bottom: 50px !important;
}

.u-pd0 {
  padding: 0 !important;
}

.u-pdt-xxs {
  padding-top: 5px !important;
}

.u-pdt-xs {
  padding-top: 10px !important;
}

.u-pdt-s {
  padding-top: 15px !important;
}

.u-pdt-m {
  padding-top: 20px !important;
}

.u-pdt-l {
  padding-top: 25px !important;
}

.u-pdt-xl {
  padding-top: 30px !important;
}

.u-pdt-xxl {
  padding-top: 40px !important;
}

.u-pdb-xxs {
  padding-bottom: 5px !important;
}

.u-pdb-xs {
  padding-bottom: 10px !important;
}

.u-pdb-s {
  padding-bottom: 15px !important;
}

.u-pdb-m {
  padding-bottom: 20px !important;
}

.u-pdb-l {
  padding-bottom: 25px !important;
}

.u-pdb-xl {
  padding-bottom: 30px !important;
}

.u-pdb-xxl {
  padding-bottom: 40px !important;
}

@media all and (min-width: 768px) {
  .u-ta-l-c {
    text-align: center !important;
  }

  .u-ta-l-r {
    text-align: right !important;
  }

  .u-ta-c-l {
    text-align: left !important;
  }

  .u-ta-c-r {
    text-align: right !important;
  }

  .u-ta-r-l {
    text-align: left !important;
  }

  .u-ta-r-c {
    text-align: center !important;
  }

  .u-disp-i-n {
    display: none !important;
  }

  .u-disp-ib-n {
    display: none !important;
  }

  .u-disp-b-n {
    display: none !important;
  }

  .u-disp-n-i {
    display: inline !important;
  }

  .u-disp-n-ib {
    display: inline-block !important;
  }

  .u-disp-n-b {
    display: block !important;
  }

  .u-br-sp {
    display: none !important;
  }

  .u-br-pc {
    display: inline !important;
  }

  a img.u-btn {
    opacity: 1;
    transition: opacity 0.3s;
  }

  a:hover img.u-btn {
    opacity: 0.8;
  }

  img.u-btn {
    opacity: 0.3;
  }

  .u-mg0 {
    margin: 0 !important;
  }

  .u-mg-auto {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .u-mgt-xxs {
    margin-top: 10px !important;
  }

  .u-mgt-xs {
    margin-top: 20px !important;
  }

  .u-mgt-s {
    margin-top: 30px !important;
  }

  .u-mgt-m {
    margin-top: 40px !important;
  }

  .u-mgt-l {
    margin-top: 50px !important;
  }

  .u-mgt-xl {
    margin-top: 60px !important;
  }

  .u-mgt-xxl {
    margin-top: 80px !important;
  }

  .u-mgb-xxs {
    margin-bottom: 10px !important;
  }

  .u-mgb-xs {
    margin-bottom: 20px !important;
  }

  .u-mgb-s {
    margin-bottom: 30px !important;
  }

  .u-mgb-m {
    margin-bottom: 40px !important;
  }

  .u-mgb-l {
    margin-bottom: 50px !important;
  }

  .u-mgb-xl {
    margin-bottom: 60px !important;
  }

  .u-mgb-xxl {
    margin-bottom: 80px !important;
  }

  .u-pd0 {
    padding: 0 !important;
  }

  .u-pdt-xxs {
    padding-top: 10px !important;
  }

  .u-pdt-xs {
    padding-top: 20px !important;
  }

  .u-pdt-s {
    padding-top: 30px !important;
  }

  .u-pdt-m {
    padding-top: 40px !important;
  }

  .u-pdt-l {
    padding-top: 50px !important;
  }

  .u-pdt-xl {
    padding-top: 60px !important;
  }

  .u-pdt-xxl {
    padding-top: 80px !important;
  }

  .u-pdb-xxs {
    padding-bottom: 10px !important;
  }

  .u-pdb-xs {
    padding-bottom: 20px !important;
  }

  .u-pdb-s {
    padding-bottom: 30px !important;
  }

  .u-pdb-m {
    padding-bottom: 40px !important;
  }

  .u-pdb-l {
    padding-bottom: 50px !important;
  }

  .u-pdb-xl {
    padding-bottom: 60px !important;
  }

  .u-pdb-xxl {
    padding-bottom: 80px !important;
  }
}

html:has(#header) {
  scroll-padding-top: 50px;
}

#contents {
  padding: 0 16px 65px;
}

#contents > p:first-child {
  margin-top: 40px;
}

#contents > form:first-child > p:first-child {
  margin-top: 20px;
}

#contents:has(.area-fixed) {
  padding-bottom: 0;
}

.wrap-contents {
  padding: 0 16px;
}

.wrap-contents > p:first-child {
  margin-top: 20px;
}

.u-mgt-54-63 {
  margin-top: 54px !important;
}

.img-wrap img {
  max-width: 100%;
  height: auto;
}

a:link,
a:visited,
a:hover,
a:active {
  color: #16549F;
}

a:link {
  text-decoration: underline;
}

.lnk-return > li {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
}

.lnk-return > li a:link,
.lnk-return > li a:visited,
.lnk-return > li a:hover,
.lnk-return > li a:active {
  color: #16549F;
  text-decoration: none;
}

.lnk-return > li a {
  position: relative;
  padding-left: 18px;
}

.lnk-return > li a::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 6px;
  height: 12px;
  background: transparent url(/images/ico-arw-l-b.svg?62d74175f50bcc6faae13b67f3fc49e9) 0 0 no-repeat;
  background-size: 6px 12px;
  margin: auto 0;
  left: 0;
  top: 0;
  bottom: 0;
}

#header {
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #e8e8e8;
  background-color: #FFF;
}

#header .lnk-return {
  align-self: center;
  position: absolute;
  left: 14px;
  margin: auto 0;
}

#header + #main {
  padding-top: 50px;
}

/* h1... */

.hdg-lv1 {
  color: #16549F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: clamp(1.6rem, 4.10272vw, 2.4rem);
  font-weight: 700;
  line-height: 1.5;
  /* 24px */
}

.hdg-lv1-pt2 {
  margin-top: 40px;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: max(1.8rem, 4.61556vw);
  font-weight: 700;
  line-height: 1.5;
  /* 27px */
}

.hdg-lv1-pt2 + [class^=img-],
.hdg-lv1-pt2 + [class^=txt-],
.hdg-lv1-pt2 + [class^=lst-] {
  margin-top: 15px;
}

.hdg-lv1-pt2-error {
  margin-top: 40px;
  color: #000;
  font-family: "Noto Sans JP";
  text-align: center;
  font-size: max(1.8rem, 4.61556vw);
  font-weight: 700;
  line-height: 1.5;
}

.hdg-lv1-pt2-error + [class^=txt-] {
  margin-top: 15px;
}

.hdg-lv2 {
  margin-top: 35px;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: clamp(1.8rem, 4.61556vw, 3rem);
  font-weight: 700;
  line-height: 1.5;
}

.hdg-lv2::before {
  content: "";
  display: inline-block;
  border-radius: 20px;
  background: #41A5E4;
  width: 6px;
  height: calc(1em + 2px);
  margin-right: 10px;
  vertical-align: -0.2em;
}

.hdg-lv2 + [class^=img-],
.hdg-lv2 + [class^=txt-],
.hdg-lv2 + [class^=lst-] {
  margin-top: 10px;
}

.hdg-lv2.pt-2 {
  font-size: clamp(1.6rem, 4.10272vw, 2.4rem);
}

.hdg-lv3-pt2 {
  margin-top: 20px;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 500;
  line-height: 1.75;
}

.hdg-lv3 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  font-weight: 400;
  line-height: 2;
}

.htd-lv4 {
  color: #000;
  font-family: "Noto Sans JP";
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  font-weight: 400;
  line-height: 2;
}

.htd-lv4::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: radial-gradient(#000, #000) center center no-repeat;
  background-size: 3px 3px;
  border-radius: 50%;
  vertical-align: middle;
}

.htd-lv5 {
  margin-top: 20px;
  color: #000;
  font-family: "Noto Sans JP";
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  font-weight: 400;
  line-height: 2;
  position: relative;
}

.htd-lv5::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: radial-gradient(#000, #000) center center no-repeat;
  background-size: 3px 3px;
  border-radius: 50%;
  vertical-align: middle;
}

/* form */

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password] {
  color: #000;
  background-color: #FFF;
  border: 1px solid #e2e2e2;
  padding: 10px 10px;
  width: 100%;
  border-radius: 5px;
}

input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder {
  color: #e2e2e2;
}

input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=number]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder {
  color: #e2e2e2;
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder {
  color: #e2e2e2;
}

input[type=text].fe-error,
input[type=email].fe-error,
input[type=tel].fe-error,
input[type=number].fe-error,
input[type=password].fe-error {
  border-color: #e80000;
  background-color: #fef6f6;
}

select {
  color: #000;
  background-color: #FFF;
  border: 1px solid #e2e2e2;
  padding: 14px 10px;
  width: 100%;
  border-radius: 5px;
  background: transparent url(/images/ico-arw-d-k.png?55acbdff9063f29b19a9c20e4c014633) right center no-repeat;
  background-size: 24px 7px;
}

select.fe-error {
  border-color: #e80000;
  background-color: #fef6f6;
}

.wrap-area-result .area-result {
  position: relative;
}

.wrap-area-result .area-result .img-wrap {
  text-align: center;
}

.wrap-area-result .area-result .txt-result.winner,
.wrap-area-result .area-result .txt-result.congratulations,
.wrap-area-result .area-result .txt-result.txt-oops,
.wrap-area-result .area-result .txt-result.loser,
.wrap-area-result .area-result .txt-result.lost,
.wrap-area-result .area-result .txt-result.thanks {
  position: absolute;
  text-align: center;
  line-height: 1.5;
  width: 100%;
}

.wrap-area-result .area-result .txt-result.winner {
  font-size: max(3.8rem, 9.74396vw);
  font-weight: 700;
  color: #e80000;
  letter-spacing: 3.8px;
  top: 32%;
}

.wrap-area-result .area-result .txt-result.congratulations {
  font-size: max(1.5rem, 3.8463vw);
  font-weight: 700;
  color: #e80000;
  top: 57.5%;
}

.wrap-area-result .area-result .txt-result.txt-oops {
  top: 11%;
}

.wrap-area-result .area-result .txt-result.loser {
  color: #fff;
  font-size: max(3rem, 9.23112vw);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 3.6px;
  top: 24%;
}

.wrap-area-result .area-result .txt-result.lost {
  color: #fff;
  font-weight: 700;
  font-size: max(1.5rem, 3.8463vw);
  top: 50%;
}

.wrap-area-result .area-result .txt-result.thanks {
  color: #fff;
  font-size: max(1.3rem, 3.33346vw);
  line-height: 1.75;
  top: 67%;
}

.wrap-area-result .area-result.lose {
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 0 0 30px 30px;
  padding-bottom: 22px;
  aspect-ratio: 13/8;
}

.wrap-area-result .area-result .img-lottery {
  width: 207px;
  margin: 0 auto 0;
  mix-blend-mode: multiply;
}

.wrap-area-result > p {
  margin: 10px 15px 0;
}

.area-form-error {
  display: none;
  margin-top: 16px;
  padding: 15px 20px;
  background-color: #fef6f6;
  color: #e80000;
}

.area-form-error.fe-error {
  display: block;
}

.area-caution {
  margin-top: 30px;
  padding: 15px;
  background-color: #f7f7f7;
}

.area-fixed {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  background-color: #FFF;
}

.area-fixed .area-fixed-inner {
  border-top: 1px solid #d4d4d4;
  padding: 15px;
}

.area-fixed .wrap-submit {
  margin-top: 0;
  margin-bottom: 15px;
}

.area-fixed .wrap-checkbox {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  text-align: center;
}

.area-fixed .wrap-checkbox + .wrap-submit {
  margin-top: 30px;
}

.area-fixed .txt-kiyaku-st {
  margin-top: 10px;
}

.area-fixed .txt-fixed {
  font-size: clamp(1.2rem, 3.077vw, 1.6rem);
}

.area-fixed .txt-fixed + .wrap-submit {
  margin-top: 15px;
}

.area-fixed .txt-comment {
  font-size: clamp(1.2rem, 3.077vw, 1.4rem);
}

@media print, all and (min-width: 768px) {
  .area-fixed .wrap-checkbox {
    font-size: 2rem;
  }
}

.area-to-comp {
  margin-top: 40px;
}

.area-comp .hdg-lv2 {
  margin-top: 70px;
}

.area-comp .hdg-lv2 + [class^=img-],
.area-comp .hdg-lv2 + [class^=txt-],
.area-comp .hdg-lv2 + [class^=lst-] {
  margin-top: 15px;
}

.area-comp .lst-definition + .txt-st {
  margin-top: 15px;
}

.area-comp .lst-type-pt1 {
  margin-top: 20px;
}

.area-comp .img-wrap + .txt-st {
  margin-top: 15px;
}

.area-comp .wrap-submit {
  margin-top: 60px;
}

.wrap-area-progress {
  background: linear-gradient(158deg, #DCEEF7 0%, #CAEFEC 52.88%, #76C2E3 100%);
  padding-top: 162px;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.wrap-area-progress .txt-progress {
  margin: 0 auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: transparent url(/images/img_fukidashi.svg?700b4ca2511c7cc9ff5a080969a6742d) 0 0 no-repeat;
  background-size: cover;
  color: #41a5e4;
  aspect-ratio: 154/67;
  text-align: center;
  font-size: clamp(2rem, 5.1282vw, 2.6rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 2px;
  padding: 13px 29px 24px 39px;
}

.wrap-area-progress .img-lottery {
  position: relative;
  z-index: 2;
  width: 208px;
  margin: 0 auto;
}

.wrap-area-progress .bg-circle {
  position: absolute;
  z-index: 1;
  top: 100%;
  margin-top: -68px;
  left: calc(50vw - 386px);
  width: 772px;
  height: 593px;
  border-radius: 772px/593px;
  background-color: #FFF;
}

/* ul */

.lst-error > li {
  font-size: max(1.2rem, 3.077vw);
  font-weight: 500;
  line-height: 1.75;
  /* 21px */
  position: relative;
  padding-left: 10px;
}

.lst-error > li::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 5px;
  height: 1px;
  top: 0.875em;
  left: 0;
  margin-top: 0px;
  background-color: #e80000;
}

.lst-type-pt1 > li {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  line-height: 2;
  padding-left: 1em;
  text-indent: -1em;
}

.lst-type-pt1 > li::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: radial-gradient(#000, #000) center center no-repeat;
  background-size: 3px 3px;
  border-radius: 50%;
  vertical-align: middle;
}

.lst-type-pt1.pt-st > li {
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 500;
  line-height: 1.75;
  /* 24.5px */
}

.lst-type-n > li {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  line-height: 2;
}

.lst-type-caution {
  margin-top: 30px;
}

.lst-type-caution > li {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  line-height: 2;
}

.lst-type-caution > li .mark {
  display: inline-block;
  margin-right: 1em;
}

/* dl */

.lst-definition::after {
  content: "";
  display: table;
  clear: both;
}

.lst-definition dt,
.lst-definition dd {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  line-height: 2;
}

.lst-definition dt {
  float: left;
}

.lst-definition dd + dt {
  clear: left;
}

.lst-definition.pt-st dt,
.lst-definition.pt-st dd {
  font-size: max(1.4rem, 3.58988vw);
  font-weight: 500;
  line-height: 1.75;
  /* 24.5px */
}

/* item */

.lst-item > li {
  background-color: #f3f7f9;
  padding: 10px;
}

.lst-item > li .txt-item-title {
  color: #000;
  font-size: max(1.4rem, 3.58988vw);
  font-weight: 700;
  line-height: 2;
}

.lst-item > li .txt-item-content {
  margin-top: 10px;
  display: flex;
  align-items: center;
  font-size: max(1.2rem, 3.077vw);
  font-weight: 500;
  line-height: 1;
}

.lst-item > li .txt-item-content .text {
  display: block;
  padding: 2px 8px 3px 8px;
  background-color: #16549F;
  color: #fff;
  border-radius: 3px;
}

.lst-item > li .txt-item-detail {
  margin-top: 5px;
  color: #000;
  font-size: max(1.2rem, 3.077vw);
  line-height: 2;
}

.lst-item > li + li {
  margin-top: 15px;
}

/* form 1 line row */

.wrap-group .wrap-legend {
  margin: 20px -15px 0;
  padding: 14px 15px;
  background-color: #f3f7f9;
}

.wrap-group .txt-legend {
  font-size: max(1.4rem, 3.58988vw);
  font-weight: 700;
  line-height: 1.5;
}

.wrap-group .txt-legend .required-mark,
.wrap-group .txt-legend .any-mark {
  vertical-align: 0.05em;
}

.wrap-group .wrap-element {
  padding: 10px 0 20px;
}

.wrap-group + .wrap-group .wrap-legend {
  margin-top: 0;
}

/* form pattern */

.wrap-name {
  display: flex;
  gap: 10px;
}

.wrap-name > li {
  width: calc(50% - 5px);
}

.txt-label {
  font-size: max(1.2rem, 3.077vw);
  font-weight: 500;
  line-height: 1.5;
}

.txt-label + .wrap-text {
  margin-top: 5px;
}

/* validate  error */

.txt-fe-error {
  display: none;
  margin-top: 5px;
  color: #e80000;
  font-size: max(1.2rem, 3.077vw);
  font-weight: 500;
  line-height: 1.5;
  /* 18px */
}

.txt-fe-error.fe-error {
  display: block;
}

.fe-error .txt-fe-error {
  display: block;
}

.txt-st {
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 500;
  line-height: 1.75;
}

.txt-st + .txt-st {
  margin-top: 10px;
}

.txt-st-error {
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 400;
  line-height: 2;
}

.txt-st-error + .txt-st-error {
  margin-top: 2em;
}

.txt-lead {
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 700;
  line-height: 1.75;
}

.txt-add {
  font-size: max(1.4rem, 3.58988vw);
  font-weight: 500;
  line-height: 1.5;
}

.txt-add + [class^=wrap] {
  margin-top: 16px;
}

.txt-caution {
  font-size: max(1.4rem, 3.58988vw);
  font-weight: 700;
  line-height: 1.75;
}

.txt-item {
  margin-top: 15px;
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 400;
  line-height: 2;
}

.required-mark,
.any-mark {
  display: inline-block;
  margin-left: 15px;
  padding: 1px 5px 3px;
  line-height: 1;
  border-radius: 3px;
  font-size: max(1.1rem, 2.82062vw);
  font-weight: 500;
}

.required-mark {
  background-color: #16549F;
  border: 1px solid #16549F;
  color: #fff;
}

.any-mark {
  background-color: #fff;
  color: #16549F;
  border: 1px solid #16549F;
}

.txt-lead + .txt-lead {
  margin-top: 25px;
}

.txt-kiyaku {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  line-height: 2;
}

.txt-kiyaku-st {
  font-size: clamp(1.2rem, 3.077vw, 1.6rem);
  line-height: 1.5;
}

.txt-comment {
  margin-top: 5px;
  font-size: max(1.2rem, 3.077vw);
  font-weight: 500;
  line-height: 1.5;
}

.txt-comment + .txt-comment {
  margin-top: 0;
}

.txt-below {
  font-size: max(1.2rem, 3.077vw);
  line-height: 1.5;
}

.txt-image {
  font-size: max(1.2rem, 3.077vw);
  line-height: 1.5;
}

.txt-fixed {
  font-size: max(1.2rem, 3.077vw);
  font-weight: 700;
  line-height: 1.5;
}

.any-turn::after {
  content: "";
  display: table;
  clear: both;
}

.any-turn .mark {
  float: left;
  display: block;
}

.any-turn .mark + .detail {
  overflow: hidden;
  display: block;
}

input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

input[type=checkbox] + .mark {
  display: inline-block;
  position: relative;
  padding-left: 28px;
}

input[type=checkbox] + .mark::before {
  position: absolute;
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid #9e9e9e;
  border-radius: 5px;
  margin: auto 0;
  left: 0;
  top: 0;
  bottom: 0;
}

input[type=checkbox] + .mark::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 11px;
  height: 7px;
  margin: 0;
  background: transparent url(/images/ico-checkbox-b.svg?25fcac5a5d5abeac5ebf92afc615c32a) 0 0 no-repeat;
  background-size: 11px 7px;
  left: 5px;
  top: 6px;
  display: none;
}

input[type=checkbox] + .mark .text {
  font-size: clamp(1.2rem, 3.077vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
}

input[type=checkbox]:focus + .mark {
  outline: 2px solid #16549F;
  border-radius: 3px;
}

input[type=checkbox]:checked + .mark::after {
  display: block;
}

.wrap-submit {
  margin-top: 30px;
  text-align: center;
}

.btn-a {
  position: relative;
  border-radius: 25px;
  color: #fff;
  padding: 11px 25px 11px 15px;
  text-align: center;
  width: 17.14em;
  cursor: pointer;
  background-color: #16549F;
  font-size: clamp(1.4rem, 3.58988vw, 2rem);
  font-weight: 700;
}

.btn-a::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 8px;
  height: 12px;
  background: transparent url(/images/ico-arw-r-w.svg?adbd964fb111ef8c49f342901d423a10) 0 0 no-repeat;
  background-size: 8px 12px;
  margin: auto 0;
  top: 0;
  bottom: 0;
  right: 13px;
}

.btn-a.size-l {
  font-size: clamp(1.6rem, 4.10272vw, 2.6rem);
  padding-top: 17px;
  padding-bottom: 17px;
  width: 100%;
  max-width: 300px;
}

.btn-a:disabled {
  cursor: default;
  background-color: #e8e8e8;
  color: #b5b5b5;
}

.btn-a:disabled::after {
  background: transparent url(/images/ico-arw-r-g.svg?299418e53817788159c772ab98ac0cda) 0 0 no-repeat;
  background-size: 8px 12px;
}

.btn-b {
  position: relative;
  border-radius: 25px;
  color: #16549F;
  padding: 9px 4px 9px 4px;
  text-align: center;
  width: 17.14em;
  cursor: pointer;
  border: 1px solid #16549F;
  font-size: clamp(1.6rem, 4.10272vw, 2rem);
  font-weight: 700;
}

.btn-b:disabled {
  cursor: default;
  background-color: #e8e8e8;
  color: #b5b5b5;
}

.btn-b.return {
  padding: 9px 15px 9px 25px;
}

.btn-b.return::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 8px;
  height: 12px;
  background: transparent url(/images/ico-arw-l-b.svg?62d74175f50bcc6faae13b67f3fc49e9) 0 0 no-repeat;
  background-size: 8px 12px;
  margin: auto 0;
  top: 0;
  bottom: 0;
  left: 15px;
}

.btn-b.return:disabled::after {
  background: transparent url(/images/ico-arw-r-g.svg?299418e53817788159c772ab98ac0cda) 0 0 no-repeat;
  background-size: 8px 12px;
  transform: rotate(180deg);
}

.btn-b.forward {
  padding: 9px 25px 9px 15px;
}

.btn-b.forward::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 8px;
  height: 12px;
  background: transparent url(/images/ico-arw-r-b.svg?db53bbeaefbe225b800a266cab1c4fbe) 0 0 no-repeat;
  background-size: 8px 12px;
  margin: auto 0;
  top: 0;
  bottom: 0;
  right: 15px;
}

.btn-b.forward:disabled::after {
  background: transparent url(/images/ico-arw-r-g.svg?299418e53817788159c772ab98ac0cda) 0 0 no-repeat;
  background-size: 8px 12px;
}

.btn-b.size-l {
  font-size: clamp(1.6rem, 4.10272vw, 2.4rem);
  padding-top: 17px;
  padding-bottom: 17px;
  width: 100%;
  max-width: 300px;
}

.btn-c {
  position: relative;
  border-radius: 25px;
  color: #fff;
  padding: 9px 25px 9px 15px;
  text-align: center;
  width: 17.14em;
  font-weight: 700;
  cursor: pointer;
  background-color: #e80000;
  font-size: clamp(1.6rem, 4.10272vw, 2rem);
}

.btn-c::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 8px;
  height: 12px;
  background: transparent url(/images/ico-arw-r-w.svg?adbd964fb111ef8c49f342901d423a10) 0 0 no-repeat;
  background-size: 8px 12px;
  margin: auto 0;
  top: 0;
  bottom: 0;
  right: 15px;
}

.btn-c:disabled {
  cursor: default;
  background-color: #e8e8e8;
  color: #b5b5b5;
}

.btn-c:disabled::after {
  background: transparent url(/images/ico-arw-r-g.svg?299418e53817788159c772ab98ac0cda) 0 0 no-repeat;
  background-size: 8px 12px;
}

@media print, all and (min-width: 768px) {
  .u-mgt-54-63 {
    margin-top: 63px !important;
  }

  html:has(#header) {
    scroll-padding-top: 70px;
  }

  #header {
    height: 70px;
  }

  #header .lnk-return {
    left: 30px;
  }

  #header + #main {
    padding-top: 70px;
  }

  #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  .wrap-contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }

  .lnk-return > li {
    font-size: 2rem;
  }

  .lnk-return > li a {
    padding-left: 40px;
  }

  .lnk-return > li a::before {
    width: 10px;
    height: 20px;
    background-size: 10px 20px;
  }

  .hdg-lv1 {
    font-size: 2.4rem;
  }

  .hdg-lv1-pt2 {
    font-size: 3rem;
  }

  .hdg-lv1-pt2-error {
    margin-top: 94px;
    font-size: 3rem;
  }

  .hdg-lv1-pt2-error + [class^=txt-] {
    margin-top: 30px;
  }

  .hdg-lv2 {
    margin-top: 80px;
    font-size: 3rem;
  }

  .hdg-lv2 + [class^=txt-] {
    margin-top: 20px;
  }

  .hdg-lv2.pt-2 {
    font-size: 2.4rem;
  }

  .hdg-lv3 {
    font-size: 2rem;
  }

  .hdg-lv3-pt2 {
    font-size: 2rem;
    line-height: 2;
  }

  .htd-lv4 {
    font-size: 2rem;
  }

  .htd-lv5 {
    margin-top: 35px;
    font-size: 2rem;
  }

  /* form */

  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=password] {
    font-size: 1.8rem;
  }

  /* ul */

  .lst-error > li {
    font-size: 1.4rem;
  }

  .lst-type-pt1 > li {
    font-size: 2rem;
  }

  .lst-type-pt1.pt-st > li {
    font-size: 2rem;
  }

  .lst-type-n > li {
    font-size: 2rem;
  }

  .lst-type-caution > li {
    font-size: 2rem;
  }

  /* validate  error */

  .txt-fe-error {
    font-size: 1.4rem;
  }

  .txt-st {
    font-size: 2rem;
    line-height: 2;
  }

  .txt-st-error {
    font-size: 2rem;
  }

  .txt-lead {
    font-size: 2rem;
  }

  .txt-kiyaku {
    font-size: 2rem;
  }

  .txt-kiyaku-st {
    font-size: 1.6rem;
  }

  .txt-comment {
    font-size: 1.4rem;
  }

  .txt-add {
    font-size: 1.8rem;
  }

  .txt-caution {
    font-size: 1.4rem;
  }

  .txt-item {
    margin-top: 30px;
    font-size: 2rem;
  }

  .txt-below {
    font-size: 1.6rem;
  }

  .txt-image {
    font-size: 1.4rem;
  }

  .txt-fixed {
    font-size: 1.6rem;
  }

  /* dl */

  .lst-definition dt,
  .lst-definition dd {
    font-size: 2rem;
    line-height: 2;
  }

  .lst-definition.pt-st dt,
  .lst-definition.pt-st dd {
    font-size: 2rem;
  }

  /* form pattern */

  .txt-label {
    font-size: 1.4rem;
  }

  .txt-label + .wrap-text {
    margin-top: 5px;
  }

  /* form 1 line row */

  .wrap-group .wrap-legend {
    margin: 40px 0 0;
    padding: 15px;
  }

  .wrap-group .txt-legend {
    font-size: 2rem;
  }

  .wrap-group .txt-legend .required-mark,
  .wrap-group .txt-legend .any-mark {
    vertical-align: 0.1em;
  }

  .required-mark,
  .any-mark {
    font-size: 1.4rem;
    padding: 2px 8px 4px;
  }

  .btn-a {
    font-size: 2rem;
    padding-top: 15px;
    padding-bottom: 15px;
    width: 360px;
    border-radius: 30px;
  }

  .btn-a::after {
    width: 10px;
    height: 20px;
    background-size: 10px 20px;
    right: 30px;
  }

  .btn-a.size-l {
    font-size: 2.4rem;
    padding-top: 28px;
    padding-bottom: 28px;
    max-width: initial;
    width: 500px;
    border-radius: 75px;
  }

  .btn-a:disabled::after {
    background-size: 10px 20px;
  }

  .btn-b {
    width: 360px;
    font-size: 2rem;
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .btn-b.size-l {
    font-size: 2.4rem;
    padding-top: 28px;
    padding-bottom: 28px;
    max-width: initial;
    width: 500px;
    border-radius: 75px;
  }

  input[type=checkbox] + .mark::before {
    top: 0.35em;
    bottom: auto;
    margin: 0;
  }

  input[type=checkbox] + .mark::after {
    top: calc(0.35em + 6px);
  }

  input[type=checkbox] + .mark .text {
    font-size: 2rem;
  }

  .btn-c {
    font-size: 2rem;
    padding-top: 15px;
    padding-bottom: 15px;
    width: 360px;
    border-radius: 30px;
  }

  .btn-c::after {
    width: 10px;
    height: 20px;
    background-size: 10px 20px;
    right: 30px;
  }

  .btn-c:disabled::after {
    background-size: 10px 20px;
  }

  /* item */

  .lst-item > li {
    padding: 15px;
  }

  .lst-item > li .txt-item-title {
    font-size: 2rem;
  }

  .lst-item > li .txt-item-content {
    padding: 2px 5px 3px 5px;
    font-size: 1.6rem;
  }

  .lst-item > li .txt-item-content .text {
    padding: 3px 12px 5px 12px;
  }

  .lst-item > li .txt-item-detail {
    font-size: 1.8rem;
  }

  .lst-item > li + li {
    margin-top: 30px;
  }

  .wrap-area-result .area-result .txt-result.winner {
    font-size: 5.6rem;
    top: 36%;
  }

  .wrap-area-result .area-result .txt-result.congratulations {
    font-size: min(2.343vw, 2.2rem);
    top: 58%;
  }

  .wrap-area-result .area-result .txt-result.txt-oops {
    top: 19%;
  }

  .wrap-area-result .area-result .txt-result.loser {
    font-size: 4.6rem;
    letter-spacing: 4.677px;
    top: 25%;
  }

  .wrap-area-result .area-result .txt-result.lost {
    font-size: 2rem;
    top: 43%;
  }

  .wrap-area-result .area-result .txt-result.thanks {
    font-size: 1.8rem;
    top: 58%;
  }

  .wrap-area-result .area-result.lose {
    padding-top: 23px;
    padding-bottom: 61px;
    aspect-ratio: auto;
    min-height: initial;
  }

  .wrap-area-result .area-result.lose .img-lottery {
    width: 304px;
  }

  .wrap-area-result .txt-below {
    width: 700px;
    margin-left: auto;
    margin-right: auto;
  }

  .area-fixed .area-fixed-inner {
    padding-left: 40px;
    padding-right: 40px;
  }

  .area-fixed .txt-fixed {
    font-size: 1.6rem;
  }

  .area-fixed .txt-fixed + .wrap-submit {
    margin-top: 10px;
  }

  .area-fixed .txt-comment {
    font-size: 1.4rem;
  }

  .wrap-area-progress {
    padding-top: 155px;
  }

  .wrap-area-progress .txt-progress {
    font-size: 2.6rem;
    padding: 17px 37px 31px 50px;
  }

  .wrap-area-progress .img-lottery {
    width: 262px;
  }

  .wrap-area-progress .bg-circle {
    margin-top: -10.6%;
    left: 0;
    width: 100%;
    height: auto;
    border-radius: 0;
    background-color: transparent;
  }

  .wrap-area-progress .bg-circle::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 1939px;
    height: 1490px;
    top: 0;
    left: calc(50vw - 969px);
    background-color: #FFF;
    border-radius: 1939px/1490px;
  }
}


