@charset "UTF-8";
*,
::after,
::before{
  box-sizing:border-box;
  background-repeat:no-repeat;
}

::after,::before{
  vertical-align:inherit;
  text-decoration:inherit;
}
:where(:root){
  cursor:default;
  line-height:1.5;
  overflow-wrap:break-word;
  -moz-tab-size:4;
  -o-tab-size:4;
     tab-size:4;
  -webkit-tap-highlight-color:transparent;
  -webkit-text-size-adjust:100%;
}
:where(body){
  margin:0;
}
:where(h1){
  margin:.67em 0;
  font-size:2em;
}
:where(dl, ol, ul) :where(dl, ol, ul){
  margin:0;
}
:where(hr){
  height:0;
  color:inherit;
}
:where(nav) :where(ol, ul){
  padding:0;
  list-style-type:none;
}
:where(nav li)::before{
  float:left;
  content:"​";
}
:where(pre){
  overflow:auto;
  font-size:1em;
  font-family:monospace, monospace;
}
:where(abbr[title]){
  text-decoration:underline;
  -webkit-text-decoration:underline dotted;
          text-decoration:underline dotted;
}
:where(b, strong){
  font-weight:bolder;
}
:where(code, kbd, samp){
  font-size:1em;
  font-family:monospace, monospace;
}
:where(small){
  font-size:80%;
}
:where(audio, canvas, iframe, img, svg, video){
  vertical-align:middle;
}
:where(iframe){
  border-style:none;
}
:where(svg:not([fill])){
  fill:currentColor;
}
:where(table){
  border-color:inherit;
  border-collapse:collapse;
  text-indent:0;
}
:where(button, input, select){
  margin:0;
}
:where(button, [type=button i], [type=reset i], [type=submit i]){
  -webkit-appearance:button;
}
:where(fieldset){
  border:1px solid #a0a0a0;
}
:where(progress){
  vertical-align:baseline;
}
:where(textarea){
  margin:0;
  resize:vertical;
}
:where([type=search i]){
  -webkit-appearance:textfield;
  outline-offset:-2px;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button{
  height:auto;
}
::-webkit-input-placeholder{
  opacity:.54;
  color:inherit;
}
::-webkit-search-decoration{
  -webkit-appearance:none;
}
::-webkit-file-upload-button{
  -webkit-appearance:button;
  font:inherit;
}
:where(dialog){
  position:absolute;
  right:0;
  left:0;
  margin:auto;
  border:solid;
  background-color:#fff;
  padding:1em;
  width:-moz-fit-content;
  width:fit-content;
  height:-moz-fit-content;
  height:fit-content;
  color:#000;
}

:where(dialog:not([open])){
  display:none;
}
:where(details > summary:first-of-type){
  display:list-item;
}
:where([aria-busy=true i]){
  cursor:progress;
}
:where([aria-controls]){
  cursor:pointer;
}
:where([aria-disabled=true i], [disabled]){
  cursor:not-allowed;
}
:where([aria-hidden=false i][hidden]){
  display:initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)){
  clip:rect(0, 0, 0, 0);
  position:absolute;
}
html{
  scroll-behavior:smooth;
}
body{
  font-style:normal;
  font-weight:400;
  font-family: "Noto Sans JP", sans-serif;
}

 dd, dl, dt,h1, h2, h3, h4, h5, h6, p{
  margin:0;
  padding:0;
  font-size:1rem;
}

figure{
  margin:0;
  text-align:center;
}

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

[\$\$md],[\$md]{
  display:none;
}

.section-title{
  display:grid;
  place-items:center;
  text-align:center;
}
:where(.product .section-title){
  display:grid;
  place-items:center;
  text-align:center;
}

:is(.prize .heading){
  border:.8vw solid #fff;
  border-radius:9999px;
  background-color:#e71d11;
  padding:2.4vw 0;
  color:#fff;
  text-align:center;
}
:is(.product .heading){
  color:#e71d11;
  font-size:4vw;
  line-height:1.6;
  text-align:center;
}
:is(.requirements .heading){
  border-radius:.9375rem;
  background-color:#e71d11;
  padding:.9333vw 0;
  width:34.9333vw;
  color:#fff;
  font-weight:700;
  font-size:3.7333vw;
}
:is(.notes .heading){
  font-weight:400;
  font-size:3.4667vw;
}
:is(.notes-list + .heading){
  margin-block-start:2.25em;
}

:is(.product .caption){
  border-radius:9999px;
  background-color:#e8e8e8;
  padding:2.6667vw;
  color:#1239ba;
  font-weight:700;
  font-size:3.4667vw;
  line-height:1.5;
  text-align:center;
}
:is(.apply .caption){
  color:#bd1511;
  font-weight:700;
}

:where(.heading + .track){
  margin-block-start:3rem;
}
.track:where(.track + *){
  margin-block-start:3rem;
}

.container:where(.container + *){
  margin-block-start:3rem;
}
:is(.prize .container){
  margin-block-start:4.8vw;
  border-radius:8vw 8vw 4.5333vw 4.5333vw;
  background-color:#D9EFFC;
  padding-bottom:7.4667vw;
  max-width:86.6667vw;
}
:is(.product .container){
  margin-block-start:3.0667vw;
  border:.5333vw solid #e71d11;
  border-radius:4.5333vw;
  padding:6.9333vw 4vw;
  max-width:86.6667vw;
}
:is(.notes .container){
  margin-block-start:4.8vw;
  background-color:#fff;
  padding:3.4667vw;
  max-width:86.6667vw;
}
:is(.apply > .container){
  display:grid;
  grid-template-rows:auto auto auto;
  grid-template-columns:1fr;
  gap:4.2667vw;
  margin-block-start:6.2667vw;
}
:is(.decoration-wrap .container){
  padding:12vw 0;
  max-width:86.6667vw;
}
:is(.decoration-wrap .container) p{
  font-weight:700;
  font-size:3.4667vw;
  line-height:1.92;
}
:is(.contact .container){
  display:flex;
  flex-flow:column nowrap;
  gap:9.8667vw;
  margin-block-start:6.1333vw;
}

:is(.appli01 .description){
  font-weight:700;
}
:is(.prize .description){
  color:#292929;
}
:is(.apply .description){
  color:#bd1511;
  font-weight:700;
}
:is(.apply-mail .description){
  display:flex;
  flex-flow:column nowrap;
  gap:12.8vw;
  margin-block-start:12.8vw;
  max-width:86.6667vw;
}
:is(.requirements .description){
  hanging-punctuation:allow-end;
  color:#181677;
  font-size:4vw;
  font-kerning:normal;
  font-feature-settings:"palt" 1;
  line-break:auto;
}

.mx-auto{
  margin-right:auto;
  margin-left:auto;
}

.font-normal{
  font-style:normal;
}
.font-bold{
  font-weight:700;
}
.font-sans{
  font-style:normal;
  font-weight:700;
  font-family:"Noto Sans JP", sans-serif;
  font-optical-sizing:auto;
}

.text-center{
  text-align:center;
}
.text-sm{
  font-size:3.2vw;
}
.text-lg,.text-md{
  font-size:3.4667vw;
}
.text-big{
  font-size:5.3333vw;
}
.text-red-500{
  color:#bd1511;
}
.text-red-700{
  color:#e71d11;
}
.text-raise{
  padding-left:1em;
  text-indent:-1em;
}

.main-visual{
  display:grid;
  place-items:center;
  background-color:#fff;
}
.main-visual picture{
  width:100%;
}
.main-visual img{
  width:100%;
  max-width:unset;
  height:auto;
}

.intro{
  background-image:url("../img/intro-bg_mo.svg");
  background-position:top;
  background-size: cover;
  background-repeat:no-repeat;
  padding:12.2667vw 0;
}
.text-lg2 {
  font-size: 1.2rem;
  line-height: 180%;
}

.appli01{
  padding:11.56vw 0 5.3333vw;
}
.appli01 .navigation{
  display:flex;
  flex-flow:column nowrap;
  gap:5.6vw;
}

.course{
  padding:5.3333vw 0 8.5333vw;
}

.course-list{
  display:grid;
  grid-template-rows:1fr 1fr 1fr;
  grid-template-columns:1fr 1fr;
  justify-content:center;
  gap:2.4vw;
  max-width:86.6667vw;
}

.prize{
  padding:8.5333vw 0 7.2vw;
}

.prize-list{
  display:grid;
  grid-template-columns:36vw 36vw;
  justify-content:center;
  gap:6.4vw 4.5333vw;
  margin-block-start:4.8vw;
}
:is(.container:last-child .prize-list) > .item{
  display:grid;
  place-items:center;
  width:100%;
  max-width:unset;
}
.prize-list .item{
  flex-shrink:0;
}
.prize-list .card{
  width:36vw;
}
.prize-list .caption{
  display:flex;
  flex-flow:column nowrap;
}
.prize-list .brand{
  display:inline-block;
  font-size:2.9333vw;
  line-height:2;
}
.prize-list .name{
  display:inline-block;
  margin-block-start:1.6vw;
  hanging-punctuation:allow-end;
  font-size:3.2vw;
  line-height:1.6;
  font-kerning:normal;
  font-feature-settings:"palt" 1;
  line-break:auto;
}


.product-list{
  display:flex;
  flex-flow:row wrap;
  justify-content:center;
  align-items:flex-start;
  gap:4.8vw;
  margin-block-start:5.6vw;
}
.product-list .item{
  display:grid;
  grid-template-rows:36vw auto;
  grid-template-columns:1fr;
  place-items:center;
  max-width:36vw;
}
.product-list .image{
  display:grid;
  place-items:end center;
  width:36vw;
}
.product-list .label{
  display:inline-block;
  margin-block-start:.75em;
  color:#e71d11;
  font-size:3.2vw;
  text-align:center;
}

:is(.contact .text-link){
  transition:color .36s ease;
  color:#fff;
  text-decoration:underline;
}

:where(.appli01 .link-button){
  display:grid;
  place-items:center;
  transition:filter .36s ease;
  border-radius:1.7333vw;
  background-color:#ebebeb;
  padding:3.2vw 0;
  width:100%;
  max-width:58.6667vw;
  color:#292929;
  text-decoration:none;
}
:where(.apply-mail .link-button){
  display:block;
  transition:filter .36s ease;
  border:.5333vw solid #fff;
  border-radius:9999px;
  background-image:url("../img/applymail_icon-pdf.svg");
  background-position:left 8.5333vw center;
  background-size:7.7333vw auto;
  background-color:#e71d11;
  padding:5.2667vw;
  max-width:86.6667vw;
  color:#fff;
  font-weight:700;
  font-size:4vw;
  text-decoration:none;
}
.link-button.decoration-line{
  display:grid;
  place-items:center;
  transition:filter .36s ease;
  margin-block-start:1.3333vw;
  border-radius:1.7333vw;
  background-color:#00b900;
  padding:3.2vw 0;
  width:100%;
  max-width:86.6667vw;
  color:#292929;
  text-decoration:none;
}

.apply{
  padding:10.6667vw 0 4.625rem;
}
.apply .qr-code{
  display:grid;
  place-items:center;
  width:31.2vw;
}

:is(.apply .decoration-wrap){
  background-image:url("../img/apply_description-bg_mo.svg");
  background-position:bottom;
  background-size:100vw 100%;
  background-repeat:no-repeat;
  color:#fff;
}

.apply-mail{
  background-color:#f2f2f2;
  padding:8.9333vw 0 16.9333vw;
}
.apply-mail .navigation{
  margin-block-start:6.9333vw;
}

.requirements{
  padding:10.1333vw 0 12.8vw;
}
.requirements .item-body{
  display:grid;
  place-items:center;
  margin-block-start:.67em;
}
:is(.requirements dl){
  width:100%;
  max-width:88.8vw;
}
.requirements .column{
  display:grid;
  grid-template-columns:20.8vw 1fr;
  align-items:baseline;
  gap:3.7333vw;
  border-bottom:.5333vw solid #707070;
  padding:2.4vw 0;
  width:100%;
}
.requirements .column dt{
  flex-shrink:0;
  color:#292929;
  font-size:4vw;
}
.requirements .column dd{
  hanging-punctuation:allow-end;
  color:#181677;
  font-size:4vw;
  font-kerning:normal;
  font-feature-settings:"palt" 1;
  line-break:auto;
  text-align:left;
}

.requirements-list{
  display:flex;
  flex-flow:column nowrap;
  gap:8.8vw;
  margin-block-start:8vw;
}
.requirements-list .annotation{
  font-size:1.125rem;
  line-height:2;
}
.requirements-list .navigation{
  display:grid;
  place-items:center;
}

.notes{
  background-color:#f2f2f2;
  padding:8.9333vw 0 9.8667vw;
}
.notes .overflow-wrap{
  margin:0;
  padding:0;
  max-height:68.2667vw;
  overflow-y:auto;
}
.notes .read{
  font-size:3.4667vw;
  line-height:1.84;
}
.notes .notes-list{
  margin:0;
  padding:0;
}
.notes .notes-list > .item{
  padding-left:1.1em;
  font-size:3.4667vw;
  line-height:1.84;
  list-style:none;
  text-indent:-1.1em;
}

.contact .summary{
  color:#fff;
  font-weight:700;
  font-size:3.4667vw;
  line-height:1.67;
}

.footer-content{
  background-color:#e71d11;
  padding:9.8667vw 0 17.0667vw;
}

.scroll-container{
  display:flex;
  position:relative;
  justify-content:flex-end;
  background-color:#f2f2f2;
  min-height:10.6667vw;
}
.scroll-container.is-active .page-top{
  position:sticky;
  right:0;
  bottom:0;
}

.page-top{
  position:fixed;
  right:0;
  bottom:0;
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
  opacity:0;
  z-index:1000;
  transition:opacity .36s ease;
  cursor:pointer;
  border:0;
  border-radius:9999px 9999px 0 0;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%220%200%2025%2015%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%222%22%3E%3Cpath%20d%3D%22M19.291%2013.97%2012.01%206.688%204.728%2013.97a2.787%202.787%200%200%201-3.921%200%202.787%202.787%200%200%201%200-3.92L10.049.806a2.785%202.785%200%200%201%203.92%200l9.243%209.242a2.787%202.787%200%200%201%200%203.922%202.786%202.786%200%200%201-3.92-.001Z%22%20fill%3D%22%23fff%22%20fill-rule%3D%22nonzero%22%2F%3E%3C%2Fsvg%3E");
  background-position:50%;
  background-size:7.4667vw;
  background-color:#e71d11;
  width:14.4vw;
  height:10.6667vw;
  pointer-events:none;
}
.page-top.is-visible{
  opacity:1;
  pointer-events:auto;
}
@media (min-width:48em){
  [\$md]{
    display:revert;
  }
  :is(.prize .heading){
    border-width:.25rem;
    padding:1.0625rem 0;
  }
  :is(.product .heading){
    font-size:1.625rem;
    line-height:1.33;
  }
  :is(.requirements .heading){
    border-radius:.9375rem;
    padding:.4375rem 0;
    width:16.375rem;
    font-size:1.75rem;
  }
  :is(.notes .heading){
    font-size:.875rem;
  }
  :is(.product .caption){
    padding:.4063rem;
    font-size:1.125rem;
  }
  :is(.apply .caption){
    font-size:1.5rem;
  }
  .container:where(.container + *){
    margin-block-start:3rem;
  }
  :is(.prize .container){
    margin-block-start:3rem;
    border-radius:3.75rem 3.75rem 2.125rem 2.125rem;
    padding-bottom:3rem;
    max-width:62.5rem;
  }
  :is(.product .container){
    margin-block-start:1.4375rem;
    border-width:.25rem;
    border-radius:2.125rem;
    padding:3rem 2rem;
    max-width:62.5rem;
  }
  :is(.notes .container){
    margin-block-start:2.25rem;
    padding:1.5rem;
    max-width:62.5rem;
  }
  :is(.apply > .container){
    gap:2rem;
    margin-block-start:3.625rem;
  }
  :is(.decoration-wrap .container){
    padding:5.5625rem 0;
    max-width:55.625rem;
  }
  :is(.decoration-wrap .container) p{
    font-size:1.25rem;
    line-height:1.9;
  }
  :is(.contact .container){
    gap:2rem;
    margin-block-start:2.875rem;
  }
  :is(.appli01 .description){
    font-size:1.5rem;
  }
  :is(.prize .description){
    margin-block-start:2.125rem;
  }
  :is(.apply .description){
    padding:1.125rem 0;
    font-size:1.5rem;
  }
  :is(.apply-mail .description){
    gap:4rem;
    margin-block-start:4rem;
    max-width:50rem;
  }
  :is(.requirements .description){
    font-size:1.875rem;
  }
  .text-sm{
    font-size:.875rem;
  }
  .text-md{
    font-size:1rem;
  }
  .text-lg{
    font-size:1.125rem;
  }
  .text-big{
    font-size:2.5rem;
  }
  .intro{
    background-image:url("../img/intro-bg.svg");
    padding:2.9375rem 2rem 4.9375rem;
  }
  .appli01{
    margin-block-start:4.375rem;
    padding:0;
  }
  .appli01 .navigation{
    gap:1.6875rem;
  }
  .course{
    margin-block-start:4.0625rem;
    padding:0;
  }
  .course-list{
    grid-template-rows:1fr 1fr;
    grid-template-columns:1fr 1fr 1fr;
    gap:.9375rem;
    max-width:51.625rem;
  }
  .prize{
    margin-block-start:7.5625rem;
    padding:0;
  }
  .prize-list{
    display:flex;
    flex-flow:row wrap;
    align-items:flex-start;
    gap:1.5rem .75rem;
    margin-block-start:1.6875rem;
  }
  .prize-list.narrow{
    gap:1.5rem .75rem;
    max-width:44.75rem;
  }
  .prize-list .card{
    width:10.625rem;
  }
  .prize-list .brand{
    font-size:.875rem;
  }
  .prize-list .name{
    margin-block-start:.34em;
    font-size:.9375rem;
    line-height:1.67;
  }
  .product{
    margin-block-start:7rem;
  }
  .product-list{
    gap:.75rem;
    margin-block-start:3rem;
  }
  .product-list .item{
    grid-template-rows:10.625rem auto;
    max-width:10.625rem;
  }
  .product-list .image{
    width:10.625rem;
    min-height:10.625rem;
  }
  .product-list .label{
    font-size:.875rem;
    line-height:2.2;
  }
  :where(.appli01 .link-button){
    margin-block-start:.9375rem;
    border-radius:.8125rem;
    padding:1.1875rem;
    max-width:24.625rem;
    font-size:1.125rem;
  }
  :where(.apply-mail .link-button){
    border-width:.25rem;
    background-position:left 3.25rem center;
    background-size:2.375rem auto;
    padding:1.6rem 2rem;
    max-width:36.25rem;
    font-size:1.5rem;
  }
  :where(.apply-mail .link-button) .label{
    font-size:1.5rem;
  }
  .link-button.decoration-line{
    margin-block-start:.9375rem;
    border-radius:.8125rem;
    padding:.25rem 1rem;
    max-width: fit-content;
    font-size:1.125rem;
  }
  .apply{
    padding:3.25rem 0 6rem;
  }
  .apply .qr-code{
    width:10rem;
  }
  :is(.apply .decoration-wrap){
    background-image:url("../img/apply_description-bg.svg");
  }
  .apply-mail{
    padding:4.1875rem 2rem 6rem;
  }
  .apply-mail .navigation{
    margin-block-start:2rem;
  }
  .requirements{
    padding:6rem 2rem;
  }
  .requirements .item-body{
    margin-block-start:.67em;
  }
  :is(.requirements dl){
    max-width:unset;
  }
  .requirements .column{
    grid-template-columns:9.25em 1fr;
    gap:2em;
    border-bottom-width:.125rem;
    padding:.875rem 0;
    max-width:unset;
  }
  .requirements .column dd,.requirements .column dt{
    font-size:1.875rem;
  }
  .requirements-list{
    gap:3.625rem;
    margin-block-start:3.75rem;
  }
  .requirements-list,.requirements-list .navigation{
    max-width:62.5rem;
  }
  .notes{
    padding:4.1875rem 2rem 4.625rem;
  }
  .notes .overflow-wrap{
    max-width:62.5rem;
    max-height:16rem;
  }
  .notes .notes-list > .item,.notes .read{
    font-size:.875rem;
    line-height:2.286;
  }
  .contact .summary{
    font-size:1rem;
    line-height:1.75;
  }
  .footer-content{
    padding:3.25rem 2rem 6rem;
  }
  .scroll-container{
    min-height:2.5rem;
  }
  .page-top,.scroll-container.is-active .page-top{
    right:2rem;
  }
  .page-top{
    background-size:1.625rem;
    width:3.375rem;
    height:2.5rem;
  }
}
@media not all and (min-width:48em){
  [\$\$md]{
    display:revert;
  }
  .section-title img{
    height:11.6vw;
  }
  :is(.prize .heading) img{
    height:6vw;
  }
  :is(.container:last-child .prize-list){
    grid-template-columns:1fr;
    justify-content:center;
  }
  :is(.product .track:nth-child(3) .product-list > .item:nth-child(3)){
    justify-self:center;
    width:100%;
    max-width:unset;
  }
  .link-button.decoration-line img{
    max-width:52vw;
  }
  .requirements-list .annotation{
    max-width:86.6667vw;
    font-size:3.4667vw;
    text-align:left;
  }
  .text-lg2 {
    font-size: 0.9rem;
  }
}
@media (hover:hover) and (pointer:fine){
  :is(.contact .text-link):hover{
    color:#a5b7ff;
  }
  :where(.appli01 .link-button):hover{
    filter:brightness(.88);
  }
  :where(.apply-mail .link-button):hover{
    filter:brightness(1.2);
  }
  .link-button.decoration-line:hover{
    filter:brightness(1.2);
  }}
@media screen and (prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }}