@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Sawarabi+Gothic");
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Sawarabi Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #3e3a39;
  background: url(../img/bg_base.jpg) center top/auto repeat, #efefef;
  font-weight: 500;
}
body.nobg {
  background: #ffffff;
}
body.nobg nav.topmenu {
  -webkit-box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 20px -5px rgba(0, 0, 0, 0.2);
}
body * {
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
body img {
  display: block;
  width: 100%;
}
body a {
  color: #0066aa;
}
body a:hover {
  text-decoration-line: none;
}
body a.url {
  word-break: break-all;
}
body sup {
  display: inline-block;
  font-size: 0.5em;
  -webkit-transform: translateY(-30%);
          transform: translateY(-30%);
  text-indent: 0;
}
body sub {
  display: inline-block;
  font-size: 0.5em;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
  text-indent: 0;
}
body ul.note > li, body ul.list > li {
  padding-left: 1em;
  text-indent: -1em;
}
body ul.list > li {
  margin-top: 0.5em;
}
body .bold, body b {
  font-weight: bold;
}
body button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: none;
  cursor: pointer;
}
body ruby rt {
  text-align: center;
  font-size: 10px;
}
body figure[class^=wp-block-] {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
}
body figure[class^=wp-block-].wp-block-embed .wp-block-embed__wrapper {
  position: relative;
}
body figure[class^=wp-block-].wp-block-embed .wp-block-embed__wrapper::after {
  content: "";
  display: block;
  padding-top: 56.25%;
}
body figure[class^=wp-block-].wp-block-embed .wp-block-embed__wrapper > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (max-width: 520px) {
  body figure[class^=wp-block-] {
    width: 100%;
  }
}
body hr.colors {
  display: block;
  height: 5px;
  border: none;
  background: -webkit-gradient(linear, left top, right top, from(#e5243b), color-stop(5.8823529412%, #e5243b), color-stop(5.8823529412%, #dda63a), color-stop(11.7647058824%, #dda63a), color-stop(11.7647058824%, #4c9f38), color-stop(17.6470588235%, #4c9f38), color-stop(17.6470588235%, #c5192d), color-stop(23.5294117647%, #c5192d), color-stop(23.5294117647%, #ff3a21), color-stop(29.4117647059%, #ff3a21), color-stop(29.4117647059%, #26bde2), color-stop(35.2941176471%, #26bde2), color-stop(35.2941176471%, #fcc30b), color-stop(41.1764705882%, #fcc30b), color-stop(41.1764705882%, #a21942), color-stop(47.0588235294%, #a21942), color-stop(47.0588235294%, #fd6925), color-stop(52.9411764706%, #fd6925), color-stop(52.9411764706%, #dd1367), color-stop(58.8235294118%, #dd1367), color-stop(58.8235294118%, #fd9d24), color-stop(64.7058823529%, #fd9d24), color-stop(64.7058823529%, #bf8b2e), color-stop(70.5882352941%, #bf8b2e), color-stop(70.5882352941%, #3f7e44), color-stop(76.4705882353%, #3f7e44), color-stop(76.4705882353%, #0a97d9), color-stop(82.3529411765%, #0a97d9), color-stop(82.3529411765%, #36c02b), color-stop(88.2352941176%, #36c02b), color-stop(88.2352941176%, #00689d), color-stop(94.1176470588%, #00689d), color-stop(94.1176470588%, #19486a), to(#19486a)) center center/100% repeat;
  background: linear-gradient(to right, #e5243b 0%, #e5243b 5.8823529412%, #dda63a 5.8823529412%, #dda63a 11.7647058824%, #4c9f38 11.7647058824%, #4c9f38 17.6470588235%, #c5192d 17.6470588235%, #c5192d 23.5294117647%, #ff3a21 23.5294117647%, #ff3a21 29.4117647059%, #26bde2 29.4117647059%, #26bde2 35.2941176471%, #fcc30b 35.2941176471%, #fcc30b 41.1764705882%, #a21942 41.1764705882%, #a21942 47.0588235294%, #fd6925 47.0588235294%, #fd6925 52.9411764706%, #dd1367 52.9411764706%, #dd1367 58.8235294118%, #fd9d24 58.8235294118%, #fd9d24 64.7058823529%, #bf8b2e 64.7058823529%, #bf8b2e 70.5882352941%, #3f7e44 70.5882352941%, #3f7e44 76.4705882353%, #0a97d9 76.4705882353%, #0a97d9 82.3529411765%, #36c02b 82.3529411765%, #36c02b 88.2352941176%, #00689d 88.2352941176%, #00689d 94.1176470588%, #19486a 94.1176470588%, #19486a 100%) center center/100% repeat;
}
@media (min-width: 961px) {
  body hr.colors {
    background-size: 960px 100%;
  }
}
body hr.dots {
  display: block;
  height: 8px;
  border: none;
  background: radial-gradient(circle closest-side at center, currentColor 0, currentColor calc(100% - 1px), transparent 100%) center center/20px 100% repeat;
}
body .anchor {
  margin-top: -70px;
  padding-top: 70px;
}
body #main {
  padding-top: 70px;
}
body nav.topmenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  padding: 23px 10px;
  padding-left: 20px;
  height: 70px;
  width: 100%;
  background: #ffffff;
}
body nav.topmenu a.logo {
  display: inline-block;
  height: 24px;
}
body nav.topmenu a.logo img {
  margin: 0;
  height: 100%;
  width: auto;
}
body nav.topmenu button.hamburger {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  z-index: 999;
  width: 40px;
  height: 40px;
  display: block;
  margin: auto;
  padding: 0;
  color: currentColor;
}
body nav.topmenu button.hamburger::before, body nav.topmenu button.hamburger::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  margin: auto;
  height: 4px;
  background: currentColor;
  border-radius: 50vw;
  -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
body nav.topmenu button.hamburger::before {
  -webkit-transform: translateY(-15px);
          transform: translateY(-15px);
}
body nav.topmenu button.hamburger::after {
  -webkit-transform: translateY(15px);
          transform: translateY(15px);
}
body nav.topmenu button.hamburger i {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 40px;
  letter-spacing: 0.1em;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  -webkit-transition-property: color;
  transition-property: color;
}
body nav.topmenu button.hamburger.open i {
  color: transparent;
}
body nav.topmenu button.hamburger.open::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
body nav.topmenu button.hamburger.open::after {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
body nav.topmenu .globalmenu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
  width: 700px;
  max-width: 100%;
  height: 100%;
  clip-path: inset(0 0 0 100%);
  -webkit-transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
}
body nav.topmenu .globalmenu.open {
  clip-path: inset(0);
}
body nav.topmenu .globalmenu .inner {
  margin-right: 0;
  background: #ffffff;
  width: 600px;
  max-width: 100%;
  height: 100%;
  padding-top: 40px;
  padding-bottom: 40px;
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  overflow-y: scroll;
}
body nav.topmenu .globalmenu .inner a {
  color: currentColor;
  text-decoration: none;
}
body nav.topmenu .globalmenu .inner a.logo {
  display: block;
  margin: auto;
  margin-bottom: 20px;
  width: 320px;
  height: auto;
}
body nav.topmenu .globalmenu .inner a.logo img {
  width: 100%;
}
@media (max-width: 520px) {
  body nav.topmenu .globalmenu .inner a.logo {
    width: 84vw;
  }
}
body nav.topmenu .globalmenu .inner ul.link {
  margin-bottom: 60px;
  width: 400px;
  max-width: 92%;
}
body nav.topmenu .globalmenu .inner ul.link li a {
  display: block;
  padding: 1.5em 1em 0.5em;
  border-bottom: 3px solid;
  font-size: 1.25em;
  line-height: 2;
  letter-spacing: 0.06em;
}
body nav.topmenu .globalmenu .inner ul.link li a i {
  display: inline-block;
  margin-right: 1em;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-transform: left bottom;
          transform: left bottom;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a {
  border-bottom-color: #e5243b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a i {
  color: #e5243b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a {
  border-bottom-color: #ff3a21;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a i {
  color: #ff3a21;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a {
  border-bottom-color: #fd6925;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a i {
  color: #fd6925;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a {
  border-bottom-color: #3f7e44;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a i {
  color: #3f7e44;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a {
  border-bottom-color: #19486a;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a i {
  color: #19486a;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a {
  border-bottom-color: #c5192d;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a i {
  color: #c5192d;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a {
  border-bottom-color: #a21942;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a i {
  color: #a21942;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a {
  border-bottom-color: #bf8b2e;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a i {
  color: #bf8b2e;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a {
  border-bottom-color: #00689d;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a i {
  color: #00689d;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a {
  border-bottom-color: #4c9f38;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a i {
  color: #4c9f38;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a {
  border-bottom-color: #fcc30b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a i {
  color: #fcc30b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a {
  border-bottom-color: #fd9d24;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a i {
  color: #fd9d24;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a {
  border-bottom-color: #36c02b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a i {
  color: #36c02b;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a {
  border-bottom-color: #dda63a;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a i {
  color: #dda63a;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a {
  border-bottom-color: #26bde2;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a i {
  color: #26bde2;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a {
  border-bottom-color: #dd1367;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a i {
  color: #dd1367;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a {
  border-bottom-color: #0a97d9;
}
body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a i {
  color: #0a97d9;
}
@media (min-width: 961px) {
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a:hover {
    border-bottom-color: rgb(245.2367346939, 172.7632653061, 181.4);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+1) a:hover i {
    color: rgb(245.2367346939, 172.7632653061, 181.4);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a:hover {
    border-bottom-color: rgb(255, 193.7702702703, 186);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+2) a:hover i {
    color: rgb(255, 193.7702702703, 186);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a:hover {
    border-bottom-color: rgb(254.3909090909, 209.3181818182, 188.6090909091);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+3) a:hover i {
    color: rgb(254.3909090909, 209.3181818182, 188.6090909091);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a:hover {
    border-bottom-color: rgb(143, 199, 147.4444444444);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+4) a:hover i {
    color: rgb(143, 199, 147.4444444444);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a:hover {
    border-bottom-color: rgb(72.1297709924, 153.213740458, 211.8702290076);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+5) a:hover i {
    color: rgb(72.1297709924, 153.213740458, 211.8702290076);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a:hover {
    border-bottom-color: rgb(239.7972972973, 135.2027027027, 147.3648648649);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+6) a:hover i {
    color: rgb(239.7972972973, 135.2027027027, 147.3648648649);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a:hover {
    border-bottom-color: rgb(232.2727272727, 107.7272727273, 145);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+7) a:hover i {
    color: rgb(232.2727272727, 107.7272727273, 145);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a:hover {
    border-bottom-color: rgb(231.7088607595, 205.3797468354, 158.2911392405);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+8) a:hover i {
    color: rgb(231.7088607595, 205.3797468354, 158.2911392405);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a:hover {
    border-bottom-color: rgb(55, 187.4840764331, 255);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+9) a:hover i {
    color: rgb(55, 187.4840764331, 255);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a:hover {
    border-bottom-color: rgb(163.1953488372, 218.0139534884, 149.9860465116);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+10) a:hover i {
    color: rgb(163.1953488372, 218.0139534884, 149.9860465116);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a:hover {
    border-bottom-color: rgb(253.8582995951, 232.1659919028, 162.1417004049);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+11) a:hover i {
    color: rgb(253.8582995951, 232.1659919028, 162.1417004049);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a:hover {
    border-bottom-color: rgb(254.3846153846, 224.8461538462, 187.6153846154);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+12) a:hover i {
    color: rgb(254.3846153846, 224.8461538462, 187.6153846154);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a:hover {
    border-bottom-color: rgb(161.0340425532, 232.6765957447, 155.3234042553);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+13) a:hover i {
    color: rgb(161.0340425532, 232.6765957447, 155.3234042553);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a:hover {
    border-bottom-color: rgb(243.5194805195, 224.9480519481, 188.4805194805);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+14) a:hover i {
    color: rgb(243.5194805195, 224.9480519481, 188.4805194805);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a:hover {
    border-bottom-color: rgb(172.9634146341, 230.0487804878, 244.0365853659);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+15) a:hover i {
    color: rgb(172.9634146341, 230.0487804878, 244.0365853659);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a:hover {
    border-bottom-color: rgb(245.7375, 147.2625, 188.2125);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+16) a:hover i {
    color: rgb(245.7375, 147.2625, 188.2125);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a {
    -webkit-transition: 0.1s linear;
    transition: 0.1s linear;
    -webkit-transition-property: border-bottom-color color;
    transition-property: border-bottom-color color;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a i {
    -webkit-transition: inherit;
    transition: inherit;
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a:hover {
    border-bottom-color: rgb(130.7268722467, 211.4757709251, 249.2731277533);
  }
  body nav.topmenu .globalmenu .inner ul.link li:nth-child(17n+17) a:hover i {
    color: rgb(130.7268722467, 211.4757709251, 249.2731277533);
  }
}
@media (max-width: 520px) {
  body nav.topmenu .globalmenu .inner ul.link {
    width: 92vw;
  }
}
body nav.topmenu .globalmenu .inner .portal a {
  display: block;
  width: 320px;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
@media (max-width: 520px) {
  body nav.topmenu .globalmenu .inner .portal a {
    width: 84vw;
  }
}
@media (max-width: 375px) {
  body nav.topmenu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 70px;
  }
  body nav.topmenu a.logo {
    margin: 0;
    display: block;
    height: auto;
    width: calc(100vw - 115.5px);
  }
  body nav.topmenu a.logo img {
    width: 100%;
    height: auto;
  }
}

@media (min-width: 961px) {
  .hiddenPC {
    display: none !important;
  }
  .fade:not(.disabled) {
    -webkit-transition: -webkit-filter 0.1s linear;
    transition: -webkit-filter 0.1s linear;
    transition: filter 0.1s linear;
    transition: filter 0.1s linear, -webkit-filter 0.1s linear;
  }
  .fade:not(.disabled):hover {
    -webkit-filter: brightness(110%) contrast(110%);
            filter: brightness(110%) contrast(110%);
  }
}
@media (min-width: 961px) and (-ms-high-contrast: none) {
  .fade:not(.disabled) {
    -webkit-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
  }
  .fade:not(.disabled):hover {
    opacity: 0.7;
  }
}
@media (min-width: 521px) {
  .hiddenTB {
    display: none !important;
  }
}
@media (max-width: 520px) {
  .hiddenSP {
    display: none !important;
  }
}
nav.link {
  padding: 30px 50px;
  background: #ffffff;
  border-top: 1px solid currentColor;
  text-align: center;
}
nav.link a {
  font-size: 1em;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-decoration: none;
}
@media (max-width: 520px) {
  nav.link {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}

footer.portal_banner {
  padding-top: 40px;
  padding-bottom: 40px;
  border-top: 1px solid currentColor;
  background: #ffffff;
}
footer.portal_banner a {
  display: block;
  width: 320px;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
@media (max-width: 520px) {
  footer.portal_banner a {
    width: 84vw;
  }
}

footer.footer {
  padding: 30px 50px 60px;
  border-top: 1px solid currentColor;
  background: #ffffff;
}
footer.footer .inner img.logo {
  margin-bottom: 10px;
  margin-left: 0;
  width: 108px;
}
footer.footer .inner p.title {
  margin-bottom: 0.75em;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
footer.footer .inner p.address {
  margin-bottom: 1em;
  font-size: 0.875em;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
footer.footer .inner p.copyright {
  font-size: 0.875em;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
@media (min-width: 961px) {
  footer.footer .inner {
    width: 900px;
  }
}
@media (max-width: 520px) {
  footer.footer {
    padding-left: 4vw;
    padding-right: 4vw;
  }
}

#main.top header .mv {
  position: relative;
  background: url(../img/bg_mv.jpg) center 70%/cover no-repeat;
  overflow: hidden;
}
#main.top header .mv .inner {
  position: relative;
  width: 100%;
  max-width: 960px;
}
#main.top header .mv .inner::after {
  content: "";
  display: block;
  padding-top: 56.25%;
}
#main.top header .mv .inner > * {
  position: absolute;
}
#main.top header .mv .inner h1.ttl1 {
  top: 18.8888888889%;
  left: 23.125%;
  width: 48.3125%;
}
#main.top header .mv .inner h1.ttl2 {
  top: 41.6666666667%;
  left: 0;
  right: 0;
  width: 54.0625%;
}
#main.top header .mv .inner i.icon {
  pointer-events: none;
}
#main.top header .mv .inner i.icon.icon01 {
  top: 7.7777777778%;
  left: 44.1875%;
  width: 10.875%;
}
#main.top header .mv .inner i.icon.icon02 {
  top: 17.7777777778%;
  left: 14.25%;
  width: 6.5%;
}
#main.top header .mv .inner i.icon.icon03 {
  top: 43.5555555556%;
  left: 7.1875%;
  width: 10.25%;
}
#main.top header .mv .inner i.icon.icon04 {
  top: 64.2222222222%;
  left: 25.375%;
  width: 15.4375%;
}
#main.top header .mv .inner i.icon.icon04b {
  top: 64.2222222222%;
  left: 25.375%;
  width: 15.4375%;
}
#main.top header .mv .inner i.icon.icon05 {
  top: 52.6666666667%;
  left: 44.375%;
  width: 9.125%;
}
#main.top header .mv .inner i.icon.icon06 {
  top: 60.3333333333%;
  left: 66%;
  width: 8.1875%;
}
#main.top header .mv .inner i.icon.icon07 {
  top: 43.5555555556%;
  left: 80.6875%;
  width: 9.6875%;
}
#main.top header .mv .inner i.icon.icon08 {
  top: 21.8888888889%;
  left: 77.0625%;
  width: 6.9375%;
}
#main.top header .mv .inner i.icon.icon01 {
  -webkit-animation: icon01 3s infinite;
          animation: icon01 3s infinite;
}
#main.top header .mv .inner i.icon.icon02 {
  -webkit-animation: icon06 3.5s infinite;
          animation: icon06 3.5s infinite;
}
#main.top header .mv .inner i.icon.icon04 {
  -webkit-animation: icon04 15.2s infinite;
          animation: icon04 15.2s infinite;
  clip-path: inset(0 25% 0 0);
  -webkit-animation-delay: 3.7s;
          animation-delay: 3.7s;
}
#main.top header .mv .inner i.icon.icon04b {
  clip-path: inset(0 0 0 75%);
}
#main.top header .mv .inner i.icon.icon05 {
  -webkit-animation: icon05 1.8s infinite;
          animation: icon05 1.8s infinite;
}
#main.top header .mv .inner i.icon.icon06 {
  -webkit-animation: icon06 4.8s infinite;
          animation: icon06 4.8s infinite;
  -webkit-transform-origin: 45% bottom;
          transform-origin: 45% bottom;
}
#main.top header .mv .inner i.icon.icon07 {
  -webkit-animation: icon07 8.1s infinite;
          animation: icon07 8.1s infinite;
}
@-webkit-keyframes icon01 {
  0% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  7% {
    -webkit-filter: brightness(150%);
            filter: brightness(150%);
  }
  14% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  21% {
    -webkit-filter: brightness(150%);
            filter: brightness(150%);
  }
  28% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
}
@keyframes icon01 {
  0% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  7% {
    -webkit-filter: brightness(150%);
            filter: brightness(150%);
  }
  14% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
  21% {
    -webkit-filter: brightness(150%);
            filter: brightness(150%);
  }
  28% {
    -webkit-filter: brightness(100%);
            filter: brightness(100%);
  }
}
@-webkit-keyframes icon04 {
  0% {
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: translateX(-70vw) translateY(150px);
            transform: translateX(-70vw) translateY(150px);
    opacity: 1;
  }
  30.1% {
    opacity: 0;
  }
  31% {
    -webkit-transform: translateX(70vw) translateY(150px);
            transform: translateX(70vw) translateY(150px);
    opacity: 0;
  }
  31.1% {
    opacity: 1;
  }
  60% {
    -webkit-transform: translateX(-10px) translateY(0);
            transform: translateX(-10px) translateY(0);
  }
  63% {
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
@keyframes icon04 {
  0% {
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
    opacity: 1;
  }
  30% {
    -webkit-transform: translateX(-70vw) translateY(150px);
            transform: translateX(-70vw) translateY(150px);
    opacity: 1;
  }
  30.1% {
    opacity: 0;
  }
  31% {
    -webkit-transform: translateX(70vw) translateY(150px);
            transform: translateX(70vw) translateY(150px);
    opacity: 0;
  }
  31.1% {
    opacity: 1;
  }
  60% {
    -webkit-transform: translateX(-10px) translateY(0);
            transform: translateX(-10px) translateY(0);
  }
  63% {
    -webkit-transform: translateX(0) translateY(0);
            transform: translateX(0) translateY(0);
  }
}
@-webkit-keyframes icon05 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes icon05 {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes icon06 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  10% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  28% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  38% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@keyframes icon06 {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  10% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  28% {
    -webkit-transform: rotate(-15deg);
            transform: rotate(-15deg);
  }
  38% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}
@-webkit-keyframes icon07 {
  0% {
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
  18% {
    -webkit-transform: translateX(-20px) scaleX(1);
            transform: translateX(-20px) scaleX(1);
  }
  22% {
    -webkit-transform: translateX(-20px) scaleX(-1);
            transform: translateX(-20px) scaleX(-1);
  }
  58% {
    -webkit-transform: translateX(20px) scaleX(-1);
            transform: translateX(20px) scaleX(-1);
  }
  62% {
    -webkit-transform: translateX(20px) scaleX(1);
            transform: translateX(20px) scaleX(1);
  }
  80% {
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
}
@keyframes icon07 {
  0% {
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
  18% {
    -webkit-transform: translateX(-20px) scaleX(1);
            transform: translateX(-20px) scaleX(1);
  }
  22% {
    -webkit-transform: translateX(-20px) scaleX(-1);
            transform: translateX(-20px) scaleX(-1);
  }
  58% {
    -webkit-transform: translateX(20px) scaleX(-1);
            transform: translateX(20px) scaleX(-1);
  }
  62% {
    -webkit-transform: translateX(20px) scaleX(1);
            transform: translateX(20px) scaleX(1);
  }
  80% {
    -webkit-transform: translateX(0) scaleX(1);
            transform: translateX(0) scaleX(1);
  }
}
#main.top main section.information {
  position: relative;
  margin-bottom: 50px;
  max-width: 960px;
  z-index: 1;
}
#main.top main section.information .inner {
  width: 84%;
  margin-top: -10%;
  padding: 20px 30px;
  background: #ffffff;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.top main section.information .inner h2 {
  margin: 0;
  margin-left: 10px;
  margin-bottom: 10px;
  width: 140px;
  -webkit-filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}
#main.top main section.information .inner hr {
  margin-bottom: 20px;
  color: #00689d;
}
#main.top main section.information .inner ul.information {
  margin-bottom: 15px;
  padding-left: 10px;
  padding-right: 10px;
}
#main.top main section.information .inner ul.information li {
  margin-bottom: 10px;
}
#main.top main section.information .inner ul.information li:last-child {
  margin-bottom: none;
}
#main.top main section.information .inner ul.information li a {
  position: relative;
  display: inline-block;
  margin-left: 7em;
  color: currentColor;
  text-decoration: none;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.top main section.information .inner ul.information li a .date {
  position: absolute;
  top: 0;
  left: -7em;
}
#main.top main section.information .inner .more {
  text-align: right;
}
#main.top main section.information .inner .more a {
  color: currentColor;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.top main section.goals .inner {
  position: relative;
  padding-top: 50px;
  padding-bottom: 40px;
  padding-left: 30px;
  padding-right: 30px;
  background: url(../img/bg_blackboard.jpg) center top/auto repeat, #003131;
  border-top: 8px solid #905c00;
  border-bottom: 22px solid #905c00;
  color: #ffffff;
  overflow: hidden;
}
#main.top main section.goals .inner::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 20px;
  display: block;
  width: 300px;
  height: 38px;
  background: url(../img/icn_blackboard_goods.png) right bottom/contain no-repeat;
}
#main.top main section.goals .inner em {
  font-weight: bold;
  color: #fcc30b;
}
#main.top main section.goals .inner h2 {
  width: 700px;
  max-width: 100%;
  margin-bottom: 35px;
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
}
#main.top main section.goals .inner h3 {
  margin-bottom: 40px;
  font-size: 1.25em;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.top main section.goals .inner p {
  margin-bottom: 40px;
  font-size: 1.125em;
  line-height: 2.5;
  letter-spacing: 0.06em;
}
#main.top main section.goals .inner ul.goals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
#main.top main section.goals .inner ul.goals > li {
  margin: 0;
  width: calc(25% - 7.5px);
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
#main.top main section.goals .inner ul.goals > li a {
  display: block;
  border: 5px solid #ffffff;
}
#main.top main section.link {
  padding-bottom: 80px;
}
#main.top main section.link .inner {
  padding-left: 30px;
  padding-right: 30px;
}
#main.top main section.link .inner ul.link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}
#main.top main section.link .inner ul.link > li {
  position: relative;
  margin: 0;
  width: calc(50% - 15px);
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.top main section.link .inner ul.link > li a {
  display: block;
  height: 100%;
  text-decoration: none;
}
#main.top main section.link .inner ul.link > li.dendoushi {
  width: 100%;
}
#main.top main section.link .inner ul.link > li.dendoushi a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 30px 40px calc(1.5em + 50px);
  background: rgb(254.1452054795, 255, 239.4);
  border: 5px solid #cfdb00;
  color: rgb(62.3835616438, 66, 0);
  text-decoration: none;
}
#main.top main section.link .inner ul.link > li.dendoushi a > * {
  margin: 0;
}
#main.top main section.link .inner ul.link > li.dendoushi a .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 30px;
}
#main.top main section.link .inner ul.link > li.dendoushi a .text h2 {
  margin: 0;
  margin-bottom: 20px;
  width: 420px;
  max-width: 100%;
}
#main.top main section.link .inner ul.link > li.dendoushi a .text p {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.top main section.link .inner ul.link > li.dendoushi a .logo {
  width: 25%;
}
#main.top main section.link .inner ul.link > li.dendoushi a .logo img {
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
}
#main.top main section.link .inner ul.link > li.dendoushi a p.more {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 20px 30px 15px;
  background: #cfdb00;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.top main section.link .inner ul.link > li:where(:not(.dendoushi)) a h2 {
  margin-bottom: 10px;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.top main section.link .inner ul.link > li:where(:not(.dendoushi)) a p.more {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.top main section.link .inner ul.link > li.goals a {
  padding: 20px 10px 15px;
  background: #003131;
  border-top: 5px solid #905c00;
  border-bottom: 5px solid #905c00;
  color: #ffffff;
}
#main.top main section.link .inner ul.link > li.goals a h2 {
  width: 80%;
}
#main.top main section.link .inner ul.link > li.kyouzai a {
  padding-top: 6px;
  background: rgb(253.0067567568, 239.2932432432, 240.8878378378);
  border: 3px solid #c5192d;
  color: rgb(106.4864864865, 13.5135135135, 24.3243243243);
}
#main.top main section.link .inner ul.link > li.kyouzai a h2 {
  margin-bottom: 10px;
  width: 95%;
}
#main.top main section.link .inner ul.link > li.kyouzai a p.more {
  padding: 12px 1em 4px;
  background: #c5192d;
  color: #ffffff;
}

@media (min-width: 961px) {
  #main.top main section[class] > .inner {
    width: 960px;
  }
  #main.top main section.information .inner {
    width: 710px;
  }
  #main.top main section.goals .inner {
    width: 100%;
  }
  #main.top main section.goals .inner > * {
    width: 960px;
  }
  #main.top main section.goals .inner ul.goals > li {
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
    width: calc(20% - 8px);
  }
  #main.top main section.goals .inner ul.goals > li:hover {
    -webkit-transform: scale(1.1) !important;
            transform: scale(1.1) !important;
  }
  #main.top main section.link .inner ul.link > li a {
    -webkit-transition: border-color 0.1s linear;
    transition: border-color 0.1s linear;
  }
  #main.top main section.link .inner ul.link > li a p.more {
    -webkit-transition: background-color 0.1s linear;
    transition: background-color 0.1s linear;
  }
  #main.top main section.link .inner ul.link > li:hover.dendoushi a {
    border-color: rgb(221.4616438356, 234.3, 0);
  }
  #main.top main section.link .inner ul.link > li:hover.dendoushi a p.more {
    background: rgb(221.4616438356, 234.3, 0);
  }
  #main.top main section.link .inner ul.link > li:hover.kyouzai a {
    border-color: rgb(228.3108108108, 44.6891891892, 66.0405405405);
  }
  #main.top main section.link .inner ul.link > li:hover.kyouzai a p.more {
    background: rgb(228.3108108108, 44.6891891892, 66.0405405405);
  }
}
@media (max-width: 520px) {
  #main.top header .mv .inner {
    max-width: 100%;
  }
  #main.top header .mv .inner::after {
    padding-top: 110%;
  }
  #main.top header .mv .inner > * {
    position: absolute;
  }
  #main.top header .mv .inner h1.ttl1 {
    top: 19vw;
    left: 5vw;
    width: 84vw;
  }
  #main.top header .mv .inner h1.ttl2 {
    top: 39vw;
    left: 5vw;
    right: unset;
    width: 90vw;
  }
  #main.top header .mv .inner i.icon {
    display: none;
  }
  #main.top header .mv .inner i.icon.icon01 {
    display: block;
    top: 4vw;
    left: 40vw;
    width: 20vw;
  }
  #main.top header .mv .inner i.icon.icon06 {
    display: block;
    top: 54vw;
    left: 9vw;
    width: 13vw;
  }
  #main.top header .mv .inner i.icon.icon04 {
    display: block;
    top: 71vw;
    left: 25vw;
    width: 24vw;
  }
  #main.top header .mv .inner i.icon.icon04b {
    display: block;
    top: 71vw;
    left: 25vw;
    width: 24vw;
  }
  #main.top header .mv .inner i.icon.icon05 {
    display: block;
    top: 51vw;
    left: 42vw;
    width: 18vw;
  }
  #main.top header .mv .inner i.icon.icon07 {
    display: block;
    top: 63vw;
    left: 72vw;
    width: 18vw;
  }
  #main.top header .mv .inner i.icon.icon04 {
    -webkit-animation-name: icon04_sp;
            animation-name: icon04_sp;
  }
  @-webkit-keyframes icon04_sp {
    0% {
      -webkit-transform: translateX(0) translateY(0);
              transform: translateX(0) translateY(0);
      opacity: 1;
    }
    30% {
      -webkit-transform: translateX(-100vw) translateY(15vw);
              transform: translateX(-100vw) translateY(15vw);
      opacity: 1;
    }
    30.1% {
      opacity: 0;
    }
    31% {
      -webkit-transform: translateX(100vw) translateY(15vw);
              transform: translateX(100vw) translateY(15vw);
      opacity: 0;
    }
    31.1% {
      opacity: 1;
    }
    60% {
      -webkit-transform: translateX(-5px) translateY(0);
              transform: translateX(-5px) translateY(0);
    }
    63% {
      -webkit-transform: translateX(0) translateY(0);
              transform: translateX(0) translateY(0);
    }
  }
  @keyframes icon04_sp {
    0% {
      -webkit-transform: translateX(0) translateY(0);
              transform: translateX(0) translateY(0);
      opacity: 1;
    }
    30% {
      -webkit-transform: translateX(-100vw) translateY(15vw);
              transform: translateX(-100vw) translateY(15vw);
      opacity: 1;
    }
    30.1% {
      opacity: 0;
    }
    31% {
      -webkit-transform: translateX(100vw) translateY(15vw);
              transform: translateX(100vw) translateY(15vw);
      opacity: 0;
    }
    31.1% {
      opacity: 1;
    }
    60% {
      -webkit-transform: translateX(-5px) translateY(0);
              transform: translateX(-5px) translateY(0);
    }
    63% {
      -webkit-transform: translateX(0) translateY(0);
              transform: translateX(0) translateY(0);
    }
  }
  #main.top main section.information {
    max-width: 100%;
  }
  #main.top main section.information .inner {
    width: 92vw;
    margin: 0 auto;
    margin-top: -24vw;
    padding: 15px 6vw 20px;
  }
  #main.top main section.information .inner h2 {
    margin-left: 0;
    width: 120px;
  }
  #main.top main section.goals::after {
    right: 5vw;
    width: 60vw;
    height: 5.1vw;
  }
  #main.top main section.goals .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.top main section.goals .inner em {
    font-weight: bold;
    color: #fcc30b;
  }
  #main.top main section.goals .inner h2 {
    width: 75vw;
  }
  #main.top main section.goals .inner h3 {
    margin-bottom: 30px;
    font-size: 1.125em;
    text-align: left;
  }
  #main.top main section.goals .inner p {
    margin-bottom: 30px;
  }
  #main.top main section.goals .inner ul.goals {
    gap: 4vw;
  }
  #main.top main section.goals .inner ul.goals > li {
    width: calc(33.3% - 2.67vw);
  }
  #main.top main section.link {
    padding-bottom: 60px;
  }
  #main.top main section.link .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.top main section.link .inner ul.link > li {
    width: 100%;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a {
    padding-left: 6vw;
    padding-right: 6vw;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a > * {
    margin: 0 auto;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a .text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 100%;
    padding-right: 0;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a .text h2 {
    margin: 0 auto;
    margin-bottom: 15px;
    width: 90%;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a .logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 15px;
    width: 45%;
  }
  #main.top main section.link .inner ul.link > li.dendoushi a p.more {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 20px 30px 15px;
    background: #cfdb00;
    font-size: 1.125em;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }
}
#main.goal .JS-detail, #main.goal .JS-quiz {
  display: none;
}
#main.goal main section.goals {
  position: relative;
  padding-top: 50px;
  padding-bottom: 40px;
  background: url(../img/bg_blackboard.jpg) center top/auto repeat, #003131;
  border-top: 8px solid #905c00;
  border-bottom: 22px solid #905c00;
  color: #ffffff;
  overflow: hidden;
}
#main.goal main section.goals::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 20px;
  display: block;
  width: 300px;
  height: 38px;
  background: url(../img/icn_blackboard_goods.png) right bottom/contain no-repeat;
}
#main.goal main section.goals .inner {
  padding-left: 30px;
  padding-right: 30px;
}
#main.goal main section.goals .inner em {
  font-weight: bold;
  color: #fcc30b;
}
#main.goal main section.goals .inner h2 {
  width: 700px;
  max-width: 100%;
  margin-bottom: 35px;
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
}
#main.goal main section.goals .inner h3 {
  margin-bottom: 40px;
  font-size: 1.25em;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.goal main section.goals .inner p {
  margin-bottom: 40px;
  font-size: 1.125em;
  line-height: 2.5;
  letter-spacing: 0.06em;
}
#main.goal main section.goals .inner ul.goals {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
#main.goal main section.goals .inner ul.goals > li {
  margin: 0;
  width: calc(25% - 7.5px);
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}
#main.goal main section.goals .inner ul.goals > li a {
  display: block;
  border: 5px solid #ffffff;
}
#main.goal main section.detail.goal1 .inner .title {
  background: #e5243b;
}
#main.goal main section.detail.goal2 .inner .title {
  background: #dda63a;
}
#main.goal main section.detail.goal3 .inner .title {
  background: #4c9f38;
}
#main.goal main section.detail.goal4 .inner .title {
  background: #c5192d;
}
#main.goal main section.detail.goal5 .inner .title {
  background: #ff3a21;
}
#main.goal main section.detail.goal6 .inner .title {
  background: #26bde2;
}
#main.goal main section.detail.goal7 .inner .title {
  background: #fcc30b;
}
#main.goal main section.detail.goal8 .inner .title {
  background: #a21942;
}
#main.goal main section.detail.goal9 .inner .title {
  background: #fd6925;
}
#main.goal main section.detail.goal10 .inner .title {
  background: #dd1367;
}
#main.goal main section.detail.goal11 .inner .title {
  background: #fd9d24;
}
#main.goal main section.detail.goal12 .inner .title {
  background: #bf8b2e;
}
#main.goal main section.detail.goal13 .inner .title {
  background: #3f7e44;
}
#main.goal main section.detail.goal14 .inner .title {
  background: #0a97d9;
}
#main.goal main section.detail.goal15 .inner .title {
  background: #36c02b;
}
#main.goal main section.detail.goal16 .inner .title {
  background: #00689d;
}
#main.goal main section.detail.goal17 .inner .title {
  background: #19486a;
}
#main.goal main section.detail .inner {
  background: #ffffff;
}
#main.goal main section.detail .inner .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 40px;
  padding: 40px 40px;
  color: #ffffff;
}
#main.goal main section.detail .inner .title > * {
  margin: 0;
}
#main.goal main section.detail .inner .title .icon {
  border: 8px solid currentColor;
}
#main.goal main section.detail .inner .title .icon img {
  width: 130px;
}
#main.goal main section.detail .inner .title .ttl {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-left: 50px;
}
#main.goal main section.detail .inner .title .ttl h2 {
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
#main.goal main section.detail .inner .title .ttl h2 ruby rt {
  font-size: 0.4em;
}
#main.goal main section.detail .inner .title .ttl p {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.goal main section.detail .inner .text {
  margin-bottom: 50px;
  padding-left: 50px;
  padding-right: 50px;
  background: #ffffff;
}
#main.goal main section.detail .inner .text h3 {
  margin-bottom: 10px;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.goal main section.detail .inner .text p {
  font-size: 1.125em;
  line-height: 2.5;
  letter-spacing: 0.03em;
}
#main.goal main section.detail .inner .text p.reference {
  margin-top: 20px;
  font-size: 0.9375em;
}
#main.goal main section.detail .inner .dekirukoto {
  padding: 50px 50px;
  background: rgb(172.9634146341, 230.0487804878, 244.0365853659);
}
#main.goal main section.detail .inner .dekirukoto h3 {
  margin-bottom: 30px;
  max-width: 500px;
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
}
#main.goal main section.detail .inner .dekirukoto ul.list li {
  position: relative;
  padding: 0;
  text-indent: 0;
  margin-bottom: 1.5em;
  padding-left: 1.75em;
  font-size: 1.25em;
  line-height: 2.5;
  letter-spacing: 0.06em;
}
#main.goal main section.detail .inner .dekirukoto ul.list li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  display: block;
  width: 1.05em;
  height: 16.5em;
  background: url(../img/icn_01_s.png) left top/contain no-repeat;
}
#main.goal main section.detail .inner .dekirukoto ul.list li:last-child {
  margin-bottom: 0;
}
#main.goal main section.detail_quiz .inner {
  padding-top: 50px;
  padding-bottom: 50px;
  background: #fcc30b;
}
#main.goal main section.detail_quiz .inner button.quiz {
  display: block;
  padding: 0;
  width: 450px;
  border-radius: 50vw;
  -webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
}
#main.goal main section.detail_quiz .inner button.back_list {
  position: relative;
  display: block;
  margin-top: 50px;
  padding: 10px 20px;
  padding-left: 30px;
  width: 300px;
  background: #ffffff;
  border: 2px solid currentColor;
  border-radius: 50vw;
  color: #e5243b;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.goal main section.detail_quiz .inner button.back_list::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#main.goal main section.quiz .inner {
  padding-top: 40px;
  min-height: calc(100vh - 70px);
  background: #ffffff;
  text-align: center;
}
#main.goal main section.quiz .inner > * {
  padding-left: 50px;
  padding-right: 50px;
  text-align: left;
}
#main.goal main section.quiz .inner .question {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
  position: relative;
  padding-top: 100px;
  padding-left: 110px;
  margin-bottom: 40px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.06em;
  clip-path: inset(0 100% 0 0);
  -webkit-transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
}
#main.goal main section.quiz .inner .question::before {
  content: "Q.";
  position: absolute;
  top: 100px;
  left: 50px;
  font-size: 40px;
  color: #e5243b;
  line-height: 1;
}
#main.goal main section.quiz .inner .question span {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.05s linear;
  transition: opacity 0.05s linear;
}
#main.goal main section.quiz .inner .choice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  padding-bottom: 70px;
}
#main.goal main section.quiz .inner .choice > li {
  position: relative;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s linear, -webkit-filter 0.1s linear;
  transition: opacity 0.5s linear, -webkit-filter 0.1s linear;
  transition: opacity 0.5s linear, filter 0.1s linear;
  transition: opacity 0.5s linear, filter 0.1s linear, -webkit-filter 0.1s linear;
  width: 70%;
  padding: 20px 30px;
  padding-left: calc(30px + 1.5em);
  border: 2px solid #ffffff;
  border-radius: 10px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.03em;
  -webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
#main.goal main section.quiz .inner .choice > li > i:first-child {
  position: absolute;
  left: 30px;
  top: 20px;
  display: block;
}
#main.goal main section.quiz .inner .choice > li:nth-child(1) {
  background: #e5243b;
  color: #ffffff;
}
#main.goal main section.quiz .inner .choice > li:nth-child(2) {
  background: #4c9f38;
  color: #ffffff;
}
#main.goal main section.quiz .inner .choice > li:nth-child(3) {
  background: #00689d;
  color: #ffffff;
}
#main.goal main section.quiz .inner .choice > li:nth-child(4) {
  background: #bf8b2e;
  color: #ffffff;
}
#main.goal main section.quiz .inner .result, #main.goal main section.quiz .inner .answer, #main.goal main section.quiz .inner .detail, #main.goal main section.quiz .inner .reference {
  display: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
}
#main.goal main section.quiz .inner .result {
  position: relative;
  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;
  margin-bottom: 40px;
  height: 300px;
  font-size: 6em;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.12em;
}
#main.goal main section.quiz .inner .result > i {
  position: relative;
  z-index: 1;
}
#main.goal main section.quiz .inner .result ruby rt {
  font-size: 0.3em;
}
#main.goal main section.quiz .inner .result::before, #main.goal main section.quiz .inner .result::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  z-index: 0;
}
#main.goal main section.quiz .inner .result.collect {
  color: #e5243b;
}
#main.goal main section.quiz .inner .result.collect::before {
  height: 300px;
  background: radial-gradient(circle closest-side at center, transparent 0, transparent 60%, rgb(250.6489795918, 218.3510204082, 222.2) calc(60% + 1px), rgb(250.6489795918, 218.3510204082, 222.2) calc(100% - 1px), transparent 100%);
}
#main.goal main section.quiz .inner .result.incollect {
  color: #00689d;
}
#main.goal main section.quiz .inner .result.incollect::before, #main.goal main section.quiz .inner .result.incollect::after {
  width: 70px;
  height: 300px;
  background: rgb(182.5, 230.525477707, 255);
}
#main.goal main section.quiz .inner .result.incollect::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#main.goal main section.quiz .inner .result.incollect::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#main.goal main section.quiz .inner .answer {
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
  padding-left: 60px;
  width: unset;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.goal main section.quiz .inner .answer small {
  display: inline-block;
  font-size: 0.9em;
  font-weight: normal;
}
#main.goal main section.quiz .inner .answer::before {
  content: "A.";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 40px;
  color: #e5243b;
  line-height: 1;
}
#main.goal main section.quiz .inner .detail {
  font-size: 1.25em;
  line-height: 2;
  letter-spacing: 0.03em;
}
#main.goal main section.quiz .inner .reference {
  margin-top: 10px;
  font-size: 1em;
  line-height: 2;
  letter-spacing: 0.03em;
}
#main.goal main section.quiz .inner .back {
  display: none;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s linear;
  transition: opacity 0.5s linear;
  margin-top: 50px;
  padding: 0;
  padding-top: 50px;
  padding-bottom: 50px;
  background: #fcc30b;
}
#main.goal main section.quiz .inner .back button {
  position: relative;
  display: block;
  padding: 10px 20px;
  width: 230px;
  background: #ffffff;
  border: 2px solid currentColor;
  border-radius: 50vw;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.03em;
  -webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
}
#main.goal main section.quiz .inner .back button::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 8px;
  height: 8px;
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#main.goal main section.quiz .inner .back button.back_goal {
  color: #00689d;
  margin-bottom: 30px;
}
#main.goal main section.quiz .inner .back button.back_list {
  color: #e5243b;
  width: 300px;
}

@media (min-width: 961px) {
  #main.goal main section[class] > .inner {
    width: 960px;
  }
  #main.goal main section.goals .inner {
    width: 100%;
  }
  #main.goal main section.goals .inner > * {
    width: 960px;
  }
  #main.goal main section.goals .inner ul.goals > li {
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
    width: calc(20% - 8px);
  }
  #main.goal main section.goals .inner ul.goals > li:hover {
    -webkit-transform: scale(1.1) !important;
            transform: scale(1.1) !important;
  }
  #main.goal main section.detail .inner {
    width: 100%;
  }
  #main.goal main section.detail .inner .title {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #main.goal main section.detail .inner .title .icon {
    width: 146px;
  }
  #main.goal main section.detail .inner .title .ttl {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 734px;
  }
  #main.goal main section.detail .inner .text > * {
    width: 860px;
  }
  #main.goal main section.detail .inner .dekirukoto > * {
    width: 860px;
  }
  #main.goal main section.detail_quiz .inner {
    width: 100%;
  }
  #main.goal main section.detail_quiz .inner > * {
    width: 860px;
  }
  #main.goal main section.quiz .inner {
    width: 100%;
  }
  #main.goal main section.quiz .inner > * {
    padding-left: 0;
    padding-right: 0;
    width: 860px;
  }
  #main.goal main section.quiz .inner .back {
    width: 100%;
  }
}
@media (max-width: 520px) {
  #main.goal .JS-detail, #main.goal .JS-quiz {
    display: none;
  }
  #main.goal main section.goals {
    padding-bottom: 16vw;
  }
  #main.goal main section.goals::after {
    right: 5vw;
    width: 60vw;
    height: 5.1vw;
  }
  #main.goal main section.goals .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.goal main section.goals .inner em {
    font-weight: bold;
    color: #fcc30b;
  }
  #main.goal main section.goals .inner h2 {
    width: 75vw;
  }
  #main.goal main section.goals .inner h3 {
    margin-bottom: 30px;
    font-size: 1.125em;
    text-align: left;
  }
  #main.goal main section.goals .inner p {
    margin-bottom: 30px;
  }
  #main.goal main section.goals .inner ul.goals {
    gap: 4vw;
  }
  #main.goal main section.goals .inner ul.goals > li {
    width: calc(33.3% - 2.67vw);
  }
  #main.goal main section.detail .inner .title {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 40px 4vw 30px;
  }
  #main.goal main section.detail .inner .title > * {
    margin: 0 auto;
  }
  #main.goal main section.detail .inner .title .icon {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px;
    width: 43%;
  }
  #main.goal main section.detail .inner .title .icon img {
    width: 100%;
  }
  #main.goal main section.detail .inner .title .ttl {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    padding-left: 0;
    width: 100%;
    text-align: center;
  }
  #main.goal main section.detail .inner .title .ttl h2 {
    font-size: 2em;
  }
  #main.goal main section.detail .inner .text {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #main.goal main section.detail .inner .dekirukoto {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #main.goal main section.detail .inner .dekirukoto h3 {
    width: 100%;
    max-width: 100%;
  }
  #main.goal main section.detail_quiz .inner button.quiz {
    width: 92vw;
  }
  #main.goal main section.detail_quiz .inner button.back_list {
    width: 84vw;
  }
  #main.goal main section.quiz .inner > * {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #main.goal main section.quiz .inner .question {
    padding-top: 60px;
    padding-left: 8vw;
  }
  #main.goal main section.quiz .inner .question::before {
    left: 8vw;
  }
  #main.goal main section.quiz .inner .question span {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.05s linear;
    transition: opacity 0.05s linear;
  }
  #main.goal main section.quiz .inner .choice > li {
    width: 96%;
  }
  #main.goal main section.quiz .inner .result {
    margin-bottom: 20px;
    padding: 0;
    width: 92vw;
    height: 92vw;
    font-size: 25vw;
    font-weight: bold;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.12em;
  }
  #main.goal main section.quiz .inner .result.collect::before {
    height: 92vw;
  }
  #main.goal main section.quiz .inner .result.incollect::before, #main.goal main section.quiz .inner .result.incollect::after {
    width: 21.5vw;
    height: 92vw;
  }
  #main.goal main section.quiz .inner .back button.back_goal {
    width: 76vw;
  }
  #main.goal main section.quiz .inner .back button.back_list {
    width: 84vw;
  }
}
#main.dendoushi main section.outline {
  margin-bottom: 50px;
  background: #ffffff;
}
#main.dendoushi main section.outline .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 30px 40px;
  background: rgb(254.1452054795, 255, 239.4);
  color: rgb(62.3835616438, 66, 0);
  text-decoration: none;
}
#main.dendoushi main section.outline .inner > * {
  margin: 0;
}
#main.dendoushi main section.outline .inner .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 30px;
}
#main.dendoushi main section.outline .inner .text h2 {
  margin: 0;
  margin-bottom: 20px;
  width: 420px;
  max-width: 100%;
}
#main.dendoushi main section.outline .inner .text p {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.outline .inner .logo {
  width: 25%;
}
#main.dendoushi main section.outline .inner .logo img {
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.2));
}
#main.dendoushi main section.outline .teacher {
  padding: 20px 40px 30px;
  background: rgb(252.813877551, 236.586122449, 238.52);
}
#main.dendoushi main section.outline .teacher h3 {
  margin-bottom: 10px;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.outline .teacher a.button {
  position: relative;
  display: block;
  padding: 10px 20px;
  padding-right: 40px;
  width: 300px;
  background: rgb(254.9787755102, 254.8212244898, 254.84);
  border: 4px solid rgb(245.2367346939, 172.7632653061, 181.4);
  border-radius: 50vw;
  color: currentColor;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-decoration: none;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
#main.dendoushi main section.outline .teacher a.button::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  display: block;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: translateY(-2px) rotate(45deg);
          transform: translateY(-2px) rotate(45deg);
}
#main.dendoushi main section.list .inner {
  padding-left: 50px;
  padding-right: 50px;
}
#main.dendoushi main section.list .inner h2 {
  margin-bottom: 30px;
  padding: 10px 1em;
  font-size: 1.75em;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.12em;
}
#main.dendoushi main section.list .inner ul.years > li {
  margin-bottom: 50px;
}
#main.dendoushi main section.list .inner ul.years > li:last-child {
  margin-bottom: 0;
}
#main.dendoushi main section.list .inner ul.years > li h3 {
  margin-bottom: 10px;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.list .inner ul.years > li hr {
  margin-bottom: 20px;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 30px;
  padding: 30px 30px;
  background: #ffffff;
  border-radius: 10px;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li:last-child {
  margin-bottom: 0;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li > * {
  margin: 0;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li .text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 30px;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li .text h4 {
  margin-bottom: 15px;
  font-size: 1.375em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li .text p {
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.dendoushi main section.list .inner ul.years > li ul.schools > li .ph {
  width: 30%;
}
#main.dendoushi main section.list .inner:last-child {
  padding-bottom: 60px;
}
#main.dendoushi main section.list .inner.east h2 {
  background: #00689d;
  color: #ffffff;
}
#main.dendoushi main section.list .inner.east hr.dots {
  color: #00689d;
}
#main.dendoushi main section.list .inner.central h2 {
  background: #3f7e44;
  color: #ffffff;
}
#main.dendoushi main section.list .inner.central hr.dots {
  color: #3f7e44;
}
#main.dendoushi main section.list .inner.west h2 {
  background: #c5192d;
  color: #ffffff;
}
#main.dendoushi main section.list .inner.west hr.dots {
  color: #c5192d;
}
#main.dendoushi main section.list .inner + .inner {
  padding-top: 60px;
}
#main.dendoushi main section.detail {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
}
#main.dendoushi main section.detail .shade {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 0;
  background: rgba(25, 72, 106, 0.8);
}
#main.dendoushi main section.detail .inner {
  position: absolute;
  top: 70px;
  left: 30px;
  bottom: 70px;
  right: 30px;
  z-index: 1;
  padding: 50px 30px;
  background: #ffffff;
  overflow: scroll;
}
#main.dendoushi main section.detail .inner > * {
  margin-bottom: 1em;
}
#main.dendoushi main section.detail .inner > *:last-child {
  margin-bottom: 0;
}
#main.dendoushi main section.detail .inner h2 {
  margin-bottom: 5px;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.detail .inner h3 {
  margin-bottom: 15px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.detail .inner hr.colors {
  margin-bottom: 30px;
}
#main.dendoushi main section.detail .inner p {
  margin-bottom: 1em;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.dendoushi main section.detail .inner p.lead {
  font-weight: bold;
}
#main.dendoushi main section.detail .inner .ph {
  margin-bottom: 30px;
  width: 80%;
}
#main.dendoushi main section.detail .close {
  position: absolute;
  top: 40px;
  right: 40px;
  z-index: 2;
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #c5192d;
  font-size: 0;
  line-height: 0;
  color: transparent;
}
#main.dendoushi main section.detail .close::before, #main.dendoushi main section.detail .close::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  margin: auto;
  width: 5px;
  height: 34px;
  background: #ffffff;
}
#main.dendoushi main section.detail .close::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
#main.dendoushi main section.detail .close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
#main.dendoushi main section.guideline .inner {
  background: rgb(235.9463414634, 249.2048780488, 252.4536585366);
  padding: 40px 50px 60px;
}
#main.dendoushi main section.guideline .inner .title {
  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;
}
#main.dendoushi main section.guideline .inner .title > * {
  margin: 0;
}
#main.dendoushi main section.guideline .inner .title .logo {
  width: 170px;
  margin-right: 20px;
  -webkit-filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0 5px 6px rgba(0, 0, 0, 0.1));
}
#main.dendoushi main section.guideline .inner .title h2 {
  color: rgb(11.8829268293, 73.756097561, 88.9170731707);
  font-size: 1.75em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.guideline .inner .title h2 small {
  font-size: 0.8em;
}
#main.dendoushi main section.guideline .inner h3 {
  margin-top: 40px;
  margin-bottom: 15px;
  color: rgb(11.8829268293, 73.756097561, 88.9170731707);
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.guideline .inner h4 {
  margin-top: 20px;
  color: rgb(11.8829268293, 73.756097561, 88.9170731707);
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.dendoushi main section.guideline .inner ul.list li {
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.dendoushi main section.guideline .inner p {
  margin-top: 0.5em;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.dendoushi main section.guideline .inner p.pl3 {
  padding-left: 3.09em;
  text-indent: -3.09em;
}
#main.dendoushi main section.guideline .inner p.pamphlet_note {
  margin-top: 10px;
  font-size: 0.875em;
  text-align: center;
}
#main.dendoushi main section.guideline .inner .pamphlet {
  margin-top: 15px;
  padding: 20px 20px;
  width: 540px;
  background: #ffffff;
}
#main.dendoushi main section.guideline .inner .pamphlet a {
  display: block;
  width: 500px;
  max-width: 100%;
}

@media (min-width: 961px) {
  #main.dendoushi main section[class] > .inner {
    width: 960px;
  }
  #main.dendoushi main section.outline .inner {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #main.dendoushi main section.outline .inner .text {
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 660px;
  }
  #main.dendoushi main section.outline .inner .logo {
    width: 220px;
  }
  #main.dendoushi main section.list .inner ul.years {
    padding-left: 20px;
    padding-right: 20px;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li {
    border: 2px solid #ffffff;
    -webkit-transition: 0.1s ease;
    transition: 0.1s ease;
    -webkit-transition-property: border-color box-shadow;
    transition-property: border-color box-shadow;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li:hover {
    -webkit-box-shadow: 0 15px 20px -5px rgba(0, 0, 0, 0.3);
            box-shadow: 0 15px 20px -5px rgba(0, 0, 0, 0.3);
  }
  #main.dendoushi main section.list .inner.east ul.years > li ul.schools > li:hover {
    border-color: #00689d;
  }
  #main.dendoushi main section.list .inner.central ul.years > li ul.schools > li:hover {
    border-color: #3f7e44;
  }
  #main.dendoushi main section.list .inner.west ul.years > li ul.schools > li:hover {
    border-color: #c5192d;
  }
  #main.dendoushi main section.guideline .inner {
    width: 100%;
  }
  #main.dendoushi main section.guideline .inner > * {
    width: 860px;
  }
}
@media (max-width: 520px) {
  #main.dendoushi main section.outline .inner {
    padding: 10px 4vw 30px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #main.dendoushi main section.outline .inner > * {
    margin: 0 auto;
  }
  #main.dendoushi main section.outline .inner .text {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    width: 100%;
    padding-right: 0;
  }
  #main.dendoushi main section.outline .inner .text h2 {
    margin: 0 auto;
    margin-bottom: 15px;
    width: 90%;
  }
  #main.dendoushi main section.outline .inner .logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 15px;
    width: 45%;
  }
  #main.dendoushi main section.outline .teacher {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.dendoushi main section.outline .teacher a.button {
    max-width: 100%;
  }
  #main.dendoushi main section.list .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.dendoushi main section.list .inner ul.years {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li > * {
    margin: 0 auto;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li .text {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    padding-right: 0;
    width: 100%;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li .text h4 {
    font-size: 1.25em;
  }
  #main.dendoushi main section.list .inner ul.years > li ul.schools > li .ph {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 30px;
    width: 80%;
  }
  #main.dendoushi main section.detail .inner {
    left: 4vw;
    right: 4vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.dendoushi main section.guideline .inner {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  #main.dendoushi main section.guideline .inner .title {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #main.dendoushi main section.guideline .inner .title > * {
    margin: 0 auto;
  }
  #main.dendoushi main section.guideline .inner .title h2 {
    font-size: 1.375em;
  }
  #main.dendoushi main section.guideline .inner .title .logo {
    margin: 0 auto;
    margin-bottom: 15px;
    width: 45%;
  }
  #main.dendoushi main section.guideline .inner h3 {
    font-size: 1.125em;
  }
  #main.dendoushi main section.guideline .inner .pamphlet {
    width: 100%;
  }
  #main.dendoushi main section.guideline .inner .pamphlet a.pamphlet {
    width: 80%;
  }
}
#main.dendoushi_page main section.detail {
  padding-top: 40px;
  padding-bottom: 60px;
}
#main.dendoushi_page main section.detail .inner {
  width: 92%;
  padding: 40px 50px 50px;
  background: #ffffff;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.dendoushi_page main section.detail .inner > * {
  margin-bottom: 1em;
}
#main.dendoushi_page main section.detail .inner > *:last-child {
  margin-bottom: 0;
}
#main.dendoushi_page main section.detail .inner h2 {
  margin-bottom: 5px;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi_page main section.detail .inner h3 {
  margin-bottom: 15px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.dendoushi_page main section.detail .inner hr.colors {
  margin-bottom: 30px;
}
#main.dendoushi_page main section.detail .inner p {
  margin-bottom: 1em;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
#main.dendoushi_page main section.detail .inner p.lead {
  font-weight: bold;
}
#main.dendoushi_page main section.detail .inner .ph {
  margin-bottom: 30px;
  width: 80%;
}
#main.dendoushi_page main section.detail .inner a.button {
  position: relative;
  display: block;
  padding: 15px 20px;
  padding-top: 18px;
  padding-bottom: 12px;
  padding-left: 40px;
  width: 300px;
  background: rgb(249.5786259542, 251.9824427481, 253.7213740458);
  border: 4px solid rgb(44.465648855, 128.0610687023, 188.534351145);
  border-radius: 50vw;
  color: currentColor;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.03em;
  text-decoration: none;
  -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}
#main.dendoushi_page main section.detail .inner a.button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  display: block;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media (min-width: 961px) {
  #main.dendoushi_page main section[class] > .inner {
    width: 960px;
  }
  #main.dendoushi_page main section.detail .inner .content {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 520px) {
  #main.dendoushi_page main section.detail {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  #main.dendoushi_page main section.detail .inner {
    width: 92vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  #main.dendoushi_page main section.detail .inner a.button {
    max-width: 100%;
  }
}
#main.kyouzai::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url(../img/bg_mv.jpg) center 70%/cover no-repeat;
  background-color: rgba(255, 255, 255, 0.4);
  background-blend-mode: lighten;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  -webkit-filter: blur(15px) saturate(0.8);
          filter: blur(15px) saturate(0.8);
  z-index: -1;
}
#main.kyouzai main section.kyouzai {
  padding-top: 50px;
  padding-bottom: 50px;
}
#main.kyouzai main section.kyouzai .inner {
  padding-left: 50px;
  padding-right: 50px;
}
#main.kyouzai main section.kyouzai .inner h2 {
  margin-bottom: 50px;
  max-width: 540px;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 40px;
  padding: 30px 30px;
  padding-top: 28px;
  background: #ffffff;
  border-top: 2px solid rgba(255, 255, 255, 0);
  border-radius: 10px;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li:last-child {
  margin-bottom: 0;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li > * {
  margin: 0;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li[data-teacher=true] {
  border-top-color: #e5243b;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li[data-teacher=true]::before {
  content: "おとな向け";
  position: absolute;
  left: 0;
  top: -2px;
  display: block;
  padding: 10px 20px;
  color: #ffffff;
  background: #e5243b;
  border-top-left-radius: 10px;
  border-bottom-right-radius: 10px;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li[data-teacher=true] .detail {
  padding-top: 25px;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .detail {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-right: 30px;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .detail h3 {
  margin-bottom: 15px;
  padding-left: 1.59em;
  text-indent: -1.59em;
  font-size: 1.375em;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.06em;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .detail h3 > i {
  display: inline;
  margin-right: 0.5em;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .detail p {
  font-size: 1.125em;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic {
  width: 40%;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.thumbnail {
  display: block;
  cursor: pointer;
  -webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.thumbnail.video {
  position: relative;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.thumbnail.video i {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  width: 1em;
  height: 1em;
  color: #00689d;
  font-size: 100px;
  line-height: 1;
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.thumbnail.video:hover i {
  opacity: 0.7;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.button {
  display: block;
  margin-top: 20px;
  padding: 15px 30px;
  border-radius: 50vw;
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.06em;
  -webkit-box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 6px rgba(0, 0, 0, 0.2);
  text-decoration: none;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.button.download {
  background: #4c9f38;
  color: #ffffff;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic a.button.link {
  background: #c5192d;
  color: #ffffff;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li.video h3 i {
  color: #00689d;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li.book h3 i {
  color: #4c9f38;
}
#main.kyouzai main section.kyouzai .inner ul.kyouzai > li.link h3 i {
  color: #c5192d;
}

@media (min-width: 961px) {
  #main.kyouzai main section[class] > .inner {
    width: 960px;
  }
}
@media (max-width: 520px) {
  #main.kyouzai main section.kyouzai .inner {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  #main.kyouzai main section.kyouzai .inner h2 {
    width: 95%;
  }
  #main.kyouzai main section.kyouzai .inner ul.kyouzai > li {
    padding: 30px 6vw;
  }
  #main.kyouzai main section.kyouzai .inner ul.kyouzai > li > * {
    margin: 0 auto;
  }
  #main.kyouzai main section.kyouzai .inner ul.kyouzai > li h3 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  #main.kyouzai main section.kyouzai .inner ul.kyouzai > li .detail {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
    padding-right: 0;
  }
  #main.kyouzai main section.kyouzai .inner ul.kyouzai > li .pic {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 20px;
    width: 90%;
  }
}
#main.information main section.information {
  padding-top: 40px;
  padding-bottom: 60px;
}
#main.information main section.information .inner {
  width: 92%;
  padding: 30px 50px 50px;
  background: #ffffff;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.information main section.information .inner h2 {
  margin: 0;
  margin-left: 10px;
  margin-bottom: 20px;
  width: 140px;
  -webkit-filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.2));
}
#main.information main section.information .inner hr {
  margin-bottom: 30px;
  color: #00689d;
}
#main.information main section.information .inner ul.information {
  margin-bottom: 40px;
  padding-left: 10px;
  padding-right: 10px;
}
#main.information main section.information .inner ul.information li {
  margin-bottom: 15px;
}
#main.information main section.information .inner ul.information li:last-child {
  margin-bottom: none;
}
#main.information main section.information .inner ul.information li a {
  position: relative;
  display: inline-block;
  margin-left: 7em;
  color: currentColor;
  text-decoration: none;
  font-size: 1.125em;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
#main.information main section.information .inner ul.information li a .date {
  position: absolute;
  top: 0;
  left: -7em;
}
#main.information main section.information .inner .pagination .wp-pagenavi {
  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;
  gap: 15px;
}
#main.information main section.information .inner .pagination .wp-pagenavi > * {
  margin: 0;
}
#main.information main section.information .inner .pagination .wp-pagenavi a.page {
  display: inline-block;
  padding: 0.5em 0.75em;
  background: #ffffff;
  border: 1px solid currentColor;
  color: #00689d;
  font-size: 1.125em;
  text-decoration: none;
}
#main.information main section.information .inner .pagination .wp-pagenavi span.current {
  display: inline-block;
  padding: 0.5em 0.75em;
  background: #00689d;
  border: 1px solid #00689d;
  color: #ffffff;
  font-size: 1.125em;
  text-decoration: none;
}
#main.information main section.information .inner .pagination .wp-pagenavi a.prevpostslink,
#main.information main section.information .inner .pagination .wp-pagenavi a.nextpostslink {
  display: inline-block;
  padding: 0.5em 0.25em;
  color: #00689d;
  font-size: 1.125em;
  text-decoration: none;
}
#main.information main section.information_content {
  padding-top: 40px;
  padding-bottom: 60px;
}
#main.information main section.information_content .inner {
  width: 92%;
  padding: 40px 50px 50px;
  background: #ffffff;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.information main section.information_content .inner p.date {
  margin-bottom: 5px;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.information main section.information_content .inner h2 {
  margin-bottom: 15px;
  font-size: 1.375em;
  font-weight: bold;
  color: #00689d;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.information main section.information_content .inner hr {
  margin-bottom: 30px;
  color: #00689d;
}
#main.information main section.information_content .inner .content {
  margin-bottom: 40px;
  font-size: 1.125em;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
#main.information main section.information_content .inner .content > * {
  margin-bottom: 1em;
}
#main.information main section.information_content .inner .content > *:last-child {
  margin-bottom: 0;
}
#main.information main section.information_content .inner .pagination {
  margin-top: 40px;
}
#main.information main section.information_content .inner .pagination ul {
  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;
}
#main.information main section.information_content .inner .pagination ul li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  text-align: center;
}
#main.information main section.information_content .inner .pagination ul li a {
  position: relative;
  padding-bottom: 0.5em;
  display: inline-block;
  color: #00689d;
  font-size: 1em;
  text-align: center;
  text-decoration: none;
}
#main.information main section.information_content .inner .pagination ul li:nth-child(1) a {
  padding-left: 25px;
}
#main.information main section.information_content .inner .pagination ul li:nth-child(1) a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 10px;
  height: 10px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  -webkit-transform: scaleX(0.9) rotate(45deg);
          transform: scaleX(0.9) rotate(45deg);
}
#main.information main section.information_content .inner .pagination ul li:nth-child(2) {
  border-left: 1px solid rgb(80.5, 196.0923566879, 255);
  border-right: 1px solid rgb(80.5, 196.0923566879, 255);
  text-align: center;
}
#main.information main section.information_content .inner .pagination ul li:nth-child(3) a {
  padding-right: 25px;
}
#main.information main section.information_content .inner .pagination ul li:nth-child(3) a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  -webkit-transform: scaleX(0.9) rotate(45deg);
          transform: scaleX(0.9) rotate(45deg);
}

@media (min-width: 961px) {
  #main.information main section[class] > .inner {
    width: 960px;
  }
  #main.information main section.information .inner ul.information {
    padding-left: 40px;
    padding-right: 40px;
  }
  #main.information main section.information_content .inner .content {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 520px) {
  #main.information main section.information .inner {
    width: 92vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  #main.information main section.information .inner h2 {
    margin-left: 0;
    width: 120px;
  }
  #main.information main section.information_content {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  #main.information main section.information_content .inner {
    width: 92vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(1) {
    text-align: left;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(1) a {
    padding-left: 15px;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(1) a::before {
    -webkit-transform: scaleX(0.8) rotate(45deg);
            transform: scaleX(0.8) rotate(45deg);
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(2) {
    text-align: center;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(3) {
    text-align: right;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(3) a {
    padding-right: 15px;
  }
  #main.information main section.information_content .inner .pagination ul li:nth-child(3) a::before {
    -webkit-transform: scaleX(0.8) rotate(45deg);
            transform: scaleX(0.8) rotate(45deg);
  }
}
#main.plain main section.plain_content {
  padding-top: 40px;
  padding-bottom: 60px;
}
#main.plain main section.plain_content .inner {
  width: 92%;
  padding: 40px 50px 50px;
  background: #ffffff;
  -webkit-box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.2);
}
#main.plain main section.plain_content .inner p.date {
  margin-bottom: 5px;
  font-size: 1em;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.plain main section.plain_content .inner h2 {
  margin-bottom: 15px;
  font-size: 1.375em;
  font-weight: bold;
  color: #00689d;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
#main.plain main section.plain_content .inner hr {
  margin-bottom: 30px;
  color: #00689d;
}
#main.plain main section.plain_content .inner .content {
  margin-bottom: 40px;
  font-size: 1.125em;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
#main.plain main section.plain_content .inner .content > * {
  margin-bottom: 1em;
}
#main.plain main section.plain_content .inner .content > *:last-child {
  margin-bottom: 0;
}
#main.plain main section.plain_content .inner .content figure[class^=wp-block-] {
  width: auto;
}
#main.plain main section.plain_content .inner .content figure[class^=wp-block-] img {
  width: auto;
}
#main.plain main section.plain_content .inner .content ul {
  list-style: disc;
  margin-left: 1.5em;
}
#main.plain main section.plain_content .inner .content ol {
  list-style: decimal;
  margin-left: 1.5em;
}

body.nobg #main.plain main section.plain_content {
  padding-top: 0;
  padding-bottom: 0;
}
body.nobg #main.plain main section.plain_content .inner {
  background: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (min-width: 961px) {
  #main.plain main section[class] > .inner {
    width: 960px;
  }
  #main.plain main section.plain_content .inner .content {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 520px) {
  #main.plain main section.plain_content {
    padding-top: 40px;
    padding-bottom: 60px;
  }
  #main.plain main section.plain_content .inner {
    width: 92vw;
    padding-left: 6vw;
    padding-right: 6vw;
  }
}