@charset "utf-8";
/* LESS Document */
:root {
  --keycolor: #0070c0;
  --keycolor90: #1a7ec6;
  --keycolor75: #4094d0;
  --keycolor50: #80b8e0;
  --keycolor25: #bfdbef;
  --keycolor10: #e6f1f9;
  --keycolor5: #f2f8fc;
}
.keycolor {
  color: var(--keycolor);
}
.keycolor75 {
  color: var(--keycolor75);
}
.keycolor50 {
  color: var(--keycolor50);
}
.keycolor25 {
  color: var(--keycolor25);
}
.keycolor10 {
  color: var(--keycolor10);
}
.keycolor5 {
  color: var(--keycolor5);
}
.bgKeycolor {
  background-color: var(--keycolor);
}
.bgKeycolor75 {
  background-color: var(--keycolor75);
}
.bgKeycolor50 {
  background-color: var(--keycolor50);
}
.bgKeycolor25 {
  background-color: var(--keycolor25);
}
.bgKeycolor10 {
  background-color: var(--keycolor10);
}
.bgKeycolor5 {
  background-color: var(--keycolor5);
}
.clear {
  clear: both;
}
.flex-grow-1 {
  flex: 1 0 auto !important;
}
.hidden {
  display: none;
  opacity: 0;
  transition: all .5s ease;
  -webkit-transition: all .5s ease;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 500;
}
@font-face {
  font-family: "Custom Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
@font-face {
  font-family: 'tmuvolunteer';
  src: url('/assets/fonts/tmuvolunteer.ttf?q366xr') format('truetype'), url('/assets/fonts/tmuvolunteer.woff?q366xr') format('woff'), url('/assets/fonts/tmuvolunteer.svg?q366xr#tmuvolunteer') format('svg');
  font-weight: normal;
  font-style: normal;
}
span.icon,
i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'tmuvolunteer' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
span.icon {
  vertical-align: middle;
}
.icon-microsoftword:before {
  content: "\e900";
  color: #2b579a;
}
.icon-microsoftexcel:before {
  content: "\e901";
  color: #217346;
}
.icon-microsoftpowerpoint:before {
  content: "\e902";
  color: #d24726;
}
.icon-facebook:before {
  content: "\e903";
  color: #3b5998;
}
.icon-twitter:before {
  content: "\e904";
  color: #1da1f2;
}
.icon-adobeacrobatreader:before {
  content: "\e905";
  color: #ee3f24;
}
.icon-Envelope-outlined-01:before {
  content: "\e908";
}
.icon-newwindow {
  margin-left: .25em;
  font-size: .75em;
}
.icon-newwindow:before {
  content: "\e906";
}
.icon-arrowUP:before {
  content: "\e907";
}
.icon-image:before {
  content: "\e90d";
}
.icon-file-empty:before {
  content: "\e924";
}
.icon-file-zip:before {
  content: "\e92b";
}
.icon-phone:before {
  content: "\e942";
}
.icon-spinner6:before {
  content: "\e97f";
}
.icon-share2:before {
  content: "\ea82";
}
.icon-rss:before {
  content: "\ea9b";
}
.icon-file-pdf:before {
  content: "\eadf";
  color: #ee3f24;
}
.icon-file-word:before {
  content: "\eae1";
}
.icon-file-excel:before {
  content: "\eae2";
}
.icon-libreoffice:before {
  content: "\eae3";
}
span.filedetail {
  margin-right: .25em;
}
span.filedetail > span.type {
  display: none;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 32px;
  height: 32px;
}
.d-flex {
  flex-basis: auto;
}
a {
  text-decoration: none !important;
  color: #0056b3;
}
a:active,
a.hover {
  color: #666;
  opacity: .9;
  outline: 0;
}
html {
  font-size: 62.5%;
  min-width: 320px;
}
body {
  min-width: 320px;
  min-height: 100vh;
  height: 100%;
  min-height: calc(var(--vh, 1vh) * 100);
  font-family: -apple-system, "BlinkMacSystemFont", "Custom Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Helvetica neue", Arial, Roboto, "Droid Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #fff;
  counter-reset: h3counter;
}
#container_wrapper {
  position: relative;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  height: 100%;
}
#header {
  width: 100%;
  flex-shrink: 0;
}
#header i[class^="icon-newwindow"] {
  display: none;
}
#header #headerLogo {
  height: 50px;
}
#header #headerLogo #cmarkHeader {
  padding: 5px 7px;
}
#header #headerLogo #cmarkHeader img {
  width: 112px;
}
#header #headerLogo #siteLogo {
  margin: 0;
  margin-left: 4px;
  width: 135px;
  height: 27px;
  background-image: url("sitelogoSP.png");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (-webkit-min-device-pixel-ratio: 1.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoSP@2x.png");
  }
}
@media (-webkit-min-device-pixel-ratio: 2.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoSP@3x.png");
  }
}
@media (-webkit-min-device-pixel-ratio: 3.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoSP@4x.png");
  }
}
#header #headerLogo #subMenu {
  position: absolute;
  bottom: 18px;
  right: 12px;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1;
  width: 332px;
}
#header #headerLogo #subMenu a {
  color: #000;
}
#header #headerLogo #subMenu a.hover {
  opacity: .75;
}
#header #headerLogo #subMenu a.envelope::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 1.1em;
  vertical-align: top;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 185 130'%3E%3Cg%3E%3Crect x='4' y='4' width='177' height='122' style='fill: %23fff;stroke: %237131a0;stroke-miterlimit: 10;stroke-width: 8px'/%3E%3Cpolygon points='181 5.863 93 97.13 4 5.863 181 5.863' style='fill: none;stroke: %237131a0;stroke-linecap: round;stroke-linejoin: round;stroke-width: 8px'/%3E%3C/g%3E%3C/svg%3E%0A");
}
@media (min-width: 1000px) {
  #header #headerLogo {
    position: relative;
    width: 1000px;
    height: 90px;
  }
  #header #headerLogo > a {
    position: absolute;
    left: 5px;
    bottom: 20px;
  }
  #header #headerLogo #cmarkHeader {
    padding: 5px 7px;
  }
  #header #headerLogo #siteLogo {
    width: 333px;
    height: 38px;
    margin-left: 12px;
    background-image: url("sitelogoPC.png");
  }
}
@media (min-width: 1000px) and (-webkit-min-device-pixel-ratio: 1.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoPC@2x.png");
  }
}
@media (min-width: 1000px) and (-webkit-min-device-pixel-ratio: 2.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoPC@3x.png");
  }
}
@media (min-width: 1000px) and (-webkit-min-device-pixel-ratio: 3.5) {
  #header #headerLogo #siteLogo {
    background-image: url("sitelogoPC@4x.png");
  }
}
#header #spbutton {
  width: 50px;
  height: 50px;
  background-color: #0070c0;
  border: none;
}
#header #spbutton.collapsed .navbar-toggler-icon {
  width: 30px;
  height: 30px;
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
#header #spbutton .navbar-toggler-icon {
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17.41421 17.41421"%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3EcrossLine%3C/title%3E%3Cline class="a" x1="0.70711" y1="0.70711" x2="16.70711" y2="16.70711"/%3E%3Cline class="a" x1="0.70711" y1="16.70711" x2="16.70711" y2="0.70711"/%3E%3C/svg%3E');
}
#header #mainMenu {
  background-color: #0070c0;
  z-index: 999;
}
#header #mainMenu > ul > li > a {
  color: #fff;
  padding: .5em 1.5em;
  display: block;
  line-height: 1.25;
  font-feature-settings: "palt";
}
#header #mainMenu > ul > li > a > div > span {
  visibility: visible;
  font-weight: 600;
  font-size: 1.5rem;
}
#header #mainMenu > ul > li > a > div > span br {
  display: none;
}
#header #mainMenu > ul > li.active > a {
  background-color: #fed24b;
}
#header #mainMenu > ul > li > ul {
  margin-top: .25em;
  padding-left: 1em;
  list-style-type: none;
}
#header #mainMenu > ul > li > ul > li.lv2 {
  margin-bottom: .5em;
  padding-left: 8px;
  position: relative;
}
#header #mainMenu > ul > li > ul > li.lv2::before {
  content: '└';
  position: absolute;
  color: #fff;
  top: -3px;
}
#header #mainMenu > ul > li > ul > li.lv2.active {
  padding-left: 4px;
  border-left: 4px solid #fed24b;
}
#header #mainMenu > ul > li > ul > li.lv2 > a {
  display: block;
  line-height: 1.4;
  font-size: .875em;
  margin-left: 1.5em;
  font-feature-settings: "palt";
}
#header #mainMenu > ul > li > ul > li.lv2 > a > span {
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  width: 100%;
  display: block;
}
#header #mainMenu #snsLink > li {
  margin: 0 20px;
}
#header #mainMenu #snsLink > li a {
  padding: 0;
  width: 50px;
  height: 50px;
  line-height: 1;
}
#header #mainMenu #snsLink > li a > i {
  font-size: 50px;
}
#header #mainMenu #snsLink > li a > i:before {
  color: #fff;
}
#header #mainMenu #snsLink > li a.twitter {
  padding: 10px;
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 3px;
}
#header #mainMenu #snsLink > li a.twitter > i.icon-twitter {
  font-size: 30px;
}
#header #mainMenu #snsLink > li a.twitter > i.icon-twitter:before {
  color: #0070c0;
}
@media (min-width: 1000px) {
  #header #mainMenu {
    width: 100%;
    height: 45px;
  }
  #header #mainMenu > ul {
    max-width: 1000px;
    width: 100%;
    height: 45px;
    margin: 0 auto;
  }
  #header #mainMenu > ul > li {
    overflow: visible;
    height: 45px;
    position: relative;
  }
  #header #mainMenu > ul > li > ul {
    display: none;
    position: absolute;
    margin: 0;
    padding: 0;
    background-color: #0070c0;
  }
  #header #mainMenu > ul > li > ul > li.lv2 {
    padding: 0;
    margin: 0;
  }
  #header #mainMenu > ul > li > ul > li.lv2::before {
    content: "";
  }
  #header #mainMenu > ul > li > ul > li.lv2 > a {
    margin: 0;
    padding: .5em 1em;
  }
  #header #mainMenu > ul > li > ul > li.lv2 > a.hover {
    background-color: #fed24b;
  }
  #header #mainMenu > ul > li > ul > li.lv2.active {
    padding: 0;
    border-left: none;
  }
  #header #mainMenu > ul > li > ul > li.lv2.active > a {
    background-color: #ffc107;
  }
  #header #mainMenu > ul > li:hover > ul {
    display: block;
  }
  #header #mainMenu > ul > li > a {
    display: table;
    color: #fff;
    width: 100%;
    height: 45px;
    text-align: center;
  }
  #header #mainMenu > ul > li > a.hover {
    background-color: #fed24b;
  }
  #header #mainMenu > ul > li > a > div {
    display: table-cell;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
  }
  #header #mainMenu > ul > li > a > div > span {
    display: block;
    transform-origin: 0px 0px;
    line-height: 1.35;
    font-size: 11px;
    visibility: hidden;
  }
  #header #mainMenu > ul > li > a > div > span br {
    display: inline;
  }
  #header #mainMenu > ul > li.active > a {
    background-color: #ffc107;
  }
}
#topKeyVisual {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  flex-shrink: 0;
}
#topKeyVisual .carousel-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
#topKeyVisual .carousel-indicators {
  margin-bottom: 6px;
}
#topKeyVisual .carousel-indicators,
#topKeyVisual .carousel-control-prev-icon,
#topKeyVisual .carousel-control-next-icon {
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.7));
}
#topKeyVisual .carousel-control-prev {
  justify-content: flex-start;
}
#topKeyVisual .carousel-control-next {
  justify-content: flex-end;
}
#topKeyVisual:before {
  padding-top: 33.333333%;
  content: "";
  width: 100%;
  display: block;
}
#topKeyVisual {
  max-width: 1200px;
  width: 100%;
  max-height: 400px;
  margin: 0 auto;
  flex-shrink: 0;
  flex-wrap: nowrap;
  overflow: hidden;
  position: relative;
}
#topKeyVisual .carousel-indicators {
  margin: 0;
}
#topKeyVisual .swiper-pagination-bullets {
  bottom: 0;
}
#topKeyVisual .swiper-wrapper {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
}
#topKeyVisual .swiper-wrapper li {
  list-style: none;
}
#topKeyVisual .carousel-indicators {
  margin-bottom: 6px;
}
#topKeyVisual .carousel-indicators,
#topKeyVisual .carousel-control-prev-icon,
#topKeyVisual .carousel-control-next-icon {
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.7));
}
#topKeyVisual .carousel-control-prev {
  justify-content: flex-start;
}
#topKeyVisual .carousel-control-next {
  justify-content: flex-end;
}
#topKeyVisual:before {
  padding-top: 33.333333%;
  content: "";
  width: 100%;
  display: block;
}
#ctgHeader_wrapper {
  display: block;
  position: relative;
  background-color: var(--keycolor);
  z-index: 1;
  height: 80px;
  width: 100%;
  flex-shrink: 0;
}
#ctgHeader_wrapper:after {
  content: "";
  background-image: url("header_pattern.png");
  background-repeat: repeat-x;
  background-position: 50% center;
  background-size: auto 100%;
  opacity: 0.15;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;
}
@media (-webkit-min-device-pixel-ratio: 1.5) {
  #ctgHeader_wrapper:after {
    background-image: url("header_pattern@2x.png");
  }
}
@media (-webkit-min-device-pixel-ratio: 2.5) {
  #ctgHeader_wrapper:after {
    background-image: url("header_pattern@3x.png");
  }
}
@media (-webkit-min-device-pixel-ratio: 3.5) {
  #ctgHeader_wrapper:after {
    background-image: url("header_pattern@4x.png");
  }
}
#ctgHeader_wrapper > #ctgHeader {
  width: 100%;
  height: 100%;
  max-width: 1000px;
  margin: 0 auto;
  display: table;
  word-break: keep-all;
}
#ctgHeader_wrapper > #ctgHeader br {
  display: none;
}
#ctgHeader_wrapper > #ctgHeader span {
  display: block;
}
#ctgHeader_wrapper > #ctgHeader > h2 {
  word-break: keep-all;
  position: relative;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  padding: 0 1.5em;
  display: table-cell;
  vertical-align: middle;
}
#ctgHeader_wrapper > #ctgHeader > h2 > .icon {
  position: absolute;
  top: .5em;
  right: 1em;
  width: 50px;
}
@media (min-width: 768px) {
  #ctgHeader_wrapper > #ctgHeader > h2 > .icon {
    display: inline-block;
    right: auto;
    margin-left: 1em;
  }
}
@media (min-width: 1000px) {
  #ctgHeader_wrapper > #ctgHeader > h2 > .icon {
    width: auto;
  }
}
@media (min-width: 425px) {
  #ctgHeader_wrapper > #ctgHeader {
    font-size: 1.6rem;
  }
}
@media (min-width: 576px) {
  #ctgHeader_wrapper > #ctgHeader span {
    display: inline-block;
  }
  #ctgHeader_wrapper > #ctgHeader > h2 {
    font-size: 2rem;
  }
}
@media (min-width: 768px) {
  #ctgHeader_wrapper > #ctgHeader > h2 {
    font-size: 2.2rem;
  }
}
@media (min-width: 1000px) {
  #ctgHeader_wrapper {
    height: 100px;
  }
  #ctgHeader_wrapper > #ctgHeader > h2 {
    font-size: 2.4rem;
    padding: 0 1em;
  }
}
#introtext_wrapper {
  width: 100%;
  text-align: center;
  background-color: var(--keycolor10);
  flex-shrink: 0;
}
#introtext_wrapper #introtext {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  font-size: calc(100vw / 28);
  font-weight: bold;
  padding: 1.5em;
  line-height: 1.5;
  font-feature-settings: "palt";
  word-break: keep-all;
}
#introtext_wrapper #introtext h3 {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: .75rem;
}
#introtext_wrapper #introtext p {
  margin-bottom: 0;
}
@media (min-width: 504px) {
  #introtext_wrapper #introtext {
    font-size: 1.7rem;
  }
  #introtext_wrapper #introtext:before {
    content: "";
    position: absolute;
    top: .75em;
    left: 1em;
    width: 33px;
    height: 33px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Cpolyline points='1 34 1 1 34 1' style='fill:none;stroke:%23b0b0b0;stroke-linecap:square;stroke-miterlimit:10;stroke-width:2px'/%3E%3C/svg%3E");
  }
  #introtext_wrapper #introtext:after {
    content: "";
    position: absolute;
    bottom: .75em;
    right: 1em;
    width: 33px;
    height: 33px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Cpolyline points='34 1 34 34 1 34' style='fill:none;stroke:%23b0b0b0;stroke-linecap:square;stroke-miterlimit:10;stroke-width:2px'/%3E%3C/svg%3E");
  }
}
@media (min-width: 576px) {
  #introtext_wrapper #introtext {
    display: inline-block;
    width: auto;
    min-width: 576px;
    padding: 1.5em 3em;
  }
}
@media (min-width: 768px) {
  #introtext_wrapper #introtext br {
    display: none;
  }
}
#btmSubMenu {
  margin-bottom: 24px;
  border-top: 1px solid #606060;
  border-bottom: 1px solid #606060;
}
#btmSubMenu i[class^="icon-"] {
  display: none;
}
#btmSubMenu > div {
  border-top: 1px solid #606060;
  border-bottom: 1px solid #606060;
}
#btmSubMenu > div:nth-child(2n+1) {
  border-right: 1px solid #606060;
}
#btmSubMenu > div:nth-child(-n+2) {
  border-top: none;
}
#btmSubMenu > div.last,
#btmSubMenu > div[class*="even"]:last-child,
#btmSubMenu > div[class*="odd"]:nth-last-child(2) {
  border-top: none;
  border-bottom: none;
}
#btmSubMenu > div a {
  font-size: 1.3rem;
  color: #606060;
  display: table;
  width: 100%;
}
#btmSubMenu > div a > span {
  display: table-cell;
  width: 100%;
  height: 36px;
  text-align: center;
  vertical-align: middle;
}
#btmSubMenu > div a.hover {
  background-color: #f0f0f0;
}
#footer_wrapper {
  background-color: #0070c0;
  flex-shrink: 0;
}
#footer_wrapper i[class^="icon-newwindow"] {
  display: none;
}
#footer_wrapper #footer {
  margin: 0 auto;
  padding-bottom: 4px;
  color: white;
  max-width: 1000px;
}
#footer_wrapper #footer > .address {
  padding-top: 11px;
  margin-bottom: 24px;
  font-size: 1.1rem;
  line-height: 1.3;
}
#footer_wrapper #footer > .address #FooterSnsLink {
  float: right;
}
@media (min-width: 768px) {
  #footer_wrapper #footer > .address #FooterSnsLink {
    margin-right: 48px;
  }
}
#footer_wrapper #footer > .address #FooterSnsLink > li {
  margin: 0 0 0 16px;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a {
  display: block;
  padding: 0;
  width: 32px;
  height: 32px;
  line-height: 1;
  border-radius: 2px;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a > i {
  font-size: 32px;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a > i:before {
  color: #fff;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a.twitter {
  padding: 4px;
  width: 32px;
  height: 32px;
  background-color: #fff;
  border-radius: 2px;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a.twitter > i.icon-twitter {
  font-size: 24px;
}
#footer_wrapper #footer > .address #FooterSnsLink > li a.twitter > i.icon-twitter:before {
  color: #0070c0;
}
#footer_wrapper #footer > .cmark img {
  margin-left: -4px;
  width: 147px;
}
#footer_wrapper #footer > .copyright {
  font-size: 0.8rem;
  text-align: center;
  margin-top: 10px;
}
@media (min-width: 768px) {
  #footer_wrapper {
    min-height: 90px;
  }
  #footer_wrapper #footer > .address {
    padding-top: 11px;
    margin-bottom: 12px;
    font-size: 1.1rem;
    line-height: 1.3;
  }
  #footer_wrapper #footer > .cmark img {
    margin: 0;
    margin-left: -4px;
    width: 185px;
  }
  #footer_wrapper #footer > .copyright {
    font-size: 1.1rem;
    text-align: right;
    margin-top: 0;
    padding-bottom: 2px;
  }
}
.arrow-right {
  display: inline-block;
  width: .5em;
  height: .5em;
  border: 0.1em solid;
  border-color: #565656 #565656 transparent transparent;
  transform: rotate(45deg);
  margin-right: .25em;
  vertical-align: middle;
}
#pageTop {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  overflow: hidden;
  bottom: 30px;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease, visibility .5s;
  -webkit-transition: opacity .5s ease, visibility .5s;
}
#pageTop.show {
  opacity: 1;
  visibility: visible;
}
#pageTop > a {
  display: block;
  width: 40px;
  height: auto;
  opacity: .7;
  margin-left: auto;
  margin-right: 10px;
}
#pageTop > a .box {
  background-color: black;
  border: 1px solid black;
  width: 40px;
  height: 40px;
  color: white;
  margin: 0;
  padding: 0;
}
#pageTop > a .text {
  display: block;
  padding-top: .4em;
  font-weight: bold;
  font-size: 1.2rem;
  color: #666;
  line-height: 1;
}
#pageTop > a.hover {
  opacity: .9;
}
#pageTop > a.hover .box {
  background-color: white;
  color: black;
}
#mainContent {
  max-width: 1000px;
  width: 100%;
  padding-top: 2em;
  padding-bottom: 2em;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  #mainContent {
    font-size: 1.6rem;
  }
}
#mainContent .ml-0-box > * {
  margin-left: 0 !important;
}
#mainContent img + i[class^="icon-"] {
  display: none;
}
#mainContent a.nofiledetail > span.filedetail {
  display: none;
}
#mainContent a.hover {
  text-decoration: underline !important;
}
#mainContent a.singlenesslink {
  font-feature-settings: "palt";
}
#mainContent a.singlenesslink:before {
  font-size: 1.2em;
  margin-right: .125em;
  content: "\0bb";
}
#mainContent a.biglink {
  font-size: 1.25em;
  font-feature-settings: "palt";
  display: block;
  text-align: center;
  white-space: wrap;
  background-color: var(--keycolor75);
  font-weight: bold;
  color: #fff;
  border-radius: .25em;
  padding: .5em 1em;
}
#mainContent a.biglink:hover {
  text-decoration: none !important;
  background-color: var(--keycolor25);
  color: var(--keycolor);
}
@media (min-width: 576px) {
  #mainContent a.biglink br {
    display: none;
  }
}
#mainContent button > a {
  display: block;
  font-size: 1.2em;
  font-weight: bold;
  color: #333;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0-1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
#mainContent button > a:hover {
  text-decoration: none !important;
}
#mainContent p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-indent: 1em;
}
@media (min-width: 768px) {
  #mainContent p {
    margin-left: 3.6rem;
  }
}
#mainContent .noindent {
  text-indent: 0 !important;
}
#mainContent img.spwide {
  max-width: 100% !important;
  height: auto;
}
@media (max-width: 575.98px) {
  #mainContent img.spwide {
    display: block;
    width: 100%;
  }
}
#mainContent blockquote {
  border: 2px solid var(--keycolor);
  position: relative;
  padding: 1rem;
  margin-top: 1.6em;
}
@media (min-width: 768px) {
  #mainContent blockquote {
    margin-left: 2.4em;
  }
}
#mainContent blockquote > * {
  margin-left: 0 !important;
  margin-right: 0;
}
#mainContent blockquote > *:last-child {
  margin-bottom: 0 !important;
}
#mainContent blockquote > h3:first-child {
  color: #fff;
  text-align: center;
  background-color: var(--keycolor);
  margin: -1rem -1rem 1em -1rem !important;
  padding-left: .65em;
  padding-right: .65em;
  /*
			+ * {
				margin-top: 2em;
			}
			*/
}
#mainContent blockquote > h3:first-child:before {
  display: none;
}
#mainContent blockquote > ul,
#mainContent blockquote > ol,
#mainContent blockquote > h4,
#mainContent blockquote > h5,
#mainContent blockquote > h6 {
  margin-left: 0;
  margin-top: .5em !important;
  margin-bottom: .5em !important;
}
#mainContent blockquote > h4:before {
  display: none;
}
#mainContent ol,
#mainContent ul {
  margin-bottom: 1.6rem;
  margin-left: 0;
  padding-left: 2em;
}
@media (min-width: 768px) {
  #mainContent ol,
  #mainContent ul {
    margin-left: 3.6rem;
  }
}
#mainContent ol.notes > li,
#mainContent ul.notes > li {
  list-style-type: none;
  list-style-position: outside;
  position: relative;
}
#mainContent ol.notes > li:before,
#mainContent ul.notes > li:before {
  position: absolute;
  left: -1.125em;
  content: "※";
}
#mainContent ol.keyColorCircle > li,
#mainContent ul.keyColorCircle > li {
  list-style-type: none;
  list-style-position: outside;
  position: relative;
}
#mainContent ol.keyColorCircle > li:before,
#mainContent ul.keyColorCircle > li:before {
  position: absolute;
  left: -1.125em;
  content: "●";
  color: var(--keycolor);
}
#mainContent ol.kakkosuji,
#mainContent ul.kakkosuji {
  counter-reset: li-kakkosuji 0;
}
#mainContent ol.kakkosuji > li,
#mainContent ul.kakkosuji > li {
  list-style-type: none;
  list-style-position: outside;
  counter-increment: li-kakkosuji;
  position: relative;
}
#mainContent ol.kakkosuji > li:before,
#mainContent ul.kakkosuji > li:before {
  position: absolute;
  left: -1.5em;
  content: "(" counter(li-kakkosuji) ") ";
}
#mainContent ol.marusuji,
#mainContent ul.marusuji {
  counter-reset: li-marusuji 0;
}
#mainContent ol.marusuji > li,
#mainContent ul.marusuji > li {
  list-style-type: none;
  list-style-position: outside;
  counter-increment: li-marusuji;
  position: relative;
}
#mainContent ol.marusuji > li:before,
#mainContent ul.marusuji > li:before {
  position: absolute;
  left: -1.25em;
}
#mainContent ol.marusuji > li:nth-child(1):before,
#mainContent ul.marusuji > li:nth-child(1):before {
  content: "\2460";
}
#mainContent ol.marusuji > li:nth-child(2):before,
#mainContent ul.marusuji > li:nth-child(2):before {
  content: "\2461";
}
#mainContent ol.marusuji > li:nth-child(3):before,
#mainContent ul.marusuji > li:nth-child(3):before {
  content: "\2462";
}
#mainContent ol.marusuji > li:nth-child(4):before,
#mainContent ul.marusuji > li:nth-child(4):before {
  content: "\2463";
}
#mainContent ol.marusuji > li:nth-child(5):before,
#mainContent ul.marusuji > li:nth-child(5):before {
  content: "\2464";
}
#mainContent ol.marusuji > li:nth-child(6):before,
#mainContent ul.marusuji > li:nth-child(6):before {
  content: "\2465";
}
#mainContent ol.marusuji > li:nth-child(7):before,
#mainContent ul.marusuji > li:nth-child(7):before {
  content: "\2466";
}
#mainContent ol.marusuji > li:nth-child(8):before,
#mainContent ul.marusuji > li:nth-child(8):before {
  content: "\2467";
}
#mainContent ol.marusuji > li:nth-child(9):before,
#mainContent ul.marusuji > li:nth-child(9):before {
  content: "\2468";
}
#mainContent ol.marusuji > li:nth-child(10):before,
#mainContent ul.marusuji > li:nth-child(10):before {
  content: "\2469";
}
#mainContent ol.marusuji > li:nth-child(11):before,
#mainContent ul.marusuji > li:nth-child(11):before {
  content: "\2470";
}
#mainContent ol.marusuji > li:nth-child(12):before,
#mainContent ul.marusuji > li:nth-child(12):before {
  content: "\2471";
}
#mainContent ol.marusuji > li:nth-child(13):before,
#mainContent ul.marusuji > li:nth-child(13):before {
  content: "\2472";
}
#mainContent ol.marusuji > li:nth-child(14):before,
#mainContent ul.marusuji > li:nth-child(14):before {
  content: "\2473";
}
#mainContent ol.marusuji > li:nth-child(15):before,
#mainContent ul.marusuji > li:nth-child(15):before {
  content: "\2474";
}
#mainContent ol.marusuji > li:nth-child(16):before,
#mainContent ul.marusuji > li:nth-child(16):before {
  content: "\2475";
}
#mainContent ol.marusuji > li:nth-child(17):before,
#mainContent ul.marusuji > li:nth-child(17):before {
  content: "\2476";
}
#mainContent ol.marusuji > li:nth-child(18):before,
#mainContent ul.marusuji > li:nth-child(18):before {
  content: "\2477";
}
#mainContent ol.marusuji > li:nth-child(19):before,
#mainContent ul.marusuji > li:nth-child(19):before {
  content: "\2478";
}
#mainContent ol.marusuji > li:nth-child(20):before,
#mainContent ul.marusuji > li:nth-child(20):before {
  content: "\2479";
}
#mainContent h3:not([class*="nostyle"]) {
  background-color: var(--keycolor10);
  font-size: 1.5rem;
  font-weight: bold;
  padding: .25em .15em .25em 2.25em;
  margin-bottom: 1rem;
  position: relative;
  font-feature-settings: "palt";
}
@media (min-width: 768px) {
  #mainContent h3:not([class*="nostyle"]) {
    font-size: 1.9rem;
  }
}
#mainContent h3:not([class*="nostyle"]):nth-child(n+2) {
  margin-top: 4rem;
}
#mainContent h3:not([class*="nostyle"])::before {
  content: "";
  position: absolute;
  display: flex;
  justify-content: center;
  flex-direction: column;
  vertical-align: middle;
  text-align: center;
  color: #fff;
  background-color: var(--keycolor);
  width: 1.75em;
  left: 0;
  top: 0;
  bottom: 0;
}
#mainContent h3:not([class*="nostyle"]).withNum::before {
  counter-increment: h3counter;
  content: counter(h3counter);
}
#mainContent h3:not([class*="nostyle"]).yellow {
  background-color: #fed24b;
  padding: .5em 1em;
  font-weight: bold;
  color: #333;
  text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0-1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
#mainContent h3:not([class*="nostyle"]).yellow::before {
  display: none;
}
#mainContent h3:not([class*="nostyle"]).reports {
  color: #fff;
  background-color: var(--keycolorLive);
  border-bottom: 2px solid #d58332;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: .4em .75em .25em;
  margin-bottom: .5em;
}
#mainContent h3:not([class*="nostyle"]).reports::before {
  content: "▼";
  background: inherit;
  display: inline;
  width: auto;
  position: inherit;
  vertical-align: inherit;
  margin-right: .125em;
}
#mainContent h3:not([class*="nostyle"]) + h3 {
  margin-top: 1rem !important;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]) {
  color: var(--keycolor);
  font-weight: bold;
  font-size: 1.5rem;
  margin-top: 0;
  margin-bottom: 1em;
  font-feature-settings: "palt";
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]):nth-child(n+2) {
  margin-top: 3.2rem;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]):before {
  content: '■';
  margin-right: .25em;
}
@media (min-width: 768px) {
  #mainContent h4:not([class*="card-"]):not([class*="nostyle"]) {
    font-size: 1.8rem;
    margin-left: 1.5em;
  }
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]).alt {
  color: #fff;
  background-color: var(--keycolor);
  padding: .5em 1em;
  border-radius: .25em;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]).alt:before {
  display: none;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]).halfcircle {
  color: #fff;
  margin-bottom: 4px;
  margin-left: 0;
  display: inline-block;
  position: relative;
  z-index: -1;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]).halfcircle:before {
  content: "";
  display: block;
  height: 0;
  width: 100%;
  padding-bottom: 100%;
  background-color: var(--keycolor);
  z-index: -2;
  line-height: 1.4;
  margin-bottom: calc(-60% - 1.25em);
  border-radius: 50%;
}
#mainContent h4:not([class*="card-"]):not([class*="nostyle"]).halfcircle + * {
  margin-top: 0 !important;
}
#mainContent h5:not([class*="card-"]):not([class*="nostyle"]) {
  color: var(--keycolor);
  font-weight: bold;
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 1rem;
  padding-bottom: .125em;
  font-feature-settings: "palt";
  padding-left: 1.25em;
  text-indent: -1.25em;
  border-bottom: 2px solid #d58332;
}
#mainContent h5:not([class*="card-"]):not([class*="nostyle"]):nth-child(n+2) {
  margin-top: 2rem;
}
#mainContent h5:not([class*="card-"]):not([class*="nostyle"]):before {
  content: '▼';
  margin-right: .25em;
}
@media (min-width: 768px) {
  #mainContent h5:not([class*="card-"]):not([class*="nostyle"]) {
    font-size: 1.8rem;
    margin-left: 3.6rem;
  }
}
#mainContent h5:not([class*="card-"]):not([class*="nostyle"]).alt {
  border-bottom: none;
}
#mainContent h5:not([class*="card-"]):not([class*="nostyle"]).alt:before {
  display: none;
}
#mainContent h6:not([class*="card-"]):not([class*="nostyle"]) {
  color: #333;
  font-weight: bold;
  font-size: 1.4rem;
  margin-top: 0;
  font-feature-settings: "palt";
}
#mainContent h6:not([class*="card-"]):not([class*="nostyle"]):nth-child(n+2) {
  margin-top: 2rem;
}
@media (min-width: 768px) {
  #mainContent h6:not([class*="card-"]):not([class*="nostyle"]) {
    font-size: 1.6rem;
    margin-left: 3.6rem;
  }
}
#mainContent h6:not([class*="card-"]):not([class*="nostyle"]) + table {
  margin-top: 1.5rem;
}
#mainContent h5.card-title {
  color: var(--keycolor);
  font-weight: bold;
  font-size: 1.6rem;
  margin-top: 1em;
}
#mainContent div.card-text.contact p {
  text-indent: 0;
  text-align: left;
  word-break: break-all;
  font-feature-settings: "palt";
}
#mainContent div.introtext {
  position: relative;
  width: auto;
  margin: 0 auto 1.5rem auto;
  text-align: center;
  font-size: calc(100vw / 28);
  font-weight: bold;
  padding: 1em;
  line-height: 1.5;
}
#mainContent div.introtext p {
  margin-bottom: 0;
}
#mainContent div.introtext:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 33px;
  height: 33px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Cpolyline points='1 34 1 1 34 1' style='fill:none;stroke:%23b0b0b0;stroke-linecap:square;stroke-miterlimit:10;stroke-width:2px'/%3E%3C/svg%3E");
}
#mainContent div.introtext:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 33px;
  height: 33px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Cpolyline points='34 1 34 34 1 34' style='fill:none;stroke:%23b0b0b0;stroke-linecap:square;stroke-miterlimit:10;stroke-width:2px'/%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  #mainContent div.introtext {
    font-size: 2rem;
    display: table;
    width: auto;
    min-width: 576px;
  }
}
@media (min-width: 768px) {
  #mainContent div.introtext {
    margin-left: auto;
    margin-right: auto;
  }
}
#mainContent * + div.introtext {
  margin-top: 1.5rem;
}
#mainContent div.schoolColorBox,
#mainContent p.schoolColorBox,
#mainContent h6.schoolColorBox {
  width: auto;
  font-size: 1.3rem;
  color: #fff;
  background-color: #4366b0;
  padding: .5em 1em;
  border-radius: .25em;
  font-weight: bold;
  text-align: center;
  margin: 1.5em auto .5em;
}
@media (min-width: 768px) {
  #mainContent div.schoolColorBox,
  #mainContent p.schoolColorBox,
  #mainContent h6.schoolColorBox {
    font-size: 1.6rem;
    margin-left: 3.6rem;
  }
}
#mainContent .image {
  display: table;
  margin: 1em auto 2em auto;
  text-align: left;
  min-height: 0;
}
@media (min-width: 768px) {
  #mainContent .image {
    margin-left: 3.6rem;
  }
}
#mainContent .image.align-left {
  float: left;
  margin-right: 1.5em;
  max-width: 50%;
}
#mainContent .image.align-right {
  float: right;
  margin-left: 1.5em;
  margin-right: 0;
  max-width: 50%;
}
#mainContent .image.align-center {
  margin: 1em auto 2em auto;
}
@media (min-width: 768px) {
  #mainContent .image.align-center {
    margin-left: 3.6rem;
  }
}
#mainContent .image.align-center img {
  margin: 0 auto;
}
#mainContent .image img {
  display: block;
  width: 100%;
}
#mainContent .image img:not([class*="nozoom"]) {
  cursor: url('plus_cursor.png') 25 25, zoom-in;
}
@media (max-width: 575.98px) {
  #mainContent .image {
    max-width: 100% !important;
    margin: 1em 0 !important;
    float: none !important;
  }
  #mainContent .image img {
    width: 100%;
    max-width: 100% !important;
  }
}
#mainContent .image figcaption {
  position: relative;
  font-weight: 600;
  text-align: left;
  padding: 1em 0 0 1em;
  font-feature-settings: "palt";
  line-height: 1.1;
  display: table-caption;
  caption-side: bottom;
  margin-top: .25em;
  min-height: 3em;
  word-break: keep-all;
  /* Firefox */
}
@-moz-document url-prefix() {
  #mainContent .image figcaption {
    word-break: normal;
  }
}
#mainContent .image figcaption:before {
  content: "";
  position: absolute;
  top: .0;
  left: 0;
  background-color: var(--keycolor10);
  width: 3em;
  height: 3em;
  border-radius: 1.5em;
  z-index: -1;
}
#mainContent .image.captionTop figcaption {
  caption-side: top;
  margin-bottom: .25em;
}
#mainContent table {
  margin-top: 2rem;
  margin-bottom: 1rem;
  width: 100%;
  border: none;
  table-layout: auto;
}
#mainContent table td,
#mainContent table th {
  padding: .25em .5em;
  border: 1px solid var(--keycolor50);
  line-height: 1.5;
}
#mainContent table td:first-child,
#mainContent table th:first-child {
  border-left: none;
}
#mainContent table td:last-child,
#mainContent table th:last-child {
  border-right: none;
}
#mainContent table td p,
#mainContent table th p {
  margin-left: 0;
}
#mainContent table td > .image,
#mainContent table th > .image {
  margin-top: 0;
  margin-bottom: 1em;
  margin-left: 0 !important;
  margin-right: auto !important;
}
#mainContent table th {
  background-color: var(--keycolor25);
}
#mainContent table tr:nth-child(odd) {
  background-color: #fff;
}
#mainContent table tr:nth-child(even) {
  background-color: var(--keycolor10);
}
#mainContent table.white tr {
  background-color: #fff !important;
}
#mainContent table thead tr {
  background-color: #fff !important;
}
#mainContent table thead td {
  background-color: transparent;
}
#mainContent table thead th {
  background-color: var(--keycolor);
  color: #fff;
  font-weight: bold;
}
#mainContent table tfoot td,
#mainContent table tfoot th {
  border-top-width: 3px;
  border-top-style: double;
  font-weight: bold;
}
#mainContent table.phototable {
  border: none !important;
  width: auto;
  margin-right: -0.5em;
  margin: 0 0 1em 0;
}
#mainContent table.phototable > tbody > tr {
  background-color: transparent !important;
}
#mainContent table.phototable > tbody > tr > td,
#mainContent table.phototable > tbody > tr > th {
  padding: 0 1em .5em 0 !important;
  border: none !important;
  vertical-align: top;
}
#mainContent table.phototable > tbody > tr > td .image,
#mainContent table.phototable > tbody > tr > th .image {
  margin: 0 auto 0 auto !important;
  float: none;
}
@media (max-width: 575.98px) {
  #mainContent table.phototable > tbody > tr > td,
  #mainContent table.phototable > tbody > tr > th {
    display: block;
    width: 100% !important;
    padding: 0 !important;
  }
  #mainContent table.phototable > tbody > tr > td .image,
  #mainContent table.phototable > tbody > tr > th .image {
    margin: 1em 0 !important;
  }
}
#mainContent table.phototable + * {
  margin-top: 0;
}
#mainContent table.transparent {
  border: none !important;
  width: auto;
  margin: 0 0 1em 0 !important;
}
#mainContent table.transparent > tbody > tr {
  background-color: transparent !important;
  border: none !important;
}
#mainContent table.transparent > tbody > tr > td,
#mainContent table.transparent > tbody > tr > th {
  padding: 0 !important;
  border: none !important;
  vertical-align: top;
}
#mainContent table.transparent > tbody > tr > td .image,
#mainContent table.transparent > tbody > tr > th .image {
  margin: 0 1em 2em !important;
  float: none;
}
#mainContent table.transparent + * {
  margin-top: 0;
}
@media screen and (max-width: 999.98px) {
  #mainContent div.table-scroll {
    overflow-x: scroll;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    margin-top: 2rem;
    margin-bottom: 1rem;
  }
  #mainContent div.table-scroll > table {
    margin: 0 auto 0 0;
    margin-bottom: .25rem;
    width: auto;
    min-width: 100%;
    max-width: 980px;
  }
  #mainContent div.table-scroll > table th {
    white-space: nowrap;
  }
  #mainContent div.table-scroll > table th,
  #mainContent div.table-scroll > table td {
    width: auto;
    max-width: 20em;
    min-width: 5em;
  }
  #mainContent div.table-scroll::-webkit-scrollbar {
    height: 5px;
  }
  #mainContent div.table-scroll::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #f0f0f0;
  }
  #mainContent div.table-scroll::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #ccc;
  }
}
#mainContent > div.row *:not([class*="icon-"]) {
  margin-left: 0;
  margin-right: 0;
}
#mainContent .p-margin-left {
  margin-left: 0;
}
@media (min-width: 768px) {
  #mainContent .p-margin-left {
    margin-left: 3.6rem !important;
    width: calc(100% - 3.6rem) !important;
  }
}
figcaption > h1 {
  font-size: 1.6rem !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#mainContent #topicsBlock .topicsList,
#mainContent #eventsBlock .topicsList,
#mainContent #archiveBlock .topicsList,
#mainContent #reportsBlock .topicsList,
#mainContent #topicsBlock .eventsList,
#mainContent #eventsBlock .eventsList,
#mainContent #archiveBlock .eventsList,
#mainContent #reportsBlock .eventsList,
#mainContent #topicsBlock .reportsList,
#mainContent #eventsBlock .reportsList,
#mainContent #archiveBlock .reportsList,
#mainContent #reportsBlock .reportsList {
  padding-left: 0 !important;
  list-style: none;
}
#mainContent #topicsBlock .topicsList li,
#mainContent #eventsBlock .topicsList li,
#mainContent #archiveBlock .topicsList li,
#mainContent #reportsBlock .topicsList li,
#mainContent #topicsBlock .eventsList li,
#mainContent #eventsBlock .eventsList li,
#mainContent #archiveBlock .eventsList li,
#mainContent #reportsBlock .eventsList li,
#mainContent #topicsBlock .reportsList li,
#mainContent #eventsBlock .reportsList li,
#mainContent #archiveBlock .reportsList li,
#mainContent #reportsBlock .reportsList li {
  background-color: #f9f9f9;
  margin-bottom: 3px;
  padding: .25em .5em .25em 1em;
  font-feature-settings: "palt";
}
#mainContent #topicsBlock .topicsList li .pagetitle,
#mainContent #eventsBlock .topicsList li .pagetitle,
#mainContent #archiveBlock .topicsList li .pagetitle,
#mainContent #reportsBlock .topicsList li .pagetitle,
#mainContent #topicsBlock .eventsList li .pagetitle,
#mainContent #eventsBlock .eventsList li .pagetitle,
#mainContent #archiveBlock .eventsList li .pagetitle,
#mainContent #reportsBlock .eventsList li .pagetitle,
#mainContent #topicsBlock .reportsList li .pagetitle,
#mainContent #eventsBlock .reportsList li .pagetitle,
#mainContent #archiveBlock .reportsList li .pagetitle,
#mainContent #reportsBlock .reportsList li .pagetitle {
  line-height: 1.4;
}
#mainContent #topicsBlock .topicsList li .pagetitle .new,
#mainContent #eventsBlock .topicsList li .pagetitle .new,
#mainContent #archiveBlock .topicsList li .pagetitle .new,
#mainContent #reportsBlock .topicsList li .pagetitle .new,
#mainContent #topicsBlock .eventsList li .pagetitle .new,
#mainContent #eventsBlock .eventsList li .pagetitle .new,
#mainContent #archiveBlock .eventsList li .pagetitle .new,
#mainContent #reportsBlock .eventsList li .pagetitle .new,
#mainContent #topicsBlock .reportsList li .pagetitle .new,
#mainContent #eventsBlock .reportsList li .pagetitle .new,
#mainContent #archiveBlock .reportsList li .pagetitle .new,
#mainContent #reportsBlock .reportsList li .pagetitle .new {
  margin-left: .5em;
  line-height: 1;
}
#mainContent #topicsBlock .topicsList li .date,
#mainContent #eventsBlock .topicsList li .date,
#mainContent #archiveBlock .topicsList li .date,
#mainContent #reportsBlock .topicsList li .date,
#mainContent #topicsBlock .eventsList li .date,
#mainContent #eventsBlock .eventsList li .date,
#mainContent #archiveBlock .eventsList li .date,
#mainContent #reportsBlock .eventsList li .date,
#mainContent #topicsBlock .reportsList li .date,
#mainContent #eventsBlock .reportsList li .date,
#mainContent #archiveBlock .reportsList li .date,
#mainContent #reportsBlock .reportsList li .date {
  text-align: left;
  font-size: 1.3rem;
}
#mainContent #topicsBlock .topicsList li .desc,
#mainContent #eventsBlock .topicsList li .desc,
#mainContent #archiveBlock .topicsList li .desc,
#mainContent #reportsBlock .topicsList li .desc,
#mainContent #topicsBlock .eventsList li .desc,
#mainContent #eventsBlock .eventsList li .desc,
#mainContent #archiveBlock .eventsList li .desc,
#mainContent #reportsBlock .eventsList li .desc,
#mainContent #topicsBlock .reportsList li .desc,
#mainContent #eventsBlock .reportsList li .desc,
#mainContent #archiveBlock .reportsList li .desc,
#mainContent #reportsBlock .reportsList li .desc {
  color: #444;
  font-size: calc(14em / 15);
  text-indent: -1em;
  padding-left: 1em;
}
#mainContent #topicsBlock .topicsList li .desc:before,
#mainContent #eventsBlock .topicsList li .desc:before,
#mainContent #archiveBlock .topicsList li .desc:before,
#mainContent #reportsBlock .topicsList li .desc:before,
#mainContent #topicsBlock .eventsList li .desc:before,
#mainContent #eventsBlock .eventsList li .desc:before,
#mainContent #archiveBlock .eventsList li .desc:before,
#mainContent #reportsBlock .eventsList li .desc:before,
#mainContent #topicsBlock .reportsList li .desc:before,
#mainContent #eventsBlock .reportsList li .desc:before,
#mainContent #archiveBlock .reportsList li .desc:before,
#mainContent #reportsBlock .reportsList li .desc:before {
  content: "››";
  font-weight: bold;
  color: var(--keycolor);
  text-align: center;
  display: inline-block;
  width: 1em;
  text-indent: 0;
}
#mainContent #topicsBlock .topicsList li a .filedetail,
#mainContent #eventsBlock .topicsList li a .filedetail,
#mainContent #archiveBlock .topicsList li a .filedetail,
#mainContent #reportsBlock .topicsList li a .filedetail,
#mainContent #topicsBlock .eventsList li a .filedetail,
#mainContent #eventsBlock .eventsList li a .filedetail,
#mainContent #archiveBlock .eventsList li a .filedetail,
#mainContent #reportsBlock .eventsList li a .filedetail,
#mainContent #topicsBlock .reportsList li a .filedetail,
#mainContent #eventsBlock .reportsList li a .filedetail,
#mainContent #archiveBlock .reportsList li a .filedetail,
#mainContent #reportsBlock .reportsList li a .filedetail {
  font-size: calc(12em / 15);
}
#mainContent #topicsBlock .topicsList li.dummy,
#mainContent #eventsBlock .topicsList li.dummy,
#mainContent #archiveBlock .topicsList li.dummy,
#mainContent #reportsBlock .topicsList li.dummy,
#mainContent #topicsBlock .eventsList li.dummy,
#mainContent #eventsBlock .eventsList li.dummy,
#mainContent #archiveBlock .eventsList li.dummy,
#mainContent #reportsBlock .eventsList li.dummy,
#mainContent #topicsBlock .reportsList li.dummy,
#mainContent #eventsBlock .reportsList li.dummy,
#mainContent #archiveBlock .reportsList li.dummy,
#mainContent #reportsBlock .reportsList li.dummy {
  height: 0;
  padding: 0;
}
#mainContent #topicsBlock div.archive,
#mainContent #eventsBlock div.archive,
#mainContent #archiveBlock div.archive,
#mainContent #reportsBlock div.archive {
  text-align: right;
}
#mainContent #topicsBlock div.archive a,
#mainContent #eventsBlock div.archive a,
#mainContent #archiveBlock div.archive a,
#mainContent #reportsBlock div.archive a {
  font-weight: normal;
  padding-left: .75em;
  padding-right: .75em;
  display: inline-block;
  color: #fff;
  font-size: 1.0667em;
}
#mainContent #topicsBlock div.archive a.hover,
#mainContent #eventsBlock div.archive a.hover,
#mainContent #archiveBlock div.archive a.hover,
#mainContent #reportsBlock div.archive a.hover {
  text-decoration: none !important;
  opacity: .75;
}
#mainContent #reportsBlock {
  margin: 3rem 0;
}
#mainContent #reportsBlock ul.reportsList {
  margin-left: 0;
  border: 2px solid var(--keycolorLive);
}
#mainContent #reportsBlock ul.reportsList > li {
  display: none;
  padding-top: .5em;
  padding-bottom: .5em;
  margin-bottom: 0;
  background-color: #fff;
}
#mainContent #reportsBlock ul.reportsList > li.show {
  display: list-item;
  animation-name: fadein;
  animation-duration: 1s;
  margin-bottom: 3px;
}
#mainContent #reportsBlock ul.reportsList > li.show.bk {
  background-color: var(--keycolor5Live);
}
#mainContent #reportsBlock #reportsYears {
  margin: 0;
  padding: 0;
  list-style: none;
  white-space: nowrap;
  overflow-x: auto;
  font-size: 0;
  line-height: 1;
}
#mainContent #reportsBlock #reportsYears > li {
  display: inline-block;
  margin-right: .5em;
  font-size: 1.5rem;
}
#mainContent #reportsBlock #reportsYears > li:last-child {
  margin-right: 0;
}
#mainContent #reportsBlock #reportsYears > li > a {
  display: block;
  padding: .75em 1em .5em;
  line-height: 1;
  color: #fff;
  background-color: var(--keycolor50Live);
  opacity: .8;
  text-decoration: none !important;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
#mainContent #reportsBlock #reportsYears > li > a > span.yt {
  font-size: .8em;
}
#mainContent #reportsBlock #reportsYears > li > a.hover {
  background-color: var(--keycolor90Live) !important;
  opacity: .9 !important;
}
#mainContent #reportsBlock #reportsYears > li.active > a {
  background-color: var(--keycolor75Live);
  opacity: 1;
}
#mainContent #archiveBlock ul.topicsList li {
  display: none;
}
#mainContent #archiveBlock ul.topicsList li.show {
  display: list-item;
  animation-name: fadein;
  animation-duration: 1s;
  margin-bottom: 3px;
}
#mainContent #archiveYears {
  list-style: none;
  padding: .25em;
  border: 2px solid #fff;
  border-color: var(--keycolor);
  background-color: var(--keycolor10);
  white-space: nowrap;
  overflow-x: auto;
}
#mainContent #archiveYears > li {
  font-size: 1.5rem;
  display: inline-block;
}
#mainContent #archiveYears > li > a {
  display: block;
  padding: .125em .5em;
  line-height: 1;
  border-right: 1px solid;
  border-right-color: var(--keycolor);
}
#mainContent #archiveYears > li.active {
  font-weight: bold;
}
#mainContent #archiveYears > li:last-child > a {
  border-right: none;
}
@media (min-width: 768px) {
  #mainContent #archiveYears {
    border: none;
    background: none;
    white-space: normal;
    overflow: hidden;
  }
  #mainContent #archiveYears > li {
    display: list-item;
  }
  #mainContent #archiveYears > li > a {
    border: none;
    display: inline;
    padding: 0;
    line-height: inherit;
  }
}
@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#mainContent #ProgramSteps {
  margin-bottom: 3rem;
}
#mainContent #ProgramSteps .stepA {
  margin-bottom: 1px;
  padding-bottom: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='95px' height='13px'%3E%3Cpath fill-rule='evenodd' fill='rgb(247, 156, 80)' d='M47.503,12.995 L0.003,0.004 L95.004,0.004 L47.503,12.995 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom center;
}
#mainContent #ProgramSteps .stepA > div > h5 {
  color: #f79c50;
}
#mainContent #ProgramSteps .stepA > div > h5 .sub {
  font-size: .9em;
}
#mainContent #ProgramSteps .stepB {
  margin-bottom: 1px;
  padding-bottom: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='95px' height='13px'%3E%3Cpath fill-rule='evenodd' fill='rgb(75,172,198)' d='M47.503,12.995 L0.003,0.004 L95.004,0.004 L47.503,12.995 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom center;
}
#mainContent #ProgramSteps .stepB > div {
  border-color: #4bacc6;
}
#mainContent #ProgramSteps .stepB > div > h5 {
  color: #4bacc6;
}
#mainContent #ProgramSteps .stepB > div > h5 .sub {
  font-size: .9em;
}
#mainContent #ProgramSteps .stepC > div {
  border-color: #f806d5;
}
#mainContent #ProgramSteps .stepC > div > h5 {
  color: #f806d5;
}
#mainContent #ProgramSteps .stepC > div > h5 .sub {
  font-size: .9em;
}
@media (min-width: 1000px) {
  #mainContent #ProgramSteps .stepA {
    padding-bottom: 0;
    margin-bottom: 0;
    padding-right: 13px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='13px' height='95px'%3E%3Cpath fill-rule='evenodd' fill='rgb(247, 156, 80)' d='M12.995,47.497 L0.004,94.997 L0.004,-0.004 L12.995,47.497 Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center right;
  }
  #mainContent #ProgramSteps .stepB {
    padding-bottom: 0;
    margin-bottom: 0;
    padding-right: 13px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='13px' height='95px'%3E%3Cpath fill-rule='evenodd' fill='rgb(75,172,198)' d='M12.995,47.497 L0.004,94.997 L0.004,-0.004 L12.995,47.497 Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center right;
  }
}
#mainContent #ProgramSteps > div > div {
  padding: 1.25em 1em 1.25em 1em;
  border: 5px solid #f79c50;
  border-radius: 3em;
  height: 100%;
  width: 100%;
}
#mainContent #ProgramSteps > div > div h5 {
  padding-left: 0;
  border: none;
  margin-bottom: .75em;
}
#mainContent #ProgramSteps > div > div h5:before {
  content: "";
  display: none;
}
#mainContent #ProgramSteps > div > div * {
  margin: 0;
  text-indent: 0;
  line-height: 1.5;
}
#mainContent #ProgramSteps > div > div ul,
#mainContent #ProgramSteps > div > div ol {
  padding-left: 1.25em;
  margin-bottom: 0;
}
#mainContent #programListCarousel {
  margin-bottom: 2em;
}
@media (min-width: 768px) {
  #mainContent #programListCarousel {
    margin-bottom: 3em;
  }
}
@media (min-width: 768px) {
  #mainContent #programListCarousel #programList {
    overflow: hidden;
    flex-wrap: nowrap;
  }
}
#mainContent #programListCarousel #programList * {
  margin-left: 0;
  margin-right: 0;
}
#mainContent #programListCarousel #programList div.programCard {
  border-width: 2px;
  border-style: solid;
  border-radius: 8px;
  padding: 2px;
  width: 100%;
}
#mainContent #programListCarousel #programList div.programCard > a {
  border-radius: 6px;
  padding: 6px;
}
#mainContent #programListCarousel #programList div.programCard > a > h6 {
  font-size: 1.2rem;
  color: #fff;
  padding: .25em 0 .25em 1em;
  width: 50%;
  text-align: left;
}
#mainContent #programListCarousel #programList div.programCard > a > h6 > span {
  display: block;
  text-shadow: 1px 1px 0 #633d21, -1px -1px 0 #633d21, -1px 1px 0 #633d21, 1px -1px 0 #633d21, 0px 1px 0 #633d21, 0-1px 0 #633d21, -1px 0 0 #633d21, 1px 0 0 #633d21;
  word-break: keep-all;
}
@media (min-width: 576px) {
  #mainContent #programListCarousel #programList div.programCard > a > h6 {
    font-size: 1.4rem;
    text-align: center;
    padding: .25em 0;
    width: 100%;
    line-height: 1.1;
  }
  #mainContent #programListCarousel #programList div.programCard > a > h6 > span {
    white-space: nowrap;
    height: 16px;
    overflow: visible;
  }
  #mainContent #programListCarousel #programList div.programCard > a > h6 br {
    display: none;
  }
}
#mainContent #programListCarousel #programList div.programCard > a .image {
  margin: 0 !important;
  overflow: hidden;
  height: 0;
  padding-bottom: 59.09%;
  display: block;
  position: relative;
}
#mainContent #programListCarousel #programList div.programCard > a .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#mainContent #programListCarousel #programList div.programCard > a.hover {
  text-decoration: none !important;
  opacity: .75;
  cursor: pointer;
}
/* for IE */
@media all and (-ms-high-contrast: none) {
  body {
    font-family: 'Meiryo UI', "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  #mainMenu > ul > li > a > div > span {
    font-weight: normal;
  }
  #mainContent .image img:not([class*="nozoom"]) {
    cursor: url('plus_cursor.cur'), auto !important;
  }
  /* 						
	#container_wrapper{
		height:100vh;
		> div.container {
			padding-bottom:3em;
		}
	}
*/
}
#mainContent.mce-content-body div > a > img {
  width: auto !important;
}
#mainContent.mce-content-body table.phototable > tbody > tr > td,
#mainContent.mce-content-body table.transparent > tbody > tr > td,
#mainContent.mce-content-body table.phototable > tbody > tr > th,
#mainContent.mce-content-body table.transparent > tbody > tr > th {
  border: 1px dashed #cccccc !important;
}
