@charset "UTF-8";
@import url("http://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}
body.fadeout::after {
  opacity: 1;
}
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff; /* 背景カラー */
  z-index: 9999; /* 一番手前に */
  pointer-events: none; /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
  opacity: 0; /* 初期値 : 透過状態 */
  -webkit-transition: opacity 0.8s ease; /* アニメーション時間は 0.8秒 */
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

.mt0 {
  margin-top: 0 !important;
}

.mt1 {
  margin-top: 1rem !important;
}

.mt2 {
  margin-top: 2rem !important;
}

.mt3 {
  margin-top: 3rem !important;
}

.mt4 {
  margin-top: 4rem !important;
}

.mt5 {
  margin-top: 5rem !important;
}

.mt6 {
  margin-top: 6rem !important;
}

.mt7 {
  margin-top: 7rem !important;
}

.mt8 {
  margin-top: 8rem !important;
}

.mt9 {
  margin-top: 9rem !important;
}

.mt10 {
  margin-top: 10rem !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb1 {
  margin-bottom: 1rem !important;
}

.mb2 {
  margin-bottom: 2rem !important;
}

.mb3 {
  margin-bottom: 3rem !important;
}

.mb4 {
  margin-bottom: 4rem !important;
}

.mb5 {
  margin-bottom: 5rem !important;
}

.mb6 {
  margin-bottom: 6rem !important;
}

.mb7 {
  margin-bottom: 7rem !important;
}

.mb8 {
  margin-bottom: 8rem !important;
}

.mb9 {
  margin-bottom: 9rem !important;
}

.mb10 {
  margin-bottom: 10rem !important;
}

.mtb0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mtb1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.mtb2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.mtb3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.mtb4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.mtb5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important;
}

.mtb6 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.mtb7 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important;
}

.mtb8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

.mtb9 {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important;
}

.mtb10 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pt1 {
  padding-top: 1rem !important;
}

.pt2 {
  padding-top: 2rem !important;
}

.pt3 {
  padding-top: 3rem !important;
}

.pt4 {
  padding-top: 4rem !important;
}

.pt5 {
  padding-top: 5rem !important;
}

.pt6 {
  padding-top: 6rem !important;
}

.pt7 {
  padding-top: 7rem !important;
}

.pt8 {
  padding-top: 8rem !important;
}

.pt9 {
  padding-top: 9rem !important;
}

.pt10 {
  padding-top: 10rem !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb1 {
  padding-bottom: 1rem !important;
}

.pb2 {
  padding-bottom: 2rem !important;
}

.pb3 {
  padding-bottom: 3rem !important;
}

.pb4 {
  padding-bottom: 4rem !important;
}

.pb5 {
  padding-bottom: 5rem !important;
}

.pb6 {
  padding-bottom: 6rem !important;
}

.pb7 {
  padding-bottom: 7rem !important;
}

.pb8 {
  padding-bottom: 8rem !important;
}

.pb9 {
  padding-bottom: 9rem !important;
}

.pb10 {
  padding-bottom: 10rem !important;
}

.ptb0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.ptb1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.ptb2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.ptb3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.ptb4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.ptb5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

.ptb6 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.ptb7 {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.ptb8 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

.ptb9 {
  padding-top: 9rem !important;
  padding-bottom: 9rem !important;
}

.ptb10 {
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
}

.txt-center {
  text-align: center;
}

.txt-left {
  text-align: left;
}

.txt-right {
  text-align: right;
}

@media screen and (max-width: 599px) {
  .txt-center_sp {
    text-align: center;
  }
}

@media screen and (max-width: 599px) {
  .txt-left_sp {
    text-align: left;
  }
}

@media screen and (max-width: 599px) {
  .txt-right_sp {
    text-align: right;
  }
}

* {
  zoom: 1;
}

html {
  font-size: 16px;
}
@media screen and (max-width: 899px) {
  html {
    font-size: 14px;
  }
}

body {
  font-family: "Noto Sans Japanese", sans-serif;
  -ms-font-feature-settings: "normal";
  font-style: normal;
  font-weight: 400;
  -ms-font-feature-settings: "normal";
  line-height: 1.6;
  color: rgb(0, 0, 0);
  background: rgb(255, 255, 255);
  letter-spacing: 0.1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: url("../images/g.jpg") no-repeat center right;
  background-size: contain;
  opacity: 0.4;
}
@media screen and (max-width: 899px) {
  body::before {
    background-size: cover;
    opacity: 0.2;
  }
}

img {
  -webkit-transition: all 300ms 0s ease;
  transition: all 300ms 0s ease;
}

a, a:hover {
  -webkit-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
  text-decoration: none;
}

a:hover {
  opacity: 0.7;
}

p {
  margin-bottom: 1.5rem;
}

i {
  color: rgb(0, 88, 138);
  margin-right: 0.2em;
}

strong {
  font-weight: 400;
}

small {
  font-size: 0.8rem;
}

.container {
  max-width: 1000px;
  width: calc(100% - 180px);
  margin: 0 auto;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 899px) {
  .container {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
  }
}

header {
  padding: 20px 0;
  position: relative;
  z-index: 1;
}
header .logo {
  text-align: center;
}
@media screen and (max-width: 899px) {
  header .logo {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
  }
}
header .logo h1 {
  margin-bottom: 10px;
}
header .logo h1 a img {
  height: 150px;
}
@media screen and (max-width: 899px) {
  header .logo h1 a img {
    height: auto;
    width: 100%;
    max-width: 450px;
  }
}
header .logo p.period {
  font-size: 1rem;
  padding: 5px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid rgb(0, 0, 0);
  display: inline-block;
  font-weight: bold;
}
header .logo p.period span {
  font-weight: normal;
  font-size: 0.8rem;
  display: block;
  text-align: left;
}

.breadcrumbs {
  background: rgb(230, 230, 230);
  padding: 15px 0;
  margin-bottom: 100px;
}

#sample1 .breadcrumbs {
  margin-bottom: 0px;
}

.sample2 {
  background: url("../images/g.jpg") no-repeat center right;
  background-size: contain;
}
.sample2::before {
  content: " ";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.9);
}

.mainvisual {
  width: 100%;
  margin-bottom: 100px;
  text-align: center;
}
.mainvisual img {
  width: 100%;
  max-width: 1000px;
}

main {
  padding: 0 0;
  padding-bottom: 100px;
}
main.top {
  padding: 100px 0;
}
main h2 {
  font-size: 2.4rem;
  margin-bottom: 30px;
  padding-bottom: 30px;
  position: relative;
}
main h2::after {
  content: " ";
  display: block;
  width: 30px;
  height: 3px;
  background: rgb(0, 36, 108);
  margin: auto;
  margin-top: 10px;
}
main h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 30px;
}
main img {
  height: auto;
}
main video {
  width: 100%;
}
main .video-status {
  text-align: center;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: bold;
}
main {
  /* 未視聴 */
}
main .video-status.not-watched {
  color: #e53935; /* 赤 */
}
main {
  /* 視聴済み */
}
main .video-status.watched {
  color: #2e7d32; /* 緑 */
}
main .wp-block-table table tr td {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  border: 1px solid rgb(150, 150, 150);
  vertical-align: middle;
}
main .wp-block-columns {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
main .wp-block-image figcaption {
  text-align: center;
  font-size: 0.8rem;
}
main #toending a {
  pointer-events: none;
  background: rgb(220, 220, 220);
}
main #toending.active a {
  pointer-events: auto;
  background: #32373c;
}
main .checklist {
  border-top: 1px solid rgb(150, 150, 150);
  padding-top: 1rem;
}
main .checklist p {
  border-bottom: 1px solid rgb(150, 150, 150);
  padding-bottom: 1.5rem;
}
main .wpcf7-form p {
  padding-bottom: 2rem;
}
main .wpcf7-form p span.name {
  display: block;
}
main .wpcf7-form p span.name::before {
  content: " ";
  display: inline-block;
  height: 20px;
  width: 4px;
  background: rgb(0, 36, 108);
  position: relative;
  top: 3px;
  margin-right: 5px;
}
main .wpcf7-form p span input[type=text], main .wpcf7-form p span input[type=email] {
  width: 100%;
  padding: 10px;
  font-size: 1.2rem;
}
main .wpcf7-form p span textarea {
  width: 100%;
  padding: 10px;
  font-size: 1.2rem;
}
main .wpcf7-form p span select {
  font-size: 1.2rem;
  padding: 10px;
}
main .wpcf7-form p input[type=button], main .wpcf7-form p input[type=submit] {
  font-size: 1rem;
  font-weight: bold;
  padding: 15px 60px;
  margin: 0 10px;
}
main .wpcf7-form .planarea {
  display: none !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px;
  border: 1px solid rgb(0, 0, 0);
  margin-bottom: 2rem;
}
main .wpcf7-form .planarea.１．会長・幹事部門 {
  display: block !important;
}
main .wpcf7-form .planarea p {
  margin-bottom: 0;
  padding: 0;
}
main .wpcf7-form .wpcf7-list-item.first {
  display: none;
}

input[type=checkbox] {
  display: none;
}
input[type=checkbox] + label:before {
  margin-right: 10px;
  position: relative;
  top: 5px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  content: "\f0c8";
  font-size: 2rem;
  color: rgb(0, 36, 108);
}
input[type=checkbox]:checked + label:before {
  content: "\f14a";
  color: rgb(254, 189, 17);
}

footer {
  position: relative;
  z-index: 1;
}
footer .copy {
  text-align: center;
  font-size: 0.8rem;
  padding: 15px 0;
  background: rgb(230, 230, 230);
}
footer .copy p {
  margin: 0;
}

.scroll-top {
  -webkit-transition: none;
  transition: none;
  text-align: center;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  opacity: 0;
}
.scroll-top span {
  -webkit-transition: none;
  transition: none;
  position: fixed;
  bottom: 0;
  right: 0;
  font-size: 1rem;
  background: rgb(0, 0, 0);
  z-index: 100;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: rgb(255, 255, 255);
  width: 40px;
  height: 80px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.scroll-top span::after {
  content: "▲";
  display: block;
  font-size: 0.6rem;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  position: absolute;
  bottom: 20px;
  left: 10px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.scroll-top span:hover {
  background: rgb(8, 59, 103);
  color: rgb(250, 194, 0);
}
.scroll-top.active {
  opacity: 1;
}

strong {
  font-weight: bold !important;
}