/* CSS Document */
:root {
  --bs-body-line-height: 1.2;
  --tmuKeycolor01: #4366b0;
  --typoLogoHeight: 140px;
}
/* chrome */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  body {
    image-rendering: -webkit-optimize-contrast;
  }
  body img[src$=png] {
    image-rendering: auto;
  }
}
/* yakuhanjp */
/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */
/*! Type: YakuHanJPs - Based on Noto Sans CJK JP */
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Black.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Black.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Black.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
/*! Yaku Han JP v3.4.1 (OFL-1.1 AND MIT) by Qrac */
/*! Type: YakuHanJPs_Narrow - Based on Noto Sans CJK JP */
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Thin.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Light.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-DemiLight.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Regular.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Medium.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
@font-face {
  font-family: "YakuHanJPs_Narrow";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.eot");
  src: url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff2") format("woff2"), url("/assets/templates/ver2022/fonts/YakuHanJPs/YakuHanJPs-Bold.woff") format("woff");
  unicode-range: U+3008, U+3009, U+300a, U+300b, U+300c, U+300d, U+300e, U+300f, U+3010, U+3011, U+3014, U+3015, U+ff08, U+ff09, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}
/* pt-serif-regular - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-serif-italic - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-serif-700 - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* pt-serif-700italic - latin */
@font-face {
  font-family: 'PT Serif';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-700italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/pt-serif/pt-serif-v12-latin-700italic.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-200 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-200.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-300 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-300.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-regular - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-500 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-500.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-600 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-600.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-700 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-700.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* noto-serif-jp-900 - latin_japanese */
@font-face {
  font-family: 'Noto Serif Dummy JP';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local(''), url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-900.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('/assets/templates/ver2022/fonts/noto-serif-jp/noto-serif-jp-v19-latin_japanese-900.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@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: 600;
}
/* utilities */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
}
.icon > use {
  width: 100%;
  height: 100%;
}
.addIcon {
  display: inline-block;
  width: 1em;
  height: 1em;
  stroke-width: 0;
  stroke: currentColor;
  fill: currentColor;
  vertical-align: middle;
  margin-left: 0.25em;
  margin-right: 0.125em;
}
.addIcon > use {
  width: 100%;
  height: 100%;
}
.filedetail {
  white-space: nowrap;
}
.filedetail .addIcon {
  margin-bottom: 0.125em;
  margin-left: 0;
}
.icon-twitter {
  font-size: 32px;
  color: #1D9BF0;
}
.icon-youtube {
  font-size: 32px;
  color: #ff0000;
}
.icon-arrow-r {
  width: 1.33105469em;
}
.link a {
  display: inline-flex;
  align-items: center;
  color: #1e1e1e;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid #1e1e1e;
}
.link.otherLink .arrow-r {
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.125em;
}
.justify-setting-sp {
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.justify-setting {
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.card .filedetail {
  display: block;
  position: absolute;
  flex-shrink: 0;
  bottom: 0.5rem;
  right: 1rem;
  margin: 0;
  text-align: right;
  white-space: nowrap;
  font-size: 1.3rem;
}
.bg-gray {
  background-color: #f4f5f6;
}
.none {
  display: none;
}
.mt-big {
  margin-top: 4rem !important;
}
.mb-big {
  margin-bottom: 4rem !important;
}
.ms-big {
  margin-left: 4rem !important;
}
.me-big {
  margin-right: 4rem !important;
}
@media (min-width: 1024px) {
  .mt-big {
    margin-top: 8rem !important;
  }
  .mb-big {
    margin-bottom: 8rem !important;
  }
  .ms-big {
    margin-left: 8rem !important;
  }
  .me-big {
    margin-right: 8rem !important;
  }
}
.m-bestView {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .m-bestView {
    padding: 0 max(90px,( 100% - 1080px ) / 2);
  }
}
.mr-bestView {
  padding: 0 15px;
  z-index: 2;
}
@media (min-width: 768px) {
  .mr-bestView {
    padding-left: 0;
    padding-right: max(90px,( 100% - 1080px ) / 2);
  }
}
.opacityTo75 {
  opacity: 1;
  transition: opacity 0.75s;
}
.opacityTo75.hover {
  opacity: 0.75 !important;
  text-decoration: none !important;
}
.fadeZoom.hover {
  transform: scale(1.05) 0.75s !important;
}
.bgFadeToPC {
  color: inherit;
  transition: color 0.1s, background-color 0.75s;
}
.bgFadeToPC.active,
.bgFadeToPC.hover {
  color: white !important;
  background-color: var(--tmuKeycolor01) !important;
}
.bgFadeToPC.active img.scale,
.bgFadeToPC.hover img.scale {
  transform: scale(1.05) !important;
}
.fadeToPC {
  color: inherit;
  transition: color 0.75s;
}
.fadeToPC svg {
  transition: fill 0.75s, stroke 0.75s;
}
.fadeToPC img.scale {
  transition: transform 0.75s;
}
.fadeToPC.active,
.fadeToPC.hover {
  color: #4366b0 !important;
  text-decoration: none !important;
}
.fadeToPC.active svg,
.fadeToPC.hover svg {
  fill: #4366b0 !important;
  stroke: #4366b0 !important;
}
.fadeToPC.active img.scale,
.fadeToPC.hover img.scale {
  transform: scale(1.05) !important;
}
.fadeToKC {
  color: inherit;
  transition: color 0.75s;
}
.fadeToKC svg {
  transition: fill 0.75s, stroke 0.75s;
}
.fadeToKC img.scale {
  transition: transform 0.75s;
}
.fadeToKC.active,
.fadeToKC.hover {
  color: var(--tmuKeycolor01) !important;
  text-decoration: none !important;
}
.fadeToKC.active svg,
.fadeToKC.hover svg {
  fill: var(--tmuKeycolor01) !important;
  stroke: var(--tmuKeycolor01) !important;
}
.fadeToKC.active img.scale,
.fadeToKC.hover img.scale {
  transform: scale(1.05) !important;
}
.fadeIn {
  animation: fadeIn 0.3s ease-in 0s forwards;
}
.fadeOut {
  animation: fadeOut 0.3s ease-in 0s forwards;
  animation-fill-mode: forwards;
}
.sans {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
}
.jp-300 {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 300;
}
.jp-500 {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.jp-600 {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.min-600 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
}
.en-pt {
  font-family: 'PT Serif', serif;
  font-weight: 400;
}
/*.ratio {
  > img.hmode {
    width: auto;
    height: 100%;
    top:0;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
  }
}*/
.ratio img {
  object-fit: cover;
}
.ratio-3x2 {
  --bs-aspect-ratio: calc(2 / 3 * 100%);
}
@media (min-width: 576px) {
  .ratio-sm-3x2 {
    --bs-aspect-ratio: calc(2 / 3 * 100%);
  }
}
@media (min-width: 768px) {
  .ratio-md-3x2 {
    --bs-aspect-ratio: calc(2 / 3 * 100%);
  }
}
@media (min-width: 1024px) {
  .ratio-lg-3x2 {
    --bs-aspect-ratio: calc(1 / 3 * 100%);
  }
}
.ratio-3x1 {
  --bs-aspect-ratio: calc(1 / 3 * 100%);
}
@media (min-width: 576px) {
  .ratio-sm-3x1 {
    --bs-aspect-ratio: calc(1 / 3 * 100%);
  }
}
@media (min-width: 768px) {
  .ratio-md-3x1 {
    --bs-aspect-ratio: calc(1 / 3 * 100%);
  }
}
@media (min-width: 1024px) {
  .ratio-lg-3x1 {
    --bs-aspect-ratio: calc(1 / 3 * 100%);
  }
}
.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}
@media (min-width: 576px) {
  .ratio-sm-1x1 {
    --bs-aspect-ratio: 100%;
  }
}
@media (min-width: 768px) {
  .ratio-md-1x1 {
    --bs-aspect-ratio: 100%;
  }
}
@media (min-width: 1024px) {
  .ratio-lg-1x1 {
    --bs-aspect-ratio: 100%;
  }
}
.ratio-A4paper {
  --bs-aspect-ratio: calc(1.41421356 / 1 * 100%);
}
@media (min-width: 576px) {
  .ratio-sm-A4paper {
    --bs-aspect-ratio: calc(1.41421356 / 1 * 100%);
  }
}
@media (min-width: 768px) {
  .ratio-md-A4paper {
    --bs-aspect-ratio: calc(1.41421356 / 1 * 100%);
  }
}
@media (min-width: 1024px) {
  .ratio-lg-A4paper {
    --bs-aspect-ratio: calc(1.41421356 / 1 * 100%);
  }
}
a.popup-image {
  display: inline-block;
}
/* 2015 compatibility  */
.justifyleft {
  text-align: left;
}
.justifyright {
  text-align: right;
}
.wrapclear {
  clear: both;
}
.wrapkeep {
  clear: none;
}
.nowrap {
  white-space: nowrap;
}
#content2022 .justifyleft {
  text-align: left;
}
#content2022 .justifyright {
  text-align: right;
}
#content2022 .wrapclear {
  clear: both;
}
#content2022 .wrapkeep {
  clear: none;
}
#content2022 .nowrap {
  white-space: nowrap;
}
#content2022 table td.valign-middle,
#content2022 table th.valign-middle {
  vertical-align: middle;
}
#content2022 table.hiddenTbl {
  width: auto !important;
  border: none !important;
  background: none !important;
  margin-left: 0;
  margin-right: auto;
}
#content2022 table.hiddenTbl td,
#content2022 table.hiddenTbl th {
  border: none !important;
  background: none !important;
  vertical-align: top;
  text-align: left;
  font-size: inherit;
}
#content2022 table.hiddenTbl td img,
#content2022 table.hiddenTbl th img {
  max-width: none !important;
}
#content2022 table.photoTbl {
  width: 100% !important;
  border: none !important;
  background: none !important;
  margin: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}
#content2022 table.photoTbl td,
#content2022 table.photoTbl th {
  border: none !important;
  background: none !important;
  vertical-align: top;
  text-align: left;
  display: block;
  font-size: 1.2rem;
  color: #979899;
}
#content2022 table.photoTbl td a.popup-image,
#content2022 table.photoTbl th a.popup-image {
  width: 100%;
}
#content2022 table.photoTbl td img,
#content2022 table.photoTbl th img {
  width: 100%;
  height: auto;
  margin-bottom: 0.5em;
  max-width: none !important;
}
@media (min-width: 768px) {
  #content2022 table.photoTbl tr {
    --easy-grid-width: 240px;
    display: grid;
    column-gap: 16px;
    row-gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(var(--easy-grid-width), 1fr));
  }
  #content2022 table.photoTbl tr > td,
  #content2022 table.photoTbl tr th {
    overflow: hidden;
  }
  #content2022 table.photoTbl tr > td img,
  #content2022 table.photoTbl tr th img {
    object-fit: cover;
  }
}
#content2022 table.nopopup,
#content2022 table.nozoom {
  width: auto;
}
#content2022 .nomark {
  list-style: none !important;
  padding-left: 0;
}
#content2022 .nomark::before {
  display: none;
}
#content2022 .accordion-button::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpolygon points='16 7.25 8.75 7.25 8.75 0 7.25 0 7.25 7.25 0 7.25 0 8.75 7.25 8.75 7.25 16 8.75 16 8.75 8.75 16 8.75 16 7.25' style='fill:%231e1e1e'/%3e%3c/svg%3e");
  width: 1.6rem;
  height: 1.6rem;
  background-size: 1.6rem;
}
#content2022 .accordion-button:not(.collapsed)::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3crect y='7.25' width='16' height='1.5' style='fill:%231e1e1e'/%3e%3crect width='16' height='16' style='fill:none'/%3e%3c/svg%3e");
}
/* select-css */
.select-css {
  display: block;
  font-size: 1.6rem;
  font-weight: 400;
  color: #1e1e1e;
  line-height: 1.3;
  padding: 1.7rem 3.6rem 1.7rem 2.2rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  border: 1px solid transparent;
  box-shadow: 0 1px 0 1px rgba(0, 0, 0, 0.04);
  border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #f4f5f6;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTE2IDB2MTZIMFYweiIvPjxwYXRoIGQ9Ik0zLjQyOCA2LjI4NiA4IDEwLjg1N2w0LjU3MS00LjU3MSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWUxZTFlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: right 2rem top 50%;
  background-size: 1.6rem auto;
  z-index: 1;
  text-overflow: ellipsis;
}
@media (min-width: 1024px) {
  .select-css {
    font-size: 1.6rem;
    padding: 2rem 4rem 2rem 2.5rem;
  }
}
.select-css option {
  font-weight: normal;
  text-overflow: ellipsis;
}
.select-css::-ms-expand {
  display: none;
}
.select-css:hover {
  border-color: #888;
}
.select-css:focus {
  border-color: #aaa;
  box-shadow: 0 0 1px 3px rgba(59, 153, 252, 0.7);
  box-shadow: 0 0 0 3px -moz-mac-focusring;
  color: #222;
  outline: none;
}
.select-css:disabled {
  opacity: 0.5;
}
/* lazy loading blur up */
.blur-up {
  -webkit-filter: blur(5px);
  filter: blur(5px);
  transition: filter 400ms, -webkit-filter 400ms;
}
.blur-up.lazyloaded {
  -webkit-filter: blur(0);
  filter: blur(0);
}
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: none;
  }
}
@keyframes swiper-circle {
  to {
    stroke-dashoffset: 0;
  }
  from {
    stroke-dashoffset: 18.8495559;
  }
}
@keyframes scaleDown {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
::-moz-selection,
::selection {
  background-color: #f4f5f6;
  color: #1e1e1e;
}
:root {
  scroll-behavior: auto;
}
a {
  text-decoration: none;
}
a .icon.arrow-r {
  width: 11px;
  display: none;
}
img {
  vertical-align: bottom;
  height: auto;
}
b,
strong {
  font-weight: 600;
}
ol,
ul {
  padding-left: 1.666667em;
}
.accordion-button:focus {
  outline: auto;
}
/* structure */
html {
  font-size: 62.5%;
  min-width: 320px;
}
body {
  margin: 0;
  padding-right: 0 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  color: #1e1e1e;
  background-color: #f4f5f6;
}
#wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto auto 1fr auto;
  grid-auto-flow: column;
  width: 100%;
  min-height: 100vh;
  padding: 0;
  margin: 0;
}
#contentSkip a {
  position: absolute;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
}
#contentSkip a:focus,
#contentSkip a:active {
  display: block;
  width: 15em;
  height: auto;
  top: 5px;
  left: 5px;
  clip: auto;
  z-index: 1000;
  font-size: 1.8rem;
  padding: 5px;
  background-color: #FFF;
  border: #CCC solid 1px;
  text-align: center;
}
#strut {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  height: 60px;
  box-shadow: 0 1px 5px rgba(34, 34, 34, 0.15);
  background-color: white;
  z-index: 1049;
  position: sticky;
  top: 0;
}
#strut > div {
  max-width: 1366px;
  margin: 0 auto;
  height: 100%;
}
@media (min-width: 1024px) {
  #strut {
    height: 154px;
  }
  #strut > div {
    width: 100%;
    max-width: 1366px;
    height: 94px;
    margin: 0 auto;
    padding: 0 40px 0 24px;
  }
}
#logo {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 0;
  line-height: 1;
  margin-left: 8px;
}
#logo a {
  display: block;
  padding: 8px;
  overflow: hidden;
  width: 46px;
}
#logo a img {
  width: auto;
  height: 40px;
}
#logo #siteTitle {
  display: flex;
  align-items: center;
  position: relative;
  color: #1e1e1e;
  font-size: 11px;
  line-height: 1.4;
  white-space: normal;
  padding: 4px 0 4px 8px;
  margin-left: 8px;
}
#logo #siteTitle::before {
  content: "";
  width: 2px;
  height: 100%;
  background-color: #f4f5f6;
  position: absolute;
  left: 0;
  top: 0;
}
#logo #siteTitle > a {
  display: block;
  width: 100%;
  color: inherit;
  font-size: inherit;
  padding: 0;
}
@media (min-width: 425px) {
  #logo a {
    width: auto;
  }
}
@media (min-width: 1024px) {
  #logo {
    padding-right: 22px;
  }
  #logo a img {
    height: 55px;
  }
  #logo #siteTitle {
    font-size: 20px;
    line-height: 1.5;
    padding-left: 28px;
    margin-left: 28px;
    min-height: 52px;
    max-height: 94px;
  }
}
#menuBtn {
  background-color: white;
  width: 60px;
  height: 60px;
  flex-shrink: 0;
}
#menuBtn > button {
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
  background-color: transparent;
}
#menuBtn > button .bar,
#menuBtn > button .bar span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
#menuBtn > button .bar {
  position: relative;
  width: 30px;
  height: 8px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer;
}
#menuBtn > button .bar span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #1e1e1e;
  border-radius: 1px;
}
#menuBtn > button .bar span:nth-of-type(1) {
  top: 0;
}
#menuBtn > button .bar span:nth-of-type(2) {
  width: 20px;
  bottom: 0;
}
#menuBtn > button.hover .bar span,
#menuBtn > button:hover .bar span {
  background-color: #4366b0;
}
#menuBtn > button.hover .bar span:nth-of-type(2),
#menuBtn > button:hover .bar span:nth-of-type(2) {
  width: 30px;
}
#menuBtn > button:not(.collapsed) .bar span:nth-of-type(1) {
  top: 0;
  transform: translateY(3px) rotate(-150deg);
}
#menuBtn > button:not(.collapsed) .bar span:nth-of-type(2) {
  top: 0;
  width: 30px;
  transform: translateY(3px) rotate(150deg);
}
#topContent {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  height: fit-content;
}
#content2022 {
  grid-column: 1 / 3;
  grid-row: auto / 5;
  width: 100%;
  margin: 0 auto;
}
#footer {
  grid-column: 1 / 3;
  grid-row: 5 / 6;
  margin-top: auto;
  height: fit-content;
  z-index: 1;
  background-color: #f4f5f6;
}
#footerTop {
  padding: 4.5rem 0;
}
#footerTop .logo > img {
  width: 196px;
  height: auto;
}
#footerTop address {
  font-size: 1.2rem;
  line-height: 2;
  margin: 4rem 0 0;
  text-align: left !important;
}
#footerTop address p {
  margin: 0;
  text-align: left !important;
}
@media (min-width: 768px) {
  #footerTop {
    display: flex;
    justify-content: space-between;
  }
  #footerTop address {
    margin: 0;
  }
}
#footerTopMenu {
  column-count: 1;
  column-gap: 0;
  list-style: none;
  padding: 0;
  margin: 4.5rem 0 0;
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: calc(50% - .75rem) calc(50% - .75rem);
  grid-template-rows: repeat(4, auto);
  grid-gap: 1.3rem 1.5rem;
}
#footerTopMenu li {
  break-inside: avoid;
}
#footerTopMenu li a {
  color: #222;
  font-size: 1.5rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  display: inline-block;
}
#footerBtm {
  padding: 4.5rem 0;
  border-top: 2px solid #fff;
  display: grid;
  grid-template-columns: 50% 50%;
}
#footerBtmMenu {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
  list-style: none;
  column-count: 2;
  column-gap: 1.5rem;
  padding: 0;
  margin: -4px 0 3rem;
  font-feature-settings: 'palt' 1;
}
#footerBtmMenu li {
  margin-bottom: 0.8rem;
  break-inside: avoid;
  line-height: 1.25;
}
#footerBtmMenu li a {
  color: #222;
  font-size: 1.2rem;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  display: inline-block;
  vertical-align: middle;
}
#footerCopyright {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin: auto 0;
  color: #AAAFB6;
  font-size: 1rem;
  line-height: 1.3;
}
#globalMenu .snsLink,
#snsLink {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  padding: 0 0 0 0.75rem;
}
#globalMenu .snsLink > span,
#snsLink > span {
  font-size: 1.1rem;
  display: block;
  width: 100%;
  max-width: 77px;
  min-width: 54px;
  padding-right: 6px;
  text-align: left;
  white-space: nowrap;
}
#globalMenu .snsLink ul,
#snsLink ul {
  display: flex;
  justify-content: space-between;
  flex-grow: 1;
  list-style: none;
  min-width: 76px;
  max-width: 87px;
  margin: 0;
  padding: 0;
}
#globalMenu .snsLink ul li,
#snsLink ul li {
  display: block;
}
#globalMenu .snsLink ul li a,
#snsLink ul li a {
  display: flex;
  width: 36px;
  height: 36px;
  background-color: white;
  border: 0px solid white;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
}
#globalMenu .snsLink ul li a svg,
#snsLink ul li a svg {
  width: 16px;
  fill: #222;
}
#globalMenu .snsLink ul li a .icon-youtube,
#snsLink ul li a .icon-youtube {
  width: 18px;
}
#globalMenu .snsLink ul li a .outer,
#snsLink ul li a .outer,
#globalMenu .snsLink ul li a .addIcon,
#snsLink ul li a .addIcon {
  display: none;
}
#toTop {
  font-family: 'PT Serif';
  font-style: italic;
  font-size: 1.2rem;
  margin-top: 45px;
  margin-bottom: 1.4rem;
}
#toTop > a {
  padding: 0.5em 0.25em 0.2rem;
  border-bottom: 1px solid #1e1e1e;
  color: #1e1e1e !important;
  text-decoration: none !important;
  line-height: 1;
}
#ctgMenu {
  width: 256px;
  height: auto;
  margin-top: -4rem;
}
#ctgMenu > #menuWrap {
  margin: 0;
  list-style: none;
}
#ctgMenu > #menuWrap ul {
  margin: 0;
  padding: 0;
}
#ctgMenu > #menuWrap li {
  margin: 0;
  padding: 0;
}
#ctgMenu > #menuWrap li::before {
  display: none;
}
#ctgMenu > #menuWrap button {
  content: "";
  border: none;
  background-color: transparent;
}
#ctgMenu > #menuWrap button::after {
  flex-shrink: 0;
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3crect y='7.25' width='16' height='1.5' style='fill:%231e1e1e'/%3e%3crect width='16' height='16' style='fill:none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.2rem;
  transition: transform 0.2s ease-in-out;
}
#ctgMenu > #menuWrap button.collapsed::after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpolygon points='16 7.25 8.75 7.25 8.75 0 7.25 0 7.25 7.25 0 7.25 0 8.75 7.25 8.75 7.25 16 8.75 16 8.75 8.75 16 8.75 16 7.25' style='fill:%231e1e1e'/%3e%3c/svg%3e");
  transform: rotate(-180deg);
}
#ctgMenu > #menuWrap .box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: stretch;
}
#ctgMenu > #menuWrap .box > a {
  flex-grow: 1;
}
#ctgMenu > #menuWrap .box > .opener {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 38px;
  padding: 0 18px;
}
#ctgMenu > #menuWrap .level1 + .level1 {
  margin-top: 2px;
}
#ctgMenu > #menuWrap .level1 > .box {
  background-color: white;
}
#ctgMenu > #menuWrap .level1 > .box > .notA,
#ctgMenu > #menuWrap .level1 > .box > a {
  padding: 1.8rem 2rem;
  font-size: 1.4rem;
  color: #1e1e1e;
}
#ctgMenu > #menuWrap .level1.active > .box,
#ctgMenu > #menuWrap .level1.current > .box {
  background-color: var(--tmuKeycolor01ss);
  font-weight: 600;
}
#ctgMenu > #menuWrap .level2:not(.first) {
  border-top: 1px solid #ffffff;
}
#ctgMenu > #menuWrap .level2 > .box {
  background-color: white;
}
#ctgMenu > #menuWrap .level2 > .box > .notA,
#ctgMenu > #menuWrap .level2 > .box > a {
  padding: 1.7rem 2rem 1.7rem 3rem;
  font-size: 1.4rem;
  color: #1e1e1e;
}
#ctgMenu > #menuWrap .level2 > .box > .notA.hover,
#ctgMenu > #menuWrap .level2 > .box > a.hover,
#ctgMenu > #menuWrap .level2 > .box > .notA:hover,
#ctgMenu > #menuWrap .level2 > .box > a:hover {
  text-decoration: none;
}
#ctgMenu > #menuWrap .level2.active > .box,
#ctgMenu > #menuWrap .level2.current > .box {
  background-color: #f0f0f0;
  font-weight: 600;
}
#ctgMenu > #menuWrap .level3:not(.first) {
  border-top: 1px solid #e3e4e5;
}
#ctgMenu > #menuWrap .level3 > .box {
  background-color: #ffffff;
}
#ctgMenu > #menuWrap .level3 > .box > a {
  font-size: 1.4rem;
  color: #1e1e1e;
  background-color: white;
  padding: 1.7rem 2rem 1.7rem 4rem;
  transition: color 0.75s;
}
#ctgMenu > #menuWrap .level3 > .box > a.hover,
#ctgMenu > #menuWrap .level3 > .box > a:hover {
  text-decoration: none;
  color: var(--tmuKeyColor01);
}
#ctgMenu > #menuWrap .level3.active > .box,
#ctgMenu > #menuWrap .level3.current > .box {
  font-weight: 600;
}
#ctgMenu.news {
  margin-top: -4rem;
}
#ctgMenu.news > #menuWrap .level1 > .box {
  position: relative;
  min-height: 60px;
  align-items: center;
}
#ctgMenu.news > #menuWrap .level1 > .box > a {
  padding: 0;
  text-align: center;
}
#ctgMenu.news > #menuWrap .level1.news {
  padding: 2rem;
  background-color: white;
}
#ctgMenu.news > #menuWrap .level1.news + .news {
  margin-top: 2px;
}
#ctgMenu.news > #menuWrap .level1.news > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
}
#ctgMenu.news > #menuWrap .level1.news > div .date {
  font-size: 1.2rem;
  font-style: italic;
  color: #999;
  margin-right: 1.5rem;
}
#ctgMenu.news > #menuWrap .level1.news > div .ctgs {
  font-size: 1.2rem;
}
#ctgMenu.news > #menuWrap .level1.news > div .ctgs .ctg {
  padding: 3px 12px;
  border: 1px solid #e3e4e5;
}
#ctgMenu.news > #menuWrap .level1.news > div .ctgs .ctg:nth-of-type(n + 2) {
  display: none;
}
#ctgMenu.news > #menuWrap .level1.news > div .title {
  color: inherit;
  line-height: 1.57;
  width: 100%;
  margin-top: 1rem;
}
#ctgMenu.news > #menuWrap .level1.news > div .title > a {
  color: inherit;
}
@media (min-width: 768px) {
  /* width side space */
  #footer #snsLink {
    grid-row: 1 / 3;
  }
  #footer #snsLink > span {
    font-size: 1.2rem;
  }
  #footer #snsLink ul {
    min-width: 88px;
    max-width: 96px;
  }
  #footer #snsLink ul li a {
    width: 40px;
    height: 40px;
  }
  #footer #snsLink ul li a svg {
    width: 18px;
  }
  #footer #snsLink ul li a .icon-youtube {
    width: 20px;
  }
  #footerBtmMenu {
    grid-column: 1 / 2;
    column-count: auto;
    margin: -0.3rem 0 0;
  }
  #footerBtmMenu li {
    display: inline-block;
    margin-bottom: 1.3rem;
    margin-right: 1.6rem;
    font-size: 1rem;
    list-style: 1.9;
  }
  #footerBtmMenu li a {
    font-size: 1.3rem;
    color: #222;
    white-space: nowrap;
  }
  #footerBtm {
    padding-top: 30px;
    grid-template-columns: auto auto;
  }
  #footerCopyright {
    font-size: 1.1rem;
  }
}
@media (min-width: 1024px) {
  #contentSkip a:focus,
  #contentSkip a:active {
    top: 5px;
    left: auto;
    right: 5px;
  }
  #menuBtn {
    width: 90px;
    height: 90px;
  }
  #subMenu {
    padding: 0;
  }
  #subMenu > li {
    padding: 5px 0;
  }
  #subMenu > li::after {
    content: "";
    position: absolute;
    top: 0;
    left: 15px;
    right: 15px;
    width: auto;
    height: 1px;
    background-color: #e3e4e5;
  }
  #subMenu > li:first-child::after {
    content: none;
  }
  #footerTop {
    padding: 6rem 0 3rem;
  }
  #footerTop .logo {
    margin-right: clamp(4px,1%,40px);
  }
  #footerTop .logo > img {
    width: 280px;
    height: auto;
  }
  #footerTopMenu {
    margin: 2.5rem 1.6rem 0;
    max-width: 400px;
    flex-grow: 0.2;
    grid-template-columns: 1fr auto;
    grid-gap: 2rem 1em;
    flex-grow: 0.35;
    flex-basis: 270px;
  }
  #footerTopMenu li a {
    font-size: 1.8rem;
  }
  #toTop {
    margin-top: 100px;
    margin-bottom: 25px;
  }
}
#pageTitle {
  background-color: var(--tmuKeycolor01);
}
#pageTitle > .wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  height: auto;
}
#pageTitle > .wrap .body {
  flex-grow: 1;
  width: 100%;
  padding: 3rem 0;
}
#pageTitle > .wrap .body .date {
  font-size: 1.2rem;
  font-style: italic;
  color: white;
  opacity: 0.5;
  margin-bottom: 1.5rem;
}
#pageTitle > .wrap .body h2,
#pageTitle > .wrap .body h3 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 0;
  color: white;
}
#pageTitle > .wrap .body h2 + p.desc,
#pageTitle > .wrap .body h3 + p.desc {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  color: white;
  margin: 2rem auto 2rem 0;
  width: 100%;
}
#pageTitle > .wrap .body h2 {
  margin-bottom: 0.5rem;
}
#pageTitle > .wrap .body .tags {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 0.9rem;
  row-gap: 0.9rem;
}
#pageTitle > .wrap .body .tags .ctg,
#pageTitle > .wrap .body .tags .tag {
  background-color: white;
  font-size: 1.1rem;
  color: #1e1e1e;
  padding: 3px 8px;
}
@media (min-width: 768px) {
  #pageTitle > .wrap {
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    margin: 0 auto;
  }
  #pageTitle > .wrap .body {
    padding-top: 3rem;
    padding-bottom: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  #pageTitle > .wrap .body .date {
    font-size: 1.4rem;
  }
  #pageTitle > .wrap .body h3 {
    font-size: 4rem;
  }
  #pageTitle > .wrap .body h3.long {
    font-size: 3rem;
  }
  #pageTitle > .wrap .body .tags .tag {
    font-size: 1.2rem;
  }
  #pageTitle > .wrap .body h2 + p.desc,
  #pageTitle > .wrap .body h3 + p.desc {
    margin-bottom: 3rem;
  }
}
@media (min-width: 1024px) {
  #pageTitle > .wrap .body {
    padding-top: 6rem;
    padding-bottom: 10rem;
    padding-right: 3rem;
  }
  #pageTitle > .wrap .body .date {
    font-size: 1.4rem;
  }
  #pageTitle > .wrap .body h3 {
    font-size: 4rem;
  }
  #pageTitle > .wrap .body h3.long {
    font-size: 3rem;
  }
  #pageTitle > .wrap .body .tags .tag {
    font-size: 1.2rem;
  }
  #pageTitle > .wrap .body h2 + p.desc,
  #pageTitle > .wrap .body h3 + p.desc {
    margin-bottom: 0;
  }
}
.offcanvas-backdrop {
  transition: opacity 0.75s;
}
.offcanvas-backdrop.show {
  opacity: 0.4;
}
@media (max-width: calc(1024px - 0.02px)) {
  .offcanvas-backdrop {
    display: none !important;
  }
}
.offcanvas-fade {
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.5s ease-in-out;
}
.offcanvas-fade:not(.show) {
  opacity: 0;
}
#pcSearchBox > button {
  flex-shrink: 0;
  flex-grow: 0;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 100%;
  background-color: #f4f5f6;
}
#pcSearchBox > button svg {
  width: 20px;
  height: 20px;
}
#SearchBox2 {
  display: flex;
  column-gap: 8px;
}
#SearchBox2 .button {
  flex-shrink: 0;
  flex-grow: 0;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 100%;
  background-color: #e3e4e5;
}
#SearchBox2 .button svg {
  width: 20px;
  height: 20px;
}
@media (max-width: calc(1024px - 0.02px)) {
  #globalMenu {
    border-bottom: none;
    overflow-y: auto;
    width: 100%;
    top: 60px;
  }
  #globalMenu.mobile {
    transition: opacity 0.5s linear;
    background-color: #f4f5f6;
  }
  #globalMenu ul {
    list-style: none;
  }
  #globalMenu #spSearchBox {
    padding: 16px;
  }
  #globalMenu #spSearchBox > form {
    display: flex;
    column-gap: 8px;
  }
  #globalMenu #spSearchBox > form .button {
    flex-shrink: 0;
    flex-grow: 0;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 100%;
    background-color: #e3e4e5;
    text-align: center;
    padding: 0;
  }
  #globalMenu #spSearchBox > form .button svg {
    width: 20px;
    height: 20px;
  }
  #globalMenu #globalMenuMain {
    margin: 20px 15px 30px;
    padding: 0;
    position: relative;
    list-style: none;
  }
  #globalMenu #globalMenuMain li > .box {
    display: flex;
  }
  #globalMenu #globalMenuMain li > .box .opener {
    z-index: 1;
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px 0 9px;
    transition: background-color 0.75s;
    background-color: transparent;
  }
  #globalMenu #globalMenuMain li > .box .opener.collapsed {
    background-color: transparent;
  }
  #globalMenu #globalMenuMain li > .box > a {
    order: 1;
  }
  #globalMenu #globalMenuMain button.opener {
    content: "";
    border: none;
    background-color: transparent;
  }
  #globalMenu #globalMenuMain button.opener::after {
    flex-shrink: 0;
    width: 1.3rem;
    height: 1.3rem;
    content: "";
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3crect y='7.25' width='16' height='1.5' style='fill:%231e1e1e'/%3e%3crect width='16' height='16' style='fill:none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.3rem;
    transition: transform 0.2s ease-in-out;
  }
  #globalMenu #globalMenuMain button.opener.collapsed::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpolygon points='16 7.25 8.75 7.25 8.75 0 7.25 0 7.25 7.25 0 7.25 0 8.75 7.25 8.75 7.25 16 8.75 16 8.75 8.75 16 8.75 16 7.25' style='fill:%231e1e1e'/%3e%3c/svg%3e");
    transform: rotate(-180deg);
  }
  #globalMenu #globalMenuMain > li.level1 {
    width: 100%;
    /* level2 */
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 50px;
    padding: 0;
    align-items: center;
    font-size: 1.5rem;
    color: #1e1e1e;
    transition: background-color 0.75s, color 0.75s;
    background-color: #f4f5f6;
    outline-offset: -2px;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a > span {
    position: absolute;
    display: flex;
    align-items: center;
    top: 0;
    bottom: 0;
    left: 0;
    width: calc(100vw - 30px);
    padding: 15px 0 15px 15px;
    transition: background-color 0.75s;
    background-color: #f4f5f6;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a > span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: 1px;
    background-color: #e3e4e5;
    transition: background-color 0.75s;
    z-index: 1;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a > span:first-child {
    position: static;
    display: inline-flex;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a > span:first-child + .addIcon {
    display: inline-flex;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > a.hover,
  #globalMenu #globalMenuMain > li.level1 > .box > a:hover {
    color: #4366b0;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > .opener:not(.collapsed) + a > span {
    background-color: #e3e4e5;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > .opener:not(.collapsed) + a > span::before {
    z-index: 2;
    background-color: #e3e4e5 !important;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > .opener:not(.collapsed) + a > span::after {
    z-index: 2;
    background-color: #e3e4e5 !important;
  }
  #globalMenu #globalMenuMain > li.level1 > .box > .opener + a > span {
    position: absolute;
    width: calc(100vw - 30px);
  }
  #globalMenu #globalMenuMain > li.level1.first > .box > a > span::before {
    background-color: transparent;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener {
    background-color: #6D96CE;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener::after,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3crect y='7.25' width='16' height='1.5' style='fill:%23ffffff'/%3e%3crect width='16' height='16' style='fill:none'/%3e%3c/svg%3e");
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener.collapsed,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener.collapsed {
    background-color: #6D96CE;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener.collapsed::after,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener.collapsed::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpolygon points='16 7.25 8.75 7.25 8.75 0 7.25 0 7.25 7.25 0 7.25 0 8.75 7.25 8.75 7.25 16 8.75 16 8.75 8.75 16 8.75 16 7.25' style='fill:%23ffffff'/%3e%3c/svg%3e");
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener:not(.collapsed) + a > span,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener:not(.collapsed) + a > span {
    background-color: #6D96CE;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener:not(.collapsed) + a > span::before,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener:not(.collapsed) + a > span::before {
    z-index: 2;
    background-color: #6D96CE !important;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > .opener:not(.collapsed) + a > span::after,
  #globalMenu #globalMenuMain > li.level1.active > .box > .opener:not(.collapsed) + a > span::after {
    z-index: 2;
    background-color: #6D96CE !important;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > a,
  #globalMenu #globalMenuMain > li.level1.active > .box > a {
    color: white;
  }
  #globalMenu #globalMenuMain > li.level1.current > .box > a > span,
  #globalMenu #globalMenuMain > li.level1.active > .box > a > span {
    background-color: #6D96CE;
  }
  #globalMenu #globalMenuMain > li.level1.parent > .box > a::after {
    right: -45px;
  }
  #globalMenu #globalMenuMain > li.level1 > .children {
    background-color: #f4f5f6;
    padding: 0;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul {
    width: 100%;
    height: auto;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li {
    width: 100%;
    margin-bottom: 1px;
    /* level3 */
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .box {
    width: 100%;
    min-height: 50px;
    background-color: white;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .box > a {
    position: relative;
    width: 100%;
    padding: 16px 15px;
    font-size: 1.4rem;
    color: #1e1e1e;
    transition: background-color 0.75s;
    background-color: transparent;
    outline-offset: -2px;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .box > a > span {
    align-items: center;
    transition: background-color 0.75s;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .box > a.hover,
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .box > a:hover {
    color: #4366b0;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li.active > .box,
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li.current > .box {
    background-color: #e3e4e5;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children {
    margin: 0;
    background-color: transparent;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #e3e4e5;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li {
    width: 100%;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li > .box {
    width: 100%;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li > .box > a {
    position: relative;
    width: 100%;
    padding: 10px 15px;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #1e1e1e;
    transition: background-color 0.75s;
    background-color: transparent;
    outline-offset: -2px;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li > .box > a > span {
    align-items: center;
    transition: background-color 0.75s;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li > .box > a.hover,
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li > .box > a:hover {
    color: #4366b0;
  }
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li.active > .box > a,
  #globalMenu #globalMenuMain > li.level1 > .children > ul > li > .children > ul > li.current > .box > a {
    color: var(--tmuKeycolor01);
    font-weight: bold;
  }
  #globalMenu #globalMenuSubTarget,
  #globalMenu #globalMenuSub {
    font-size: 1.2rem;
    column-count: 2;
    padding: 0 2px;
    margin: 3rem 15px;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #e3e4e5;
  }
  #globalMenu #globalMenuSubTarget > li,
  #globalMenu #globalMenuSub > li {
    margin-bottom: 1rem;
    break-inside: avoid;
    line-height: 1.5;
  }
  #globalMenu #globalMenuSubTarget > li a,
  #globalMenu #globalMenuSub > li a {
    color: inherit;
  }
  #globalMenu #globalMenuSub {
    padding-bottom: 0;
    margin-bottom: 2rem;
    border-bottom: none;
  }
  #globalMenu #globalMenuLast {
    margin: 3rem 15px 4rem;
    padding: 0 2px;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
    width: auto;
  }
  #globalMenu #globalMenuLast .language ul {
    display: flex;
    flex-wrap: nowrap;
    width: 80px;
    height: auto;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  #globalMenu #globalMenuLast .language ul > li {
    width: 100%;
    position: relative;
  }
  #globalMenu #globalMenuLast .language ul > li a {
    display: block;
    font-size: 1.4rem;
    color: #1e1e1e;
    padding: 16px 0;
    text-align: center;
  }
  #globalMenu #globalMenuLast .language ul > li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 1px;
    background-color: #e3e4e5;
  }
  #globalMenu #globalMenuLast .snsLink {
    display: flex;
    align-items: center;
    grid-column: auto;
    grid-row: auto;
    margin-right: 15px;
  }
  #globalMenu #globalMenuLast .snsLink > span {
    width: auto;
    min-width: 0;
    max-width: none;
    padding-right: 21px;
  }
  #globalMenu #globalMenuLast .snsLink ul {
    min-width: 0;
    max-width: none;
    width: 87px;
    flex-grow: 0;
  }
}
@media (max-width: calc(1024px - 0.02px)) and (min-width: 576px) {
  #globalMenu #globalMenuSubTarget,
  #globalMenu #globalMenuSub {
    font-size: 1.4rem;
    column-count: 3;
  }
}
@media (min-width: 1024px) {
  #globalMenu {
    display: block;
    width: 100%;
    height: 60px;
    background-color: transparent;
    border-left: none;
    overflow: visible;
    visibility: visible !important;
  }
  #globalMenu #globalMenuMain {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1366px;
    height: 100%;
    list-style: none;
    background-color: white;
    margin: 0 auto;
    padding: 0 32px;
    font-size: 1.5rem;
    color: #1e1e1e;
  }
  #globalMenu #globalMenuMain > .level1 {
    position: relative;
    text-align: center;
    white-space: nowrap;
    width: 100%;
    height: 100%;
  }
  #globalMenu #globalMenuMain > .level1 ul {
    padding: 0;
  }
  #globalMenu #globalMenuMain > .level1 > .box {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
  }
  #globalMenu #globalMenuMain > .level1 a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    color: #1e1e1e;
    padding: 0 1em;
  }
  #globalMenu #globalMenuMain > .level1 a > span {
    display: inline-block;
  }
  #globalMenu #globalMenuMain > .level1.active > .box,
  #globalMenu #globalMenuMain > .level1.current > .box {
    color: var(--tmuKeycolor01);
  }
  #globalMenu #globalMenuMain > .level1.active > .box > a,
  #globalMenu #globalMenuMain > .level1.current > .box > a {
    color: inherit;
    font-weight: 600;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse {
    max-width: 20em;
    min-width: 100%;
    position: absolute;
    background-color: white;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse.show,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse.show {
    animation: fadeIn 0.5s linear 0s;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse > ul,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse > ul {
    padding: 0;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse > ul > li,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse > ul > li {
    position: relative;
    list-style: none;
    padding: 0;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse > ul > li .box,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse > ul > li .box {
    padding: 0;
    text-align: left;
  }
  #globalMenu #globalMenuMain > .level1.hover > .children.collapse > ul > li .box a,
  #globalMenu #globalMenuMain > .level1:hover > .children.collapse > ul > li .box a {
    display: block;
    padding: 1em;
  }
  #globalMenu #globalMenuMain > .level1 .level2 {
    max-width: 100%;
    font-size: 1.3rem;
    position: relative;
  }
  #globalMenu #globalMenuMain > .level1 .level2.active > .box,
  #globalMenu #globalMenuMain > .level1 .level2.current > .box {
    color: var(--tmuKeycolor01);
  }
  #globalMenu #globalMenuMain > .level1 .level2.active > .box > a,
  #globalMenu #globalMenuMain > .level1 .level2.current > .box > a {
    color: inherit;
    font-weight: 600;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse {
    position: absolute;
    background-color: white;
    left: 100%;
    top: 0;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse.show,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse.show {
    animation: fadeIn 0.5s linear 0s;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul {
    padding: 0;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3 {
    position: relative;
    list-style: none;
    padding: 0;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3.active > .box,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3.active > .box,
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3.current > .box,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3.current > .box {
    color: var(--tmuKeycolor01);
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3.active > .box > a,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3.active > .box > a,
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3.current > .box > a,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3.current > .box > a {
    color: inherit;
    font-weight: 600;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3 .box,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3 .box {
    padding: 0;
    text-align: left;
  }
  #globalMenu #globalMenuMain > .level1 .level2.hover > .children.collapse > ul > li.level3 .box a,
  #globalMenu #globalMenuMain > .level1 .level2:hover > .children.collapse > ul > li.level3 .box a {
    display: block;
    padding: 1em;
  }
  #globalMenu #globalMenuMain > .level1:last-child {
    position: relative;
  }
  #globalMenu #globalMenuMain > .level1:last-child.hover > .children.collapse,
  #globalMenu #globalMenuMain > .level1:last-child:hover > .children.collapse {
    left: auto;
    right: 0;
  }
  #globalMenu #globalMenuMain > .level1:last-child .level2.hover > .children.collapse,
  #globalMenu #globalMenuMain > .level1:last-child .level2:hover > .children.collapse {
    left: auto;
    right: 100%;
  }
  #globalMenu button {
    display: none;
  }
}
#keyvisual.top {
  width: 100%;
  height: 300px;
  position: relative;
  display: block;
  overflow: hidden;
}
#keyvisual.top .swiper-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#keyvisual.top .swiper-container .swiper-wrapper {
  width: 100vw;
  height: 100%;
}
#keyvisual.top .swiper-container .swiper-wrapper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (min-width: 1024px) {
  #keyvisual.top {
    height: 480px;
  }
  #keyvisual.top .infoWrap {
    bottom: 8rem;
  }
}
#keyvisual.top #typoLogo {
  position: absolute;
  z-index: 2;
  font-size: 2.4rem;
  top: 20px;
  left: 20px;
}
#keyvisual.top #typoLogo > div {
  display: flex;
  flex-wrap: wrap;
  row-gap: 4px;
  column-gap: 0;
}
#keyvisual.top #typoLogo > div span {
  color: white;
  display: inline-block;
  background-color: var(--tmuKeycolor01);
  padding: 6px;
}
#keyvisual.top #typoLogo > div + div {
  margin-top: 4px;
}
@media (min-width: 1024px) {
  #keyvisual.top #typoLogo {
    font-size: 3.6rem;
    top: 40px;
    left: auto;
    width: 100%;
    max-width: 1366px;
    padding-left: 40px;
  }
  #keyvisual.top #typoLogo > div {
    row-gap: 6px;
  }
  #keyvisual.top #typoLogo > div span {
    padding: 6px 8px;
  }
  #keyvisual.top #typoLogo > div + div {
    margin-top: 6px;
  }
}
#content2022.toppage {
  overflow: visible;
  z-index: 1;
}
#content2022.toppage .wrapMain {
  margin-top: 0 !important;
}
#content2022.toppage .topWrap {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding: 4rem 1.5rem;
}
#content2022.toppage .topWrap.bg {
  background-color: var(--tmuKeycolor01s);
}
#content2022.toppage .topWrap h2,
#content2022.toppage .topWrap h4 {
  position: relative;
  margin-top: 0;
  margin-bottom: 3rem;
  padding-top: 1.5rem;
  padding-left: 0;
  border-left: none;
  font-size: 2rem;
}
#content2022.toppage .topWrap h2::before,
#content2022.toppage .topWrap h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3.5rem;
  height: 0.3rem;
  background-color: var(--tmuKeycolor01);
}
#content2022.toppage .topWrap h2 + * > *:first-child,
#content2022.toppage .topWrap h4 + * > *:first-child {
  margin-top: 0;
}
#content2022.toppage .topWrap h2 + * > *:last-child,
#content2022.toppage .topWrap h4 + * > *:last-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  #content2022.toppage .topWrap {
    margin-left: min( -90px, ( 1080px - 100% ) / 2 );
    margin-right: min( -90px, ( 1080px - 100% ) / 2 );
    padding: 4rem max( 90px, ( 100% - 1080px ) / 2 ) 4rem;
  }
}
@media (min-width: 1024px) {
  #content2022.toppage .topWrap {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    padding: 6rem max( 90px, ( 100% - 1080px ) / 2 ) 6rem;
  }
  #content2022.toppage .topWrap h2,
  #content2022.toppage .topWrap h4 {
    font-size: 2.8rem;
    width: 200px;
    padding-top: 2.8rem;
    margin: 0 5.6rem 0 0;
    flex-grow: 0;
    flex-shrink: 0;
    text-align: left;
  }
  #content2022.toppage .topWrap h2::before,
  #content2022.toppage .topWrap h4::before {
    width: 5rem;
  }
  #content2022.toppage .topWrap h2.sd,
  #content2022.toppage .topWrap h4.sd {
    white-space: normal;
  }
  #content2022.toppage .topWrap h2 + *,
  #content2022.toppage .topWrap h4 + * {
    margin-top: 2.8rem;
    flex-grow: 1;
  }
}
#content2022.toppage .topWrap h2 {
  display: inline-block;
  position: relative;
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
}
#content2022.toppage .topWrap h2 .en-pt {
  font-family: 'PT Serif', serif;
  font-weight: 400;
}
#content2022.toppage .topWrap h2::before,
#content2022.toppage .topWrap h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 5px;
  background-color: var(--tmuKeycolor01ss);
}
#content2022.toppage .topWrap h2::after {
  background-color: var(--tmuKeycolor01);
  width: 20px;
  left: 20px;
}
@media (min-width: 1024px) {
  #content2022.toppage .topWrap h2 {
    padding-bottom: 1.8rem;
  }
  #content2022.toppage .topWrap h2.large {
    font-size: 5rem;
    margin-bottom: 5rem;
    padding-bottom: 1.8rem;
  }
}
#content2022.toppage #topNews #head_topNews {
  font-size: 2.2rem;
  margin: 0;
  padding: 0 0 0 3rem;
}
#content2022.toppage #topNews #head_topNews::before {
  width: 20px;
  height: 20px;
  left: 0;
  top: 2px;
  right: auto;
  bottom: auto;
}
#content2022.toppage #topNews #head_topNews::after {
  width: 10px;
  height: 20px;
  left: 10px;
  top: 2px;
  right: auto;
  bottom: auto;
}
#content2022.toppage #topNews .topNewsWrap {
  margin-top: 3rem;
}
@media (min-width: 1024px) {
  #content2022.toppage #topNews {
    margin-top: 7.5rem;
  }
  #content2022.toppage #topNews #head_topNews {
    margin-right: 2.6rem;
    font-size: 2.4rem;
  }
  #content2022.toppage #topNews .topNewsWrap {
    margin-top: 0;
  }
}
#content2022.toppage #topBigTile {
  background-size: cover;
  background-repeat: no-repeat;
  background-blend-mode: hue;
  background-color: rgba(240, 240, 240, 0.85);
}
#content2022.toppage #topBigTile .topBigTileWrap {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (min-width: 768px) {
  #content2022.toppage #topBigTile .topBigTileWrap {
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: column;
    gap: 40px;
  }
}
@media (min-width: 1024px) {
  #content2022.toppage #topBigTile .topBigTileWrap {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
#content2022.toppage #topBigTile .topBigTileWrap .card {
  width: 100%;
  min-width: 0;
  max-width: none;
  border: none;
}
#content2022.toppage #topBigTile .topBigTileWrap .card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background-color: var(--tmuKeycolor01);
  z-index: 1;
}
#content2022.toppage #topBigTile .topBigTileWrap .card > a .card-img {
  overflow: hidden;
}
#content2022.toppage #topBigTile .topBigTileWrap .card > a .card-body {
  padding: 15px;
}
#content2022.toppage #topBigTile .topBigTileWrap .card > a .card-body h5 {
  padding: 0;
  margin: 0;
}
#content2022.toppage #topBigTile .topBigTileWrap .card > a .icon-link,
#content2022.toppage #topBigTile .topBigTileWrap .card > a .icon {
  display: block;
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
}
#content2022.toppage ._3cards {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: grid;
  grid-template-rows: 1fr;
  column-gap: 15px;
  row-gap: 15px;
}
#content2022.toppage ._3cards .card {
  width: 100%;
  min-width: 0;
  max-width: none;
  border-left: 1px solid #e3e4e5;
  border-right: 1px solid #e3e4e5;
  border-bottom: 1px solid #e3e4e5;
}
#content2022.toppage ._3cards .card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background-color: var(--tmuKeycolor01);
  z-index: 1;
}
#content2022.toppage ._3cards .card > a {
  width: 100%;
  padding: 0;
}
#content2022.toppage ._3cards .card > a .card-img {
  overflow: hidden;
  width: 100%;
}
#content2022.toppage ._3cards .card > a .card-img::after {
  background-color: white;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 30px;
  height: 30px;
}
#content2022.toppage ._3cards .card > a .card-body {
  padding: 2rem;
}
#content2022.toppage ._3cards .card > a .card-body .card-title {
  font-size: 1.8rem;
  margin: 0 0 15px;
  color: inherit;
}
#content2022.toppage ._3cards .card > a .card-body .text {
  font-size: 1.3rem;
  line-height: 1.5;
}
#content2022.toppage ._3cards .card > a .icon-link,
#content2022.toppage ._3cards .card > a .icon {
  display: block;
  position: absolute;
  right: 0.8rem;
  bottom: 0.8rem;
}
@media (min-width: 768px) {
  #content2022.toppage ._3cards {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    column-gap: 21px;
    row-gap: 21px;
  }
  #content2022.toppage ._3cards .card:last-child::after {
    display: none;
  }
}
#content2022.toppage .topWrap h2 {
  font-size: 2.2rem;
  margin: 0;
  padding: 0 0 0 3rem;
}
#content2022.toppage .topWrap h2::before {
  width: 20px;
  height: 20px;
  left: 0;
  top: 2px;
  right: auto;
  bottom: auto;
}
#content2022.toppage .topWrap h2::after {
  width: 10px;
  height: 20px;
  left: 10px;
  top: 2px;
  right: auto;
  bottom: auto;
}
@media (min-width: 1024px) {
  #content2022.toppage .topWrap h2 {
    margin-right: 2.6rem;
    font-size: 2.4rem;
  }
}
/* CSS Document */
#content2022 {
  text-align: left;
  font-size: 1.5rem;
  line-break: strict;
  /* pagination */
  /* news events */
  /* eventCalendar */
  /* events */
  /* relatednews */
  /* Important, Urgent */
  /* font-size & margin */
}
#content2022 .wrapMain > *:last-child {
  margin-bottom: 0;
}
#content2022 a.hover {
  text-decoration: underline;
  color: #4366b0;
}
#content2022 .main {
  position: relative;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  padding: 4rem 1.5rem;
}
#content2022 .main > *:first-child {
  margin-top: 0 !important;
}
@media (min-width: 768px) {
  #content2022 .main {
    margin-left: auto;
    margin-right: auto;
    padding-left: max( 6rem, ( 100% - 1156px ) / 2 );
    padding-right: max( 6rem, ( 100% - 1156px ) / 2 );
  }
}
@media (min-width: 1024px) {
  #content2022 .main {
    margin-top: -4rem;
    width: calc( 100% - 256px );
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
  #content2022 .main.noCtgMenu {
    width: 100%;
  }
}
@media (min-width: 1024px) {
  #content2022 .main.wide {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: max( 6rem, ( 100% - 870px ) / 2 );
    padding-right: max( 6rem, ( 100% -  870px ) / 2 );
  }
}
#content2022.news .main {
  margin-top: 0;
  padding-top: 7.4rem;
}
@media (min-width: 768px) {
  #content2022.news .main {
    margin-top: -2rem;
  }
}
@media (min-width: 1024px) {
  #content2022.news .main {
    margin-top: -6rem;
    padding-top: 9rem;
  }
}
#content2022 figure.photoleft,
#content2022 div.photoleft,
#content2022 figure.photoright,
#content2022 div.photoright,
#content2022 figure.photocenter,
#content2022 div.photocenter {
  position: relative;
  z-index: 1;
  line-height: 1.5;
  padding-top: 0.5em;
  margin-bottom: 2.2rem;
  color: #979899;
  font-size: 1.2rem;
  /*      img + br ,
      a.popup-image + br {
        display: none;
      }*/
}
#content2022 figure.photoleft span,
#content2022 div.photoleft span,
#content2022 figure.photoright span,
#content2022 div.photoright span,
#content2022 figure.photocenter span,
#content2022 div.photocenter span {
  font-size: inherit !important;
  color: inherit !important;
}
#content2022 figure.photoleft img,
#content2022 div.photoleft img,
#content2022 figure.photoright img,
#content2022 div.photoright img,
#content2022 figure.photocenter img,
#content2022 div.photocenter img {
  margin: 0 auto 0.6rem;
  height: auto;
}
#content2022 figure.photoleft a.popup-image,
#content2022 div.photoleft a.popup-image,
#content2022 figure.photoright a.popup-image,
#content2022 div.photoright a.popup-image,
#content2022 figure.photocenter a.popup-image,
#content2022 div.photocenter a.popup-image {
  width: fit-content;
  display: inline-block;
}
@media (max-width: calc(576px - 0.02px)) {
  #content2022 figure.photoleft img,
  #content2022 div.photoleft img,
  #content2022 figure.photoright img,
  #content2022 div.photoright img,
  #content2022 figure.photocenter img,
  #content2022 div.photocenter img {
    width: 100%;
    height: auto;
  }
}
@media (min-width: 576px) {
  #content2022 figure.photoleft,
  #content2022 div.photoleft,
  #content2022 figure.photoright,
  #content2022 div.photoright,
  #content2022 figure.photocenter,
  #content2022 div.photocenter {
    margin-bottom: 3rem;
    line-height: 1.5;
    width: auto;
  }
  #content2022 figure.photoleft img,
  #content2022 div.photoleft img,
  #content2022 figure.photoright img,
  #content2022 div.photoright img,
  #content2022 figure.photocenter img,
  #content2022 div.photocenter img {
    margin-bottom: 1rem;
  }
  #content2022 figure.photoleft a.popup-image,
  #content2022 div.photoleft a.popup-image,
  #content2022 figure.photoright a.popup-image,
  #content2022 div.photoright a.popup-image,
  #content2022 figure.photocenter a.popup-image,
  #content2022 div.photocenter a.popup-image {
    width: auto;
    display: inline-block;
  }
  #content2022 figure.photoleft figcaption,
  #content2022 div.photoleft figcaption,
  #content2022 figure.photoright figcaption,
  #content2022 div.photoright figcaption,
  #content2022 figure.photocenter figcaption,
  #content2022 div.photocenter figcaption {
    display: table-caption;
    caption-side: bottom;
  }
}
#content2022 figure.photoleft + h4,
#content2022 div.photoleft + h4,
#content2022 figure.photoright + h4,
#content2022 div.photoright + h4,
#content2022 figure.photocenter + h4,
#content2022 div.photocenter + h4,
#content2022 figure.photoleft + h5,
#content2022 div.photoleft + h5,
#content2022 figure.photoright + h5,
#content2022 div.photoright + h5,
#content2022 figure.photocenter + h5,
#content2022 div.photocenter + h5,
#content2022 figure.photoleft + h6,
#content2022 div.photoleft + h6,
#content2022 figure.photoright + h6,
#content2022 div.photoright + h6,
#content2022 figure.photocenter + h6,
#content2022 div.photocenter + h6 {
  margin-top: 4rem;
}
@media (min-width: 1024px) {
  #content2022 figure.photoleft + h4,
  #content2022 div.photoleft + h4,
  #content2022 figure.photoright + h4,
  #content2022 div.photoright + h4,
  #content2022 figure.photocenter + h4,
  #content2022 div.photocenter + h4,
  #content2022 figure.photoleft + h5,
  #content2022 div.photoleft + h5,
  #content2022 figure.photoright + h5,
  #content2022 div.photoright + h5,
  #content2022 figure.photocenter + h5,
  #content2022 div.photocenter + h5,
  #content2022 figure.photoleft + h6,
  #content2022 div.photoleft + h6,
  #content2022 figure.photoright + h6,
  #content2022 div.photoright + h6,
  #content2022 figure.photocenter + h6,
  #content2022 div.photocenter + h6 {
    margin-top: 8rem;
  }
}
@media (min-width: 576px) {
  #content2022 figure figure,
  #content2022 div figure {
    display: table;
    width: 100%;
  }
}
@media (min-width: 576px) {
  #content2022 figure.photoleft,
  #content2022 div.photoleft {
    float: left;
    padding-right: min(4rem, (239.5px - 50%) * -1000);
    min-width: 240px;
    width: calc((240px - 50%) * 1000);
    max-width: 100%;
  }
  #content2022 figure.photoleft img,
  #content2022 div.photoleft img {
    width: 100%;
  }
}
@media (min-width: 1366px) {
  #content2022 figure.photoleft,
  #content2022 div.photoleft {
    padding-right: 4rem;
    min-width: 280px;
    width: calc((280px - 40%) * -1000);
    max-width: 360px;
  }
  #content2022 figure.photoleft img,
  #content2022 div.photoleft img {
    width: 100%;
  }
}
@media (min-width: 576px) {
  #content2022 figure.photoright,
  #content2022 div.photoright {
    float: right;
    padding-left: min(4rem, (239.5px - 50%) * -1000);
    min-width: 240px;
    width: calc((240px - 50%) * 1000);
    max-width: 100%;
  }
  #content2022 figure.photoright img,
  #content2022 div.photoright img {
    width: 100%;
  }
}
@media (min-width: 1366px) {
  #content2022 figure.photoright,
  #content2022 div.photoright {
    padding-left: 4rem;
    min-width: 280px;
    width: calc((280px - 40%) * -1000);
    max-width: 360px;
  }
  #content2022 figure.photoright img,
  #content2022 div.photoright img {
    width: 100%;
  }
}
#content2022 figure.photoright > .image + .image,
#content2022 div.photoright > .image + .image {
  margin-top: 16px;
}
#content2022 figure.photocenter,
#content2022 div.photocenter {
  padding-top: 0;
  max-width: 100%;
  width: fit-content;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
#content2022 figure.photocenter a.popup-image,
#content2022 div.photocenter a.popup-image {
  display: block;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: calc(576px - 0.02px)) {
  #content2022 figure.photocenter img,
  #content2022 div.photocenter img {
    width: 100vw;
  }
}
@media (min-width: 1024px) {
  #content2022 figure.photocenter img,
  #content2022 div.photocenter img {
    height: auto;
  }
}
#content2022 .boxright {
  float: right;
  margin-left: 4rem;
}
#content2022 .boxright {
  float: right;
  margin-right: 4rem;
}
#content2022 .boxcenter {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 576px) {
  #content2022 .boxcenter {
    width: auto;
  }
}
#content2022 hr {
  margin: 3.5rem 0;
}
#content2022 h3 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 1.5;
  margin: 4rem auto 0 0;
  width: 100%;
  clear: both;
}
#content2022 h3 + p.desc {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #979899;
  margin: 2rem auto 0 0;
  width: 100%;
}
@media (min-width: 1024px) {
  #content2022 h3 {
    margin-top: 7rem;
    /* 右のマージンを可変にする
      margin-right: ~"min(100% - 754px, 256px)"; */
  }
  #content2022 h3 + p.desc {
    margin-top: 3rem;
    margin-bottom: 3rem;
    /* 右のマージンを可変にする
        margin-right: ~"min(100% - 754px, 256px)"; */
  }
}
@media (min-width: 1366px) {
  #content2022 h3 {
    margin-right: 256px;
  }
  #content2022 h3 + p.desc {
    margin-right: 256px;
  }
}
#content2022 .newsDate {
  margin-top: 3rem;
}
#content2022 .newsDate + h3 {
  margin-top: 1.5rem;
}
@media (min-width: 1024px) {
  #content2022 .newsDate {
    margin-top: 7rem;
  }
}
#content2022 .main h3 {
  width: auto !important;
  margin-right: auto;
}
#content2022 h4 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.5;
  text-align: left;
  margin: 4rem auto 2rem;
  padding-left: 1.5rem;
  border-left: 3px solid var(--tmuKeycolor01);
  clear: both;
}
#content2022 h4.upperLine,
#content2022 .inner-ml-1600 h4 {
  position: relative;
  padding-top: 1.5rem;
  padding-left: 0;
  border-left: none;
}
#content2022 h4.upperLine::before,
#content2022 .inner-ml-1600 h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3.5rem;
  height: 0.3rem;
  background-color: var(--tmuKeycolor01);
}
@media (min-width: 1024px) {
  #content2022 h4.upperLine,
  #content2022 .inner-ml-1600 h4 {
    padding-top: 2.8rem;
  }
  #content2022 h4.upperLine::before,
  #content2022 .inner-ml-1600 h4::before {
    width: 5rem;
  }
}
#content2022 .tocTile + h4,
#content2022 .tocTileWide + h4,
#content2022 .columnBoxList + h4,
#content2022 .box-link + h4 {
  margin-top: 4rem;
}
#content2022 h5 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: left;
  margin: 2rem auto;
  color: var(--tmuKeycolor01);
  clear: both;
}
#content2022 h5 + .tocTile,
#content2022 h5 + .tocTileWide,
#content2022 h5 + .columnBoxList,
#content2022 h5 + .box-link {
  margin-top: 2rem;
}
#content2022 h6 {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  margin: 2rem auto 1.5rem;
}
#content2022 p {
  margin: 1.5rem 0;
  line-height: 2;
  text-align: justify;
  word-break: break-all;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (min-width: 768px) {
  #content2022 p {
    text-align: justify;
    word-break: break-all;
    text-justify: inter-ideograph;
    text-justify: inter-character;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}
#content2022 ol:not(.normal),
#content2022 ul:not(.normal) {
  margin: 1.5rem auto;
  line-height: 1.5;
  padding-left: 0;
  list-style: none;
}
#content2022 ol:not(.normal) ol,
#content2022 ul:not(.normal) ol,
#content2022 ol:not(.normal) ul,
#content2022 ul:not(.normal) ul {
  margin: 0.66666667em auto 0;
}
#content2022 ol:not(.normal) > li,
#content2022 ul:not(.normal) > li {
  position: relative;
  padding-left: 1.66666667em;
  margin-top: 0.66666667em;
}
#content2022 ol:not(.normal) > li:first-child,
#content2022 ul:not(.normal) > li:first-child {
  margin-top: 0;
}
#content2022 ol:not(.normal) > li:not(.normal) h3,
#content2022 ul:not(.normal) > li:not(.normal) h3,
#content2022 ol:not(.normal) > li:not(.normal) h4,
#content2022 ul:not(.normal) > li:not(.normal) h4,
#content2022 ol:not(.normal) > li:not(.normal) h5,
#content2022 ul:not(.normal) > li:not(.normal) h5,
#content2022 ol:not(.normal) > li:not(.normal) h6,
#content2022 ul:not(.normal) > li:not(.normal) h6,
#content2022 ol:not(.normal) > li:not(.normal) p,
#content2022 ul:not(.normal) > li:not(.normal) p {
  margin: 0 !important;
}
#content2022 ul:not(.normal) > li::before {
  content: "";
  position: absolute;
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: var(--tmuKeycolor01);
  top: 0.6em;
  left: 0.73333333em;
}
#content2022 ul:not(.normal).square > li::before {
  border-radius: 0;
  width: 0.6rem;
  height: 0.6rem;
}
#content2022 ul:not(.normal).toclist > li {
  display: flex;
}
#content2022 ul:not(.normal).toclist > li > a {
  display: inline-flex;
}
#content2022 ul:not(.normal).toclist > li .date {
  margin-left: 0.5em;
  order: 99;
}
#content2022 ul:not(.normal).toclist.large > li {
  padding-left: 0;
  margin-top: 1.5em;
}
#content2022 ul:not(.normal).toclist.large > li::before {
  content: none;
  /*            border-radius: 0;
            width: 1rem;
            height: 1rem;
            top: 0.65em;
            left: 0.73333333em;*/
}
#content2022 ul:not(.normal).toclist.large > li > a {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2;
  text-align: left;
}
#content2022 ul:not(.normal).toclist.large > li .toctxt {
  line-height: 2;
}
@media (min-width: 1024px) {
  #content2022 ul:not(.normal).toclist.large > li::before {
    width: 1.5rem;
    height: 1.5rem;
    top: 0.75em;
    left: 0.25em;
  }
  #content2022 ul:not(.normal).toclist.large > li > a {
    font-size: 2.4rem;
  }
}
#content2022 ol:not(.normal) {
  counter-reset: number;
}
#content2022 ol:not(.normal) > li::before {
  content: counter(number);
  counter-increment: number;
  display: inline-block;
  width: 1.66666667em;
  font-weight: 600;
  color: var(--tmuKeycolor01);
  white-space: nowrap;
  text-align: right;
  padding-right: 0.46666667em;
  margin-left: -1.66666667em;
}
#content2022 ol:not(.normal).alphabetlist {
  counter-reset: number;
}
#content2022 ol:not(.normal).alphabetlist > li::before {
  content: "(" counter(number, lower-alpha) ")";
}
#content2022 ol:not(.normal).alphabetlistUp {
  counter-reset: number;
}
#content2022 ol:not(.normal).alphabetlistUp > li::before {
  content: "(" counter(number, upper-alpha) ")";
}
#content2022 ol:not(.normal).knumlist {
  counter-reset: number;
}
#content2022 ol:not(.normal).knumlist > li::before {
  content: "(" counter(number) ")";
}
#content2022 ol:not(.normal).marunumlist {
  counter-reset: number;
}
#content2022 ol:not(.normal).marunumlist > li::before {
  color: #1e1e1e;
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(1):before {
  content: "\2460";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(2):before {
  content: "\2461";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(3):before {
  content: "\2462";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(4):before {
  content: "\2463";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(5):before {
  content: "\2464";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(6):before {
  content: "\2465";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(7):before {
  content: "\2466";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(8):before {
  content: "\2467";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(9):before {
  content: "\2468";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(10):before {
  content: "\2469";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(11):before {
  content: "\2470";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(12):before {
  content: "\2471";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(13):before {
  content: "\2472";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(14):before {
  content: "\2473";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(15):before {
  content: "\2474";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(16):before {
  content: "\2475";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(17):before {
  content: "\2476";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(18):before {
  content: "\2477";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(19):before {
  content: "\2478";
}
#content2022 ol:not(.normal).marunumlist > li:nth-child(20):before {
  content: "\2479";
}
#content2022 ol:not(.normal).lower-roman {
  counter-reset: number;
}
#content2022 ol:not(.normal).lower-roman > li::before {
  content: counter(number, lower-roman) ".";
}
#content2022 ol:not(.normal).upper-roman {
  counter-reset: number;
}
#content2022 ol:not(.normal).upper-roman > li::before {
  content: counter(number, upper-roman) ".";
}
#content2022 ul.notes {
  margin-top: 1.5rem;
}
#content2022 ul.notes > li::before {
  content: "※";
  position: absolute;
  left: 0.5em;
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 0;
  background-color: transparent;
  top: 0;
}
#content2022 table:not(.normal) {
  width: 100%;
  margin: 4rem auto 4rem 0;
  border-collapse: collapse;
  border-style: hidden;
}
#content2022 table:not(.normal) th,
#content2022 table:not(.normal) td {
  font-size: 1.3rem;
  line-height: 1.5;
  background-color: #f4f5f6;
  padding: 1em;
  border: 2px solid white;
  vertical-align: top;
  text-align: left;
}
#content2022 table:not(.normal) th *:first-child,
#content2022 table:not(.normal) td *:first-child {
  margin-top: 0;
}
#content2022 table:not(.normal) th *:last-child,
#content2022 table:not(.normal) td *:last-child {
  margin-bottom: 0;
}
#content2022 table:not(.normal) th ul,
#content2022 table:not(.normal) td ul,
#content2022 table:not(.normal) th ol,
#content2022 table:not(.normal) td ol {
  list-style: none !important;
  margin: 0 !important;
}
#content2022 table:not(.normal) th > ul,
#content2022 table:not(.normal) td > ul {
  margin-left: -0.5em;
}
#content2022 table:not(.normal) th.valign-middle,
#content2022 table:not(.normal) td.valign-middle {
  vertical-align: middle;
}
#content2022 table:not(.normal) thead td {
  background-color: transparent;
}
#content2022 table:not(.normal) thead th {
  font-weight: 600;
  background-color: #e1e4e6;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
#content2022 table:not(.normal) tbody th {
  background-color: #eceeef;
}
#content2022 table:not(.normal) tfoot td,
#content2022 table:not(.normal) tfoot th {
  background-color: #D2D6D9;
}
#content2022 table:not(.normal) .transparent {
  border: none !important;
  background-color: transparent;
  padding: 0.5rem 0;
}
#content2022 .tableWrap {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  max-width: 1314px;
  width: 100%;
  height: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  margin: 4rem auto 4rem 0;
}
@media (hover: none) and (pointer: coarse) {
  #content2022 .tableWrap {
    scrollbar-width: none;
  }
  #content2022 .tableWrap::-webkit-scrollbar {
    display: none;
  }
}
#content2022 .tableWrap > .grid-table,
#content2022 .tableWrap > table {
  margin: 0;
  width: 100%;
  min-width: 737px;
  max-width: 1314px;
}
@media (min-width: 1024px) {
  #content2022 .tableWrap > .grid-table,
  #content2022 .tableWrap > table {
    min-width: 0;
  }
}
#content2022 h3 + .tableWrap,
#content2022 h4 + .tableWrap,
#content2022 h5 + .tableWrap,
#content2022 h6 + .tableWrap,
#content2022 h3 + table,
#content2022 h4 + table,
#content2022 h5 + table,
#content2022 h6 + table {
  margin-top: 2rem;
}
#content2022 ul.orgTree {
  list-style: none;
  padding: 0;
  margin: 0;
}
#content2022 ul.orgTree ul {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}
#content2022 ul.orgTree ul > li::before {
  position: absolute;
  content: "";
  border-left: 1px solid #e3e4e5;
  left: 10px;
  height: 100%;
}
#content2022 ul.orgTree ul > li:last-child::before {
  content: none;
}
#content2022 ul.orgTree ul > li:last-child > .box {
  position: relative;
}
#content2022 ul.orgTree ul > li:last-child > .box::before {
  position: absolute;
  content: "";
  border-left: 1px solid #e3e4e5;
  top: 0;
  left: 10px;
  height: 20px;
}
#content2022 ul.orgTree .box {
  display: inline-block;
  width: clamp(140px, 50% + 20px, 340px );
  padding-top: 10px;
  padding-left: 20px;
  min-width: 120px;
}
#content2022 ul.orgTree .box .notA,
#content2022 ul.orgTree .box a {
  display: block;
  position: relative;
  text-align: center;
  padding: 1em 0.5em;
  font-size: 1.3rem;
  line-height: 1.5;
  color: #1e1e1e;
  border: 1px solid #e3e4e5;
  width: 100%;
  height: 100%;
  background-color: white;
}
#content2022 ul.orgTree .box .notA::before,
#content2022 ul.orgTree .box a::before {
  position: absolute;
  content: "";
  border-left: 1px solid #e3e4e5;
  border-bottom: 1px solid #e3e4e5;
  left: -11px;
  width: 10px;
  top: -1px;
  height: 50%;
}
#content2022 ul.orgTree .box a {
  background-color: #f4f5f6;
}
#content2022 ul.orgTree .box a .icon.arrow-r {
  display: inline-block;
  margin-left: 0.5em;
}
#content2022 ul.orgTree li {
  position: relative;
}
#content2022 ul.orgTree li.level1 > .box {
  padding-top: 0;
  padding-left: 0;
}
#content2022 ul.orgTree li.level1 > .box .notA::before,
#content2022 ul.orgTree li.level1 > .box a::before {
  display: none;
}
#content2022 ul.orgTree li.level2 > ul {
  margin-left: 20px;
}
#content2022 ul.orgTree li.level2.divider > .box .notA,
#content2022 ul.orgTree li.level2.divider > .box a {
  padding: 5px 0;
  background: none;
  border: none;
  width: auto;
  text-align: left;
}
#content2022 ul.orgTree li.level3 {
  display: flex;
  align-items: flex-start;
}
#content2022 ul.orgTree li.level3 > .box {
  padding-top: 20px;
}
#content2022 ul.orgTree li.level3 > ul {
  width: clamp(140px, 50% + 20px, 340px );
  margin-top: 10px;
  margin-left: 0;
}
#content2022 ul.orgTree li.level3 > ul .box {
  width: 100%;
}
#content2022 ul.orgTree li.level4.first::before {
  top: calc( 50% + 4px );
}
#content2022 ul.orgTree li.level4.first.last > .box::before {
  display: none;
}
#content2022 ul.orgTree li.level4.first .notA::before,
#content2022 ul.orgTree li.level4.first a::before {
  left: -21px;
  width: 21px;
  border-left: none;
}
#content2022 ul.orgTree li.divider .box {
  flex-grow: 1;
  max-width: 680px;
  padding-top: 30px !important;
}
#content2022 ul.orgTree li.divider .box .notA,
#content2022 ul.orgTree li.divider .box a {
  background-color: #e3e4e5;
}
#content2022 ul.orgTree li.divider .box .notA::before,
#content2022 ul.orgTree li.divider .box a::before {
  display: none;
}
@media (min-width: 1366px) {
  #content2022 ul.orgTree ul > li::before {
    left: 30px;
  }
  #content2022 ul.orgTree ul > li:last-child > .box::before {
    left: 30px;
  }
  #content2022 ul.orgTree .box {
    padding-left: 60px;
  }
  #content2022 ul.orgTree .box .notA,
  #content2022 ul.orgTree .box a {
    padding: 1.3em 0.5em;
    font-size: 1.4rem;
  }
  #content2022 ul.orgTree .box .notA::before,
  #content2022 ul.orgTree .box a::before {
    left: -31px;
    width: 30px;
  }
  #content2022 ul.orgTree li.level2 > ul {
    margin-left: 60px;
  }
  #content2022 ul.orgTree li.level3 > .box {
    padding-top: 20px;
  }
  #content2022 ul.orgTree li.level4.first .notA::before,
  #content2022 ul.orgTree li.level4.first a::before {
    left: -61px;
    width: 61px;
    border-left: none;
  }
}
#content2022 .grid-table {
  display: grid;
  width: auto;
  grid-auto-columns: auto;
  grid-auto-rows: auto;
  border-top: 1px solid #e3e4e5;
  border-left: 1px solid #e3e4e5;
  margin: 4rem auto 4rem;
}
#content2022 .grid-table > .grid-table-row {
  display: contents;
}
#content2022 .grid-table > .grid-table-row > .head {
  max-width: 15em;
}
#content2022 .grid-table > .grid-table-row > * {
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: left;
  border-right: 1px solid #e3e4e5;
  border-bottom: 1px solid #e3e4e5;
  background-color: white;
  padding: 1em 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
@media (min-width: 1024px) {
  #content2022 .grid-table > .grid-table-row > * {
    font-size: 1.4rem;
  }
}
#content2022 .grid-table > .grid-table-row.head > * {
  flex-wrap: nowrap;
  align-items: center;
  background-color: #f4f5f6;
  font-weight: 600;
  justify-content: center;
}
#content2022 .grid-table.study_style {
  grid-template-columns: auto 1fr 1fr 1fr 1fr auto;
  font-size: 1.3rem;
}
@media (min-width: 1024px) {
  #content2022 .grid-table.study_style {
    font-size: 1.4rem;
  }
}
#content2022 .grid-table.study_style button.info {
  display: inline-block;
  border-radius: 30px;
  border: none;
  padding: 0;
  width: 14px;
  height: 14px;
  margin-left: 0.5em;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik0xNCA3YTcgNyAwIDEgMS03LTcgNyA3IDAgMCAxIDcgNyIgZmlsbD0iIzFlMWUxZSIvPjxwYXRoIGQ9Ik03LjgxNiAyLjM1MmEuOTMuOTMgMCAwIDAtLjY4My4yODIuOTQzLjk0MyAwIDAgMC0uMjc1LjY4NS45NjMuOTYzIDAgMSAwIDEuNjQtLjY4NS45MTUuOTE1IDAgMCAwLS42ODItLjI4MlptLjM4NCAzLjFjLS44NjUuMTI1LTEuNzI5LjE4OS0yLjU5NC4zMDZsLS4wOS4zODdoLjIzOGEuNDkxLjQ5MSAwIDAgMSAuMzQxLjExMi4zMzYuMzM2IDAgMCAxIC4xMjYuMjU2IDEuOTU4IDEuOTU4IDAgMCAxLS4xMzEuNTI5bC0uOTEzIDMuMTQxYTIuMjA2IDIuMjA2IDAgMCAwLS4xMTEuNjE3LjgxOS44MTkgMCAwIDAgLjI0OC42MTEgMS45NTEgMS45NTEgMCAwIDAgLjk5MS4yMzcgMy4xNTggMy4xNTggMCAwIDAgMi42MzMtMS41NWwtLjUzMS0uMzFhMy4xNjkgMy4xNjkgMCAwIDEtMSAuODcuOTA4LjkwOCAwIDAgMS0uNDU0LjEwOS4xNzUuMTc1IDAgMCAxLS4xMjYtLjA1OS4yLjIgMCAwIDEtLjA1OC0uMTM3IDIuNTczIDIuNTczIDAgMCAxIC4xMTEtLjUyNloiIGZpbGw9IiNmZmYiLz48L3N2Zz4=);
  background-size: contain;
}
#content2022 .grid-table.study_style .bar {
  padding: 0.5em 0;
  background-color: #4366B0;
  margin: auto 0.5rem;
  min-height: 20px;
}
@media (min-width: 1024px) {
  #content2022 .grid-table.study_style .bar {
    margin: auto 1rem;
  }
}
#content2022 .grid-table.study_style .bar .dummy {
  padding: 0 1.5rem;
}
@media (min-width: 1024px) {
  #content2022 .grid-table.study_style .bar .dummy {
    padding: 0 2rem;
  }
}
#content2022 .grid-table.study_style .w-bar {
  position: relative;
  background-color: white;
  margin: auto 2rem;
  text-align: center;
  padding: 0.25em 1em;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1.2;
}
@media (min-width: 1024px) {
  #content2022 .grid-table.study_style .w-bar {
    font-size: 1.2rem;
  }
}
#content2022 .grid-table.study_style .v-bar {
  background-color: #f4f5f6;
  display: flex;
  justify-items: center;
  align-items: center;
  text-align: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  margin: 2rem 0.5rem;
}
@media (min-width: 1024px) {
  #content2022 .grid-table.study_style .v-bar {
    margin: 1.7rem 1rem;
  }
}
#content2022 .grid-table.study_style .v-bar > span {
  margin: auto;
}
#content2022 .easy-grid {
  --easy-grid-width: 240px;
  display: grid;
  column-gap: 16px;
  row-gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(var(--easy-grid-width), 1fr));
}
#content2022 .easy-grid > .image {
  overflow: hidden;
  color: #979899;
  font-size: 1.2rem;
}
#content2022 .easy-grid > .image img {
  width: 100%;
  object-fit: cover;
}
#content2022 section.columnBlock,
#content2022 div.columnBlock,
#content2022 blockquote {
  margin: 4rem auto 1.5rem;
  background-color: var(--tmuKeycolor01s);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 20%;
  padding: 2rem;
}
#content2022 section.columnBlock > *:first-child,
#content2022 div.columnBlock > *:first-child,
#content2022 blockquote > *:first-child {
  margin-top: 0;
}
#content2022 section.columnBlock > *:last-child,
#content2022 div.columnBlock > *:last-child,
#content2022 blockquote > *:last-child {
  margin-bottom: 0;
}
#content2022 section.columnBlock h3,
#content2022 div.columnBlock h3,
#content2022 blockquote h3 {
  font-size: 2.2rem;
}
#content2022 section.columnBlock h4,
#content2022 div.columnBlock h4,
#content2022 blockquote h4 {
  font-size: 1.8rem;
}
#content2022 section.columnBlock h5,
#content2022 div.columnBlock h5,
#content2022 blockquote h5 {
  font-size: 1.6rem;
}
#content2022 section.columnBlock h6,
#content2022 div.columnBlock h6,
#content2022 blockquote h6 {
  font-size: 1.5rem;
}
#content2022 section.columnBlock ol:not(.normal),
#content2022 div.columnBlock ol:not(.normal),
#content2022 blockquote ol:not(.normal),
#content2022 section.columnBlock ul:not(.normal),
#content2022 div.columnBlock ul:not(.normal),
#content2022 blockquote ul:not(.normal),
#content2022 section.columnBlock p,
#content2022 div.columnBlock p,
#content2022 blockquote p {
  font-size: 1.4rem;
  line-height: 2;
}
#content2022 section.columnBlock.upHeader,
#content2022 div.columnBlock.upHeader,
#content2022 blockquote.upHeader {
  position: relative;
  margin-top: 5.5rem;
}
#content2022 section.columnBlock.upHeader > h4:first-child,
#content2022 div.columnBlock.upHeader > h4:first-child,
#content2022 blockquote.upHeader > h4:first-child,
#content2022 section.columnBlock.upHeader > h5:first-child,
#content2022 div.columnBlock.upHeader > h5:first-child,
#content2022 blockquote.upHeader > h5:first-child,
#content2022 section.columnBlock.upHeader > h6:first-child,
#content2022 div.columnBlock.upHeader > h6:first-child,
#content2022 blockquote.upHeader > h6:first-child {
  position: absolute;
  display: inline-block;
  font-size: 1.5rem;
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
  padding: 0.4rem 1rem;
  margin: 0;
  background-color: white;
  border: none;
  border-top: 2px solid var(--tmuKeycolor01);
  top: 0;
  left: 1rem;
  transform: translate(0, -50%);
}
#content2022 section.columnBlock.upHeader > h4:first-child + *,
#content2022 div.columnBlock.upHeader > h4:first-child + *,
#content2022 blockquote.upHeader > h4:first-child + *,
#content2022 section.columnBlock.upHeader > h5:first-child + *,
#content2022 div.columnBlock.upHeader > h5:first-child + *,
#content2022 blockquote.upHeader > h5:first-child + *,
#content2022 section.columnBlock.upHeader > h6:first-child + *,
#content2022 div.columnBlock.upHeader > h6:first-child + *,
#content2022 blockquote.upHeader > h6:first-child + * {
  margin-top: 1rem;
}
#content2022 section.columnBlock.withBG,
#content2022 div.columnBlock.withBG,
#content2022 blockquote.withBG {
  color: white;
}
#content2022 section.columnBlock.withBG > *:nth-last-child(2),
#content2022 div.columnBlock.withBG > *:nth-last-child(2),
#content2022 blockquote.withBG > *:nth-last-child(2) {
  margin-bottom: 0 !important;
}
#content2022 section.columnBlock.withBG > h4,
#content2022 div.columnBlock.withBG > h4,
#content2022 blockquote.withBG > h4 {
  border-color: white;
}
#content2022 section.columnBlock.withBG::before,
#content2022 div.columnBlock.withBG::before,
#content2022 blockquote.withBG::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #1e1e1e;
  opacity: 0.5;
  z-index: -1;
}
#content2022 .moreBlock {
  max-height: var(--moreBlock-height);
  overflow: hidden;
  transition: max-height 0.75s ease-in;
}
#content2022 .moreBlock.close {
  max-height: 333px !important;
}
@media (min-width: 1024px) {
  #content2022 .moreBlock.close {
    max-height: 278px !important;
  }
}
#content2022 .buttonMoreWrap {
  width: 100%;
  padding-top: 8rem;
  margin-top: -8rem;
  background: linear-gradient(0deg, #ffffff 60%, rgba(255, 255, 255, 0) 100%);
  z-index: 2;
  position: relative;
  transition: opacity 0.75s ease-in, height 0.75s ease-in, margin-top 0.75s ease-in, padding 0.75s ease-in;
}
#content2022 .buttonMoreWrap.hide {
  opacity: 0;
  height: 0;
  margin-top: 0;
  padding-top: 0;
  overflow: hidden;
}
#content2022 button.more {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  border: none;
  background-color: #e3e4e5;
  font-size: 1.3rem;
  line-height: 1.6rem;
  padding: 1.5rem;
}
#content2022 button.more::after {
  display: inline-block;
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  margin-left: 0.4rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTE2IDB2MTZIMFYweiIvPjxwYXRoIGQ9Ik0zLjQyOCA2LjI4NiA4IDEwLjg1N2w0LjU3MS00LjU3MSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWUxZTFlIiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: center;
}
@media (min-width: 1024px) {
  #content2022 button.more {
    font-size: 1.4rem;
  }
}
#content2022 .link {
  max-width: 100%;
}
#content2022 .link a {
  display: inline-flex;
  align-items: center;
  color: #1e1e1e;
  line-height: 1;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid #1e1e1e;
}
#content2022 .link.otherLink .arrow-r {
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.125em;
}
#content2022 .textLinkWrap {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  column-gap: 2rem;
  margin-top: 2.8rem;
}
@media (min-width: 1024px) {
  #content2022 .textLinkWrap {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
#content2022 .anchorList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 2rem;
  row-gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
#content2022 .anchorList > li {
  margin: 0;
}
#content2022 .anchorList > li a {
  display: inline-flex;
  align-items: center;
  color: #1e1e1e;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}
#content2022 .anchorList > li a > span {
  padding: 0 2px 4px;
  border-bottom: 1px solid #1e1e1e;
}
#content2022 .anchorList > li a .icon-circleDown {
  width: 2rem;
  height: 2rem;
  margin-left: 5px;
}
@media (min-width: 1024px) {
  #content2022 .anchorList {
    column-gap: 4rem;
  }
}
#content2022 div.box-link > a,
#content2022 button.box-link,
#content2022 a.box-link {
  display: flex;
  width: max-content;
  height: auto;
  max-width: 100%;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 600;
  text-align: left;
  padding: 1.2rem 1.5rem;
  border: 1px solid #e3e4e5;
  color: var(--tmuKeycolor01);
  background-color: #f4f5f6;
}
#content2022 div.box-link > a .filedetail,
#content2022 button.box-link .filedetail,
#content2022 a.box-link .filedetail {
  order: 1;
  white-space: nowrap;
  flex-shrink: 0;
}
#content2022 div.box-link > a .addIcon.icon-link,
#content2022 button.box-link .addIcon.icon-link,
#content2022 a.box-link .addIcon.icon-link,
#content2022 div.box-link > a .icon.arrow-r,
#content2022 button.box-link .icon.arrow-r,
#content2022 a.box-link .icon.arrow-r {
  display: inline-block;
  order: 2;
  margin-left: 1em;
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}
#content2022 div.box-link > a .addIcon.icon-link,
#content2022 button.box-link .addIcon.icon-link,
#content2022 a.box-link .addIcon.icon-link {
  width: 1em;
  height: 1em;
}
#content2022 div.box-link > a.hover,
#content2022 button.box-link.hover,
#content2022 a.box-link.hover {
  text-decoration: none !important;
}
@media (min-width: 1024px) {
  #content2022 div.box-link > a,
  #content2022 button.box-link,
  #content2022 a.box-link {
    font-size: 1.4rem;
    padding: 1.2rem 2rem;
  }
  #content2022 div.box-link > a .addIcon.icon-link,
  #content2022 button.box-link .addIcon.icon-link,
  #content2022 a.box-link .addIcon.icon-link,
  #content2022 div.box-link > a .icon.arrow-r,
  #content2022 button.box-link .icon.arrow-r,
  #content2022 a.box-link .icon.arrow-r {
    margin-left: 1.5em;
  }
}
#content2022 div.box-link {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 1.5rem auto;
  column-gap: 1rem;
  row-gap: 1rem;
}
#content2022 div.box-link.pageback {
  clear: both;
  margin-top: 3rem;
}
#content2022 div.box-link.pageback > button {
  color: #1e1e1e;
  background-color: transparent;
  border: none;
  font-weight: normal;
  padding: 0;
  border-bottom: 1px solid #1e1e1e;
}
#content2022 div.box-link.pageback > button .arrow-r {
  order: 0;
  transform: rotate(-180deg);
  margin: 0 1.4rem 0 0;
}
@media (min-width: 1024px) {
  #content2022 div.box-link {
    column-gap: 2rem;
    row-gap: 2rem;
  }
  #content2022 div.box-link.pageback {
    margin-top: 6rem;
  }
}
#content2022 p + .box-link {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
#content2022 button.reset {
  display: flex;
  margin: 0 0 0 auto;
  align-items: center;
  color: #1e1e1e;
  font-size: 1.4rem;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  padding-bottom: 4px;
  border: none;
  border-bottom: 1px solid #1e1e1e;
  background-color: transparent;
}
#content2022 button.reset .icon-xcross {
  fill: #1e1e1e;
  margin-left: 4px;
  width: 1.2rem;
  height: 1.2rem;
}
#content2022 div.columnBox {
  margin-top: 5.5rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  column-gap: 1.6rem;
  row-gap: 1.6rem;
}
#content2022 div.columnBox > div {
  min-width: calc( 50% - .8rem );
  width: calc((590px - 100%) * 1000);
  max-width: 100%;
  background-color: var(--tmuKeycolor01s);
  padding: 3rem;
  font-size: 1.4rem;
  flex-grow: 1;
}
#content2022 div.columnBox > div > *:first-child {
  margin-top: 0 !important;
}
#content2022 div.columnBox > div > *:last-child {
  margin-bottom: 0 !important;
}
#content2022 div.columnBox > div > * {
  margin: 0 auto auto 1.5rem;
}
#content2022 div.columnBox > div > p {
  margin-left: 0;
}
#content2022 div.columnBox > div h5 {
  margin: 1.5rem 0;
}
#content2022 div.columnBox > div h6 {
  font-size: inherit;
  margin-top: 1.5rem;
  margin-left: 0;
}
#content2022 div.columnBox > div ul {
  margin: 1.5rem auto;
}
#content2022 div.columnBox > div.keywords ul {
  margin-top: -0.5rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: start;
  list-style: none;
}
#content2022 div.columnBox > div.keywords ul li {
  background-color: white;
  margin: 0.5rem 0.5rem 0 0;
  padding: 0;
  display: block;
  padding: 0.2rem 1rem;
  color: #1e1e1e;
  /*            a {
            display: block;
            padding: .2rem 1rem;
            color:@tmuBlack;
            }*/
  /*&:nth-of-type(n+11) {
              display: none;
            }*/
}
#content2022 div.columnBox > div.keywords ul li::before {
  display: none;
}
#content2022 div.columnBox > div.keywords ul li *::last-child {
  margin-right: 0;
}
#content2022 .toclistAlt {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 1.3rem;
  grid-row-gap: 1.3rem;
  margin-top: 0.8rem;
}
#content2022 .toclistAlt .card {
  position: relative;
  width: 100%;
  border-radius: 0;
  overflow: hidden;
}
#content2022 .toclistAlt .card a {
  display: block;
  overflow: hidden;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  flex-direction: row;
  align-items: center;
  padding: 1rem;
  color: #1e1e1e;
}
#content2022 .toclistAlt .card a .card-body {
  padding: 1.1rem 0;
}
#content2022 .toclistAlt .card a .card-body h5 {
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.5;
  color: inherit;
  margin: 0;
}
#content2022 .toclistAlt .card a .card-body .text,
#content2022 .toclistAlt .card a .card-body .manaberuList,
#content2022 .toclistAlt .card a .card-body .interestList {
  font-size: 1.4rem;
  line-height: 1.5;
  color: inherit;
  margin: 1rem 0 0 0;
}
#content2022 .toclistAlt .card a .card-body .text.hide,
#content2022 .toclistAlt .card a .card-body .manaberuList.hide,
#content2022 .toclistAlt .card a .card-body .interestList.hide {
  display: none;
}
#content2022 .toclistAlt .card a .card-body .text {
  display: none;
}
#content2022 .toclistAlt .card a .card-body .manaberuList li,
#content2022 .toclistAlt .card a .card-body .interestList li {
  display: none;
  padding: 0;
  margin: 0;
}
#content2022 .toclistAlt .card a .card-body .manaberuList li::before,
#content2022 .toclistAlt .card a .card-body .interestList li::before {
  display: none;
}
#content2022 .toclistAlt .card a .card-body .manaberuList li.show,
#content2022 .toclistAlt .card a .card-body .interestList li.show {
  display: inline !important;
}
#content2022 .toclistAlt .card a .card-body .manaberuList li.show + .show::before,
#content2022 .toclistAlt .card a .card-body .interestList li.show + .show::before {
  content: "、";
  display: inline;
  position: static;
  width: auto;
  height: auto;
  border: none;
  background: none;
}
#content2022 .toclistAlt .card svg.arrow-r {
  display: block;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
@media (min-width: 1024px) {
  #content2022 .toclistAlt {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 3.2rem;
    grid-row-gap: 3rem;
    margin-top: 4.8rem;
  }
  #content2022 .toclistAlt .card a {
    padding: 1.5rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  #content2022 .toclistAlt .card a .card-img {
    width: 165px;
    flex-shrink: 0;
    margin-bottom: auto;
  }
  #content2022 .toclistAlt .card a .card-body {
    padding: 0 0 0 2.5rem;
  }
  #content2022 .toclistAlt .card a .card-body h5 {
    font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
    font-weight: 600;
    font-size: 2rem;
  }
  #content2022 .toclistAlt .card a .card-body .text,
  #content2022 .toclistAlt .card a .card-body .manaberuList,
  #content2022 .toclistAlt .card a .card-body .interestList {
    margin: 1rem 0 0 0;
  }
  #content2022 .toclistAlt .card a .card-body .text {
    display: block;
  }
  #content2022 .toclistAlt .card a svg.arrow-r {
    bottom: 0.8rem;
    right: 1.2rem;
  }
}
@media (min-width: 1600px) {
  #content2022 .toclistAlt {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
#content2022 ul.columnBoxList {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 1.5rem auto;
  column-gap: 1rem;
  row-gap: 1rem;
}
#content2022 ul.columnBoxList > li {
  margin: 0;
  padding: 0;
  max-width: 100%;
}
#content2022 ul.columnBoxList > li::before {
  display: none;
}
#content2022 ul.columnBoxList > li > .dummy_a,
#content2022 ul.columnBoxList > li > a,
#content2022 ul.columnBoxList > li > button {
  display: flex;
  width: max-content;
  max-width: 100%;
  height: 100%;
  align-items: center;
  font-size: 1.3rem;
  font-weight: 600;
  color: #1e1e1e;
  text-align: left;
  padding: 1.2rem 1.5rem;
  border: 1px solid #e3e4e5;
  background-color: white;
}
#content2022 ul.columnBoxList > li > .dummy_a .filedetail,
#content2022 ul.columnBoxList > li > a .filedetail,
#content2022 ul.columnBoxList > li > button .filedetail {
  order: 1;
  white-space: nowrap;
  flex-shrink: 0;
}
#content2022 ul.columnBoxList > li > .dummy_a .addIcon.icon-link,
#content2022 ul.columnBoxList > li > a .addIcon.icon-link,
#content2022 ul.columnBoxList > li > button .addIcon.icon-link,
#content2022 ul.columnBoxList > li > .dummy_a .icon.arrow-r,
#content2022 ul.columnBoxList > li > a .icon.arrow-r,
#content2022 ul.columnBoxList > li > button .icon.arrow-r {
  display: inline-block;
  order: 2;
  margin-left: 1em;
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}
#content2022 ul.columnBoxList > li > .dummy_a .addIcon.icon-link,
#content2022 ul.columnBoxList > li > a .addIcon.icon-link,
#content2022 ul.columnBoxList > li > button .addIcon.icon-link {
  width: 1em;
  height: 1em;
}
#content2022 ul.columnBoxList > li > .dummy_a.hover,
#content2022 ul.columnBoxList > li > a.hover,
#content2022 ul.columnBoxList > li > button.hover {
  text-decoration: none !important;
}
#content2022 ul.columnBoxList.withBK > li > .dummy_a,
#content2022 ul.columnBoxList.withBK > li > a,
#content2022 ul.columnBoxList.withBK > li > button {
  color: var(--tmuKeycolor01);
  background-color: #f4f5f6;
}
#content2022 ul.columnBoxList.withImg {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 1024px) {
  #content2022 ul.columnBoxList.withImg {
    grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  }
}
#content2022 ul.columnBoxList.withImg > li {
  width: 100%;
}
#content2022 ul.columnBoxList.withImg > li > a,
#content2022 ul.columnBoxList.withImg > li > button {
  width: 100%;
  font-family: YakuHanJPs_Narrow, 'Noto Serif JP', "Hiragino Mincho ProN", YuMincho, "Yu Mincho", "serif";
  font-weight: 600;
  font-size: 1.5rem;
  position: relative;
  padding: 1rem;
}
#content2022 ul.columnBoxList.withImg > li > a .wrap,
#content2022 ul.columnBoxList.withImg > li > button .wrap {
  width: 120px;
  flex-shrink: 0;
  flex-grow: 0;
}
#content2022 ul.columnBoxList.withImg > li > a img,
#content2022 ul.columnBoxList.withImg > li > button img {
  width: 120px;
  height: 100%;
  object-fit: cover;
  flex-shrink: 0;
  flex-grow: 0;
}
#content2022 ul.columnBoxList.withImg > li > a .title,
#content2022 ul.columnBoxList.withImg > li > button .title {
  padding: 0 1rem 0 2rem;
  text-align: left;
  overflow: hidden;
}
@supports (-webkit-line-clamp: 3) {
  #content2022 ul.columnBoxList.withImg > li > a .title,
  #content2022 ul.columnBoxList.withImg > li > button .title {
    display: box;
    display: -webkit-box;
    display: -moz-box;
    box-orient: vertical;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}
#content2022 ul.columnBoxList.withImg > li > a .icon,
#content2022 ul.columnBoxList.withImg > li > button .icon,
#content2022 ul.columnBoxList.withImg > li > a .addIcon,
#content2022 ul.columnBoxList.withImg > li > button .addIcon {
  flex-shrink: 0;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  margin: 0;
}
#content2022 ul.columnBoxList.withImg > li > a .addIcon.icon-link,
#content2022 ul.columnBoxList.withImg > li > button .addIcon.icon-link {
  width: 1em;
  height: 1em;
}
#content2022 ul.columnBoxList.banner > li > a {
  padding: 0;
  border: none;
}
#content2022 ul.columnBoxList.banner > li > a > img {
  width: 100%;
  height: auto;
}
#content2022 ul.columnBoxList.banner > li > a .addIcon {
  display: none;
}
#content2022 ul.columnBoxList.otherLink + .otherLink {
  margin-top: 2.8rem;
}
@media (min-width: 1024px) {
  #content2022 ul.columnBoxList {
    column-gap: 2rem;
    row-gap: 2rem;
  }
  #content2022 ul.columnBoxList > li > .dummy_a,
  #content2022 ul.columnBoxList > li > a,
  #content2022 ul.columnBoxList > li > button {
    font-size: 1.4rem;
    padding: 1.2rem 2rem;
  }
  #content2022 ul.columnBoxList > li > .dummy_a .addIcon.icon-link,
  #content2022 ul.columnBoxList > li > a .addIcon.icon-link,
  #content2022 ul.columnBoxList > li > button .addIcon.icon-link,
  #content2022 ul.columnBoxList > li > .dummy_a .icon.arrow-r,
  #content2022 ul.columnBoxList > li > a .icon.arrow-r,
  #content2022 ul.columnBoxList > li > button .icon.arrow-r {
    margin-left: 1.5em;
  }
}
#content2022 ul.linklistWithArrow {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0 auto;
  row-gap: 1.4rem;
}
#content2022 ul.linklistWithArrow > li {
  margin: 0;
  padding: 0;
  max-width: 100%;
}
#content2022 ul.linklistWithArrow > li::before {
  display: none;
}
#content2022 ul.linklistWithArrow > li > a,
#content2022 ul.linklistWithArrow > li > button {
  display: flex;
  width: max-content;
  max-width: 100%;
  height: 100%;
  align-items: center;
  font-size: 1.4rem;
  color: #1e1e1e;
  text-align: left;
  padding: 0;
  border-bottom: 1px solid #1e1e1e;
  background-color: transparent;
}
#content2022 ul.linklistWithArrow > li > a .filedetail,
#content2022 ul.linklistWithArrow > li > button .filedetail {
  order: 1;
  white-space: nowrap;
  flex-shrink: 0;
}
#content2022 ul.linklistWithArrow > li > a .addIcon.icon-link,
#content2022 ul.linklistWithArrow > li > button .addIcon.icon-link,
#content2022 ul.linklistWithArrow > li > a .icon.arrow-r,
#content2022 ul.linklistWithArrow > li > button .icon.arrow-r {
  display: inline-block;
  order: 2;
  margin-left: 1.7rem;
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}
@media (min-width: 1024px) {
  #content2022 ul.linklistWithArrow {
    row-gap: 1.5rem;
  }
}
#content2022 div.QAaccordion .accordion-item {
  background-color: #f4f5f6;
  border: none;
  margin-bottom: 2px;
}
#content2022 div.QAaccordion .accordion-item .accordion-header {
  margin: 0;
  padding: 0;
}
#content2022 div.QAaccordion .accordion-item .accordion-header > .link,
#content2022 div.QAaccordion .accordion-item .accordion-header > .accordion-button {
  padding: 1.6rem 1.5rem 1.6rem 4.5rem;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #1e1e1e;
  background-color: #f4f5f6;
  box-shadow: none;
  position: relative;
}
#content2022 div.QAaccordion .accordion-item .accordion-header > .link::before,
#content2022 div.QAaccordion .accordion-item .accordion-header > .accordion-button::before {
  content: "Q";
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  color: var(--tmuKeycolor01);
  position: absolute;
  top: 1.4rem;
  left: 1.8rem;
}
@media (min-width: 1024px) {
  #content2022 div.QAaccordion .accordion-item .accordion-header > .link,
  #content2022 div.QAaccordion .accordion-item .accordion-header > .accordion-button {
    padding: 2.4rem 2rem 2.4rem 6rem;
    font-size: 1.6rem;
  }
  #content2022 div.QAaccordion .accordion-item .accordion-header > .link::before,
  #content2022 div.QAaccordion .accordion-item .accordion-header > .accordion-button::before {
    left: 2.4rem;
    top: 2rem;
  }
}
#content2022 div.QAaccordion .accordion-item .accordion-header > .link {
  display: block;
}
#content2022 div.QAaccordion .accordion-item .accordion-header > .link::after {
  display: none;
}
#content2022 div.QAaccordion .accordion-item .accordion-body {
  padding: 0 4.6rem 1.6rem 4.5rem;
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 2;
  color: #1e1e1e;
  background-color: #f4f5f6;
  text-align: left;
  word-break: normal;
  position: relative;
}
#content2022 div.QAaccordion .accordion-item .accordion-body > *:first-child {
  margin-top: 0;
}
#content2022 div.QAaccordion .accordion-item .accordion-body > *:last-child {
  margin-bottom: 0;
}
#content2022 div.QAaccordion .accordion-item .accordion-body ul {
  margin: 0;
}
#content2022 div.QAaccordion .accordion-item .accordion-body blockquote {
  margin: 0;
  background-color: white;
}
#content2022 div.QAaccordion .accordion-item .accordion-body::before {
  content: "A";
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  color: #1e1e1e;
  position: absolute;
  top: -0.4rem;
  left: 1.8rem;
}
@media (min-width: 1024px) {
  #content2022 div.QAaccordion .accordion-item .accordion-body {
    padding: 0 6rem 2.4rem 6rem;
  }
  #content2022 div.QAaccordion .accordion-item .accordion-body::before {
    top: -0.4rem;
    left: 2.4rem;
  }
}
#content2022 .paginationWrap {
  margin: 4rem auto 0;
}
#content2022 .paginationWrap ul.pagination {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 8px;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 300px;
  width: 100%;
}
#content2022 .paginationWrap ul.pagination li.ahead {
  margin-left: auto;
}
#content2022 .paginationWrap ul.pagination li.forward {
  margin-right: auto;
}
#content2022 .paginationWrap ul.pagination li.forward button svg {
  transform: rotate(-180deg);
}
#content2022 .paginationWrap ul.pagination li.active > button.page-link {
  background-color: var(--tmuKeycolor01);
  color: white;
  font-weight: 600;
}
#content2022 .paginationWrap ul.pagination li > button.page-link {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 36px;
  background-color: white;
  color: #1e1e1e;
}
#content2022 .paginationWrap ul.pagination li > button.page-link:disabled {
  opacity: 0.35 !important;
}
@media (min-width: 1024px) {
  #content2022 .paginationWrap {
    margin-top: 6rem;
  }
  #content2022 .paginationWrap ul.pagination {
    max-width: 410px;
    column-gap: 10px;
  }
  #content2022 .paginationWrap ul.pagination li > button.page-link {
    width: 50px;
    height: 50px;
    border-radius: 50px;
  }
}
#content2022 #eventCalendarWrap {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  margin: -2em 0 6rem;
  background-color: white;
  padding: 3rem 1.5rem;
  position: relative;
}
#content2022 #eventCalendarWrap .title {
  font-size: 1.4rem;
  margin-right: auto;
}
#content2022 #eventCalendarWrap .prev,
#content2022 #eventCalendarWrap .next {
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50px;
  width: 36px;
  height: 36px;
  background-color: white;
  position: absolute;
  top: 19px;
  right: 15px;
}
#content2022 #eventCalendarWrap .prev span,
#content2022 #eventCalendarWrap .next span {
  display: inline-flex;
}
#content2022 #eventCalendarWrap .prev svg.arrow-r,
#content2022 #eventCalendarWrap .next svg.arrow-r {
  fill: #1e1e1e;
}
#content2022 #eventCalendarWrap .prev {
  right: 55px;
}
#content2022 #eventCalendarWrap .prev::after {
  position: absolute;
  right: -2px;
  top: 10px;
  bottom: 10px;
  content: "";
  width: 1px;
  height: auto;
  background-color: #1e1e1e;
}
#content2022 #eventCalendarWrap .prev svg.arrow-r {
  transform-origin: center center;
  transform: rotate(180deg);
}
#content2022 #eventCalendarWrap .eventCalendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-row-gap: 9px;
  justify-content: space-between;
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  text-align: center;
  font-size: 1.2rem;
}
#content2022 #eventCalendarWrap .eventCalendar .weekday {
  color: #1e1e1e;
  text-align: center;
}
#content2022 #eventCalendarWrap .eventCalendar .day {
  display: flex;
  justify-content: center;
  align-items: center;
  justify-self: center;
  align-self: center;
  border: none;
  border-radius: 25px;
  width: clamp(25px, 76%, 40px);
  height: auto;
  line-height: 1;
  --bs-aspect-ratio: 100%;
  padding: 0;
  color: #1e1e1e;
  background-color: transparent;
}
#content2022 #eventCalendarWrap .eventCalendar .day::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
#content2022 #eventCalendarWrap .eventCalendar .day.past {
  opacity: 0.75;
  font-weight: normal;
}
#content2022 #eventCalendarWrap .eventCalendar .day.event {
  background-color: #e3e4e5;
  transition: color 0.1s, background-color 0.75s;
}
#content2022 #eventCalendarWrap .eventCalendar .day.event.active,
#content2022 #eventCalendarWrap .eventCalendar .day.event.hover {
  color: white;
  background-color: var(--tmuKeycolor01);
}
#content2022 #eventCalendarWrap .eventCalendar .day:disabled {
  cursor: default;
}
#content2022 #eventCalendarWrap .eventCalendar .sun,
#content2022 #eventCalendarWrap .eventCalendar .sat,
#content2022 #eventCalendarWrap .eventCalendar .holiday {
  color: var(--tmuKeycolor01);
}
#content2022 #eventCalendarWrap .eventCalendar .first-day {
  grid-column-start: 1;
}
@media (min-width: 768px) {
  #content2022 #eventCalendarWrap {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 3rem;
  }
}
@media (min-width: 1024px) {
  #content2022 #eventCalendarWrap {
    margin-top: -6rem;
    padding: 4rem 5rem;
  }
  #content2022 #eventCalendarWrap .title {
    font-size: 1.6rem;
  }
  #content2022 #eventCalendarWrap .prev,
  #content2022 #eventCalendarWrap .next {
    width: 50px;
    height: 50px;
    left: -25px;
    right: auto;
    top: calc( 50% - 25px );
  }
  #content2022 #eventCalendarWrap .prev::after,
  #content2022 #eventCalendarWrap .next::after {
    content: none;
  }
  #content2022 #eventCalendarWrap .next {
    left: auto;
    right: -25px;
  }
  #content2022 #eventCalendarWrap .eventCalendar {
    grid-template-rows: auto repeat(6, 1fr);
    grid-row-gap: 16px;
  }
  #content2022 #eventCalendarWrap .eventCalendar .weekday {
    font-size: 1.4rem;
  }
  #content2022 #eventCalendarWrap .eventCalendar .day {
    font-size: 1.6rem;
  }
}
#content2022 .eventsListBlock {
  display: grid;
  grid-row-gap: 1rem;
  grid-template-columns: 1fr;
}
#content2022 .eventsListBlock .eventsBlock {
  border: 1px solid #e3e4e5;
  position: relative;
  display: block;
  background-color: white;
  transition-duration: 0.5s;
}
#content2022 .eventsListBlock .eventsBlock.nextMonth {
  display: none;
}
#content2022 .eventsListBlock .eventsBlock.notSelected {
  opacity: 0.4;
}
#content2022 .eventsListBlock .eventsBlock .head {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 1;
  background-color: var(--tmuKeycolor01);
  width: 5rem;
  height: 5rem;
  color: white;
}
#content2022 .eventsListBlock .eventsBlock .head .month {
  width: 100%;
  text-align: center;
  font-size: 1rem;
  line-height: 1.1;
  margin: auto auto 0;
}
#content2022 .eventsListBlock .eventsBlock .head .day {
  font-size: 1.8rem;
  margin-top: 2px;
  margin-bottom: auto;
  letter-spacing: -1px;
  padding-right: 1px;
}
#content2022 .eventsListBlock .eventsBlock .head .post {
  font-size: 1.4rem;
  margin: auto 0 auto 2px;
}
#content2022 .eventsListBlock .eventsBlock .wrap {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}
#content2022 .eventsListBlock .eventsBlock .wrap .image {
  width: 80px;
  height: 80px;
  margin: 20px 15px 20px 20px;
  flex-shrink: 0;
  flex-grow: 0;
  border-radius: 120px;
  overflow: hidden;
}
#content2022 .eventsListBlock .eventsBlock .wrap .body {
  width: 100%;
  max-width: calc( 100% - 65px );
  margin-left: auto;
  flex-grow: 1;
  padding: 18px 15px 18px 0;
}
#content2022 .eventsListBlock .eventsBlock .wrap .body .title {
  font-size: 1.4rem;
  line-height: 1.5;
  overflow: hidden;
}
@supports (-webkit-line-clamp: 3) {
  #content2022 .eventsListBlock .eventsBlock .wrap .body .title {
    display: box;
    display: -webkit-box;
    display: -moz-box;
    box-orient: vertical;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}
#content2022 .eventsListBlock .eventsBlock .wrap .body .title .tag {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 300;
  text-align: center;
  vertical-align: text-bottom;
  color: inherit;
  padding: 3px 5px;
  background-color: #f4f5f6;
  line-height: 1.2;
  min-width: 7em;
  margin-right: 8px;
}
#content2022 .eventsListBlock .eventsBlock .wrap .body .place {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.5;
  overflow: hidden;
  margin: 1rem 0 0.5rem 0;
  padding-left: 1.8rem;
}
@supports (-webkit-line-clamp: 3) {
  #content2022 .eventsListBlock .eventsBlock .wrap .body .place {
    display: box;
    display: -webkit-box;
    display: -moz-box;
    box-orient: vertical;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
}
#content2022 .eventsListBlock .eventsBlock .wrap .body .place::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 2px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMC42MzYgMTIuNzg3Ij48cGF0aCBkPSJNOC45OTkgMS40ODRhNS4zNDcgNS4zNDcgMCAwIDAtNy4zOTMgMGMtMi4yNDQgMi4xMzgtMi4xMzUgNS44LjMxNiA4LjI4NmwyLjc0NiAyLjc4MWMuMzUyLjM1Ni45MTguMzU2IDEuNTg3LS4zMjJsMi43LTIuNzM0YTUuNjY2IDUuNjY2IDAgMCAwIC4wNDQtOC4wMTFaTTUuMzE4IDYuODAxYTEuNSAxLjUgMCAxIDEgMS41LTEuNSAxLjUgMS41IDAgMCAxLTEuNSAxLjVaIiBmaWxsPSIjNDM2NmIwIi8+PC9zdmc+");
  width: 11px;
  height: 13px;
}
#content2022 .eventsListBlock .eventsBlock .filedetail,
#content2022 .eventsListBlock .eventsBlock .addIcon {
  position: absolute;
  bottom: 6px;
  right: 6px;
}
#content2022 .eventsListBlock .eventsBlock .filedetail {
  font-size: 1.2rem;
}
#content2022 .eventsListBlock .eventsBlock .filedetail .addIcon {
  position: static;
}
@media (min-width: 768px) {
  #content2022 .eventsListBlock .eventsBlock.nextMonth {
    display: block;
  }
}
@media (min-width: 1024px) {
  #content2022 .eventsListBlock {
    grid-gap: 2rem;
  }
  #content2022 .eventsListBlock .eventsBlock .head {
    width: 6rem;
    height: 6rem;
  }
  #content2022 .eventsListBlock .eventsBlock .head .month {
    font-size: 1.1rem;
  }
  #content2022 .eventsListBlock .eventsBlock .head .day {
    font-size: 2.2rem;
    margin-top: 2px;
  }
  #content2022 .eventsListBlock .eventsBlock .head .post {
    font-size: 1.6rem;
    margin-top: 6px;
  }
  #content2022 .eventsListBlock .eventsBlock .wrap .image {
    width: 120px;
    height: 120px;
    margin-top: 25px;
    margin-bottom: 25px;
    margin-right: 20px;
  }
  #content2022 .eventsListBlock .eventsBlock .wrap .body {
    width: 100%;
    max-width: calc( 100% - 80px );
    padding: 20px 20px 20px 0;
  }
  #content2022 .eventsListBlock .eventsBlock .wrap .body .title {
    font-size: 1.6rem;
  }
  @supports (-webkit-line-clamp: 3) {
    #content2022 .eventsListBlock .eventsBlock .wrap .body .title {
      display: box;
      display: -webkit-box;
      display: -moz-box;
      box-orient: vertical;
      line-clamp: 3;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }
  }
  #content2022 .eventsListBlock .eventsBlock .wrap .body .place {
    font-size: 1.3rem;
    display: block;
  }
  @supports (-webkit-line-clamp: 4) {
    #content2022 .eventsListBlock .eventsBlock .wrap .body .place {
      display: box;
      display: -webkit-box;
      display: -moz-box;
      box-orient: vertical;
      line-clamp: 4;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 4;
    }
  }
  #content2022 .eventsListBlock .eventsBlock .filedetail,
  #content2022 .eventsListBlock .eventsBlock .addIcon {
    position: absolute;
    bottom: 6px;
    right: 6px;
  }
  #content2022 .eventsListBlock .eventsBlock .filedetail {
    font-size: 1.2rem;
  }
}
@media (min-width: 1366px) {
  #content2022 .eventsListBlock {
    grid-template-columns: 1fr 1fr;
  }
}
#content2022 #urgentNews,
#content2022 #importantNews,
#content2022 .topNewsWrap,
#content2022 .relatedNewsWrap {
  margin-top: 3rem;
}
#content2022 #urgentNews .newsBlock,
#content2022 #importantNews .newsBlock,
#content2022 .topNewsWrap .newsBlock,
#content2022 .relatedNewsWrap .newsBlock {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 1.5rem;
  background-color: #f4f5f6;
}
#content2022 #urgentNews .newsBlock .head,
#content2022 #importantNews .newsBlock .head,
#content2022 .topNewsWrap .newsBlock .head,
#content2022 .relatedNewsWrap .newsBlock .head {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
}
#content2022 #urgentNews .newsBlock .head *:last-child,
#content2022 #importantNews .newsBlock .head *:last-child,
#content2022 .topNewsWrap .newsBlock .head *:last-child,
#content2022 .relatedNewsWrap .newsBlock .head *:last-child {
  margin-right: 0;
}
#content2022 #urgentNews .newsBlock .head .date,
#content2022 #importantNews .newsBlock .head .date,
#content2022 .topNewsWrap .newsBlock .head .date,
#content2022 .relatedNewsWrap .newsBlock .head .date {
  display: block;
  white-space: nowrap;
  font-size: 1.2rem;
  color: #999;
  font-style: oblique;
  padding: 4px 0;
  margin-right: 1.5rem;
}
#content2022 #urgentNews .newsBlock .head .ctg,
#content2022 #importantNews .newsBlock .head .ctg,
#content2022 .topNewsWrap .newsBlock .head .ctg,
#content2022 .relatedNewsWrap .newsBlock .head .ctg {
  display: block;
  white-space: nowrap;
  background-color: white;
  font-size: 1.2rem;
  line-height: 1.2;
  min-width: 7em;
  padding: 3px 5px;
  text-align: center;
  border: 1px solid #e3e4e5;
}
#content2022 #urgentNews .newsBlock .head .ctg + .ctg,
#content2022 #importantNews .newsBlock .head .ctg + .ctg,
#content2022 .topNewsWrap .newsBlock .head .ctg + .ctg,
#content2022 .relatedNewsWrap .newsBlock .head .ctg + .ctg {
  margin-left: 3px;
}
#content2022 #urgentNews .newsBlock .body,
#content2022 #importantNews .newsBlock .body,
#content2022 .topNewsWrap .newsBlock .body,
#content2022 .relatedNewsWrap .newsBlock .body {
  margin-top: 1rem;
}
#content2022 #urgentNews .newsBlock .body .title,
#content2022 #importantNews .newsBlock .body .title,
#content2022 .topNewsWrap .newsBlock .body .title,
#content2022 .relatedNewsWrap .newsBlock .body .title {
  font-size: 1.4rem;
  line-height: 1.5;
}
#content2022 #urgentNews .newsBlock .body .title a,
#content2022 #importantNews .newsBlock .body .title a,
#content2022 .topNewsWrap .newsBlock .body .title a,
#content2022 .relatedNewsWrap .newsBlock .body .title a {
  color: inherit;
}
#content2022 #urgentNews .newsBlock .body .desc,
#content2022 #importantNews .newsBlock .body .desc,
#content2022 .topNewsWrap .newsBlock .body .desc,
#content2022 .relatedNewsWrap .newsBlock .body .desc {
  margin: 1rem 0 0;
  color: #999;
  font-size: 1.2rem;
  line-height: 1.5;
}
#content2022 #urgentNews .newsBlock + .newsBlock,
#content2022 #importantNews .newsBlock + .newsBlock,
#content2022 .topNewsWrap .newsBlock + .newsBlock,
#content2022 .relatedNewsWrap .newsBlock + .newsBlock {
  margin-top: 2px;
}
#content2022 #urgentNews .newsBlock.fixed .date,
#content2022 #importantNews .newsBlock.fixed .date,
#content2022 .topNewsWrap .newsBlock.fixed .date,
#content2022 .relatedNewsWrap .newsBlock.fixed .date {
  display: none;
}
#content2022 #urgentNews .newsBlock.fixed + :not(.fixed),
#content2022 #importantNews .newsBlock.fixed + :not(.fixed),
#content2022 .topNewsWrap .newsBlock.fixed + :not(.fixed),
#content2022 .relatedNewsWrap .newsBlock.fixed + :not(.fixed) {
  margin-top: 1rem;
}
#content2022 #urgentNews .newsBlock.new .body .title::after,
#content2022 #importantNews .newsBlock.new .body .title::after,
#content2022 .topNewsWrap .newsBlock.new .body .title::after,
#content2022 .relatedNewsWrap .newsBlock.new .body .title::after {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
  content: "NEW";
  display: inline-block;
  white-space: nowrap;
  font-size: 0.666666em;
  color: white;
  background-color: #EF2E2E;
  line-height: 1;
  padding: 0.25em 0.5em;
  border-radius: 1em;
  margin-left: 1em;
}
@media (min-width: 1024px) {
  #content2022 #urgentNews,
  #content2022 #importantNews,
  #content2022 .topNewsWrap,
  #content2022 .relatedNewsWrap {
    margin-top: 5rem;
  }
  #content2022 #urgentNews .newsBlock,
  #content2022 #importantNews .newsBlock,
  #content2022 .topNewsWrap .newsBlock,
  #content2022 .relatedNewsWrap .newsBlock {
    padding: 2rem 3rem;
  }
  #content2022 #urgentNews .newsBlock .head,
  #content2022 #importantNews .newsBlock .head,
  #content2022 .topNewsWrap .newsBlock .head,
  #content2022 .relatedNewsWrap .newsBlock .head {
    flex-shrink: 0;
  }
  #content2022 #urgentNews .newsBlock .head .date,
  #content2022 #importantNews .newsBlock .head .date,
  #content2022 .topNewsWrap .newsBlock .head .date,
  #content2022 .relatedNewsWrap .newsBlock .head .date {
    margin-right: 3rem;
  }
  #content2022 #urgentNews .newsBlock .body,
  #content2022 #importantNews .newsBlock .body,
  #content2022 .topNewsWrap .newsBlock .body,
  #content2022 .relatedNewsWrap .newsBlock .body {
    margin-top: 1rem;
  }
  #content2022 #urgentNews .newsBlock .body .title,
  #content2022 #importantNews .newsBlock .body .title,
  #content2022 .topNewsWrap .newsBlock .body .title,
  #content2022 .relatedNewsWrap .newsBlock .body .title {
    font-size: 1.5rem;
  }
  #content2022 #urgentNews .newsBlock .body .desc,
  #content2022 #importantNews .newsBlock .body .desc,
  #content2022 .topNewsWrap .newsBlock .body .desc,
  #content2022 .relatedNewsWrap .newsBlock .body .desc {
    font-size: 1.3rem;
  }
  #content2022 #urgentNews .newsBlock.fixed + :not(.fixed),
  #content2022 #importantNews .newsBlock.fixed + :not(.fixed),
  #content2022 .topNewsWrap .newsBlock.fixed + :not(.fixed),
  #content2022 .relatedNewsWrap .newsBlock.fixed + :not(.fixed) {
    margin-top: 1.2rem;
  }
}
@media (min-width: 1366px) {
  #content2022 #urgentNews .newsBlock,
  #content2022 #importantNews .newsBlock,
  #content2022 .topNewsWrap .newsBlock,
  #content2022 .relatedNewsWrap .newsBlock {
    flex-direction: row;
    align-items: flex-start;
  }
  #content2022 #urgentNews .newsBlock .body,
  #content2022 #importantNews .newsBlock .body,
  #content2022 .topNewsWrap .newsBlock .body,
  #content2022 .relatedNewsWrap .newsBlock .body {
    margin-top: 0;
  }
}
#content2022 #urgentNews.newsListBlock hr,
#content2022 #importantNews.newsListBlock hr,
#content2022 .topNewsWrap.newsListBlock hr,
#content2022 .relatedNewsWrap.newsListBlock hr {
  margin: 1.2rem 0;
}
#content2022 #urgentNews.newsListBlock hr:first-child,
#content2022 #importantNews.newsListBlock hr:first-child,
#content2022 .topNewsWrap.newsListBlock hr:first-child,
#content2022 .relatedNewsWrap.newsListBlock hr:first-child {
  display: none;
}
#content2022 #importantNewsWrap {
  margin-top: -15px;
}
#content2022 #importantNewsWrap > div {
  margin-bottom: 10px;
}
#content2022 #importantNewsWrap > div:last-child {
  margin-bottom: 40px;
}
@media (min-width: 1024px) {
  #content2022 #importantNewsWrap {
    margin-top: -40px;
  }
  #content2022 #importantNewsWrap > div:last-child {
    margin-bottom: 60px;
  }
}
#content2022 #urgentNews,
#content2022 #importantNews {
  background-color: white;
  padding: 0;
  overflow: hidden;
  margin: 0;
  z-index: 2;
}
#content2022 #urgentNews .topNewsWrap,
#content2022 #importantNews .topNewsWrap {
  margin: 0;
}
#content2022 #urgentNews .newsBlock,
#content2022 #importantNews .newsBlock {
  position: relative;
  background-color: white;
}
#content2022 #urgentNews .newsBlock + .newsBlock,
#content2022 #importantNews .newsBlock + .newsBlock {
  margin-top: 0;
}
#content2022 #urgentNews .newsBlock + .newsBlock::before,
#content2022 #importantNews .newsBlock + .newsBlock::before {
  content: "";
  display: block;
  position: absolute;
  height: 1px;
  width: auto;
  background-color: #e3e4e5;
  top: -1px;
  left: 1.5rem;
  right: 1.5rem;
}
#content2022 #urgentNews h5,
#content2022 #importantNews h5 {
  margin: 8px 8px 0;
  color: white;
  text-align: center;
  border-radius: 4px;
  background-color: #EF2E2E;
  font-size: 1.4rem;
  padding: 8px;
}
#content2022 #urgentNews h5 br,
#content2022 #importantNews h5 br {
  display: none;
}
@media (min-width: 1024px) {
  #content2022 #urgentNews,
  #content2022 #importantNews {
    display: grid;
    grid-template-columns: 17rem 1fr;
  }
  #content2022 #urgentNews h2,
  #content2022 #importantNews h2 {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.4375;
    flex-grow: 1;
    padding: 0;
    margin: 1rem;
    background-color: #EF2E2E;
    color: white;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
  }
  #content2022 #urgentNews h5,
  #content2022 #importantNews h5 {
    display: flex;
    font-size: 1.6rem;
    line-height: 1.4375;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 1rem;
    flex-shrink: 0;
    flex-grow: 0;
  }
  #content2022 #urgentNews h5 br,
  #content2022 #importantNews h5 br {
    display: inline;
  }
  #content2022 #urgentNews + .relatedNewsWrap,
  #content2022 #importantNews + .relatedNewsWrap {
    margin-top: 4rem;
  }
  #content2022 #urgentNews .newsBlock,
  #content2022 #importantNews .newsBlock {
    flex-direction: column;
  }
  #content2022 #urgentNews .newsBlock + .newsBlock::before,
  #content2022 #importantNews .newsBlock + .newsBlock::before {
    left: 3rem;
    right: 3rem;
  }
  #content2022 #urgentNews .newsBlock .head .date,
  #content2022 #importantNews .newsBlock .head .date {
    margin-right: 1.5rem;
  }
  #content2022 #urgentNews .newsBlock .body,
  #content2022 #importantNews .newsBlock .body {
    margin-top: 1rem;
    margin-left: 0;
  }
}
#content2022 #importantNews h5 {
  background-color: #FFE843;
  color: #1e1e1e;
}
#content2022 #archiveYearList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 3rem;
}
#content2022 #archiveYearList .title {
  font-size: 1.4rem;
  margin-right: 2rem;
}
#content2022 #archiveYearList .select-css {
  width: auto;
  min-width: 160px;
  max-width: 240px;
  padding: 1rem 2.5rem;
}
@media (min-width: 1024px) {
  #content2022 #archiveYearList .title {
    font-size: 1.6rem;
    margin-right: 2.5rem;
  }
  #content2022 #archiveYearList .select-css {
    min-width: 200px;
    padding: 1.5rem 2.5rem;
  }
}
#content2022 #publistWrap {
  margin: 3rem 0 0;
}
#content2022 #publistWrap > .newsBlock {
  border-top: 1px solid #e3e4e5;
  padding: 15px;
}
#content2022 #publistWrap > .newsBlock:last-child {
  border-bottom: 1px solid #e3e4e5;
}
#content2022 #publistWrap > .newsBlock .title {
  display: flex;
  align-items: center;
}
#content2022 #publistWrap > .newsBlock .title .date {
  font-family: 'PT Serif', serif;
  font-weight: 400;
  font-size: 1.1rem;
  color: #999999;
  line-height: 1;
  font-style: oblique;
  white-space: nowrap;
}
#content2022 #publistWrap > .newsBlock .title .date .sub {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-style: normal;
  margin-left: 0.25em;
}
#content2022 #publistWrap > .newsBlock .title .media {
  margin-left: 1.5rem;
  font-size: 1.1rem;
  list-height: 1;
  padding: 3px 15px;
  border: 1px solid #e3e4e5;
  background-color: white;
}
#content2022 #publistWrap > .newsBlock .desc {
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  #content2022 #publistWrap {
    margin: 3.6rem 0 0;
  }
  #content2022 #publistWrap > .newsBlock {
    padding: 2rem 3rem;
  }
  #content2022 #publistWrap > .newsBlock .title .date {
    font-size: 1.2rem;
  }
  #content2022 #publistWrap > .newsBlock .title .media {
    margin-left: 2rem;
    font-size: 1.2rem;
  }
}
#content2022 .topicsList > .topics {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #f4f5f6;
  padding: 1.5rem;
  margin-bottom: 2px;
}
#content2022 .topicsList > .topics .date {
  font-size: 1.1rem;
  font-style: italic;
  color: #999;
  min-width: 7.7rem;
  flex-shrink: 0;
  flex-grow: 0;
}
#content2022 .topicsList > .topics .tags {
  margin-right: auto;
}
#content2022 .topicsList > .topics .tags .tag {
  display: inline-block;
  border: 1px solid #e3e4e5;
  background-color: white;
  white-space: nowrap;
  font-size: 1.1rem;
  width: 7.5rem;
  flex-shrink: 0;
  flex-grow: 0;
  text-align: center;
}
#content2022 .topicsList > .topics h5 {
  color: #1e1e1e;
}
#content2022 a.checkAll {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: fit-content;
  margin: 3rem 0 3rem auto;
  color: #1e1e1e;
  transition: color 0.75s;
}
#content2022 a.checkAll + * {
  clear: right;
}
#content2022 a.checkAll .text {
  font-size: 1.4rem;
  margin-right: 1rem;
  border-bottom: 1px solid #1e1e1e;
  text-decoration: none;
  transition: border-color 0.75s;
}
#content2022 a.checkAll .circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: var(--tmuKeycolor01);
  transition: transform 0.75s;
}
#content2022 a.checkAll .circle svg {
  display: inline-block;
  color: white;
  stroke: currentColor;
  fill: currentColor;
  width: 12px;
  height: 12px;
}
#content2022 a.checkAll.hover {
  text-decoration: none;
  color: var(--tmuKeycolor01);
}
#content2022 a.checkAll.hover .text {
  border-color: var(--tmuKeycolor01);
}
#content2022 a.checkAll.hover .circle {
  transform: scale(1.2);
}
@media (min-width: 768px) {
  #content2022 a.checkAll {
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  #content2022 a.checkAll .text {
    font-size: 1.6rem;
    margin-right: 1.2rem;
  }
  #content2022 a.checkAll .circle {
    width: 50px;
    height: 50px;
  }
}
#content2022 .columnBoxWithBG {
  margin: 4rem -15px 4rem -15px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 20%;
  position: relative;
  color: white;
  padding: 4rem 15px;
}
#content2022 .columnBoxWithBG * {
  color: inherit;
}
#content2022 .columnBoxWithBG > *:first-child {
  margin-top: 0;
}
#content2022 .columnBoxWithBG > *:last-child,
#content2022 .columnBoxWithBG > *:nth-last-child(2) {
  margin-bottom: 0 !important;
}
#content2022 .columnBoxWithBG > h4 {
  position: relative;
  font-size: 2rem;
  padding-top: 1.5rem;
  padding-left: 0;
  margin: 4rem 0 3rem;
  border-left: none;
}
#content2022 .columnBoxWithBG > h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3.5rem;
  height: 0.3rem;
  background-color: white;
}
@media (min-width: 1024px) {
  #content2022 .columnBoxWithBG > h4 {
    font-size: 2.8rem;
    margin: 0 5.6rem 0 0;
    flex-grow: 0;
    flex-shrink: 0;
    text-align: left;
  }
  #content2022 .columnBoxWithBG > h4::before {
    width: 5rem;
  }
}
#content2022 .columnBoxWithBG h5 {
  font-size: 1.6rem;
  margin: 3rem 0 2rem;
}
#content2022 .columnBoxWithBG h6 {
  font-size: 1.5rem;
  margin: 2rem 0 1.5rem;
}
#content2022 .columnBoxWithBG p {
  font-size: 1.4rem;
}
#content2022 .columnBoxWithBG ul.columnBoxList {
  width: auto;
  margin: 2.7rem 0 0 auto;
}
#content2022 .columnBoxWithBG ul.columnBoxList > li {
  margin-left: auto;
}
#content2022 .columnBoxWithBG ul.columnBoxList > li > a {
  background: none;
  border-color: white;
  color: white;
}
#content2022 .columnBoxWithBG::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #1e1e1e;
  opacity: 0.5;
  z-index: -1;
}
@media (min-width: 768px) {
  #content2022 .columnBoxWithBG {
    margin-left: -90px;
    margin-right: -90px;
    padding: 4rem 90px;
  }
}
@media (min-width: 1024px) {
  #content2022 .columnBoxWithBG {
    display: grid;
    grid-template-columns: calc(22% + 8rem) 1fr;
    grid-template-rows: repeat(auto-fill, minmax(0, 1fr));
    width: 100%;
    margin: 8rem auto;
    padding: 4.5rem 6rem;
  }
  #content2022 .columnBoxWithBG > * {
    grid-column: 2 / 3;
  }
  #content2022 .columnBoxWithBG > h4 {
    font-size: 2.8rem;
    margin-right: clamp(4rem, 30% ,8rem);
    grid-column: 1 / 2;
    grid-row: 1/9999;
  }
  #content2022 .columnBoxWithBG h5 {
    font-size: 2rem;
    margin: 2.2rem 0 0;
  }
  #content2022 .columnBoxWithBG h6 {
    font-size: 1.8rem;
    margin: 2.3rem 0 0;
  }
  #content2022 .columnBoxWithBG p {
    font-size: 1.6rem;
    margin: 1.9rem 0 0;
  }
  #content2022 .columnBoxWithBG ul.columnBoxList {
    margin: 3.5rem auto 2.5rem 0;
  }
  #content2022 .columnBoxWithBG ul.columnBoxList > li {
    margin-left: 0;
  }
}
#content2022 .tocTile {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax( 250px, 1fr ));
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  margin-top: 3.6rem;
  margin-bottom: 2.8rem;
}
#content2022 .tocTile .card {
  display: block;
  width: 100%;
  border-radius: 0;
  border: 1px solid #e3e4e5;
  background-color: white;
}
#content2022 .tocTile .card > a {
  display: flex;
  overflow: hidden;
  flex-wrap: wrap;
  height: 100%;
  flex-direction: column;
  color: #1e1e1e;
  position: relative;
  padding: 1.5rem;
}
#content2022 .tocTile .card > a > svg.addIcon,
#content2022 .tocTile .card > a > svg.icon.arrow-r {
  display: block;
  position: absolute;
  flex-shrink: 0;
  bottom: 1rem;
  right: 1rem;
  margin: 0;
}
#content2022 .tocTile .card > a .card-img {
  position: relative;
  width: 100%;
  min-width: 0;
  height: auto;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: 0;
}
#content2022 .tocTile .card > a .card-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  max-width: none;
}
#content2022 .tocTile .card > a .card-body {
  display: block;
  flex-wrap: wrap;
  flex-grow: 1;
  align-items: center;
  overflow: hidden;
  width: 100%;
  height: auto;
  background-color: white;
  padding: 1rem 0.5rem 0;
}
#content2022 .tocTile .card > a .card-body h5 {
  margin: 0;
  flex-grow: 1;
  flex-shrink: 1;
  color: inherit;
  font-size: 1.8rem;
}
#content2022 .tocTile .card > a .card-body p.text {
  display: block;
  overflow: hidden;
  font-size: 1.3rem;
  margin-top: 1rem;
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  #content2022 .tocTile {
    margin-top: 5.6rem;
    margin-bottom: 4rem;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax( 352px, 1fr ));
  }
  #content2022 .tocTile.few {
    grid-template-columns: repeat(auto-fill, minmax( 352px, 1fr ));
  }
  #content2022 .tocTile .card > a {
    padding-bottom: 2.7rem;
  }
  #content2022 .tocTile .card > a > svg.addIcon,
  #content2022 .tocTile .card > a > svg.icon.arrow-r {
    bottom: 0.8rem;
    right: 0.8rem;
  }
  #content2022 .tocTile .card > a .card-body {
    padding-top: 1.5rem;
  }
  #content2022 .tocTile .card > a .card-body h5 {
    font-size: 2rem;
  }
  #content2022 .tocTile .card > a .card-body h5.long {
    letter-spacing: -0.07em;
    font-size: 1.8rem;
  }
  #content2022 .tocTile .card > a .card-body p.text {
    margin-top: 1rem;
  }
}
#content2022 .tocTileWide {
  display: grid;
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax( 290px, 1fr ));
  margin: 0 auto 2.8rem;
}
#content2022 .tocTileWide .card {
  border-radius: 0;
  border: 1px solid #e3e4e5;
  margin: 0;
  padding: 0;
}
#content2022 .tocTileWide .card > a {
  display: flex;
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 100%;
  align-items: center;
  padding: 1rem;
  background-color: white;
  color: #1e1e1e;
}
#content2022 .tocTileWide .card > a > svg.addIcon,
#content2022 .tocTileWide .card > a > svg.icon.arrow-r {
  display: block;
  position: absolute;
  flex-shrink: 0;
  margin: 0;
  bottom: 1rem;
  right: 1rem;
}
#content2022 .tocTileWide .card > a .card-img {
  position: relative;
  width: 120px;
  height: auto;
  flex-shrink: 0;
  flex-grow: 0;
  overflow: hidden;
  border-radius: 0;
}
#content2022 .tocTileWide .card > a .card-img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  max-width: none;
  width: 100%;
  height: 100%;
}
#content2022 .tocTileWide .card > a .card-body {
  display: flex;
  flex-wrap: wrap;
  flex-grow: 1;
  align-items: center;
  order: 1;
  padding: 0 1rem 0 2rem;
  text-align: left;
  width: auto;
  height: auto;
  overflow: hidden;
}
#content2022 .tocTileWide .card > a .card-body h5 {
  margin: auto 0 0;
  flex-grow: 1;
  flex-shrink: 1;
  color: inherit;
  font-size: 1.5rem;
  text-align: left;
}
#content2022 .tocTileWide .card > a .card-body h5.long {
  letter-spacing: -0.07em;
  font-size: 1.3rem;
}
#content2022 .tocTileWide .card > a .card-body p.text {
  display: none;
  overflow: hidden;
  font-size: 1.3rem;
  margin-top: 0.75rem;
  line-height: 1.5;
}
@supports (-webkit-line-clamp: 2) {
  #content2022 .tocTileWide .card > a .card-body p.text {
    display: box;
    display: -webkit-box;
    display: -moz-box;
    box-orient: vertical;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
#content2022 .tocTileWide .card > a .card-body > *:last-child {
  margin-bottom: auto;
}
@media (min-width: 768px) {
  #content2022 .tocTileWide {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    grid-template-columns: repeat(auto-fit, minmax( 490px, 1fr ));
  }
  #content2022 .tocTileWide .card {
    display: block;
    width: 100%;
    border-radius: 0;
  }
  #content2022 .tocTileWide .card a {
    display: flex;
    overflow: hidden;
    height: 100%;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: stretch;
    color: #1e1e1e;
    position: relative;
    padding: 0;
  }
  #content2022 .tocTileWide .card a > svg.addIcon,
  #content2022 .tocTileWide .card a > svg.icon.arrow-r {
    bottom: 0.8rem;
    right: 36%;
  }
  #content2022 .tocTileWide .card a .card-img {
    position: relative;
    order: 2;
    width: 34.7%;
    min-width: 0;
    height: auto;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0;
  }
  #content2022 .tocTileWide .card a .card-img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    max-width: none;
    width: 100%;
    height: 100%;
  }
  #content2022 .tocTileWide .card a .card-body {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 1;
    align-items: center;
    order: 1;
    padding: 1rem 3rem 1rem 4rem;
    width: auto;
    height: auto;
    overflow: hidden;
  }
  #content2022 .tocTileWide .card a .card-body h5 {
    margin: auto 0 0;
    flex-grow: 1;
    flex-shrink: 1;
    color: inherit;
    font-size: 2rem;
    width: 100%;
  }
  #content2022 .tocTileWide .card a .card-body h5.long {
    letter-spacing: -0.07em;
    font-size: 1.8rem;
  }
  #content2022 .tocTileWide .card a .card-body p.text {
    display: block;
    overflow: hidden;
    font-size: 1.3rem;
    margin-top: 1rem;
    line-height: 2;
    width: 100%;
  }
  @supports (-webkit-line-clamp: 3) {
    #content2022 .tocTileWide .card a .card-body p.text {
      display: box;
      display: -webkit-box;
      display: -moz-box;
      line-clamp: 3;
      -webkit-line-clamp: 3;
    }
  }
  #content2022 .tocTileWide .card a .card-body > *:last-child {
    margin-bottom: auto;
  }
}
@media (min-width: 1024px) {
  #content2022 .tocTileWide {
    margin-bottom: 4rem;
    grid-template-columns: repeat(auto-fill, minmax( 455px, 1fr ));
  }
}
@media (min-width: 1200px) {
  @supports (-webkit-line-clamp: 2) {
    #content2022 .tocTileWide .card a .card-body p.text {
      -webkit-line-clamp: 3;
    }
  }
}
@media (min-width: 1024px) {
  #content2022 {
    font-size: 1.6rem;
    word-break: normal;
  }
  #content2022 h3 {
    font-size: 4rem;
  }
  #content2022 h3 + p.desc {
    font-size: 1.8rem;
  }
  #content2022 h4 {
    font-size: 3rem;
    margin: 8rem 0 5rem;
  }
  #content2022 .tocTile + h4,
  #content2022 .tocTileWide + h4,
  #content2022 .columnBoxList + h4,
  #content2022 .box-link + h4 {
    margin-top: 8rem;
  }
  #content2022 h5 {
    font-size: 2.4rem;
    margin: 3.2rem 0;
  }
  #content2022 h6 {
    font-size: 2rem;
    margin: 3.2rem 0;
  }
  #content2022 table:not(.normal) th,
  #content2022 table:not(.normal) td {
    font-size: 1.4rem;
  }
  #content2022 section.columnBlock,
  #content2022 div.columnBlock,
  #content2022 blockquote {
    clear: both;
    padding: 4rem;
  }
  #content2022 section.columnBlock h3,
  #content2022 div.columnBlock h3,
  #content2022 blockquote h3 {
    font-size: 3.2rem;
  }
  #content2022 section.columnBlock h4,
  #content2022 div.columnBlock h4,
  #content2022 blockquote h4 {
    font-size: 2.4rem;
  }
  #content2022 section.columnBlock h5,
  #content2022 div.columnBlock h5,
  #content2022 blockquote h5 {
    font-size: 2rem;
  }
  #content2022 section.columnBlock h6,
  #content2022 div.columnBlock h6,
  #content2022 blockquote h6 {
    font-size: 1.8rem;
  }
  #content2022 section.columnBlock ol,
  #content2022 div.columnBlock ol,
  #content2022 blockquote ol,
  #content2022 section.columnBlock ul,
  #content2022 div.columnBlock ul,
  #content2022 blockquote ul,
  #content2022 section.columnBlock p,
  #content2022 div.columnBlock p,
  #content2022 blockquote p {
    font-size: 1.4rem;
  }
  #content2022 section.columnBlock.upHeader,
  #content2022 div.columnBlock.upHeader,
  #content2022 blockquote.upHeader {
    position: relative;
    margin-top: 6rem;
  }
  #content2022 section.columnBlock.upHeader > h4:first-child,
  #content2022 div.columnBlock.upHeader > h4:first-child,
  #content2022 blockquote.upHeader > h4:first-child,
  #content2022 section.columnBlock.upHeader > h5:first-child,
  #content2022 div.columnBlock.upHeader > h5:first-child,
  #content2022 blockquote.upHeader > h5:first-child,
  #content2022 section.columnBlock.upHeader > h6:first-child,
  #content2022 div.columnBlock.upHeader > h6:first-child,
  #content2022 blockquote.upHeader > h6:first-child {
    font-size: 1.6rem;
    padding: 0.5rem 1.5rem;
    left: 2.5rem;
  }
  #content2022 section.columnBlock.upHeader > h4:first-child + *,
  #content2022 div.columnBlock.upHeader > h4:first-child + *,
  #content2022 blockquote.upHeader > h4:first-child + *,
  #content2022 section.columnBlock.upHeader > h5:first-child + *,
  #content2022 div.columnBlock.upHeader > h5:first-child + *,
  #content2022 blockquote.upHeader > h5:first-child + *,
  #content2022 section.columnBlock.upHeader > h6:first-child + *,
  #content2022 div.columnBlock.upHeader > h6:first-child + *,
  #content2022 blockquote.upHeader > h6:first-child + * {
    margin-top: 0 !important;
  }
}
/* topAnchorLink */
.topAnchorLink {
  background-color: white;
  padding: 3rem 1.5rem;
  margin-top: -2rem !important;
}
.topAnchorLink p {
  margin: 0 auto;
  font-size: 1.5rem;
  max-width: 47em;
}
.topAnchorLink ul.anchorList {
  margin: 0 auto;
  font-size: 1.4rem;
  justify-content: center;
  column-gap: clamp(1rem, 5%, 4rem);
}
@media (min-width: 1024px) {
  .topAnchorLink {
    margin-top: -6rem !important;
    padding: 4rem 3rem;
  }
  .topAnchorLink p {
    font-size: 1.6rem;
    text-align: center;
  }
  .topAnchorLink ul.anchorList {
    justify-content: center;
    font-size: 1.6rem;
  }
}
/* plane accordion */
.accordion.planeStyle .accordion-item {
  border: none;
  margin-bottom: 2px;
}
.accordion.planeStyle .accordion-item .accordion-header {
  margin: 0 !important;
  padding: 0;
}
.accordion.planeStyle .accordion-item .accordion-header > .link,
.accordion.planeStyle .accordion-item .accordion-header > .accordion-button {
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 600;
  padding: 1.6rem 2rem;
  font-size: 1.5rem;
  color: #1e1e1e;
  background-color: #f4f5f6;
  box-shadow: none;
}
@media (min-width: 1024px) {
  .accordion.planeStyle .accordion-item .accordion-header > .link,
  .accordion.planeStyle .accordion-item .accordion-header > .accordion-button {
    padding: 2.4rem 4rem;
    font-size: 1.6rem;
  }
}
.accordion.planeStyle .accordion-item .accordion-header > .link {
  display: block;
}
.accordion.planeStyle .accordion-item .accordion-header > .link::after {
  display: none;
}
.accordion.planeStyle .accordion-item .accordion-body {
  padding: 1.5rem 2rem 1.5rem 2rem;
  font-feature-settings: 'pkna';
  font-family: YakuHanJPs_Narrow, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Custom Yu Gothic", "Yu Gothic Medium", "Yu Gothic", Meiryo, "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 2;
  color: #1e1e1e;
  background-color: white;
  text-align: left;
  word-break: normal;
}
.accordion.planeStyle .accordion-item .accordion-body .torikumi {
  font-size: inherit;
  padding: 0;
}
.accordion.planeStyle .accordion-item .accordion-body ul {
  margin: 0;
}
.accordion.planeStyle .accordion-item .accordion-body *:first-child {
  margin-top: 0 !important;
}
.accordion.planeStyle .accordion-item .accordion-body *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 1024px) {
  .accordion.planeStyle .accordion-item .accordion-body {
    padding: 2.4rem 4rem 2.4rem 4rem;
  }
}
/* Photo Gallery */
#academicsPhotos {
  margin: 3rem 0 0;
}
#academicsPhotos .swiper-slide {
  display: flex;
  width: auto;
}
#academicsPhotos .swiper-slide img {
  width: 300px;
  height: 200px;
  object-fit: cover;
}
@media (min-width: 1366px) {
  #academicsPhotos {
    margin: 6rem 0 0;
  }
  #academicsPhotos .swiper-slide img {
    width: 540px;
    height: 340px;
  }
}
#hotTopicsKnownPagination,
#keyvisualPagination,
#academicsPhotosPagination {
  position: static;
  display: flex;
  justify-content: flex-end;
  flex-wrap: nowrap;
  height: 0;
  overflow: visible;
  margin: 0;
  padding: 0;
}
#hotTopicsKnownPagination .swiper-pagination-bullet,
#keyvisualPagination .swiper-pagination-bullet,
#academicsPhotosPagination .swiper-pagination-bullet {
  position: relative;
  top: 1rem;
  width: 16px;
  height: 16px;
  margin: 0 0 0 20px;
  padding: 0;
  border-radius: 0;
  background: none;
  border: none;
  opacity: 1;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg,
#keyvisualPagination .swiper-pagination-bullet > svg,
#academicsPhotosPagination .swiper-pagination-bullet > svg {
  transform: rotate(-90deg);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  font-size: 0;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg circle,
#keyvisualPagination .swiper-pagination-bullet > svg circle,
#academicsPhotosPagination .swiper-pagination-bullet > svg circle {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg:nth-child(1),
#keyvisualPagination .swiper-pagination-bullet > svg:nth-child(1),
#academicsPhotosPagination .swiper-pagination-bullet > svg:nth-child(1) {
  opacity: 0;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg:nth-child(1) > circle,
#keyvisualPagination .swiper-pagination-bullet > svg:nth-child(1) > circle,
#academicsPhotosPagination .swiper-pagination-bullet > svg:nth-child(1) > circle {
  stroke-width: 8px;
  stroke-dasharray: 18.8495559;
  stroke-dashoffset: 18.8495559;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg:nth-child(2),
#keyvisualPagination .swiper-pagination-bullet > svg:nth-child(2),
#academicsPhotosPagination .swiper-pagination-bullet > svg:nth-child(2) {
  fill: white;
  color: white;
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
#hotTopicsKnownPagination .swiper-pagination-bullet > svg:nth-child(3),
#keyvisualPagination .swiper-pagination-bullet > svg:nth-child(3),
#academicsPhotosPagination .swiper-pagination-bullet > svg:nth-child(3) {
  fill: #1e1e1e;
  color: #1e1e1e;
  opacity: 1;
  transition: opacity 0.5s ease-out;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active > svg:nth-child(1),
#keyvisualPagination .swiper-pagination-bullet-active > svg:nth-child(1),
#academicsPhotosPagination .swiper-pagination-bullet-active > svg:nth-child(1) {
  opacity: 1;
  color: var(--tmuKeycolor01);
  stroke: currentColor;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active > svg:nth-child(1) > circle,
#keyvisualPagination .swiper-pagination-bullet-active > svg:nth-child(1) > circle,
#academicsPhotosPagination .swiper-pagination-bullet-active > svg:nth-child(1) > circle {
  stroke-dasharray: 18.8495559;
  stroke-dashoffset: 0;
  animation-iteration-count: infinite;
  animation-name: swiper-circle;
  animation-duration: 7s;
  animation-direction: normal;
  animation-timing-function: linear;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active > svg:nth-child(2),
#keyvisualPagination .swiper-pagination-bullet-active > svg:nth-child(2),
#academicsPhotosPagination .swiper-pagination-bullet-active > svg:nth-child(2) {
  opacity: 1;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active > svg:nth-child(3),
#keyvisualPagination .swiper-pagination-bullet-active > svg:nth-child(3),
#academicsPhotosPagination .swiper-pagination-bullet-active > svg:nth-child(3) {
  opacity: 0;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active.stop > svg > circle,
#keyvisualPagination .swiper-pagination-bullet-active.stop > svg > circle,
#academicsPhotosPagination .swiper-pagination-bullet-active.stop > svg > circle {
  animation-play-state: paused;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active.stop > svg:nth-child(3),
#keyvisualPagination .swiper-pagination-bullet-active.stop > svg:nth-child(3),
#academicsPhotosPagination .swiper-pagination-bullet-active.stop > svg:nth-child(3) {
  opacity: 0.75;
  transition: opacity 0.5s ease-out;
}
#hotTopicsKnownPagination .swiper-pagination-bullet-active.removeAnimation > svg > circle,
#keyvisualPagination .swiper-pagination-bullet-active.removeAnimation > svg > circle,
#academicsPhotosPagination .swiper-pagination-bullet-active.removeAnimation > svg > circle {
  animation-name: none;
}
div.popover.campusmap {
  --voffset: 25px;
  border: 1px solid #1e1e1e;
  border-radius: 5px;
  background-color: white;
  padding: 15px;
  width: auto;
  max-width: 290px;
  font-size: 1.3rem;
}
div.popover.campusmap .popover-arrow {
  width: 1px;
  background-color: #1e1e1e;
  height: var(--voffset);
}
div.popover.campusmap .popover-arrow::before,
div.popover.campusmap .popover-arrow::after {
  display: none;
}
div.popover.campusmap.bs-popover-auto[data-popper-placement^=top] > .popover-arrow,
div.popover.campusmap.bs-popover-top > .popover-arrow {
  bottom: calc(-1 * var(--voffset) - 1px);
}
div.popover.campusmap.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow,
div.popover.campusmap.bs-popover-bottom > .popover-arrow {
  top: calc(-1 * var(--voffset) - 1px);
}
div.popover.campusmap .popover-body {
  display: flex;
  flex-direction: column;
  padding: 0;
  color: inherit;
  width: auto;
  min-width: 10em;
}
div.popover.campusmap .popover-body .image {
  margin-bottom: 15px;
  width: 150px;
  flex-shrink: 0;
}
div.popover.campusmap .popover-body .main .title {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-bottom: 1rem;
}
div.popover.campusmap .popover-body .main .desc {
  list-style: 1.5;
}
div.popover.campusmap .popover-body .main .link {
  max-width: 100%;
}
div.popover.campusmap .popover-body .main .link a {
  display: inline-flex;
  align-items: center;
  color: #1e1e1e;
  line-height: 1;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid #1e1e1e;
}
div.popover.campusmap .popover-body .main .link.otherLink .arrow-r {
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.125em;
}
@media (min-width: 1024px) {
  div.popover.campusmap {
    padding: 30px;
    max-width: 540px;
    font-size: 1.4rem;
  }
  div.popover.campusmap .popover-body {
    flex-direction: row;
    column-gap: 2rem;
  }
}
/* for android */
html.android b,
html.android #content2022 b,
html.android strong,
html.android #content2022 strong {
  font-weight: bold;
}
html.android .jp-600,
html.android #content2022 .jp-600 {
  font-weight: bold;
}
html.android #content2022 h6,
html.android #content2022 #content2022 h6 {
  font-weight: bold;
}
html.android #content2022 ol li::before,
html.android #content2022 #content2022 ol li::before {
  font-weight: bold;
}
html.android #content2022 table thead th,
html.android #content2022 #content2022 table thead th {
  font-weight: bold;
}
html.android #content2022 .box-link,
html.android #content2022 #content2022 .box-link {
  font-weight: bold;
}
html.android #content2022 ul.columnBoxList:not(.withImg) > li > a,
html.android #content2022 #content2022 ul.columnBoxList:not(.withImg) > li > a,
html.android #content2022 ul.columnBoxList:not(.withImg) > li > button,
html.android #content2022 #content2022 ul.columnBoxList:not(.withImg) > li > button {
  font-weight: bold;
}
html.android #content2022.academics h5:not(.normal):not(.min-600),
html.android #content2022 #content2022.academics h5:not(.normal):not(.min-600) {
  font-weight: bold;
}
html.android #content2022.academics .student figcaption .name,
html.android #content2022 #content2022.academics .student figcaption .name {
  font-weight: bold;
}
html.android #content2022.academics #academicsResearcherWrap .card .card-body h6,
html.android #content2022 #content2022.academics #academicsResearcherWrap .card .card-body h6 {
  font-weight: bold;
}
html.android #content2022.researcher h5:not(.normal):not(.min-600):not(.accordion-header),
html.android #content2022 #content2022.researcher h5:not(.normal):not(.min-600):not(.accordion-header) {
  font-weight: bold;
}
html.android #content2022.researcher #researchDetailAccordion .accordion-item .accordion-header > .link,
html.android #content2022 #content2022.researcher #researchDetailAccordion .accordion-item .accordion-header > .link,
html.android #content2022.researcher #researchDetailAccordion .accordion-item .accordion-header > .accordion-button,
html.android #content2022 #content2022.researcher #researchDetailAccordion .accordion-item .accordion-header > .accordion-button {
  font-weight: bold;
}
