@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

/* reset */
*, *::before, *::after {box-sizing: border-box;}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td, article, aside, details, figcaption, figure,footer, header, menu, nav, section, canvas, audio, video, input, button, textarea, select {margin:0; padding:0; outline:0; border:0; font-size:100%; vertical-align:baseline;}
article, aside, details, figcaption, figure, footer, header, menu, nav, section {display:block;}
ol, ul {list-style:none;}
table {border-collapse:collapse; border-spacing:0;}
input,button,textarea,select {font: inherit;}
audio,canvas,embed,iframe,img,object,svg,video{display:block; vertical-align:middle; max-width:100%;}
canvas,img,svg,video{height:auto;}
audio{width:100%;}
svg{overflow:hidden;}
a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;}


body {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  line-height: 1;
  color: #000;
  text-align: center;
}

a {
  color: #000;
  text-decoration: none;
}
a:hover,button:hover {
  text-decoration: underline;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .sp{display: none !important;}
}
@media screen and (max-width: 767px) {
  .pc{display: none !important;}
}


header {
  padding: 43px 20px 37px;
}
header h1 {
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
}
header h1 a {
  width: 188px;
}

footer {
  padding: 45px 20px 39px;
  text-align: left;
  background: #000;
}
footer p {
  max-width: 1200px;
  margin: 0 auto;
  font-size: 14px;
  line-height: 2;
  color: #fff;
}
footer p a {
  color: #fff;
}

main {
  padding: 0 20px;
}
main h2 {
  margin: 0 -20px 30px;
  padding: 38px 0 35px;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.45;
  background: #efefef;
}

section {
  display: flex;
  justify-content: center;
}

.playbox {
  max-width: 1000px;
  margin-right: 40px;
}
.movie {
}
.pdf {
  margin-top: 30px;
}
.pdf iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.list {
  margin: 30px 0 20px;
  padding: 20px 20px 10px;
  background: #efefef;
}
.list dt {
  margin-bottom: 1em;
  font-size: 20px;
  font-weight: bold;
}
.list dd {
  font-size: 16px;
  line-height: 1.2;
  text-align: left;
}
.list li {
  position: relative;
  margin-bottom: .9em;
  padding-left: 1.5em;
}
.list li::before {
  content: "";
  display: block;
  width: 13px; height: 3px;
  position: absolute;
  top: .5em; left: 0;
  background: #000;
}
.list .pdfmenu li a {
  position: relative;
  display: inline-block;
  padding-right: 2em;
  white-space: nowrap;
}
.list .pdfmenu li a::after {
  content: "";
  display: block;
  width: 21px; height: 21px;
  position: absolute;
  top: 50%; right: 0;
  transform: translateY(-50%);
  background: url(../img/ico_pdf.svg) no-repeat left top / cover;
}
.list button {
  text-align: left;
  cursor: pointer;
  background: none;
}

.overview {
  margin: 30px -20px;
  padding: 22px 0;
  background: #efefef;
}
.overview ul {
  display: flex;
  justify-content: space-around;
  max-width: 1000px;
  margin: 0 auto;
}
.overview ul a {
  position: relative;
  display: inline-block;
  font-size: 16px;
  padding: 0 2em;
}
.overview ul a::before {
  content: "";
  display: block;
  width: 13px; height: 3px;
  position: absolute;
  top: 50%; left: 0;
  transform: translateY(-50%);
  background: #000;
}
.overview ul a::after {
  content: "";
  display: block;
  width: 21px; height: 21px;
  position: absolute;
  top: 50%; right: 0;
  transform: translateY(-50%);
  background: url(../img/ico_pdf.svg) no-repeat left top / cover;
}

.notes {
  max-width: 1000px;
  margin: 0 auto;
  text-align: left;
  border: 1px solid #000;
}
.notes dt {
  padding: 10px 30px;
  font-size: 20px;
  color: #fff;
  background: #000;
}
.notes dd {
  padding: 20px 30px;
  line-height: 1.625;
}

.close {
  width: 199px;
  margin: 85px auto 90px;
}


@media screen and (max-width: 767px) {
  header {
    padding: 8vw 20px;
  }
  header h1 a {
    width: 50vw;
  }

  footer {
    padding: 13vw 0 13vw 20px;
  }
  footer p {
    font-size: calc((26/750)*100vw);
  }

  main {
    padding: 0;
  }
  main h2 {
    margin: 0 0 6vw;
    padding: 6vw 0;
    font-size: calc((46/750)*100vw);
  }

  section {
    display: block;
    margin: 0 0 8vw;
    padding: 0 calc((20/750)*100vw);
  }

  .playbox {
    max-width: inherit;
    margin-right: 0;
  }
  .pdf iframe {
    aspect-ratio: 99/67;
  }

  .list {
    margin: 6vw 0 9vw;
    padding: 1em 1em .5em;
  }
  .list dt {
    margin-bottom: 1em;
    font-size: calc((38/750)*100vw);
  }
  .list dd {
    font-size: calc((32/750)*100vw);
  }
  .list li::before {
    width: calc((26/750)*100vw);
    height: 2px;
  }
  .list .pdfmenu {
    display: flex;
    flex-wrap: wrap;
  }
  .list .pdfmenu li {
    width: 60%;
    margin-bottom: 1.2em;
  }
  .list .pdfmenu li:nth-child(2n) {
    width: 40%;
  }
  .list .pdfmenu li::after {
    width: calc((42/750)*100vw);
    height: calc((42/750)*100vw);
  }
  .list .pdfmenu li a::after {
    width: calc((42/750)*100vw);
    height: calc((42/750)*100vw);
  }

  .notes {
    margin: 0 calc((20/750)*100vw);
  }
  .notes dt {
    padding: calc((22/750)*100vw) 0;
    font-size: calc((34/750)*100vw);
    text-align: center;
  }
  .notes dd {
    padding: calc((40/750)*100vw) calc((35/750)*100vw);
    font-size: calc((28/750)*100vw);
  }

  .close {
    width: calc((398/750)*100vw);
    margin: calc((120/750)*100vw) auto calc((136/750)*100vw);
  }
}