html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q,
blockquote {
  quotes: none;
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
img {
  -ms-interpolation-mode: bicubic;
}
.forpc {
  display: block;
}
@media screen and (max-width: 735px) {
  .forpc {
    display: none !important;
  }
}
.formb {
  display: none;
}
@media screen and (max-width: 735px) {
  .formb {
    display: block;
  }
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
@-webkit-keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.caticon.news,
.catname.news {
  color: #fff !important;
  background-color: #5a88a8 !important;
}
.caticon.topics,
.catname.topics {
  color: #fff !important;
  background-color: #5a88a8 !important;
}
.caticon.event,
.catname.event {
  color: #fff !important;
  background-color: #d2aa50 !important;
}
.caticon.faculty,
.catname.faculty {
  color: #fff !important;
  background-color: #76ad68 !important;
}
.caticon.graduate,
.catname.graduate {
  color: #fff !important;
  background-color: #57cfad !important;
}
.caticon.campus,
.catname.campus {
  color: #fff !important;
  background-color: #de6487 !important;
}
.caticon.recruit,
.catname.recruit {
  color: #fff !important;
  background-color: #977c6a !important;
}
.caticon.contribution,
.catname.contribution {
  color: #fff !important;
  background-color: #259f2d !important;
}
.caticon.openseminar,
.catname.openseminar {
  color: #fff !important;
  background-color: #549867 !important;
}
.caticon.care,
.catname.care {
  color: #fff !important;
  background-color: #259f2d !important;
}
.caticon.career,
.catname.career {
  color: #fff !important;
  background-color: #f06d6f !important;
}
.caticon.cancer,
.catname.cancer {
  color: #fff !important;
  background-color: #2ec1ce !important;
}
.caticon.research,
.catname.research {
  color: #fff !important;
  background-color: #574eb5 !important;
}
.caticon.covid19,
.catname.covid19 {
  color: #fff !important;
  background-color: #c00 !important;
}
.caticon.sdgs,
.catname.sdgs {
  color: #fff !important;
  background-color: #1286d0 !important;
}
.type.medical {
  background-color: #3499d5 !important;
}
.type.general {
  background-color: #c8930f !important;
}
.type.internal {
  background-color: #027c4b !important;
}
h2.section1 {
  color: #2a3b95 !important;
  border: 1px solid #2a3b95 !important;
}
h3.section1 {
  color: #2a3b95 !important;
}
h4.section1 {
  color: #2a3b95 !important;
}
p.section1 {
  color: #2a3b95 !important;
}
.pagemenu.section1 li a {
  color: #2a3b95 !important;
}
.pagemenu.section1 li a:before {
  background-color: #2a3b95 !important;
}
.pagemenu.section1 li a:hover {
  color: #fff !important;
}
h2.section2 {
  color: #2b8961 !important;
  border: 1px solid #2b8961 !important;
}
h3.section2 {
  color: #2b8961 !important;
}
h4.section2 {
  color: #2b8961 !important;
}
p.section2 {
  color: #2b8961 !important;
}
.pagemenu.section2 li a {
  color: #2b8961 !important;
}
.pagemenu.section2 li a:before {
  background-color: #2b8961 !important;
}
.pagemenu.section2 li a:hover {
  color: #fff !important;
}
h2.section3 {
  color: #956121 !important;
  border: 1px solid #956121 !important;
}
h3.section3 {
  color: #956121 !important;
}
h4.section3 {
  color: #956121 !important;
}
p.section3 {
  color: #956121 !important;
}
.pagemenu.section3 li a {
  color: #956121 !important;
}
.pagemenu.section3 li a:before {
  background-color: #956121 !important;
}
.pagemenu.section3 li a:hover {
  color: #fff !important;
}
h2.section4 {
  color: #952a51 !important;
  border: 1px solid #952a51 !important;
}
h3.section4 {
  color: #952a51 !important;
}
h4.section4 {
  color: #952a51 !important;
}
p.section4 {
  color: #952a51 !important;
}
.pagemenu.section4 li a {
  color: #952a51 !important;
}
.pagemenu.section4 li a:before {
  background-color: #952a51 !important;
}
.pagemenu.section4 li a:hover {
  color: #fff !important;
}
a {
  transition-property: background-color, border, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  -webkit-transition-property: background-color, border, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  text-decoration: none;
  outline: none !important;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
a:link {
  color: #1a3753;
}
a:visited {
  color: #1a3753;
}
a:hover {
  color: #00a3da;
}
a:active {
  color: #f00;
}
a.link:before {
  margin: 0 3px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.win a.hover:hover,
.mac a.hover:hover {
  opacity: 1;
  animation-duration: 1s;
  animation-name: fadeout;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: fadeout;
  display: block;
  opacity: 0.5;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background-color: #f9f9f9;
}
@media screen and (max-width: 735px) {
  body {
    font-size: 110%;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  display: none;
  background-color: #f9f9f9;
}
#loading > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loading > div img {
  width: 40px;
}
#headnav {
  display: none;
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 735px) {
  #headnav {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#headnav #sitelogo {
  margin: 0 auto;
}
#headnav #sitelogo a {
  width: 180px;
  margin: auto;
  display: block;
}
#headnav #snavbtn {
  cursor: pointer;
  position: fixed;
  top: 5px;
  right: 8px;
  width: 32px;
  height: 44px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #snavbtn:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 44px;
  content: "\f2bd";
  font-family: "Font Awesome 5 Free";
  font-size: 22px;
  font-weight: 900;
  color: #999;
  text-align: center;
  line-height: 41px;
}
#headnav #snavbtn span {
  position: absolute;
  left: 10px;
  width: 20px;
  height: 1px;
  display: none;
  background-color: #666;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #snavbtn span:nth-child(1) {
  top: 20px;
  left: 4px;
  transform: rotate(45deg);
}
#headnav #snavbtn span:nth-child(2) {
  top: 20px;
  left: 4px;
  transform: rotate(-45deg);
}
#headnav #snavbtn.active:before {
  display: none;
}
#headnav #snavbtn.active span {
  display: block;
}
#headnav #searchbtn {
  cursor: pointer;
  position: fixed;
  top: 5px;
  right: 8px;
  width: 32px;
  height: 44px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #searchbtn:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 44px;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 18px;
  font-weight: 900;
  color: #999;
  text-align: center;
  line-height: 41px;
}
#headnav #searchbtn span {
  position: absolute;
  left: 10px;
  width: 20px;
  height: 1px;
  display: none;
  background-color: #666;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #searchbtn span:nth-child(1) {
  top: 20px;
  left: 4px;
  transform: rotate(45deg);
}
#headnav #searchbtn span:nth-child(2) {
  top: 20px;
  left: 4px;
  transform: rotate(-45deg);
}
#headnav #searchbtn.active:before {
  display: none;
}
#headnav #searchbtn.active span {
  display: block;
}
#headnav #navbtn {
  cursor: pointer;
  position: fixed;
  top: 8px;
  left: 8px;
  width: 44px;
  height: 44px;
}
#headnav #navbtn span {
  position: absolute;
  left: 10px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #333;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#headnav #navbtn span:nth-child(1) {
  top: 8px;
}
#headnav #navbtn span:nth-child(2) {
  top: 16px;
}
#headnav #navbtn span:nth-child(3) {
  top: 24px;
}
#headnav.active {
  background-color: #fff;
}
#headnav.active #navbtn span:nth-child(1) {
  top: 16px;
  left: 8px;
  transform: rotate(45deg);
}
#headnav.active #navbtn span:nth-child(2) {
  top: 16px;
  width: 0;
  left: 50%;
}
#headnav.active #navbtn span:nth-child(3) {
  top: 16px;
  left: 8px;
  transform: rotate(-45deg);
}
#headnav.scroll {
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}
#msearch {
  display: none;
  z-index: 1000001;
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  padding: 12px 20px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.9);
}
#msearch2 {
  position: fixed;
  z-index: 1000001;
  bottom: 100px;
  right: -400px;
  width: 400px;
  padding: 12px 0 12px 12px;
  border-radius: 10px 0 0 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  background-color: #0073b8;
}
@media screen and (max-width: 735px) {
  #msearch2 {
    display: none;
  }
}
#msearch2.show {
  right: -336px;
}
#msearch2:hover {
  right: -325px;
}
#msearch2.active {
  right: 0;
}
#msearch2.active img {
  opacity: 1;
}
#msearch2 .title {
  cursor: pointer;
  margin: 0 12px 0 0;
  flex-basis: 40px;
}
#msearch2 .title img {
  width: 40px;
}
#msearch2 .content {
  padding: 0 0 0 12px;
  flex-basis: calc(100 / 1 * 1% - 52px - 13px - 40px);
  border-left: 1px solid #fff;
}
#msearch2 #msearchclose {
  cursor: pointer;
  position: relative;
  flex-basis: 40px;
  width: 40px;
  height: 40px;
}
#msearch2 #msearchclose span {
  position: absolute;
  left: 10px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #fff;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#msearch2 #msearchclose span:nth-child(1) {
  top: 22px;
  left: 8px;
  transform: rotate(45deg);
}
#msearch2 #msearchclose span:nth-child(2) {
  top: 22px;
  width: 0;
  left: 50%;
}
#msearch2 #msearchclose span:nth-child(3) {
  top: 22px;
  left: 8px;
  transform: rotate(-45deg);
}
#container #navs {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 240px;
  height: 100vh;
  overflow: hidden;
  background-color: #fff;
}
#container #navs .scroll {
  width: calc(100vw + 33px);
  height: 100vh;
  overflow: hidden;
  overflow-y: scroll;
}
#container #navs .scroll .inner {
  width: 240px;
  padding: 0 33px 0 0;
}
html.safari #container #navs .scroll {
  width: 240px;
}
html.safari #container #navs .scroll .inner {
  padding: 0;
}
#container #articles {
  margin: 0 0 0 240px;
}
@media screen and (max-width: 1200px) {
  #container #navs {
    width: 200px;
  }
  #container #navs .scroll .inner {
    width: 200px;
  }
  #container #articles {
    margin: 0 0 0 200px;
  }
}
@media screen and (max-width: 735px) {
  #container #navs {
    width: 100%;
    left: -100%;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  #container #navs .scroll {
    position: fixed;
    top: 50px;
    left: -100%;
    height: calc(100vh - 50px);
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    width: calc(100% - 130px) !important;
    background-color: #fff;
  }
  #container #navs .scroll .inner {
    width: 100%;
  }
  #container #navs.active {
    left: 0;
    opacity: 1;
  }
  #container #navs.active .scroll {
    left: 0;
    opacity: 1;
  }
  #container #articles {
    margin: 0;
  }
}
_::-webkit-full-page-media,
_:future,
:root #navs.show {
  overflow: visible !important;
}
header {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
}
header h1 {
  width: 100%;
  margin: 10px auto;
}
header h1 a {
  width: 150px;
  margin: 0 auto;
  display: block;
}
header #lang {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
header #lang li {
  padding: 0 10px;
  font-size: 62.5%;
}
header #lang li a {
  color: #000;
}
header #lang li + li {
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 1025px) {
  header {
    align-items: center;
  }
  header h1 {
    padding: 15px 0;
  }
}
@media screen and (max-width: 735px) {
  header h1 {
    display: none;
  }
  header #lang {
    box-sizing: border-box;
    padding: 20px 10px;
    justify-content: flex-start;
  }
}
nav {
  width: 100%;
  margin: 8px 0 8px;
}
nav > ul > li > .nav {
  position: relative;
}
nav > ul > li > .nav > a {
  position: relative;
  z-index: 1;
  padding: 8px 40px 10px 20px;
  display: block;
  font-size: 87.5%;
  color: #000 !important;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul > li > .nav > a {
    font-size: 81.25%;
  }
}
nav > ul > li > .nav > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul > li > .nav > a.current {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
nav > ul > li > .nav > a.current:after {
  width: 100%;
}
html.mac nav > ul > li > .nav > a:hover,
html.win nav > ul > li > .nav > a:hover {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
html.mac nav > ul > li > .nav > a:hover:after,
html.win nav > ul > li > .nav > a:hover:after {
  width: 100%;
  background-color: #0073b8;
}
nav > ul > li > .nav > a.active {
  color: #fff !important;
}
nav > ul > li > .nav > a.active:after {
  width: 100%;
  background-color: #0073b8;
}
nav > ul > li > .nav .menuopen {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  width: 32px;
  height: 32px;
}
nav > ul > li > .nav .menuopen > div {
  position: relative;
  width: 32px;
  height: 32px;
}
nav > ul > li > .nav .menuopen > div span {
  position: absolute;
  left: 11px;
  width: 10px;
  height: 1px;
  display: block;
  background-color: #aaa;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul > li > .nav .menuopen > div span:nth-child(1) {
  top: 12px;
}
nav > ul > li > .nav .menuopen > div span:nth-child(2) {
  top: 16px;
}
nav > ul > li > .nav .menuopen > div span:nth-child(3) {
  top: 20px;
}
nav > ul > li > .nav .menuopen.active > div span {
  background-color: #fff;
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(1) {
  top: 16px;
  left: 9px;
  width: 14px;
  transform: rotate(45deg);
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(2) {
  width: 0;
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(3) {
  top: 16px;
  left: 9px;
  width: 14px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 735px) {
  nav > ul > li > .nav .menuopen {
    display: none;
  }
}
body.information nav > ul > li#nav01 > .nav > a,
body.undergraduate nav > ul > li#nav02 > .nav > a,
body.graduate nav > ul > li#nav03 > .nav > a,
body.postgraduate nav > ul > li#nav04 > .nav > a,
body.campus nav > ul > li#nav05 > .nav > a,
body.contribution nav > ul > li#nav06 > .nav > a,
body.admission nav > ul > li#nav07 > .nav > a,
nav > ul > li.active > .nav > a {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
@media screen and (max-width: 735px) {
  body.information nav > ul > li#nav01 > .nav > a,
  body.undergraduate nav > ul > li#nav02 > .nav > a,
  body.graduate nav > ul > li#nav03 > .nav > a,
  body.postgraduate nav > ul > li#nav04 > .nav > a,
  body.campus nav > ul > li#nav05 > .nav > a,
  body.contribution nav > ul > li#nav06 > .nav > a,
  body.admission nav > ul > li#nav07 > .nav > a,
  nav > ul > li.active > .nav > a {
    padding: 12px 20px;
  }
}
body.information nav > ul > li#nav01 > .nav > a:after,
body.undergraduate nav > ul > li#nav02 > .nav > a:after,
body.graduate nav > ul > li#nav03 > .nav > a:after,
body.postgraduate nav > ul > li#nav04 > .nav > a:after,
body.campus nav > ul > li#nav05 > .nav > a:after,
body.contribution nav > ul > li#nav06 > .nav > a:after,
body.admission nav > ul > li#nav07 > .nav > a:after,
nav > ul > li.active > .nav > a:after {
  width: 100%;
}
body.information nav > ul > li#nav01 > .nav > a + .menuopen,
body.undergraduate nav > ul > li#nav02 > .nav > a + .menuopen,
body.graduate nav > ul > li#nav03 > .nav > a + .menuopen,
body.postgraduate nav > ul > li#nav04 > .nav > a + .menuopen,
body.campus nav > ul > li#nav05 > .nav > a + .menuopen,
body.contribution nav > ul > li#nav06 > .nav > a + .menuopen,
body.admission nav > ul > li#nav07 > .nav > a + .menuopen,
nav > ul > li.active > .nav > a + .menuopen {
  display: none;
}
nav > div a {
  padding: 0 20px;
  font-size: 68.75%;
}
nav h2 a {
  position: relative;
  z-index: 1;
  padding: 8px 20px 10px 20px;
  display: block;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav h2 a span {
  display: block;
}
nav h2 a span.ja {
  margin: 0 0 3px;
  font-size: 87.5%;
  color: #000;
}
nav h2 a span.en {
  font-family: "Oswald", sans-serif;
  font-size: 62.5%;
  color: #666;
}
nav h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac nav h2 a.current,
html.mac nav h2 a:hover,
html.win nav h2 a.current,
html.win nav h2 a:hover {
  padding: 8px 20px 10px;
}
html.mac nav h2 a.current span,
html.mac nav h2 a:hover span,
html.win nav h2 a.current span,
html.win nav h2 a:hover span {
  color: #fff !important;
}
html.mac nav h2 a.current:after,
html.mac nav h2 a:hover:after,
html.win nav h2 a.current:after,
html.win nav h2 a:hover:after {
  width: 100%;
}
nav > ul.navmenu {
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid #ddd;
}
nav > ul.navmenu > li > a {
  position: relative;
  z-index: 1;
  padding: 8px 20px 10px 20px;
  display: block;
  font-size: 81.25%;
  color: #000 !important;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul.navmenu > li > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul.navmenu > li > a.current {
  padding: 8px 20px 10px 20px;
  color: #fff !important;
}
nav > ul.navmenu > li > a.current:after {
  width: 100%;
}
html.mac nav > ul.navmenu > li > a:hover,
html.win nav > ul.navmenu > li > a:hover {
  padding: 8px 20px 10px 20px;
  color: #fff !important;
}
html.mac nav > ul.navmenu > li > a:hover:after,
html.win nav > ul.navmenu > li > a:hover:after {
  width: 100%;
}
@media screen and (max-width: 1025px) {
  nav {
    padding: 15px 0 5px;
  }
  nav > ul > li > .nav > a {
    font-size: 81.25%;
  }
  nav h2 a {
    padding: 8px 20px 10px;
  }
  nav h2 a span.ja {
    margin: 0 0 1px;
    font-size: 81.25%;
  }
  nav > ul.navmenu > li > a {
    padding: 8px 20px 10px 20px;
    font-size: 81.25%;
  }
  nav > ul.navmenu > li > a.current {
    padding: 8px 20px 10px 20px;
  }
}
@media screen and (max-width: 735px) {
  nav {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  nav > ul > li > .nav > a {
    padding: 15px 20px !important;
    font-size: 87.5%;
    font-weight: bold;
  }
  nav h2 a span.ja {
    font-size: 81.25%;
  }
}
nav > ul.navmenu li ul,
.asidemenu {
  padding: 4px 0;
  background-color: #f1f1f0;
}
nav > ul.navmenu li ul > li > a,
.asidemenu > li > a {
  position: relative;
  z-index: 1;
  padding: 8px 40px 8px 20px;
  display: block;
  font-size: 81.25%;
  color: #000;
  text-align: right;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul > li > a,
  .asidemenu > li > a {
    font-size: 68.75%;
  }
}
nav > ul.navmenu li ul > li > a:after,
.asidemenu > li > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul.navmenu li ul > li > a.goparent,
.asidemenu > li > a.goparent {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
  background-color: #84bfd4;
}
nav > ul.navmenu li ul > li > a.current,
nav > ul.navmenu li ul > li > a:hover,
.asidemenu > li > a.current,
.asidemenu > li > a:hover {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
}
nav > ul.navmenu li ul > li > a.current:after,
nav > ul.navmenu li ul > li > a:hover:after,
.asidemenu > li > a.current:after,
.asidemenu > li > a:hover:after {
  width: 100%;
}
nav > ul.navmenu li ul > li > ul,
.asidemenu > li > ul {
  padding: 0 0 12px;
}
nav > ul.navmenu li ul > li > ul li a,
.asidemenu > li > ul li a {
  position: relative;
  z-index: 1;
  padding: 6px 30px 6px 50px;
  display: block;
  font-size: 75%;
  color: #000;
  text-align: right;
  line-height: 1.4;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul > li > ul li a,
  .asidemenu > li > ul li a {
    font-size: 68.75%;
  }
}
nav > ul.navmenu li ul > li > ul li a:after,
.asidemenu > li > ul li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #0073b8;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul.navmenu li ul > li > ul li a.goparent,
.asidemenu > li > ul li a.goparent {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
  background-color: #84bfd4;
}
nav > ul.navmenu li ul > li > ul li a.current,
nav > ul.navmenu li ul > li > ul li a:hover,
.asidemenu > li > ul li a.current,
.asidemenu > li > ul li a:hover {
  padding: 6px 30px 6px 50px;
  color: #fff !important;
}
nav > ul.navmenu li ul > li > ul li a.current:after,
nav > ul.navmenu li ul > li > ul li a:hover:after,
.asidemenu > li > ul li a.current:after,
.asidemenu > li > ul li a:hover:after {
  width: 100%;
}
nav > ul.navmenu li ul > li > ul li ul,
.asidemenu > li > ul li ul {
  background-color: #e9e9e8;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul,
  .asidemenu {
    padding: 0;
  }
  nav > ul.navmenu li ul > li > a,
  .asidemenu > li > a {
    padding: 8px 20px;
    font-size: 68.75%;
  }
  nav > ul.navmenu li ul > li > a.goparent,
  .asidemenu > li > a.goparent {
    padding: 8px 15px 8px 25px;
  }
  nav > ul.navmenu li ul > li > a.current,
  nav > ul.navmenu li ul > li > a:hover,
  .asidemenu > li > a.current,
  .asidemenu > li > a:hover {
    padding: 8px 15px 8px 25px;
  }
  nav > ul.navmenu li ul > li > ul,
  .asidemenu > li > ul {
    padding: 0 0 5px;
  }
  nav > ul.navmenu li ul > li > ul li a,
  .asidemenu > li > ul li a {
    padding: 6px 20px;
    font-size: 68.75%;
  }
  nav > ul.navmenu li ul > li > ul li a.goparent,
  .asidemenu > li > ul li a.goparent {
    padding: 6px 15px 6px 25px;
  }
  nav > ul.navmenu li ul > li > ul li a.current,
  nav > ul.navmenu li ul > li > ul li a:hover,
  .asidemenu > li > ul li a.current,
  .asidemenu > li > ul li a:hover {
    padding: 6px 15px 6px 25px;
  }
}
.subnav {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  opacity: 0;
  position: fixed;
  z-index: -1;
  top: -200vh;
  left: 240px;
  width: calc(100vw - 240px);
  height: 100vh;
  padding: 100px 50px;
  background-color: #0073b8;
  box-sizing: border-box;
}
.subnav.active {
  display: block;
  opacity: 1;
  top: 0;
}
.subnav .clmns {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.subnav .clmns .clmn {
  margin: 0 20px 40px;
  flex-basis: calc(100 / 4 * 1% - 40px);
}
@media screen and (max-width: 1400px) {
  .subnav .clmns .clmn {
    margin: 0 10px 20px;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(100 / 4 * 1% - 20px);
  }
}
.subnav h3 a {
  margin: 0 0 8px;
  padding: 0 0 8px;
  display: block;
  font-size: 87.5%;
  font-weight: bold;
  color: #fff;
  line-height: 1.3;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.subnav h3 a:hover {
  opacity: 0.8;
}
.subnav ul li a {
  padding: 2px 0;
  display: block;
  font-size: 75%;
  color: #fff;
  line-height: 1.3;
}
.subnav ul li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1400px) {
  .subnav {
    left: 240px;
    width: calc(100% - 240px);
  }
}
@media screen and (max-width: 1200px) {
  .subnav {
    left: 200px;
    width: calc(100% - 200px);
    padding: 80px 20px;
  }
}
@media screen and (max-width: 735px) {
  .subnav {
    display: none;
  }
}
.navbox {
  width: 100%;
  margin: 10px 0 0;
  padding: 15px 0 5px;
  border-top: 1px solid #ddd;
}
.navbox.feature {
  background-color: #ddeedb;
}
.navbox.covidbnr {
  background-color: #fee;
}
.navbox h2 {
  margin: 0 20px 15px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.3;
}
.navbox h2 a {
  position: relative;
  padding: 0 14px 0 0;
  display: block;
  color: #000;
}
.navbox h2 a:hover {
  color: #00a3da;
}
.navbox h2 a:after {
  position: absolute;
  top: 50%;
  right: 6px;
  content: "";
  width: 6px;
  height: 6px;
  margin: -4px 0 0;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.navbox ul {
  margin: 0 0 0 20px;
  display: flex;
  flex-wrap: wrap;
}
.navbox ul li {
  margin: 0 10px 0 0;
  flex-basis: calc(50% - 10px);
  font-size: 68.75%;
}
.navbox ul li.wide {
  flex-basis: 100%;
}
.navbox ul li a {
  margin: 0 0 10px;
  padding: 0;
  display: block;
  color: #000;
  line-height: 1.3;
  white-space: nowrap;
}
.navbox ul li a:hover {
  color: #00a3da;
}
.navbox .sdgs {
  margin: 0 20px 10px;
}
@media screen and (max-width: 735px) {
  .navbox {
    width: calc(100% - 20px);
    margin: 10px 10px 0;
  }
}
ul#facilities_beta {
  width: 100%;
  border-top: 1px solid #ddd;
}
ul#facilities_beta li.library a:after {
  background-color: #075dab;
}
ul#facilities_beta li.care a:after {
  background-color: #76b12b;
}
ul#facilities_beta li.career a:after {
  background-color: #1cb7c2;
}
ul#facilities_beta li.ganpro a:after {
  background-color: #804798;
}
ul#facilities_beta li a {
  position: relative;
  z-index: 1;
  height: 44px;
  margin: 1px 0 0;
  padding: 0 20px 0 15px;
  display: block;
  font-size: 75%;
  color: #000 !important;
  line-height: 1.3;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  display: flex;
  align-items: center;
}
ul#facilities_beta li a span span {
  font-size: 80%;
}
ul#facilities_beta li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
ul#facilities_beta li a:hover {
  color: #fff !important;
}
ul#facilities_beta li a:hover:after {
  width: 100%;
}
footer {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
footer #sns {
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer #sns li {
  margin: 0 10px 0 0;
}
footer #sns li#ico_fb a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li#ico_yt a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li#ico_ig a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li a:hover {
  opacity: 0.7;
}
footer #credit #univname {
  margin: 0 0 15px;
  font-size: 112.5%;
  font-weight: bold;
  color: #0073b8;
}
footer #credit address {
  white-space: nowrap;
}
footer #credit address > span {
  font-size: 75%;
  line-height: 1.4;
}
footer #credit address > span > span {
  padding: 1px 0;
  display: block;
}
footer #credit address a {
  color: #000 !important;
}
@media screen and (max-width: 1025px) {
  footer #credit #univname {
    margin: 0 0 10px;
    font-size: 87.5%;
  }
  footer #credit address > span {
    font-size: 68.75%;
    font-weight: normal;
  }
}
ul#footmeta {
  margin: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul#footmeta li a {
  padding: 0 5px;
  font-size: 8px;
  color: #000;
  text-align: center;
}
#snav {
  position: fixed;
  top: 0;
  /* left: 240px; */
  z-index: 1000;
  width: 100%;
  padding: 10px 0;
  background-color: #fff;
  display: flex;
  align-items: stretch;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#snav.scroll {
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}
#snav > ul {
  flex-basis: 100%;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
#snav > ul li {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  height: 40px;
  border-left: 1px solid #ddd;
}
#snav > ul li a {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 15px;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  font-size: 81.25%;
  line-height: 1.3;
  white-space: nowrap;
}
#snav > ul li a span.small {
  margin: 0 0 0 2px;
  font-size: 80%;
  white-space: nowrap;
}
#snav > ul li a span.small.sp {
  margin: 0 0 0 10px;
}
@media screen and (max-width: 1300px) {
  #snav > ul li a span.small.sp {
    margin: 0;
  }
}
#snav > ul li a .break {
  display: none !important;
}
@media screen and (max-width: 1300px) {
  #snav > ul li a .break {
    display: inline !important;
  }
}
@media screen and (max-width: 1200px) {
  #snav {
    left: 200px;
    width: calc(100% - 200px - 60px);
  }
  #snav > ul li a {
    padding: 0 12px;
    font-size: 75%;
  }
  #snav > ul li a span.small {
    margin: 0;
  }
  #snav > ul li a span.small.sp {
    margin: 0;
  }
}
@media screen and (max-width: 800px) {
  #snav {
    left: 200px;
    width: calc(100% - 200px - 60px);
  }
  #snav > ul li a {
    padding: 0 5px;
    font-size: 81.25%;
  }
  #snav > ul li a .break {
    display: none !important;
  }
  #snav > ul li a .sp:before {
    content: "?";
  }
}
@media screen and (max-width: 735px) {
  #snav {
    position: fixed;
    top: 50px;
    left: calc(240px - 100%);
    width: calc(100% - 240px);
    left: -130px;
    width: 130px;
    height: 100vh;
    display: block;
    padding: 50px 0 0;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    background: #efefef;
    box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  }
  #snav > ul {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    background: none;
    border-top: 1px solid #ddd;
  }
  #snav > ul li {
    width: 100%;
    height: auto;
    border-left: none;
    border-bottom: 1px solid #ddd;
  }
  #snav > ul li a {
    height: 100%;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1.4;
    white-space: normal;
  }
  #snav > ul li a span {
    white-space: normal;
  }
  #snav > ul li a span.small {
    margin: 0;
    font-size: 100%;
    white-space: normal;
  }
  #snav.active {
    left: calc(100% - 130px);
  }
  #snav.scroll {
    background-color: #fff;
    box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  }
}
#msearch3 {
  position: fixed;
  z-index: 10001;
  top: -120px;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#msearch3 .title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#msearch3 .title:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 15px;
  left: 22px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #fff;
}
#msearch3 .title:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: 27px;
  left: 29px;
  border-top: solid 1px #fff;
  transform: rotate(45deg);
}
#msearch3 .title span {
  margin: 0 0 12px;
  font-size: 62.5%;
  color: #fff;
}
#msearch3 .title:hover {
  background-color: #84bfd4;
}
#msearch3 .block {
  position: relative;
  z-index: 10;
  height: 120px;
  padding: 0 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #0073b8;
}
#msearch3 .block .content {
  display: block;
  flex-basis: calc(100% - 60px);
}
#msearch3 #msearchclose3 {
  cursor: pointer;
  position: relative;
  flex-basis: 60px;
  width: 60px;
  height: 60px;
  margin: 0 0 auto;
}
#msearch3 #msearchclose3 span {
  position: absolute;
  left: 20px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #fff;
}
#msearch3 #msearchclose3 span:nth-child(1) {
  top: 29px;
  left: 18px;
  transform: rotate(45deg);
}
#msearch3 #msearchclose3 span:nth-child(2) {
  top: 29px;
  left: 18px;
  transform: rotate(-45deg);
}
#msearch3.active {
  top: 0;
}
@media screen and (max-width: 735px) {
  #msearch3 {
    right: calc(-100% + 60px);
    height: 60px;
    display: none;
  }
}
#topslide_beta {
  margin: 0px auto 0;
}
#topslide_beta li {
  outline: none;
}
@media screen and (max-width: 735px) {
  #topslide_beta {
    margin: 50px auto 0;
  }
}
#topslidenav {
  overflow: hidden;
  padding: 5px;
  background-color: #eee;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2) inset;
}
#topslidenav ul li {
  padding: 5px;
}
#topslidenav ul li img {
  width: 100%;
  display: block;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#topslidenav.noslide ul {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  display: flex;
}
#topslidenav.noslide ul li {
  max-width: 290px;
  flex-basis: calc(100 / 5 * 1% - 10px);
}
@media screen and (max-width: 735px) {
  #topslidenav.noslide ul {
    flex-wrap: wrap;
  }
  #topslidenav.noslide ul li {
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
#copyright {
  padding: 20px 0;
  font-size: 62.5%;
  color: #999;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 735px) {
  #copyright {
    padding: 40px 0 20px;
    -ms-transform: scale(0.6, 0.6);
    transform: scale(0.6, 0.6);
  }
}
#topicpath {
  clear: both;
}
#topicpath p {
  padding: 10px 20px;
  font-size: 68.75%;
  color: #555;
  border-bottom: 1px solid #dddddd;
}
}
#topicpath p .dir:before {
  content: "";
  left: 3px;
  width: 4px;
  height: 4px;
  margin: -2px 5px 0 3px;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #aaa;
  border-right: 1px solid #aaa;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 735px) {
  #topicpath {
    display: none;
  }
}
#pagetop {
  position: fixed;
  z-index: 1000000;
  bottom: 0;
  right: 0;
}
#pagetop a {
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  text-indent: -3000px;
  background-color: #0073b8;
  border-radius: 5px 0 0 0;
}
#pagetop a:before {
  content: "";
  position: absolute;
  top: 17px;
  left: 15px;
  width: 8px;
  height: 8px;
  margin: 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#pagetop a:hover {
  background-color: #666;
}
@media screen and (max-width: 735px) {
  #pagetop {
    bottom: calc(env(safe-area-inset-bottom) + 0px);
  }
}
#content #pagetitle {
  position: relative;
  height: 180px;
  margin: 0 0 40px;
  padding: 60px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
#content #pagetitle .titles {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#content #pagetitle .titles.show {
  opacity: 1;
}
#content #pagetitle .titles h1 {
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#content #pagetitle .titles p {
  margin: 5px 0 20px;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 81.25%;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#content #pagetitle.wide {
  position: relative;
  height: 280px;
  height: 100vh;
  height: 30vh;
  border: none;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
#content #pagetitle.wide .titles {
  position: relative;
  z-index: 2;
  margin: 0;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0.5s;
  -moz-transition: all 0.5s ease 0.5s;
  -ms-transition: all 0.5s ease 0.5s;
  -o-transition: all 0.5s ease 0.5s;
  transition: all 0.5s ease 0.5s;
}
#content #pagetitle.wide .titles .mini {
  font-size: 70%;
}
@media screen and (max-width: 735px) {
  #content #pagetitle.wide .titles .mini {
    font-size: 80%;
  }
}
#content #pagetitle.wide .titles.show {
  opacity: 1;
}
#content #pagetitle.wide .titles h1 {
  margin: 0 0 10px;
  padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 250%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#content #pagetitle.wide .titles p {
  margin: 10px 0 0;
  margin: 0;
  padding: 3px 5px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#content #pagetitle #mask {
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: opacity 1s ease 0s;
  -moz-transition: opacity 1s ease 0s;
  -ms-transition: opacity 1s ease 0s;
  -o-transition: opacity 1s ease 0s;
  transition: opacity 1s ease 0s;
}
#content #pagetitle #mask.show {
  opacity: 1;
}
@media screen and (max-width: 735px) {
  #content #pagetitle .titles {
    padding: 0 20px;
  }
  #content #pagetitle.wide {
    margin-top: 0px;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
  }
  #content #pagetitle.wide .titles h1 {
    font-size: 200%;
  }
  #content #pagetitle.wide .titles h1 .mini {
    font-size: 70%;
  }
  #content #pagetitle.wide .titles h1 .mini,
  #content #pagetitle.wide .titles h1 .menu {
    display: block;
  }
  .row.row-header {
    display: none;
  }
}
#content #pagebnrs {
  position: relative;
  z-index: 10;
}
#content #pagebnrs .content {
  max-width: 1400px;
  margin: 0 auto;
}
#content #pagebnrs .content ul {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
#content #pagebnrs .content ul li {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
  position: relative;
}
#content #pagebnrs .content ul li a {
  display: block;
  border: 1px solid #fff;
  overflow: hidden;
}
#content #pagebnrs .content ul li a img {
  display: block;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#content #pagebnrs .content ul li a:hover {
  border: 1px solid #82cac2;
}
#content #pagebnrs .content ul li a:hover img {
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#content #pagebnrs .content ul li .btitle {
  position: absolute;
  z-index: 100;
  bottom: -8px;
  left: -8px;
  padding: 8px 12px;
  font-size: 75%;
  line-height: 1.4;
  font-weight: bold;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 735px) {
  #content #pagebnrs .content {
    padding: 0 20px;
  }
  #content #pagebnrs .content ul {
    margin: 0 0 0 -5px;
  }
  #content #pagebnrs .content ul li {
    margin: 0 0 12px 5px;
    flex-basis: calc(100 / 2 * 1% - 5px);
  }
  #content #pagebnrs .content ul li a {
    display: block;
    border: 1px solid #fff;
    overflow: hidden;
  }
  #content #pagebnrs .content ul li a img {
    display: block;
    -webkit-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -ms-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
  }
  #content #pagebnrs .content ul li a:hover {
    border: 1px solid #82cac2;
  }
  #content #pagebnrs .content ul li a:hover img {
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  #content #pagebnrs .content ul li .btitle {
    display: none;
  }
}
#content #article {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}
#content #article article {
  margin: 40px 0 40px;
}
#content #article_wide {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}
#content #article_wide article {
  margin: 40px 0 40px;
}
#content .leadcontent {
  position: relative;
  margin: 0 0 10px;
  padding: 20px 30px;
  background-color: #fff;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}
#content .leadcontent:before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
#content .leadcontent article {
  padding: 0;
}
#content .leadcontent .columns {
  margin: 0 0 0 -20px;
}
@media screen and (max-width: 1025px) {
  #content #article {
    padding: 0 20px;
  }
  #content #article article {
    margin: 20px 0;
  }
  #content #article_wide {
    padding: 0 20px;
  }
  #content #article_wide article {
    margin: 20px 0;
  }
  #content .leadcontent {
    padding: 15px 20px;
  }
}
@media screen and (max-width: 735px) {
  #content #article {
    padding: 0;
    flex-wrap: wrap;
  }
  #content #article article {
    margin: 20px 0 0;
    flex-basis: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  #content #article article .pagebody {
    padding: 0 20px;
  }
  #content #article aside {
    margin: 0;
    flex-basis: 100%;
    overflow: hidden;
  }
  #content #article_wide {
    padding: 0;
  }
  #content #article_wide article .pagebody {
    padding: 0 20px;
  }
  #content .leadcontent {
    position: relative;
    margin: 0 0 10px;
    padding: 0;
  }
  #content .leadcontent:before {
    display: none;
  }
  #content .leadcontent .columns {
    margin: 0;
  }
}
.articlelists {
  margin: 0 0 0 -20px;
  padding: 0 0 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.articlelists .articlelist {
  margin: 0 0 20px 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  overflow: hidden;
  flex-basis: calc(100 / 4 * 1% - 21px);
}
.articlelists .articlelist.clmn2 {
  flex-basis: calc(100 / 2 * 1% - 21px);
}
.articlelists .articlelist.clmn3 {
  flex-basis: calc(100 / 3 * 1% - 21px);
}
.articlelists .articlelist h2 {
  border: none;
}
.articlelists .articlelist h2 a {
  position: relative;
  z-index: 2;
  padding: 12px 20px;
  display: block;
  font-size: 100%;
  line-height: 1.3;
  color: #0073b8;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelist h2 a:after,
html.win .articlelists .articlelist h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 3px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelist h2 a:hover:after,
html.win .articlelists .articlelist h2 a:hover:after {
  width: 100%;
}
.articlelists .articlelist .pageimglink {
  position: relative;
  display: block;
}
.articlelists .articlelist .pageimglink:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
.articlelists .articlelist .pageimglink h2 {
  position: relative;
  margin: 0;
  padding: 20px 20px 15px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  border-bottom: none;
}
.articlelists .articlelist .pageimglink h2:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -2px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
.articlelists .articlelist .pageimglink .pageimg {
  overflow: hidden;
}
.articlelists .articlelist .pageimglink .pageimg img {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.articlelists .articlelist .pageimglink:hover {
  background-color: #e2f2f7;
}
.articlelists .articlelist .pageimglink:hover img {
  -ms-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
}
.articlelists .articlelistm {
  margin: 0 0 20px 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  overflow: hidden;
  flex-basis: calc(100 / 3 * 1% - 21px);
}
.articlelists .articlelistm h2 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  border: none;
}
.articlelists .articlelistm h2 a {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 15px 20px;
  display: block;
  font-size: 100%;
  line-height: 1.3;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.articlelists .articlelistm h2 a:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -6px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
html.mac .articlelists .articlelistm h2 a:after,
html.win .articlelists .articlelistm h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 3px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelistm h2 a:hover:after,
html.win .articlelists .articlelistm h2 a:hover:after {
  width: 100%;
}
.articlelists .articlelistm h2 a[target$="_blank"]:before {
  content: "\f35d";
  color: #999;
}
.articlelists .articlelistm h2 a[href$=".pdf"]:before {
  content: "\f1c1";
  color: #c00;
}
.articlelists .articlelistm h2 a[href$=".doc"]:before,
.articlelists .articlelistm h2 a[href$=".docx"]:before {
  content: "\f1c2";
  color: #0079a1;
}
.articlelists .articlelistm h2 a[href$=".xls"]:before,
.articlelists .articlelistm h2 a[href$=".xlsx"]:before {
  content: "\f1c3";
  color: #15a648;
}
.articlelists .articlelistm h2 a[href$=".zip"]:before {
  content: "\f1c6";
  color: #444;
}
.articlelists .excerpt {
  padding: 12px 20px;
  font-size: 75%;
  color: #555;
  line-height: 1.4;
}
.articlelists ul {
  margin: 0;
}
.articlelists ul li {
  padding: 0;
  font-size: 1em;
  line-height: 1;
  border-top: 1px solid #eee;
}
.articlelists ul li:before {
  display: none;
}
.articlelists ul li a {
  position: relative;
  padding: 12px 25px 12px 20px;
  display: block;
  font-size: 81.25%;
  line-height: 1.5;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.articlelists ul li a:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -7px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
.articlelists ul li a:hover {
  background-color: #e2f2f7;
}
.articlelists ul li a[target$="_blank"]:before {
  content: "\f35d";
  color: #999;
}
.articlelists ul li a[href$=".pdf"]:before {
  content: "\f1c1";
  color: #c00;
}
.articlelists ul li a[href$=".doc"]:before,
.articlelists ul li a[href$=".docx"]:before {
  content: "\f1c2";
  color: #0079a1;
}
.articlelists ul li a[href$=".xls"]:before,
.articlelists ul li a[href$=".xlsx"]:before {
  content: "\f1c3";
  color: #15a648;
}
.articlelists ul li a[href$=".zip"]:before {
  content: "\f1c6";
  color: #444;
}
@media screen and (max-width: 1400px) {
  .articlelists {
    margin: 0 0 0 -4px;
    margin: 0 0 0 -15px;
  }
  .articlelists .articlelist {
    margin: 0 0 4px 4px;
    margin: 0 0 15px 15px;
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 2 * 1% - 5px);
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 3 * 1% - 5px);
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelistm {
    margin: 0 0 4px 4px;
    margin: 0 0 15px 15px;
    flex-basis: calc(100 / 3 * 1% - 5px);
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
}
@media screen and (max-width: 1025px) {
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelistm {
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
}
@media screen and (max-width: 735px) {
  .articlelists {
    margin: 0 0 0 -4px;
  }
  .articlelists .articlelist {
    margin: 0 0 4px 4px;
    border-right: none;
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist .pageimglink h2 {
    padding: 30px 20px 20px;
    font-size: 112.5%;
  }
  .articlelists .articlelist .pageimglink:before {
    display: none;
  }
  .articlelists .articlelistm {
    margin: 0 0 4px 4px;
    border-right: none;
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelistm h2 {
    margin: 0;
    padding: 0;
    font-size: 1em;
  }
  .articlelists .articlelistm h2 a {
    border-bottom: none;
  }
  .articlelists .excerpt {
    padding: 12px 20px 20px;
  }
}
.mce-content-body .titles,
article .titles {
  padding: 0 0 40px;
}
.mce-content-body .titles h1,
article .titles h1 {
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  line-height: 1.4;
}
.mce-content-body .titles p.parent,
article .titles p.parent {
  margin: 0 0 5px;
  font-size: 100%;
  color: #555;
  line-height: 1.4;
}
@media screen and (max-width: 735px) {
  .mce-content-body .titles,
  article .titles {
    padding: 0 20px 20px;
  }
  .mce-content-body .titles h1,
  article .titles h1 {
    font-size: 150%;
  }
  .mce-content-body .titles p.parent,
  article .titles p.parent {
    font-size: 75%;
  }
}
.mce-content-body .posttitle,
article .posttitle {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body .posttitle h1,
article .posttitle h1 {
  margin: 0;
  font-size: 125%;
  line-height: 1.5;
}
.mce-content-body .posttitle p.subtitle,
article .posttitle p.subtitle {
  margin: 0;
  font-size: 87.5%;
  color: #333;
}
.mce-content-body .posttitle p.catname,
article .posttitle p.catname {
  margin: 0 0 5px;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #0073b8;
  border-radius: 3px;
}
.mce-content-body .posttitle p.catname:before,
article .posttitle p.catname:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.mce-content-body .posttitle p.date,
article .posttitle p.date {
  margin: 8px 0 0;
  font-size: 100%;
  color: #444;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .mce-content-body .posttitle p.date,
  article .posttitle p.date {
    font-size: 75%;
  }
}
.mce-content-body .archivetitle,
article .archivetitle {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body .archivetitle h1,
article .archivetitle h1 {
  font-size: 125%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .mce-content-body .archivetitle,
  article .archivetitle {
    margin: 0;
    padding: 0 20px 20px;
  }
}
.mce-content-body h2,
article h2 {
  clear: both;
  position: relative;
  margin: 40px 0 20px -20px;
  padding: 12px 20px;
  font-size: 125%;
  color: #005d7c;
  line-height: 1.5;
  border: 1px solid #005d7c;
  background-color: #fff;
}
.mce-content-body h2:first-child,
article h2:first-child {
  margin-top: 0 !important;
}
.mce-content-body h2.section,
article h2.section {
  position: relative;
  padding: 20px;
  color: #000;
  border: none;
  background-color: #f1f1f0;
  border-radius: 5px;
}
.mce-content-body h2.sectiontitle,
article h2.sectiontitle {
  margin: 0 -30px 30px;
  padding: 0 30px 20px;
  background: none;
  border: none;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h2.headline,
article h2.headline {
  margin: 30px 0 12px;
  padding: 0 0 12px;
  font-size: 112.5%;
  font-weight: bold;
  background: none;
  border: none;
  border-bottom: 1px solid #005d7c;
}
.mce-content-body h2.headline a,
article h2.headline a {
  position: relative;
  padding: 0 0 0 12px;
  display: block;
}
.mce-content-body h2.headline a:before,
article h2.headline a:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin: -7px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
  line-height: 1;
}
.mce-content-body h2.headline a[target$="_blank"]:after,
article h2.headline a[target$="_blank"]:after {
  margin: -2px 5px 0;
  display: inline-block;
  vertical-align: middle;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #999;
  line-height: 1;
}
.mce-content-body h2.leads,
article h2.leads {
  margin: 40px 0 20px;
  padding: 0;
  font-size: 112.5%;
  background: none;
  border: none;
}
.mce-content-body h2.link,
article h2.link {
  clear: both;
  position: relative;
  margin: 40px 0 20px -20px;
  padding: 0;
}
.mce-content-body h2.link a,
article h2.link a {
  padding: 12px 20px;
  display: block;
  color: #0073b8;
}
.mce-content-body h2.link a:hover,
article h2.link a:hover {
  color: #fff;
  background-color: #0073b8;
}
.mce-content-body h2.bodys,
article h2.bodys {
  font-size: 100%;
  font-weight: bold;
  color: #333;
  margin: 0;
  padding: 0 0 12px;
  background: none;
  border: none;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 1024px) {
  .mce-content-body h2,
  article h2 {
    margin: 40px 0 20px;
  }
  .mce-content-body h2.section,
  article h2.section {
    margin: 40px 0 20px;
  }
  .mce-content-body h2.sectiontitle,
  article h2.sectiontitle {
    margin: 0 -20px 12px;
    padding: 0 20px 12px;
    font-size: 112.5%;
  }
  .mce-content-body h2.link,
  article h2.link {
    margin: 40px 0 20px;
  }
}
@media screen and (max-width: 735px) {
  .mce-content-body h2,
  article h2 {
    margin: 20px 0 10px;
    padding: 8px 12px;
  }
  .mce-content-body h2.section,
  article h2.section {
    margin: 20px 0 10px;
  }
}
.mce-content-body .titles + h2,
article .titles + h2 {
  margin-top: 0 !important;
}
.mce-content-body h3,
article h3 {
  position: relative;
  margin: 30px 0 20px;
  padding: 0 0 0 1.4em;
  font-size: 112.5%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.5;
}
.mce-content-body h3:before,
article h3:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-color: #0073b8;
}
.mce-content-body h3.headline,
article h3.headline {
  position: relative;
  margin: 20px 0 12px;
  padding: 0 0 0 1em;
  font-size: 100%;
  font-weight: bold;
}
.mce-content-body h3.headline:before,
article h3.headline:before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #ddd;
}
.mce-content-body h3.headline_border,
article h3.headline_border {
  position: relative;
  margin: 20px 0 8px;
  padding: 0 0 8px 1em;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h3.headline_border:before,
article h3.headline_border:before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #ddd;
}
.mce-content-body h3.headline_border a,
article h3.headline_border a {
  color: #000;
}
.mce-content-body h3.headline_border a:hover,
article h3.headline_border a:hover {
  color: #84bfd4;
}
.mce-content-body h3.leads,
article h3.leads {
  margin: 20px 0 12px;
  padding: 0;
  font-size: 100%;
  font-weight: bold;
}
.mce-content-body h3.leads:before,
article h3.leads:before {
  display: none;
}
.mce-content-body h3.leads_border,
article h3.leads_border {
  position: relative;
  margin: 0;
  padding: 0 0 5px 1.4em;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h3.leads_border:before,
article h3.leads_border:before {
  position: absolute;
  top: 0.5em;
  left: 4px;
  content: "";
  width: 0.7em;
  height: 0.7em;
  display: block;
  background-color: #005d7c;
}
.mce-content-body h3.leads_border a,
article h3.leads_border a {
  color: #000;
}
.mce-content-body h3.leads_border a:hover,
article h3.leads_border a:hover {
  color: #84bfd4;
}
.mce-content-body h3.question,
article h3.question {
  position: relative;
  margin: 12px 0;
  padding: 12px 20px 0 2.8em;
  font-size: 100%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.5;
  border-top: 1px solid #ddd;
  cursor: pointer;
}
.mce-content-body h3.question:before,
article h3.question:before {
  position: absolute;
  top: 8px;
  left: 3px;
  content: "Q";
  width: 2em;
  height: 2em;
  display: block;
  font-size: 1rem;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 2;
  display: block;
  background-color: #84bfd4;
  border-radius: 50%;
}
.mce-content-body h3.question:after,
article h3.question:after {
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -3px 0 0;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #999;
}
.mce-content-body h3.question.active:after,
article h3.question.active:after {
  content: "\f106";
}
.mce-content-body h3.bodys,
article h3.bodys {
  position: relative;
  margin: 20px 0 5px;
  padding: 8px 15px 10px 32px;
  font-size: 87.5%;
  color: #000;
  background-color: #eee;
  border-radius: 5px;
}
.mce-content-body h3.bodys:before,
article h3.bodys:before {
  position: absolute;
  top: 13px;
  left: 12px;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #005d7c;
}
.mce-content-body .answer,
article .answer {
  position: relative;
  padding: 10px 0 0 2.8em;
}
.mce-content-body .answer:before,
article .answer:before {
  position: absolute;
  top: 8px;
  left: 3px;
  content: "A";
  width: 2em;
  height: 2em;
  display: block;
  font-size: 1rem;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 2;
  display: block;
  background-color: #6a9d51;
  border-radius: 50%;
}
.mce-content-body h4,
article h4 {
  margin: 20px 0 12px;
  padding: 0 0 12px;
  font-size: 87.5%;
  font-weight: bold;
  color: #333;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h4.headline,
article h4.headline {
  font-size: 81.25%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h4.leads,
article h4.leads {
  padding: 0;
  font-size: 81.25%;
  border: none;
}
.mce-content-body h4.eventtitle,
article h4.eventtitle {
  margin: -15px -20px 12px;
  padding: 0;
  font-size: 100%;
  border: none;
}
.mce-content-body h4.eventtitle a,
article h4.eventtitle a {
  position: relative;
  padding: 15px 20px;
  display: block;
  color: #005d7c;
  line-height: 1.4;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h4.eventtitle a:before,
article h4.eventtitle a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 5px;
  height: 5px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body h4.eventtitle a:hover,
article h4.eventtitle a:hover {
  background-color: #e2f2f7;
}
.mce-content-body h5,
article h5 {
  margin: 8px 0;
  font-size: 81.25%;
  color: #00603a;
  font-weight: bold;
}
.mce-content-body p,
article p {
  margin: 0 0 12px;
  font-size: 81.25%;
  line-height: 2;
}
.mce-content-body p.talk,
article p.talk {
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
}
.mce-content-body p.title,
article p.title {
  margin: 0 0 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.4;
}
.mce-content-body p.headline,
article p.headline {
  margin: 0 0 5px;
  font-size: 100%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.4;
}
.mce-content-body p.leads,
article p.leads {
  margin: 0 0 8px;
  font-weight: bold;
}
.mce-content-body p.bodys0,
article p.bodys0 {
  margin: 0;
}
.mce-content-body p.name,
article p.name {
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
  line-height: 1.5;
}
.mce-content-body p.name span,
article p.name span {
  font-size: 80%;
}
.mce-content-body p.notes,
article p.notes {
  margin: 0 0 8px;
  font-size: 75%;
  font-weight: 300;
  line-height: 1.6;
}
.mce-content-body p.notes + .notes,
article p.notes + .notes {
  margin: -8px 0 8px;
}
.mce-content-body p.caption,
.mce-content-body p.wp-caption-text,
.mce-content-body p.wp-caption,
article p.caption,
article p.wp-caption-text,
article p.wp-caption {
  margin: 5px 0 20px;
  font-size: 75%;
  line-height: 1.5;
  text-align: center;
}
.mce-content-body p.btn a,
article p.btn a {
  position: relative;
  padding: 6px 30px 6px 20px;
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2em;
}
.mce-content-body p.btn a:before,
article p.btn a:before {
  display: none;
}
.mce-content-body p.btn a:after,
article p.btn a:after {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -5px 0 0 !important;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
}
.mce-content-body p.btn a:hover,
article p.btn a:hover {
  color: #333;
  background-color: #eee;
  text-decoration: none !important;
  box-shadow: 1px 1px 5px -3px rgba(0, 0, 0, 0.5) inset;
}
.mce-content-body ul,
article ul {
  margin: 0 0 12px 3px;
  overflow: hidden;
}
.mce-content-body ul li,
article ul li {
  position: relative;
  padding: 0 0 5px 14px;
  font-size: 81.25%;
  line-height: 1.6;
}
.mce-content-body ul li:before,
article ul li:before {
  -ms-transform: scale(0.5, 0.5);
  transform: scale(0.5, 0.5);
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
  line-height: 1;
}
.mce-content-body ul li p,
article ul li p {
  font-size: 1em;
}
.mce-content-body ul li ul,
article ul li ul {
  margin: 4px 0 3px !important;
}
.mce-content-body ul li ul li,
article ul li ul li {
  font-size: 1em;
  padding: 0 0 3px 14px;
}
.mce-content-body ul li ul li:before,
article ul li ul li:before {
  color: #999;
}
.mce-content-body ul li ol,
article ul li ol {
  margin: 4px 0 0;
}
.mce-content-body ul li ol li,
article ul li ol li {
  font-size: 1em;
  margin: 0 0 0 1.4em;
  padding: 0 0 2px;
}
.mce-content-body ul li ol li:before,
article ul li ol li:before {
  display: none;
}
.mce-content-body ul.llist,
article ul.llist {
  margin: 0 0 12px 8px;
}
.mce-content-body ul.llist li,
article ul.llist li {
  position: relative;
  padding: 0 0 5px 10px;
}
.mce-content-body ul.llist li:before,
article ul.llist li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 0.1em;
  left: 1px;
  content: "\f0da";
  font-size: 1em;
  color: #999;
  line-height: 1.6;
}
.mce-content-body ul.llist li .filesize,
article ul.llist li .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
.mce-content-body ul.llist li a,
article ul.llist li a {
  padding: 0;
}
.mce-content-body ul.llist li a:before,
article ul.llist li a:before {
  display: none;
}
.mce-content-body ul.llist li a[target$="_blank"]:after,
article ul.llist li a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body ul.llist li a[href$=".pdf"]:after,
article ul.llist li a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body ul.llist li a[href$=".doc"]:after,
.mce-content-body ul.llist li a[href$=".docx"]:after,
article ul.llist li a[href$=".doc"]:after,
article ul.llist li a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body ul.llist li a[href$=".xls"]:after,
.mce-content-body ul.llist li a[href$=".xlsx"]:after,
article ul.llist li a[href$=".xls"]:after,
article ul.llist li a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body ul.llist li a[href$=".zip"]:after,
article ul.llist li a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body ul.llist.block,
article ul.llist.block {
  margin: 0 0 12px;
}
.mce-content-body ul.llist.block li,
article ul.llist.block li {
  padding: 12px 15px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.llist.block li:before,
article ul.llist.block li:before {
  top: 13px;
}
.mce-content-body ul.pagelist li,
article ul.pagelist li {
  padding: 0;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.pagelist li:before,
article ul.pagelist li:before {
  display: none;
}
.mce-content-body ul.pagelist li a,
article ul.pagelist li a {
  position: relative;
  padding: 12px 15px;
  display: block;
}
.mce-content-body ul.pagelist li a:after,
article ul.pagelist li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body ul.pagelist li a:hover,
article ul.pagelist li a:hover {
  background-color: #fff;
}
.mce-content-body ul.pagelistl li,
article ul.pagelistl li {
  padding: 0;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.pagelistl li:before,
article ul.pagelistl li:before {
  display: none;
}
.mce-content-body ul.pagelistl li a,
article ul.pagelistl li a {
  position: relative;
  padding: 12px 20px 12px 5px;
  display: block;
  display: flex;
  justify-content: flex-start;
}
.mce-content-body ul.pagelistl li a:after,
article ul.pagelistl li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.mce-content-body ul.pagelistl li a > strong,
article ul.pagelistl li a > strong {
  flex-basis: 10em;
}
.mce-content-body ul.pagelistl li a > span,
article ul.pagelistl li a > span {
  flex-basis: calc(100 / 1 * 1% - 10em);
}
.mce-content-body ul.pagelistl li a:hover,
article ul.pagelistl li a:hover {
  background-color: #fff;
}
@media screen and (max-width: 735px) {
  .mce-content-body ul.pagelistl li a,
  article ul.pagelistl li a {
    flex-wrap: wrap;
  }
  .mce-content-body ul.pagelistl li a > strong,
  .mce-content-body ul.pagelistl li a > span,
  article ul.pagelistl li a > strong,
  article ul.pagelistl li a > span {
    flex-basis: 100%;
  }
}
.mce-content-body ul.pagelistm li,
article ul.pagelistm li {
  padding: 0;
  border-bottom: 1px solid #ddd;
  font-size: 75%;
}
.mce-content-body ul.pagelistm li:before,
article ul.pagelistm li:before {
  display: none;
}
.mce-content-body ul.pagelistm li a,
article ul.pagelistm li a {
  position: relative;
  padding: 12px 20px 12px 5px;
  display: block;
}
.mce-content-body ul.pagelistm li a:after,
article ul.pagelistm li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.mce-content-body ul.pagelistm li a:hover,
article ul.pagelistm li a:hover {
  opacity: 0.7;
}
.mce-content-body ul.anker,
article ul.anker {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.mce-content-body ul.anker li,
article ul.anker li {
  margin: 0 5px 5px;
  padding: 0;
  font-size: 75%;
}
.mce-content-body ul.anker li:before,
article ul.anker li:before {
  display: none;
}
.mce-content-body ul.anker li a,
article ul.anker li a {
  padding: 5px 12px;
  display: block;
  color: #fff;
  background-color: #005d7c;
  border-radius: 15px;
}
.mce-content-body ul.anker li a:hover,
article ul.anker li a:hover {
  background-color: #84bfd4;
}
.mce-content-body ul.anker li a.current,
article ul.anker li a.current {
  color: #00603a;
  background-color: #fff;
}
.mce-content-body ul.indexlist,
article ul.indexlist {
  margin: 0;
}
.mce-content-body ul.indexlist li,
article ul.indexlist li {
  margin: 0;
  padding: 10px 20px 10px 25px;
  font-size: 87.5%;
  line-height: 1.6;
  border-bottom: 1px solid #eee;
}
.mce-content-body ul.indexlist li a:after,
article ul.indexlist li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body ul.indexlist li:before,
article ul.indexlist li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 16px;
  left: 8px;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #0073b8;
}
.mce-content-body ul.indexlist li ul li,
article ul.indexlist li ul li {
  padding: 2px 0 2px 18px;
  font-size: 0.8rem;
  border: none;
}
.mce-content-body ul.indexlist li ul li:before,
article ul.indexlist li ul li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 8px;
  left: 5px;
  content: "";
  width: 0.6em;
  height: 0.6em;
  display: block;
  background-color: #ccc;
}
.mce-content-body ul.slist,
article ul.slist {
  margin: 0;
}
.mce-content-body ul.slist li,
article ul.slist li {
  position: relative;
  padding: 0;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.slist li:before,
article ul.slist li:before {
  display: none;
}
.mce-content-body ul.slist li a,
article ul.slist li a {
  padding: 7px 0 7px 20px;
  position: relative;
  display: block;
  font-size: 125%;
  font-weight: bold;
}
.mce-content-body ul.slist li a:before,
article ul.slist li a:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  position: absolute;
  top: 6px;
  left: 8px;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-size: 1em;
  color: #999;
  line-height: 1.6;
}
.mce-content-body ul.slist li span,
article ul.slist li span {
  font-size: 80%;
  font-weight: normal;
  line-height: 1.4;
}
.mce-content-body ul.mlist,
article ul.mlist {
  margin: 0;
}
.mce-content-body ul.mlist li,
article ul.mlist li {
  position: relative;
  padding: 0;
  font-size: 68.75%;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.mlist li:before,
article ul.mlist li:before {
  display: none;
}
.mce-content-body ul.mlist li a,
article ul.mlist li a {
  position: relative;
  padding: 4px 5px 5px 20px;
  display: block;
  color: #000;
}
.mce-content-body ul.mlist li a:before,
article ul.mlist li a:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  position: absolute;
  top: 3px;
  left: 8px;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1em;
  color: #0073b8;
  line-height: 1.6;
}
.mce-content-body ul.mlist li a:hover,
article ul.mlist li a:hover {
  background-color: #eee;
}
.mce-content-body ul.tlist,
article ul.tlist {
  margin: 0;
}
.mce-content-body ul.tlist li,
article ul.tlist li {
  padding: 5px 0;
  font-size: 75%;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.tlist li:before,
article ul.tlist li:before {
  display: none;
}
.mce-content-body h2.headline + ul.pagelist,
article h2.headline + ul.pagelist {
  margin-top: -12px;
}
.mce-content-body ol,
article ol {
  margin: 0 0 12px 14px;
}
.mce-content-body ol > li,
article ol > li {
  list-style-type: decimal;
  margin: 0 0 0 1em;
  padding: 0 0 5px;
  font-size: 81.25%;
  line-height: 1.7;
}
.mce-content-body ol > li ul,
article ol > li ul {
  margin: 5px 0 0;
}
.mce-content-body ol > li ul li,
article ol > li ul li {
  padding: 1px 0 1px 14px;
  font-size: 1em !important;
}
.mce-content-body ol > li ol,
article ol > li ol {
  margin-top: 5px;
  margin-bottom: 0;
}
.mce-content-body ol > li ol.paran,
article ol > li ol.paran {
  margin: 0;
}
.mce-content-body ol > li ol.paran li,
article ol > li ol.paran li {
  margin: 0 0 0 2.5em;
}
.mce-content-body ol > li ol li,
article ol > li ol li {
  padding: 1px 0 !important;
  font-size: 1em !important;
}
.mce-content-body ol > li p,
article ol > li p {
  font-size: 1em !important;
}
.mce-content-body ol > li p.notes,
article ol > li p.notes {
  font-size: 0.75rem !important;
}
.mce-content-body ol.num,
article ol.num {
  margin: 0 0 12px;
  counter-reset: li;
}
.mce-content-body ol.num > li,
article ol.num > li {
  position: relative;
  margin: 0 0 0 1.5em;
  padding: 0.3em 0 3px 8px;
  list-style-type: none;
  font-size: 81.25%;
  line-height: 1.6;
}
.mce-content-body ol.num > li > strong,
article ol.num > li > strong {
  font-size: 110%;
  color: #000;
}
.mce-content-body ol.num > li:before,
article ol.num > li:before {
  content: counter(li);
  counter-increment: li;
  position: absolute;
  top: 0.3em;
  left: -1.6em;
  width: 2em;
  height: 2em;
  color: #fff;
  font-size: 81.25%;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  border-radius: 1em;
  background-color: #0073b8;
}
.mce-content-body ol.num > li a,
article ol.num > li a {
  padding: 0;
}
.mce-content-body ol.num > li a:before,
article ol.num > li a:before {
  display: none;
}
.mce-content-body ol.num > li ul,
article ol.num > li ul {
  margin: 5px 0;
}
.mce-content-body ol.paran,
article ol.paran {
  margin: 0;
}
.mce-content-body ol.paran li,
article ol.paran li {
  margin: 0 0 0 2.5em;
  padding: 0 0 5px;
  list-style-type: none;
  text-indent: -2.5em;
  counter-increment: paren;
}
.mce-content-body ol.paran li:before,
article ol.paran li:before {
  content: "（" counter(paren) "）";
}
.mce-content-body ol.paran li ol,
article ol.paran li ol {
  counter-reset: li;
}
.mce-content-body ol.paran li ol.kana,
article ol.paran li ol.kana {
  list-style-type: katakana;
  margin: 0;
}
.mce-content-body ol.paran li ol.kana li,
article ol.paran li ol.kana li {
  text-indent: 0;
  list-style-type: katakana;
}
.mce-content-body ol.paran li ol.kana li:before,
article ol.paran li ol.kana li:before {
  display: none;
}
.mce-content-body ol .filesize,
article ol .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
.mce-content-body ol a:before,
article ol a:before {
  display: none;
}
.mce-content-body ol a[target$="_blank"]:after,
article ol a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body ol a[href$=".pdf"]:after,
article ol a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body ol a[href$=".doc"]:after,
.mce-content-body ol a[href$=".docx"]:after,
article ol a[href$=".doc"]:after,
article ol a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body ol a[href$=".xls"]:after,
.mce-content-body ol a[href$=".xlsx"]:after,
article ol a[href$=".xls"]:after,
article ol a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body ol a[href$=".zip"]:after,
article ol a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body table,
article table {
  margin: 0 0 12px;
  min-width: 40%;
}
.mce-content-body table th,
article table th {
  padding: 8px 12px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table th[scope="col"],
article table th[scope="col"] {
  color: #fff;
  background-color: #00a3da;
}
.mce-content-body table th[scope="row"],
article table th[scope="row"] {
  border-right: 1px solid #ddd;
}
.mce-content-body table th + th,
.mce-content-body table th + td,
article table th + th,
article table th + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table th.normal,
article table th.normal {
  white-space: normal !important;
}
.mce-content-body table th .small,
article table th .small {
  font-size: 80%;
}
.mce-content-body table td,
article table td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table td + td,
article table td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.datatbl,
article table.datatbl {
  width: 100%;
}
.mce-content-body table.datatbl th,
article table.datatbl th {
  padding: 5px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table.datatbl th[scope="col"],
article table.datatbl th[scope="col"] {
  color: #fff;
  background-color: #00a3da;
}
.mce-content-body table.datatbl th[scope="row"],
article table.datatbl th[scope="row"] {
  border-right: 1px solid #ddd;
}
.mce-content-body table.datatbl th + th,
.mce-content-body table.datatbl th + td,
article table.datatbl th + th,
article table.datatbl th + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.datatbl td,
article table.datatbl td {
  padding: 5px 8px;
  font-size: 81.25%;
  line-height: 1.6;
  text-align: right;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.datatbl td + td,
article table.datatbl td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.ltbl,
article table.ltbl {
  width: 100%;
}
.mce-content-body table.ltbl th,
article table.ltbl th {
  padding: 8px 20px 8px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border: none;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  vertical-align: top;
}
.mce-content-body table.ltbl th[scope="col"],
article table.ltbl th[scope="col"] {
  color: #00947f;
  background: none;
}
.mce-content-body table.ltbl th[scope="row"],
article table.ltbl th[scope="row"] {
  width: 15%;
}
.mce-content-body table.ltbl td,
article table.ltbl td {
  padding: 8px 0;
  font-size: 81.25%;
  line-height: 1.6;
  border: none;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.listtbl,
article table.listtbl {
  width: 100%;
}
.mce-content-body table.listtbl th,
article table.listtbl th {
  padding: 5px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table.listtbl th[scope="col"],
article table.listtbl th[scope="col"] {
  color: #690;
}
.mce-content-body table.listtbl th + th,
article table.listtbl th + th {
  border-left: 1px solid #ddd;
}
.mce-content-body table.listtbl td,
article table.listtbl td {
  padding: 5px 8px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.listtbl td th + td,
.mce-content-body table.listtbl td + td,
article table.listtbl td th + td,
article table.listtbl td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.line tr:nth-child(even) th,
article table.line tr:nth-child(even) th {
  background-color: #f3f3f3;
}
.mce-content-body table.line tr:nth-child(even) td,
article table.line tr:nth-child(even) td {
  background-color: #f6f6f6;
}
.mce-content-body table th p,
.mce-content-body table td p,
article table th p,
article table td p {
  margin: 0;
  font-size: 1em;
  line-height: 1.6;
}
.mce-content-body table th p.notes,
.mce-content-body table td p.notes,
article table th p.notes,
article table td p.notes {
  margin: 0;
  font-size: 0.75rem;
}
.mce-content-body table th ol,
.mce-content-body table th ul,
.mce-content-body table th ul.llist,
.mce-content-body table td ol,
.mce-content-body table td ul,
.mce-content-body table td ul.llist,
article table th ol,
article table th ul,
article table th ul.llist,
article table td ol,
article table td ul,
article table td ul.llist {
  margin-top: 2px;
  margin-bottom: 0;
}
.mce-content-body table th ol li,
.mce-content-body table th ul li,
.mce-content-body table th ul.llist li,
.mce-content-body table td ol li,
.mce-content-body table td ul li,
.mce-content-body table td ul.llist li,
article table th ol li,
article table th ul li,
article table th ul.llist li,
article table td ol li,
article table td ul li,
article table td ul.llist li {
  padding-bottom: 2px;
  font-size: 1em;
}
.mce-content-body table th .border,
.mce-content-body table td .border,
article table th .border,
article table td .border {
  padding: 10px 15px;
}
.mce-content-body table .v_top,
article table .v_top {
  vertical-align: top;
}
.mce-content-body table.v_top,
article table.v_top {
  vertical-align: top;
}
.mce-content-body table.v_top th,
.mce-content-body table.v_top td,
article table.v_top th,
article table.v_top td {
  vertical-align: top;
}
.mce-content-body table .total th,
.mce-content-body table .total td,
article table .total th,
article table .total td {
  border-top: 3px double #ddd;
  background-color: #e2f2f7;
}
@media screen and (max-width: 735px) {
  .mce-content-body table.datatbl,
  .mce-content-body table.nowrap,
  article table.datatbl,
  article table.nowrap {
    display: block;
    overflow: auto;
  }
  .mce-content-body table.datatbl tbody,
  .mce-content-body table.nowrap tbody,
  article table.datatbl tbody,
  article table.nowrap tbody {
    display: block;
    overflow-x: scroll;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar,
  article table.datatbl tbody::-webkit-scrollbar,
  article table.nowrap tbody::-webkit-scrollbar {
    height: 10px;
    height: 1rem;
    background: #f1f1f1;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar-thumb,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar-thumb,
  article table.datatbl tbody::-webkit-scrollbar-thumb,
  article table.nowrap tbody::-webkit-scrollbar-thumb {
    border-radius: 12px;
    border-radius: 1.2rem;
    background: #a9a9aa;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar-thumb:hover,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar-thumb:hover,
  article table.datatbl tbody::-webkit-scrollbar-thumb:hover,
  article table.nowrap tbody::-webkit-scrollbar-thumb:hover {
    background: #a9a9aa;
  }
  .mce-content-body table.datatbl tbody th,
  .mce-content-body table.nowrap tbody th,
  article table.datatbl tbody th,
  article table.nowrap tbody th {
    white-space: nowrap !important;
  }
  .mce-content-body table.datatbl tbody th.c30,
  .mce-content-body table.nowrap tbody th.c30,
  article table.datatbl tbody th.c30,
  article table.nowrap tbody th.c30 {
    white-space: normal !important;
    min-width: 200px;
  }
  .mce-content-body table.datatbl tbody th.c40,
  .mce-content-body table.nowrap tbody th.c40,
  article table.datatbl tbody th.c40,
  article table.nowrap tbody th.c40 {
    white-space: normal !important;
    min-width: 300px;
  }
  .mce-content-body table.datatbl tbody th.c45,
  .mce-content-body table.nowrap tbody th.c45,
  article table.datatbl tbody th.c45,
  article table.nowrap tbody th.c45 {
    white-space: normal !important;
    min-width: 350px;
  }
  .mce-content-body table.datatbl tbody td,
  .mce-content-body table.nowrap tbody td,
  article table.datatbl tbody td,
  article table.nowrap tbody td {
    white-space: nowrap;
  }
  .mce-content-body table.datatbl tbody td.c30,
  .mce-content-body table.nowrap tbody td.c30,
  article table.datatbl tbody td.c30,
  article table.nowrap tbody td.c30 {
    white-space: normal !important;
    min-width: 200px;
  }
  .mce-content-body table.datatbl tbody td.c40,
  .mce-content-body table.nowrap tbody td.c40,
  article table.datatbl tbody td.c40,
  article table.nowrap tbody td.c40 {
    white-space: normal;
    min-width: 300px;
  }
  .mce-content-body table.datatbl tbody td.c45,
  .mce-content-body table.nowrap tbody td.c45,
  article table.datatbl tbody td.c45,
  article table.nowrap tbody td.c45 {
    white-space: normal;
    min-width: 350px;
  }
}
.mce-content-body dl:not(.wp-caption, .gallery-item) dt,
article dl:not(.wp-caption, .gallery-item) dt {
  width: 6em;
  font-size: 81.25%;
  font-weight: 500;
  line-height: 1.5;
}
.mce-content-body dl:not(.wp-caption, .gallery-item) dd,
article dl:not(.wp-caption, .gallery-item) dd {
  margin: -1.5em 0 0 6em;
  font-size: 81.25%;
  line-height: 1.5;
}
.mce-content-body .wp-caption-dd,
article .wp-caption-dd {
  padding: 10px 0 20px;
  font-size: 75%;
  line-height: 1.5;
  text-align: center;
}
.mce-content-body dl.eventdata dt,
article dl.eventdata dt {
  width: 4em;
  font-size: 75%;
  font-weight: 500;
  color: #005d7c;
  line-height: 1.5;
}
.mce-content-body dl.eventdata dd,
article dl.eventdata dd {
  margin: -1.5em 0 0 4em;
  font-size: 75%;
  line-height: 1.5;
}
.mce-content-body p a:before,
.mce-content-body th a:before,
.mce-content-body td a:before,
article p a:before,
article th a:before,
article td a:before {
  margin: 0 3px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body p a[target$="_blank"]:after,
.mce-content-body th a[target$="_blank"]:after,
.mce-content-body td a[target$="_blank"]:after,
article p a[target$="_blank"]:after,
article th a[target$="_blank"]:after,
article td a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body p a[href$=".pdf"]:after,
.mce-content-body th a[href$=".pdf"]:after,
.mce-content-body td a[href$=".pdf"]:after,
article p a[href$=".pdf"]:after,
article th a[href$=".pdf"]:after,
article td a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body p a[href$=".doc"]:after,
.mce-content-body p a[href$=".docx"]:after,
.mce-content-body th a[href$=".doc"]:after,
.mce-content-body th a[href$=".docx"]:after,
.mce-content-body td a[href$=".doc"]:after,
.mce-content-body td a[href$=".docx"]:after,
article p a[href$=".doc"]:after,
article p a[href$=".docx"]:after,
article th a[href$=".doc"]:after,
article th a[href$=".docx"]:after,
article td a[href$=".doc"]:after,
article td a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body p a[href$=".xls"]:after,
.mce-content-body p a[href$=".xlsx"]:after,
.mce-content-body th a[href$=".xls"]:after,
.mce-content-body th a[href$=".xlsx"]:after,
.mce-content-body td a[href$=".xls"]:after,
.mce-content-body td a[href$=".xlsx"]:after,
article p a[href$=".xls"]:after,
article p a[href$=".xlsx"]:after,
article th a[href$=".xls"]:after,
article th a[href$=".xlsx"]:after,
article td a[href$=".xls"]:after,
article td a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body p a[href$=".zip"]:after,
.mce-content-body th a[href$=".zip"]:after,
.mce-content-body td a[href$=".zip"]:after,
article p a[href$=".zip"]:after,
article th a[href$=".zip"]:after,
article td a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body p .filesize,
.mce-content-body th .filesize,
.mce-content-body td .filesize,
article p .filesize,
article th .filesize,
article td .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
aside {
  margin: 0 0 40px;
}
aside h2 {
  padding: 5px 0;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
aside h2 a {
  padding: 40px 10px 30px;
  display: block;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: #fff;
}
aside h2 a:hover {
  opacity: 0.7;
}
aside h2 a span {
  display: block;
  text-align: center;
}
aside h2 a span.ja {
  margin: 0 0 10px;
  font-size: 150%;
  font-weight: 300;
  color: #0073b8;
  line-height: 1.3;
}
aside h2 a span.en {
  font-family: "Oswald", sans-serif;
  font-size: 68.75%;
  color: #666;
  line-height: 1.3;
}
aside h3 {
  padding: 12px 20px;
  font-size: 81.25%;
  font-weight: bold;
  color: #0073b8;
  background-color: #fff;
  border-top: 3px solid #f9f9f9;
  border-bottom: 1px solid #eee;
}
aside ul {
  background-color: #fff;
}
aside ul .parent > a {
  font-weight: bold;
}
aside ul .parent > a:before {
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
aside ul .current-cat a,
aside ul a.current {
  color: #fff !important;
  background-color: #005d7c;
}
aside ul .current-cat a:before,
aside ul a.current:before {
  display: none;
}
aside ul a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
aside ul a[target$="_blank"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
aside ul a[target$="_blank"]:hover:before {
  color: #fff;
}
aside ul a[href$=".pdf"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
aside ul a[href$=".pdf"]:hover:before {
  color: #fff;
}
aside ul a[href$=".doc"]:before,
aside ul a[href$=".docx"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
aside ul a[href$=".doc"]:hover:before,
aside ul a[href$=".docx"]:hover:before {
  color: #fff;
}
aside ul a[href$=".xls"]:before,
aside ul a[href$=".xlsx"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
aside ul a[href$=".xls"]:hover:before,
aside ul a[href$=".xlsx"]:hover:before {
  color: #fff;
}
aside ul a[href$=".zip"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
aside ul a[href$=".zip"]:hover:before {
  color: #fff;
}
html.mac aside ul li a:after,
html.win aside ul li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0px;
  height: 100%;
  display: block;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac aside ul li a:hover,
html.win aside ul li a:hover {
  color: #fff !important;
}
html.mac aside ul li a:hover:after,
html.win aside ul li a:hover:after {
  width: 100%;
}
aside ul > li > a {
  position: relative;
  z-index: 2;
  padding: 14px 30px 14px 20px;
  display: block;
  font-size: 81.25%;
  color: #000 !important;
  line-height: 1.4;
  border-bottom: 1px solid #eee;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
aside ul > li > ul li a {
  position: relative;
  z-index: 2;
  padding: 10px 20px 10px 28px;
  display: block;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
aside ul > li > ul li a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
aside ul > li > ul li > ul {
  padding: 0 0 5px;
}
aside ul > li > ul li > ul li a {
  position: relative;
  z-index: 2;
  padding: 6px 20px 6px 36px;
  display: block;
  font-size: 68.75%;
  color: #000;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.newslist li {
  padding: 0 !important;
  font-size: 1em;
}
.newslist li:before {
  display: none;
}
.newslist li:before {
  display: none;
}
.newslist li a {
  padding: 12px 20px;
  font-size: 0.9rem;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
}
.newslist li a span.entrydate {
  flex-basis: 10em;
  color: #555;
}
.newslist li a span.caticon {
  flex-basis: 6.5em;
  margin: 2px 1em 0 0;
  padding: 3px 4px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  color: #fff;
  line-height: 1;
  background-color: #0073b8;
  border-radius: 3px;
}
.newslist li a span.caticon:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.newslist li a span.entrytitle {
  flex-basis: calc(100% - 17em);
}
.newslist li a span.entrytitle.noicon {
  flex-basis: calc(100% - 11em);
}
.newslist li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 735px) {
  .newslist li a {
    padding: 12px 20px;
    flex-wrap: wrap;
  }
  .newslist li a span.entrydate {
    order: 2;
  }
  .newslist li a span.caticon {
    order: 1;
  }
  .newslist li a span.entrytitle {
    order: 3;
    flex-basis: 100%;
  }
  .newslist li a span.entrytitle.noicon {
    flex-basis: 100%;
  }
}
.eventlist li {
  padding: 0;
  font-size: 1em;
}
.eventlist li:before {
  display: none;
}
.eventlist li a {
  padding: 12px 20px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
}
.eventlist li a .eventimg {
  flex-basis: 100px;
}
.eventlist li a .eventimg + .txt {
  margin: 0 0 0 20px;
  flex-basis: calc(100% - 120px);
}
.eventlist li a .eventimg + .txt .cat span {
  margin: 12px 0 5px;
}
.eventlist li a .txt .cat span {
  margin: 0 0 5px;
  padding: 3px 5px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 81.25%;
  color: #fff;
  line-height: 1.2;
}
.eventlist li a .txt h3 {
  margin: 0 0 12px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span {
  margin: 5px 0 0;
  display: block;
}
.eventlist li a .txt > span.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist li a .txt > span.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist li a:hover {
  background-color: #e2f2f7;
}
.eventlist_large li {
  margin: 0 0 10px;
  padding: 0;
  font-size: 1em;
}
.eventlist_large li:before {
  display: none;
}
.eventlist_large li a {
  padding: 15px 20px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border: 1px solid #0073b8;
  border-radius: 5px;
}
.eventlist_large li a .eventimg {
  flex-basis: 140px;
}
.eventlist_large li a .eventimg + .txt {
  margin: 0 0 0 20px;
  flex-basis: calc(100% - 160px);
}
.eventlist_large li a .eventimg + .txt .cat span {
  margin: 12px 0 5px;
}
.eventlist_large li a .txt {
  flex-basis: 100%;
  overflow: hidden;
}
.eventlist_large li a .txt .cat {
  margin: 0;
}
.eventlist_large li a .txt .cat span {
  margin: 0 0 5px;
  padding: 3px 5px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 87.5%;
  color: #fff;
  line-height: 1.2;
}
.eventlist_large li a .txt h3 {
  margin: -15px -20px 12px;
  padding: 15px 20px 12px;
  font-size: 112.5%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.eventlist_large li a .txt h3:before {
  display: none;
}
.eventlist_large li a .txt > span {
  margin: 5px 0 0;
  display: block;
}
.eventlist_large li a .txt > span.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 81.25%;
  color: #000;
  line-height: 1.4;
}
.eventlist_large li a .txt > span.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist_large li a .txt > span.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist_large li a .txt > span.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist_large li a:hover {
  background-color: #e2f2f7;
}
.eventlist_index {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -20px;
}
.eventlist_index li {
  margin: 0 0 30px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.eventlist_index li:before {
  display: none;
}
.eventlist_index li a {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.eventlist_index li a .datetitle {
  background-color: #3499d5;
}
.eventlist_index li a .eventtitle p.cat {
  color: #3499d5;
}
.eventlist_index li a.medical .datetitle {
  background-color: #3499d5;
}
.eventlist_index li a.medical .eventtitle p.cat {
  color: #3499d5;
}
.eventlist_index li a.general .datetitle {
  background-color: #c8930f;
}
.eventlist_index li a.general .eventtitle p.cat {
  color: #c8930f;
}
.eventlist_index li a.internal .datetitle {
  background-color: #027c4b;
}
.eventlist_index li a.internal .eventtitle p.cat {
  color: #027c4b;
}
.eventlist_index li a .datetitle {
  flex-basis: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.eventlist_index li a .datetitle .mmdd {
  margin: auto auto 0;
  padding: 17px 8px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #fff;
  line-height: 1.3;
}
.eventlist_index li a .datetitle .mmdd .num {
  margin: 0 1px -3px 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: bottom;
  font-family: "Oswald", sans-serif;
  font-size: 260%;
  color: #fff;
  line-height: 1;
}
.eventlist_index li a .datetitle .mmdd .txt {
  display: inline-block;
  vertical-align: middle;
  vertical-align: bottom;
  font-size: 100%;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
}
.eventlist_index li a .datetitle .yyyy {
  width: 100%;
  margin: auto 0 0;
  padding: 12px 0;
  font-family: "Oswald", sans-serif;
  font-size: 100%;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.eventlist_index li a .eventtitle {
  margin: 0 15px 0 20px;
  flex-basis: calc(100 / 1 * 1% - 185px);
  display: flex;
  flex-direction: column;
}
.eventlist_index li a .eventtitle h3 {
  margin: 0 0 8px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
}
.eventlist_index li a .eventtitle p {
  color: #000;
}
.eventlist_index li a .eventtitle p.cat {
  margin: 15px 0 8px;
  font-size: 81.25%;
  font-weight: bold;
}
.eventlist_index li a .eventtitle p.catname {
  margin: 0 0 5px;
  font-size: 81.25%;
  color: #00947f;
}
.eventlist_index li a .eventtitle p.eventpickupdate {
  margin: 0 0 8px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.eventlist_index li a .eventtitle p.eventdate.large {
  font-size: 87.5%;
}
.eventlist_index li a .eventtitle p.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.eventlist_index li a .eventtitle p.eventplace.large {
  font-size: 87.5%;
}
.eventlist_index li a .eventtitle p.facility {
  margin: 8px 0;
  font-size: 75%;
  color: #666;
}
.eventlist_index li a .eventtitle p.topage {
  position: relative;
  margin: auto 0 15px auto;
  padding: 0 12px 0 0;
  font-size: 75%;
}
.eventlist_index li a .eventtitle p.topage:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.eventlist_index li a .eventtitle p.eventdate,
.eventlist_index li a .eventtitle p.eventplace,
.eventlist_index li a .eventtitle p.facility {
  display: none;
}
.eventlist_index li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1199px) {
  .eventlist_index li a .datetitle {
    flex-basis: 130px;
  }
  .eventlist_index li a .datetitle .mmdd .num {
    font-size: 250%;
  }
  .eventlist_index li a .datetitle .mmdd .txt {
    font-size: 100%;
  }
  .eventlist_index li a .datetitle .yyyy {
    font-size: 100%;
  }
  .eventlist_index li a .eventtitle {
    flex-basis: calc(100 / 1 * 1% - 165px);
  }
  .eventlist_index li a .eventtitle h3 {
    font-size: 100%;
  }
  .eventlist_index li a .eventtitle p.cat {
    font-size: 81.25%;
  }
  .eventlist_index li a .eventtitle p.topage {
    font-size: 81.25%;
  }
}
@media screen and (max-width: 735px) {
  .eventlist_index {
    margin: 0;
    padding: 0;
  }
  .eventlist_index li {
    margin: 0 10px 10px;
    flex-basis: 100%;
  }
  .eventlist_index li a .datetitle {
    flex-basis: 100px;
  }
  .eventlist_index li a .datetitle .mmdd {
    padding: 10px 0;
  }
  .eventlist_index li a .datetitle .mmdd .num {
    margin: 0 1px 0px 0;
    font-size: 125%;
  }
  .eventlist_index li a .datetitle .mmdd .txt {
    font-size: 75%;
  }
  .eventlist_index li a .datetitle .yyyy {
    padding: 6px 0;
    font-size: 75%;
  }
  .eventlist_index li a .eventtitle {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 1 * 1% - 110px);
  }
  .eventlist_index li a .eventtitle h3 {
    font-size: 87.5%;
    font-weight: 500;
  }
  .eventlist_index li a .eventtitle p.cat {
    margin: 5px 0;
    font-size: 68.75%;
  }
  .eventlist_index li a .eventtitle p.topage {
    display: none;
  }
}
.eventlist_index_beta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.eventlist_index_beta li {
  margin: 0 0 20px;
  padding: 0 15px;
  flex-basis: calc(100 / 4 * 1% - 31px);
  border-left: 1px solid #ddd;
}
.eventlist_index_beta li:before {
  display: none;
}
.eventlist_index_beta li a {
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.eventlist_index_beta li a.medical p.cat {
  color: #3499d5;
}
.eventlist_index_beta li a.general p.cat {
  color: #c8930f;
}
.eventlist_index_beta li a.internal p.cat {
  color: #027c4b;
}
.eventlist_index_beta li a p {
  line-height: 1.2;
}
.eventlist_index_beta li a p.eventdate {
  margin: 0 0 5px;
  font-size: 87.5%;
  color: #000;
}
.eventlist_index_beta li a p.cat {
  margin: 0 0 8px;
  font-size: 75%;
}
.eventlist_index_beta li a p.tolink {
  margin: 12px 0 0;
  text-align: right;
  font-size: 68.75%;
  font-weight: 400;
  color: #000;
}
.eventlist_index_beta li a p.tolink:after {
  content: "";
  width: 6px;
  height: 6px;
  margin: -2.2px 0 0 5px;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.eventlist_index_beta li a h3 {
  font-size: 87.5%;
  color: #000;
  line-height: 1.5;
}
.eventlist_index_beta li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1199px) {
  .eventlist_index_beta li {
    padding: 0;
    flex-basis: calc(100 / 4 * 1% - 1px);
  }
  .eventlist_index_beta li a .datetitle {
    flex-basis: 130px;
  }
  .eventlist_index_beta li a .datetitle .mmdd .num {
    font-size: 250%;
  }
  .eventlist_index_beta li a .datetitle .mmdd .txt {
    font-size: 100%;
  }
  .eventlist_index_beta li a .datetitle .yyyy {
    font-size: 100%;
  }
  .eventlist_index_beta li a .eventtitle {
    flex-basis: calc(100 / 1 * 1% - 165px);
  }
  .eventlist_index_beta li a .eventtitle h3 {
    font-size: 100%;
  }
  .eventlist_index_beta li a .eventtitle p.cat {
    font-size: 81.25%;
  }
  .eventlist_index_beta li a .eventtitle p.topage {
    font-size: 81.25%;
  }
}
@media screen and (max-width: 735px) {
  .eventlist_index_beta {
    margin: 0;
    padding: 0;
  }
  .eventlist_index_beta li {
    margin: 0;
    padding: 0;
    border-left: none;
    border-top: 1px solid #ddd;
    flex-basis: 100%;
  }
  .eventlist_index_beta li a {
    padding: 20px 20px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .eventlist_index_beta li a p.eventdate {
    order: 2;
    flex-basis: 100%;
    margin: 0 0 10px;
    font-size: 87.5%;
    font-weight: 500;
    color: #333;
  }
  .eventlist_index_beta li a p.cat {
    order: 1;
    flex-basis: 100%;
    margin: 0 0 5px;
    font-size: 75%;
  }
  .eventlist_index_beta li a p.tolink {
    display: none;
  }
  .eventlist_index_beta li a h3 {
    order: 3;
    font-size: 87.5%;
    font-weight: bold;
    color: #333;
  }
}
.newslist_index {
  margin: 0;
  padding: 0;
}
.newslist_index li {
  padding: 0;
}
.newslist_index li:before {
  display: none;
}
.newslist_index li a {
  padding: 15px 8px 12px;
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  border-bottom: 1px solid #eee;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}
.newslist_index li a span.entrytitle {
  margin: 2px 0 0;
  flex-basis: 100%;
  font-size: 87.5%;
  font-weight: 400;
  color: #000;
  line-height: 1.5;
}
.newsbox .newslist_index li a span.entrytitle {
  margin: 0;
  flex-basis: calc(100% - 11em);
}
.newslist_index li a span.entrydate {
  margin: -1px 5px 0 0;
  font-size: 81.25%;
  font-weight: 400;
  color: #333;
}
.newsbox .newslist_index li a span.entrydate {
  margin: 4px 0 0;
  flex-basis: 10em;
}
.newslist_index li a span.caticon {
  flex-basis: 6.5em;
  margin: -3px 0.5em 0 0;
  padding: 1px 4px 3px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  color: #fff;
  line-height: 1.4;
  background-color: #5493a8;
  border-radius: 3px;
}
.newslist_index li a span.caticon:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.newsbox .newslist_index li a span.caticon {
  display: none;
}
.newslist_index li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1025px) {
  .newslist_index li a {
    padding: 13px 8px 12px;
  }
  .newslist_index li a span.entrytitle {
    font-size: 81.25%;
  }
  .newsbox .newslist_index li a span.entrydate {
    margin: 2px 0 0;
    flex-basis: 10em;
  }
  .newslist_index li a span.caticon {
    flex-basis: 6.5em;
    margin: -3px 0.5em 0 0;
    padding: 2px 4px;
    display: inline-block;
    vertical-align: middle;
    font-size: 0.7rem;
    color: #fff;
    line-height: 1.4;
    background-color: #5493a8;
    border-radius: 3px;
  }
  .newslist_index li a span.caticon:before {
    margin: 0 4px 0 0;
    content: "\f111";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: rgba(255, 255, 255, 0.5);
  }
}
@media screen and (max-width: 735px) {
  .newslist_index li a {
    padding: 20px 20px 17px;
  }
  .newslist_index li a span.entrytitle {
    margin: 2px 0 0;
    font-size: 87.5%;
    font-weight: bold;
    color: #333;
  }
  .newsbox .newslist_index li a span.entrytitle {
    margin: 0;
    flex-basis: 100%;
  }
  .newslist_index li a span.entrydate {
    font-size: 75%;
  }
  .newslist_index li a span.caticon {
    font-size: 0.65rem;
  }
}
.newstitle h2 {
  margin: 0;
  padding: 0 0 12px;
  font-family: "Noto Serif JP", serif;
  font-size: 112.5%;
  font-weight: bold;
  color: #0073b8;
  border: none;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  .newstitle h2 {
    padding: 20px;
  }
}
.listbtn {
  margin: 20px 0 0;
  text-align: center;
}
.listbtn a {
  padding: 10px 20px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  color: #000;
  border: 1px solid #ddd;
  border-radius: 20px;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.listbtn a:hover {
  color: #0073b8;
  border: 1px solid #0073b8;
}
@media screen and (max-width: 735px) {
  .listbtn {
    margin: 20px 0;
  }
}
.newslist_index,
.newslist,
.eventlist {
  overflow-y: scroll;
}
body#index .newslist_index,
body#index .newslist,
body#index .eventlist {
  overflow-y: auto;
}
p.long {
  display: none;
  position: relative;
  margin: 12px 0 0;
  text-align: center;
  cursor: pointer;
}
p.long a {
  pointer-events: none;
  position: relative;
  z-index: 2;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 62.5%;
  color: #005d7c;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 10px;
}
p.long a:before {
  margin: 0 5px 0 0;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
p.long:after {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 0;
  content: "";
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
}
p.long:hover a {
  background-color: #eee;
}
p.short {
  display: none;
  position: relative;
  margin: 12px 0 0;
  text-align: center;
  cursor: pointer;
}
p.short a {
  pointer-events: none;
  position: relative;
  z-index: 2;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 62.5%;
  color: #00603a;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 10px;
}
p.short a:before {
  margin: 0 5px 0 0;
  content: "\f106";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
p.short:after {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 0;
  content: "";
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
}
p.short:hover a {
  background-color: #eee;
}
#titles {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: calc(100% - 320px - 20px);
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
@media screen and (max-width: 1400px) {
  #titles {
    width: calc(100% - 240px - 20px);
  }
}
@media screen and (max-width: 735px) {
  #titles {
    position: static;
    width: 100%;
    display: block;
  }
}
#topimg2 {
  position: relative;
  min-height: 500px;
  height: 100vh;
  height: 70vh;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
#topimg2 #topimgmask {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: rgba(255, 255, 255, 0);
}
#topimg2 #topimgmask.active {
  background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 735px) {
  #topimg2 {
    min-height: 1px;
    align-items: flex-end;
    justify-content: flex-end;
  }
  #topimg2 #titles {
    margin: auto 10px 10px;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
  }
}
#titles2 {
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media screen and (max-width: 735px) {
  #titles2 {
    right: 0;
    width: 100%;
  }
}
#titles2 #title {
  max-width: 400px;
  box-sizing: border-box;
  margin: 0 auto;
}
#titles2 #title .searchbox {
  margin: 0;
}
#titles2 #title .searchbox .gsearch {
  position: relative;
}
#titles2 #title .searchbox .gsearch:before {
  position: absolute;
  top: 6px;
  left: 10px;
  font-size: 14px;
}
@media screen and (max-width: 735px) {
  #titles2 #title .searchbox .gsearch:before {
    top: 0.5rem;
    font-size: 16px;
  }
}
#titles2 #title .searchbox .gsearch :-ms-input-placeholder {
  color: #fff !important;
}
#titles2 #title .searchbox .gsearch input::placeholder {
  color: #fff !important;
}
#titles2 #title .searchbox .gsearch input {
  color: #444;
  line-height: 1 !important;
  height: 1.3rem !important;
  background: none !important;
}
@media screen and (max-width: 735px) {
  #titles2 #title .searchbox .gsearch input {
    height: 1rem !important;
  }
}
#titles2 #title .searchbox .gsearch .gsib_a {
  padding: 0 0 0 26px !important;
  border: none !important;
}
#titles2 #title .searchbox .gsearch .gsib_b {
  display: none;
}
#titles2 #title .searchbox .gsearch .gsc-input {
  margin: 0 !important;
  border: none !important;
}
#titles2 #title .topnotice {
  margin: 0;
  padding: 0;
  border-top: none;
}
#titles2 #title .topnotice li a span.entrydate {
  margin: 2px 0;
}
#titles2 #title .topnotice li a span.entrytitle {
  font-size: 75%;
}
@media screen and (max-width: 735px) {
  #titles2 #title .topnotice {
    margin: 0;
    padding: 15px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    box-sizing: border-box;
    border-radius: 15px;
    border: none;
  }
}
@media screen and (max-width: 735px) {
  #titles2 #title {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
}
#titles2 .message {
  margin: 10px 0 0;
  padding: 0;
  background: none;
}
#titles2 .message p {
  font-size: 75%;
  line-height: 1.4;
}
#titles2 .message p + p {
  margin: 5px 0 0;
}
@media screen and (max-width: 735px) {
  #titles2 .message {
    width: 100%;
    margin: 5px 0 0;
    padding: 15px 20px;
    background-color: rgba(255, 255, 255, 0.8);
  }
  #titles2 .message p {
    font-size: 68.75%;
  }
}
#titles3 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 320px);
  height: calc(100vh - 90px);
  bottom: auto;
  top: 90px;
  height: calc(70vh - 90px);
  display: flex;
  align-items: center;
  justify-content: center;
}
#titles3 #title2 {
  position: relative;
  z-index: 2;
  max-width: 320px;
  margin-top: 60%;
  margin-bottom: 40%;
  opacity: 0.5;
  opacity: 1;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#titles3 #title2 #searchbox,
#titles3 #title2 #tags {
  opacity: 0.5;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#titles3 #title2:hover {
  opacity: 1;
}
#titles3 #title2:hover #searchbox,
#titles3 #title2:hover #tags {
  opacity: 1;
}
@media screen and (max-width: 1400px) {
  #titles3 {
    width: calc(100% - 240px);
  }
}
@media screen and (max-width: 1025px) {
  #titles3 {
    width: calc(100% - 200px);
    height: calc(100vh - 70px);
    top: 70px;
    height: calc(70vh - 70px);
  }
}
@media screen and (max-width: 735px) {
  #titles3 {
    width: 100%;
    top: 60px;
  }
}
#topnotice {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  height: auto;
  margin: 40px auto 0;
  padding: 0 40px;
  border-radius: 4px;
  overflow: hidden;
}
#topnotice h2 {
  flex-basis: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 81.25%;
  font-weight: bold;
  color: #fff;
  background-color: #c00;
}
#topnotice .topnotice {
  flex-basis: calc(100 / 1 * 1% - 10em);
  padding: 8px 20px;
  border: 1px solid #c00;
  border-radius: 0 4px 4px 0;
  background-color: #fff;
}
#topnotice .topnotice li a {
  line-height: 1.3;
  padding: 4px 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
#topnotice .topnotice li a span.entrydate {
  flex-basis: 9em;
  font-size: 81.25%;
  color: #666;
}
#topnotice .topnotice li a span.entrytitle {
  flex-basis: calc(100 / 1 * 1% - 9em);
  font-size: 81.25%;
  color: #000;
}
#topnotice .topnotice li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 735px) {
  #topnotice {
    flex-wrap: wrap;
    margin: 20px 20px 0;
    padding: 0;
    border-radius: 5px;
    overflow: hidden;
  }
  #topnotice h2 {
    flex-basis: 100%;
    font-size: 81.25%;
    padding: 6px 12px;
    justify-content: flex-start;
  }
  #topnotice .topnotice {
    border-radius: 0 0 5px 5px;
    flex-basis: 100%;
    padding: 6px 12px 8px;
  }
  #topnotice .topnotice li a {
    flex-wrap: wrap;
  }
  #topnotice .topnotice li a span.entrydate {
    flex-basis: 100%;
    margin: 0 0 3px;
    font-size: 75%;
  }
  #topnotice .topnotice li a span.entrytitle {
    flex-basis: 100%;
    font-size: 81.25%;
  }
}
.toplinkbtn {
  margin: 0 0 10px;
  text-align: center;
}
.toplinkbtn a {
  position: relative;
  padding: 12px 35px;
  display: inline-block;
  vertical-align: middle;
  font-size: 112.5%;
  font-weight: 500;
  color: #fff;
  border: 1px solid #ddd;
  background-color: #f90;
  border-radius: 25px;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.toplinkbtn a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin: -5px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.toplinkbtn a:hover {
  color: #fff;
  background-color: #0073b8;
  transform: translateY(2px);
}
.toplinkbtn a:hover:before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#title {
  position: relative;
  z-index: 2;
  flex-basis: calc(100 / 2 * 1% - 20px);
  margin: 0 10px;
  padding: 10px 20px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  box-sizing: border-box;
  border-radius: 15px;
}
@media screen and (max-width: 735px) {
  #title {
    flex-basis: calc(100 / 1 * 1% - 20px);
    margin: 10px;
    padding: 0;
    background: none;
  }
  #title #searchbox,
  #title #tags {
    display: none;
  }
}
.message {
  position: relative;
  z-index: 105;
  flex-basis: calc(100 / 2 * 1% - 20px);
  margin: 0 10px;
  padding: 20px;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 15px;
}
.message p {
  font-family: "Noto Serif JP", serif;
  font-size: 81.25%;
  line-height: 1.5;
}
.message p + p {
  margin: 5px 0 0;
}
@media screen and (max-width: 735px) {
  .message {
    flex-basis: calc(100 / 1 * 1% - 20px);
    margin: 10px;
  }
  .message p {
    font-size: 75%;
  }
}
#univtitle {
  width: 100%;
}
@media screen and (max-width: 735px) {
  #univtitle {
    max-width: 240px;
    margin: 0 auto;
  }
}
.searchbox {
  margin: 10px 0;
  border-radius: 10px;
  box-sizing: border-box;
}
.searchbox #search {
  position: relative;
}
.searchbox #search:before {
  position: absolute;
  top: 5px;
  left: 8px;
  z-index: 2;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 13px;
  font-weight: 900;
  color: #0073b8;
  display: block;
}
.searchbox #search:after {
  content: "";
  width: 0px;
  width: 100%;
  height: 1px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.searchbox #search.active:after {
  width: 100%;
}
.searchbox #search input[type="text"] {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 24px;
  padding: 4px 0 4px 30px;
  font-size: 16px;
  background: none;
  border: none;
  outline: none;
  box-sizing: border-box;
}
.gsearch {
  position: relative;
}
.gsearch:before {
  position: absolute;
  top: 6px;
  left: 10px;
  z-index: 2;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 14px;
  font-weight: 900;
  color: #0073b8;
  display: block;
}
@media screen and (max-width: 735px) {
  .gsearch:before {
    top: 0.5rem;
    font-size: 16px;
  }
}
.gsearch .gsc-input-box {
  border-radius: 1.5rem;
}
.gsearch .gsc-input {
  padding: 0 !important;
}
.gsearch .gsc-search-button,
.gsearch .gsc-clear-button {
  display: none;
}
.gsearch :-ms-input-placeholder {
  color: #fff !important;
}
.gsearch input:placeholder {
  color: #fff !important;
}
.gsearch input {
  color: #444;
  line-height: 1 !important;
  height: 1.6rem !important;
  background: none !important;
}
@media screen and (max-width: 735px) {
  .gsearch input {
    height: 1.2rem !important;
  }
}
.gsearch .gsib_a {
  padding: 0 0 0 26px !important;
  border: none !important;
}
.gsearch .gsib_b {
  display: none;
}
.gsearch .gsc-input {
  margin: 0 !important;
  border: none !important;
}
.tags {
  border-radius: 0 0 10px 10px;
}
.tags ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.tags ul li {
  margin: 2px 5px 2px 0;
}
.tags ul li a {
  padding: 4px 5px 5px;
  display: block;
  font-size: 75%;
  font-weight: normal;
  color: #000;
  background-color: #fff;
  -webkit-transition: all 1s ease 0s;
  -moz-transition: all 1s ease 0s;
  -ms-transition: all 1s ease 0s;
  -o-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}
.tags ul li a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.tags ul li a {
  padding: 4px 5px 5px;
  font-size: 68.75%;
  font-weight: bold;
  color: #fff;
  background-color: #0073b8;
}
.tags ul li a:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
.tags ul li strong a {
  padding: 5px 7px 7px;
  font-size: 75%;
  font-weight: bold;
  color: #fff;
  background-color: #0073b8;
}
.tags ul li strong a:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
#pickup .content {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  padding: 0 40px;
}
#pickup .content ul {
  margin: 20px 0 0 -3px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}
#pickup .content ul li {
  margin: 0 0 3px 3px;
  flex-basis: calc(100 / 4 * 1% - 3px);
}
@media screen and (max-width: 1681px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 4 * 1% - 3px);
  }
}
@media screen and (max-width: 1261px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 3 * 1% - 3px);
  }
}
@media screen and (max-width: 900px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 2 * 1% - 3px);
  }
}
#pickup .content ul li a {
  position: relative;
  display: block;
  overflow: hidden;
}
#pickup .content ul li a:after {
  content: "";
  padding: 100% 0 0;
  display: block;
}
#pickup .content ul li a .imgs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#pickup .content ul li a .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 33%;
  min-height: 33%;
  padding: 10px 15px;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: rgba(21, 139, 192, 0.8);
}
#pickup .content ul li a .txt h2 {
  margin: 4px 0 8px;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#pickup .content ul li a .txt p.cat {
  font-size: 68.75%;
  color: #fff;
  line-height: 1.3;
}
#pickup .content ul li a .txt p.notes {
  font-size: 68.75%;
  color: #fff;
  line-height: 1.4;
  display: none;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#pickup .content ul li a:hover .imgs {
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#pickup .content ul li a:hover .txt {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
#pickup .content ul li a:hover .txt p.notes {
  display: block;
}
#pickup .content ul li:nth-child(even) a .txt {
  background-color: rgba(66, 101, 174, 0.8);
}
#pickup .content ul li.stay,
#pickup .content ul li:nth-child(9),
#pickup .content ul li:nth-child(10),
#pickup .content ul li:nth-child(11),
#pickup .content ul li:nth-child(12),
#pickup .content ul li:nth-child(13),
#pickup .content ul li:nth-child(14),
#pickup .content ul li:nth-child(15),
#pickup .content ul li:nth-child(16) {
  display: none;
}
@media screen and (max-width: 1261px) {
  #pickup .content ul li:nth-child(7),
  #pickup .content ul li:nth-child(8),
  #pickup .content ul li:nth-child(9),
  #pickup .content ul li:nth-child(10),
  #pickup .content ul li:nth-child(11),
  #pickup .content ul li:nth-child(12),
  #pickup .content ul li:nth-child(13),
  #pickup .content ul li:nth-child(14),
  #pickup .content ul li:nth-child(15),
  #pickup .content ul li:nth-child(16) {
    display: none;
  }
}
@media screen and (max-width: 735px) {
  #pickup .content ul {
    margin: 20px 0 0 -8px;
  }
  #pickup .content ul li {
    flex-basis: calc(100 / 2 * 1% - 8px);
  }
}
@media screen and (max-width: 1199px) {
  #pickup .content ul li a .txt h2 {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 735px) {
  #pickup .content {
    padding: 0 20px;
  }
  #pickup .content ul {
    margin: 20px 0 0 -3px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
  }
  #pickup .content ul li {
    margin: 0 0 3px 3px;
    flex-basis: calc(100 / 1 * 1% - 3px);
  }
  #pickup .content ul li a {
    position: relative;
    display: block;
    overflow: hidden;
  }
  #pickup .content ul li a:after {
    content: "";
    padding: 100% 0 0;
    display: block;
  }
  #pickup .content ul li a .imgs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  #pickup .content ul li a .txt {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 33%;
    min-height: 33%;
    padding: 10px 15px;
    box-sizing: border-box;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
    background-color: rgba(21, 139, 192, 0.8);
  }
  #pickup .content ul li a .txt h2 {
    margin: 4px 0 8px;
    font-size: 100%;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #pickup .content ul li a .txt p.cat {
    font-size: 68.75%;
    color: #fff;
    line-height: 1.3;
  }
  #pickup .content ul li a .txt p.notes {
    font-size: 68.75%;
    color: #fff;
    line-height: 1.4;
    display: none;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
  }
  #pickup .content ul li a:hover .imgs {
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  #pickup .content ul li a:hover .txt {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  #pickup .content ul li a:hover .txt p.notes {
    display: block;
  }
  #pickup .content ul li:nth-child(even) a .txt {
    background-color: rgba(66, 101, 174, 0.8);
  }
}
#newstab2 .newsbox h2 {
  display: none;
}
#eventbox {
  padding: 40px;
}
#eventbox .content {
  max-width: 1400px;
  margin: 0 auto;
}
#eventbox .content .titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#eventbox .content .titles h2 {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 250%;
  color: #0073b8;
}
#eventbox .content .titles p {
  margin: 5px 0 25px;
  font-size: 81.25%;
}
#eventbox .content .titles p.notab {
  padding: 0 0 29px;
}
@media screen and (max-width: 735px) {
  #eventbox {
    padding: 20px 0;
  }
  #eventbox .content .titles h2 {
    font-size: 200%;
  }
  #eventbox .content .titles p {
    margin: 5px 0 25px;
    font-size: 81.25%;
  }
  #eventbox .content .titles p.notab {
    padding: 0;
  }
}
#topicsbox {
  padding: 40px 50px;
}
#topicsbox .content {
  max-width: 1400px;
  margin: 0 auto;
}
#sdgs #topicsbox .content h2 {
  font-family: "Noto Sans JP", sans-serif !important;
  color: #1285cf !important;
  line-height: 1.5 !important;
}
#sdgs #topicsbox .content h2.headline {
  border-bottom: 1px solid #ddd !important;
}
#topicsbox .content article {
  padding: 0 0 40px;
}
#topicsbox .content article .article {
  padding: 40px 20px;
}
#topicsbox .content .column {
  max-width: calc(100 / 2 * 1% - 60px);
  padding: 0 20px;
}
#topicsbox .content .titles {
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#topicsbox .content .titles h2 {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 200%;
  color: #0073b8;
}
#topicsbox .content .titles p {
  margin: 5px 0 25px;
  font-size: 81.25%;
}
#topicsbox .content .titles p.notab {
  padding: 0 0 29px;
}
#topicsbox .content .titles ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
#topicsbox .content .titles ul li {
  margin: 0 8px;
  text-align: center;
}
#topicsbox .content .titles ul li a {
  position: relative;
  padding: 0 0 17px;
  display: block;
  font-size: 81.25%;
  font-weight: bold;
  color: #666;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#topicsbox .content .titles ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac #topicsbox .content .titles ul li a:hover,
html.win #topicsbox .content .titles ul li a:hover {
  color: #0073b8;
}
html.mac #topicsbox .content .titles ul li a:hover:after,
html.win #topicsbox .content .titles ul li a:hover:after {
  width: 100%;
}
#topicsbox .content .titles ul li.ui-state-active a {
  color: #0073b8;
}
#topicsbox .content .titles ul li.ui-state-active a:after {
  width: 100%;
}
#topicsbox #pagetitle {
  position: relative;
  height: 180px;
  margin: 0 0 40px;
  padding: 60px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
#topicsbox #pagetitle .titles {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#topicsbox #pagetitle .titles.show {
  opacity: 1;
}
#topicsbox #pagetitle .titles h1 {
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#topicsbox #pagetitle .titles p {
  margin: 5px 0 20px;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 81.25%;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#topicsbox #pagetitle #mask {
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: opacity 1s ease 0s;
  -moz-transition: opacity 1s ease 0s;
  -ms-transition: opacity 1s ease 0s;
  -o-transition: opacity 1s ease 0s;
  transition: opacity 1s ease 0s;
}
#topicsbox #pagetitle #mask.show {
  opacity: 1;
}
@media screen and (max-width: 735px) {
  #topicsbox #pagetitle .titles {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1200px) {
  #topicsbox .content .titles ul {
    width: 100%;
  }
  #topicsbox .content .titles ul li {
    margin: 0;
    flex-basis: 20%;
  }
  #topicsbox .content .titles ul li a {
    font-size: 75%;
  }
}
@media screen and (max-width: 735px) {
  #topicsbox {
    padding: 20px 0;
  }
  #topicsbox .content article {
    padding: 0 20px;
  }
  #topicsbox .content article .article {
    padding: 20px 0 0;
  }
  #topicsbox .content .column {
    max-width: calc(100 / 1 * 1%);
    padding: 0;
  }
  #topicsbox .content .column.newstab1 {
    order: 2;
  }
  #topicsbox .content .column.newstab2 {
    order: 1;
  }
  #topicsbox .content .titles h2 {
    font-family: "Cormorant Garamond", "Noto Serif JP", serif;
    font-size: 200%;
    color: #0073b8;
  }
  #topicsbox .content .titles p {
    font-size: 81.25%;
  }
  #topicsbox .content .titles p.notab {
    padding: 0;
  }
  #topicsbox .content .titles ul li a {
    font-size: 0.65rem;
    font-weight: normal;
  }
  #topicsbox .content .titles ul li.ui-state-active a {
    font-weight: 500;
  }
}
#cmenu .content {
  display: flex;
}
#cmenu .content > a {
  flex-basis: 25%;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  height: 300px;
  background-size: auto 100%;
  background-position: center center;
}
#cmenu .content > a .titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#cmenu .content > a .titles img.c_ganpro {
  width: 180px;
  display: block;
  margin: 0 auto 10px;
}
#cmenu .content > a .titles h2 {
  font-size: 180%;
  font-weight: bold;
  color: #fff !important;
  line-height: 1.2;
}
#cmenu .content > a .titles h2.mini {
  font-size: 125%;
  line-height: 1.4;
  text-align: left;
}
#cmenu .content > a .titles h2.mini span {
  margin-left: -0.4em;
  display: block;
  font-size: 70%;
}
#cmenu .content > a .titles p {
  padding: 0;
  font-family: "Oswald", sans-serif;
  font-size: 100%;
  color: #fff !important;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#cmenu .content > a:hover {
  background-size: auto 110%;
}
#cmenu .content > a:hover.c_library .titles {
  background-color: rgba(22, 112, 185, 0.5);
}
#cmenu .content > a:hover.c_care .titles {
  background-color: rgba(134, 193, 39, 0.5);
}
#cmenu .content > a:hover.c_career .titles {
  background-color: rgba(24, 175, 155, 0.5);
}
#cmenu .content > a:hover.c_ganpro .titles {
  background-color: rgba(116, 71, 153, 0.5);
}
#cmenu .content > a.c_library {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_library.jpg");
}
#cmenu .content > a.c_library .titles {
  background-color: rgba(22, 112, 185, 0.8);
}
#cmenu .content > a.c_care {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_care.jpg");
}
#cmenu .content > a.c_care .titles {
  background-color: rgba(134, 193, 39, 0.8);
}
#cmenu .content > a.c_career {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_career.jpg");
}
#cmenu .content > a.c_career .titles {
  background-color: rgba(24, 175, 155, 0.8);
}
#cmenu .content > a.c_ganpro {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_ganpro.jpg");
}
#cmenu .content > a.c_ganpro .titles {
  background-color: rgba(116, 71, 153, 0.8);
}
@media screen and (max-width: 1199px) {
  #cmenu .content > a {
    height: 200px;
  }
  #cmenu .content > a .titles img.c_ganpro {
    width: 60%;
    display: block;
    margin: 0 auto 10px;
  }
  #cmenu .content > a .titles h2 {
    font-size: 125%;
  }
  #cmenu .content > a .titles h2.mini {
    font-size: 100%;
  }
  #cmenu .content > a .titles p {
    font-size: 75%;
  }
}
@media screen and (max-width: 735px) {
  #cmenu .content {
    flex-wrap: wrap;
  }
  #cmenu .content > a {
    flex-basis: 50%;
    height: 150px;
  }
  #cmenu .content > a .titles {
    padding: 10px;
  }
  #cmenu .content > a .titles img.c_ganpro {
    width: 100px;
    margin: 0 auto 5px;
  }
  #cmenu .content > a .titles h2 {
    font-size: 112.5%;
  }
  #cmenu .content > a .titles h2.mini {
    font-size: 81.25%;
  }
  #cmenu .content > a .titles h2.mini span {
    font-size: 80%;
  }
  #cmenu .content > a .titles p {
    margin: 5px 0 0;
    font-size: 75%;
    line-height: 1.2;
  }
}
#bnrs {
  padding: 50px 20px;
}
#bnrs .content {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1200px;
}
#bnrs .content ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
#bnrs .content ul li {
  margin: 0 10px 15px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
#bnrs .content ul li a {
  border: 1px solid #eee;
  display: block;
}
#bnrs .content ul li a:hover {
  border: 1px solid #0073b8;
}
@media screen and (max-width: 735px) {
  #bnrs {
    padding: 20px 5px;
  }
  #bnrs .content ul li {
    margin: 0 5px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.delighter {
  transition: all 0.5s ease-out;
  transform: translateY(50px);
  opacity: 0;
}
.delighter.started {
  transform: none;
  opacity: 1;
}
.entryheader {
  padding: 50px 50px 30px;
  background-color: #fff;
}
.entryheader h1 {
  margin: 0 0 5px;
  font-size: 125%;
  line-height: 1.4;
}
.entrybody {
  padding: 0 50px 50px;
  background-color: #fff;
}
.entrybody + .entryheader {
  margin: 20px 0 0;
}
.columns {
  margin: 12px 0 12px -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.columns.v_center {
  align-items: center;
  justify-content: center;
}
.columns .column {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.columns .column3 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
}
.columns .column32 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 3 * 2% - 20px);
}
.columns .column4 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.columns .clmn,
.columns .column5 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
.columns .clmn p,
.columns .column5 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
.columns .column6 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 6 * 1% - 20px);
}
.columns .column6 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .columns {
    margin: 12px 0;
  }
  .columns .column,
  .columns .column3,
  .columns .column32,
  .columns .column4 {
    margin: 0 0 12px;
    flex-basis: calc(100 / 1 * 1%);
  }
  .columns .clmn,
  .columns .column5 {
    margin: 0 10px 10px;
    flex-basis: calc(100 / 5 * 1% - 20px);
  }
  .columns .column.fix {
    margin: 0 5px 12px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
  .columns.fix {
    margin: 12px 0 12px -10px;
  }
  .columns.fix .column4.fix {
    margin: 0 0 12px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.columnsm {
  margin: 12px 0 12px -10px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.columnsm.v_center {
  align-items: center;
  justify-content: center;
}
.columnsm .column {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 2 * 1% - 10px);
}
.columnsm .column3 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 3 * 1% - 10px);
}
.columnsm .column32 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 3 * 2% - 10px);
}
.columnsm .column4 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 4 * 1% - 10px);
}
.columnsm .clmn,
.columnsm .column5 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 5 * 1% - 10px);
}
.columnsm .clmn p,
.columnsm .column5 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
.columnsm .column6 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 6 * 1% - 10px);
}
.columnsm .column6 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .columnsm {
    margin: 12px 0;
  }
  .columnsm .column,
  .columnsm .column3,
  .columnsm .column32,
  .columnsm .column4 {
    margin: 0 0 12px;
    flex-basis: calc(100 / 1 * 1%);
  }
  .columnsm .clmn,
  .columnsm .column5 {
    margin: 0 10px 10px;
    flex-basis: calc(100 / 5 * 1% - 10px);
  }
  .columnsm .column5.fix {
    margin: 0 5px 0 0;
    flex-basis: calc(100 / 5 * 1% - 5px);
  }
  .columnsm .column.fix {
    margin: 0 5px 12px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
  .columnsm.fix {
    margin: 12px 0 12px -10px;
  }
  .columnsm.fix .column4.fix {
    margin: 0 0 12px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.contact {
  margin: 0 20px;
  border-top: 1px solid #ddd;
}
.contact .content {
  padding: 12px 0;
  text-align: center;
  color: #1a3753;
}
.contact .content h3 {
  margin: 0 0 8px;
  padding: 0 0 12px;
  font-size: 81.25%;
  font-weight: bold;
  color: #666;
  border-bottom: 1px solid #eee;
}
.contact .content h3:before {
  display: none;
}
.contact .content p.notes {
  margin: 0;
  font-size: 75%;
  color: #005d7c;
  line-height: 1.4;
}
.contact .content p.notes + p {
  margin: 12px 0 5px;
}
.contact .content p.contactname {
  margin: 0 0 5px;
  font-size: 87.5%;
  font-weight: 500;
  line-height: 1.3;
}
.contact .content p.contactaddr {
  margin: 0;
  font-size: 81.25%;
  line-height: 1.5;
}
.contact .content p.contactaddr .contact_mail {
  display: block;
}
.contact .content p.contactaddr .contact_mail .replace {
  margin: 0 0 0 15px;
  font-size: 85%;
  color: #555;
}
@media screen and (max-width: 735px) {
  .contact .content p.contactaddr .contact_mail .replace {
    margin: 0;
    display: block;
  }
}
.contact .content p.contactaddr .contact_mail_note {
  display: block;
  font-size: 90%;
  color: #555;
}
.contact .content p.contactaddr .ttl {
  color: #0073b8;
}
.contact .content p.contactaddr .contact_phone .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_phone .ttl:before {
  margin: 0 3px 0 0;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.contact .content p.contactaddr .contact_fax .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_fax .ttl:before {
  margin: 0 3px 0 0;
  content: "\f1ac";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.contact .content p.contactaddr .contact_mail .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_mail .ttl:before {
  margin: 0 3px 0 0;
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.border {
  overflow: hidden;
  margin-bottom: 10px;
  padding: 20px 30px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.border h3 {
  margin: 15px 0 8px !important;
}
.border h3:first-child {
  margin-top: 0 !important;
}
.border p,
.border ul,
.border ol {
  margin-bottom: 0 !important;
  line-height: 1.6;
}
.border p + p,
.border p + ul,
.border ul + p,
.border ul + ul,
.border ol + p,
.border ol + ul {
  margin-top: 8px;
}
@media screen and (max-width: 735px) {
  .border {
    padding: 10px 15px;
  }
}
div.section {
  overflow: hidden;
  margin: 10px 0 0;
  padding: 20px 30px;
  background-color: #fff;
  border: 1px solid #0073b8;
  border-radius: 5px;
}
div.section h2.headline {
  margin: 0 0 12px;
  padding: 0 0 12px;
  font-size: 100%;
}
div.section h3 {
  margin-top: 0;
}
@media screen and (max-width: 1600px) {
  div.section {
    padding: 12px 20px;
  }
}
@media screen and (max-width: 735px) {
  div.section {
    padding: 10px 15px;
  }
}
.panel {
  overflow: hidden;
  margin-bottom: 10px;
  padding: 20px 30px;
  background-color: #e2f2f7;
  border-radius: 5px;
}
.column .panel {
  height: 100%;
  box-sizing: border-box;
}
.panel h3 {
  margin: 15px 0 8px !important;
}
.panel h3:first-child {
  margin-top: 0 !important;
}
.panel p,
.panel ul,
.panel ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.6;
}
.panel p + p,
.panel p + ul,
.panel ul + p,
.panel ul + ul,
.panel ol + p,
.panel ol + ul {
  margin-top: 8px;
}
.flat {
  position: relative;
  margin: 110px 0 0;
  margin: 80px 0 0;
  padding: 40px 50px;
  display: block;
  background-color: #fff;
}
.flat.top {
  font-size: 110%;
  padding: 40px 50px;
  border: 1px solid transparent;
  border-radius: 5px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
  overflow: hidden;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  color: #000 !important;
}
.flat.top:before {
  position: absolute;
  top: -50px;
  left: -50px;
  content: "";
  width: 150px;
  height: 50px;
  display: block;
  transform: rotate(-45deg);
  background-color: #c33;
}
.flat.top:hover {
  background-color: #f9f9f9;
  border: 1px solid #c33;
}
.flat.top h1:after {
  content: "";
  width: 12px;
  height: 12px;
  margin: -5px 0 0 10px;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 735px) {
  .flat {
    margin: 10px 0 0;
    padding: 50px 0;
  }
  .flat.top {
    padding: 40px 30px;
    border-radius: 0;
  }
}
.caution {
  margin: 0 0 20px;
  padding: 20px 30px;
  background-color: #f6d1dc;
  border: 3px double #d91f53;
  border-radius: 5px;
}
.caution h3 {
  margin: 15px 0 8px !important;
  color: #d91f53 !important;
}
.caution h3:first-child {
  margin-top: 0 !important;
}
.caution h3:before {
  background-color: #d91f53 !important;
}
.caution p {
  margin-bottom: 0;
  line-height: 1.6;
}
.caution strong {
  font-size: 110%;
  color: #d91f53;
}
.note {
  clear: both;
  margin: 20px 0 0;
  padding: 15px 0;
  border-top: 1px solid #ddd;
}
div.notice {
  margin: 0 0 10px;
  padding: 20px 30px;
  border: 1px solid #0073b8;
  border-top: 3px solid #0073b8;
  border-bottom: 3px solid #0073b8;
  border-radius: 5px;
}
div.notice h3:first-child {
  margin-top: 0 !important;
}
.flows {
  padding: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background-color: #f6f6f6;
}
.flows .flow {
  margin: 0 15px 15px;
  flex-basis: calc(100 / 3 * 1% - 30px);
}
.flows .flow .box {
  position: relative;
  padding: 20px;
  font-size: 100%;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
}
.flows .flow .box:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  width: 8px;
  height: 8px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.flows .flow p.cap {
  margin: 4px 0 0;
  font-size: 75%;
  text-align: center;
}
.flows .flow:last-child .box:after {
  display: none;
}
@media screen and (max-width: 735px) {
  .flows {
    flex-wrap: wrap;
  }
  .flows .flow {
    position: relative;
    margin: 0 0 20px;
    flex-basis: 100%;
  }
  .flows .flow .box:after {
    display: none;
  }
  .flows .flow:after {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 50%;
    width: 8px;
    height: 8px;
    margin: 0 -4px 0 0;
    display: inline-block;
    vertical-align: middle;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .flows .flow:last-child {
    margin-bottom: 0;
  }
  .flows .flow:last-child:after {
    display: none;
  }
}
.project {
  margin: 0 0 10px;
  padding: 15px 20px;
  background-color: #fff;
  border: 1px solid #0073b8;
  border-radius: 10px;
  overflow: hidden;
}
p.end {
  padding: 3px 10px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  color: #fff;
  background-color: #555;
  border-radius: 4px;
}
.projectimg {
  float: left;
  width: 200px;
  margin: 0 20px 0 0;
}
@media screen and (max-width: 735px) {
  .projectimg {
    float: none;
    width: auto;
    margin: 0 auto 20px;
  }
}
.bnrs .bnr {
  margin: 12px 0 0;
  padding: 15px 20px;
  display: block;
  border: 1px solid #ddd;
  border-radius: 8px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr h3 {
  margin: -10px -20px 12px;
  padding: 12px 20px;
  font-size: 87.5%;
  font-weight: bold;
  color: #000;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr p {
  font-size: 75%;
  color: #000;
  line-height: 1.5;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr img {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr:hover {
  border: 1px solid #00a3da;
}
.bnrs .bnr:hover h3 {
  color: #00a3da;
}
.bnrs .bnr:hover p {
  color: #00a3da;
}
.bnrs .bnr:hover img {
  opacity: 0.7;
}
@media screen and (max-width: 735px) {
  .bnrs {
    margin: 0 20px;
  }
}
.business-calendar {
  width: 100%;
  border: 1px solid #ddd;
}
.business-calendar caption {
  padding: 12px 0;
  text-align: center;
}
.business-calendar caption span {
  display: inline-block;
  vertical-align: middle;
}
.business-calendar caption span a {
  position: relative;
  width: 16px;
  height: 16px;
  font-size: 75%;
  text-indent: -3000px;
  display: block;
}
.business-calendar caption span a:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #0073b8;
  box-sizing: border-box;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  color: #0073b8;
  line-height: 14px;
  text-indent: 0;
  border-radius: 4px;
}
.business-calendar caption span a:hover {
  background-color: #0073b8;
}
.business-calendar caption span a:hover:after {
  color: #fff;
}
.business-calendar caption span.business-calendar-past {
  margin: -3px 1px 0 3px;
}
.business-calendar caption span.business-calendar-past a:after {
  content: "\f104";
}
.business-calendar caption span.business-calendar-future {
  margin: -3px 3px 0;
}
.business-calendar th,
.business-calendar td {
  width: 14.28571%;
  padding: 8px 0;
  font-size: 81.25%;
  text-align: center;
  border: 1px solid #ddd;
}
.business-calendar th {
  background-color: #f3f0e5;
}
.business-calendar td.today {
  border: 2px solid #00603a;
}
.business-calendar td.badate {
  color: #666;
  background-color: #eee;
}
.attr0 {
  background: #ffcccc;
}
.attr1 {
  background: #ffffcc;
}
.attr2 {
  background: #ccffcc;
}
.attr3 {
  background: #ffcc99;
}
article .business-calendar-box {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
article .business-calendar-box > div {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .business-calendar-box > div {
    margin: 0 0 20px 20px;
    flex-basis: calc(100 / 1 * 1% - 20px);
  }
}
.librarytbl {
  margin: 32px 0 0;
}
.librarytbl th {
  padding: 8px 12px 8px 0;
  font-size: 75%;
  font-weight: bold;
  color: #444;
  vertical-align: top;
  line-height: 1.4;
  white-space: nowrap;
  border: none;
  border-bottom: 1px solid #ddd;
}
.librarytbl th span {
  width: 10px;
  height: 10px;
  margin: -1px 3px 0 0;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #eee;
}
.librarytbl td {
  padding: 8px 0;
  font-size: 75%;
  line-height: 1.4;
  border: none;
  border-bottom: 1px solid #ddd;
}
article .librarytbl {
  margin: 0 0 20px;
}
@media screen and (max-width: 735px) {
  .librarytbl {
    margin: 0;
  }
}
.libnoticebox {
  position: relative;
  z-index: 1000;
  margin: 0 0 32px;
  display: flex;
  align-items: stretch;
  border: 2px solid #af1c32;
  background-color: #f3f0e5;
  border-radius: 5px;
  overflow: hidden;
}
.libnoticebox h2 {
  width: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 87.5%;
  font-weight: bold;
  color: #fff;
  background-color: #af1c32;
}
.libnoticebox ul.libnotice {
  flex-basis: calc(100 / 1 * 1% - 10em);
  padding: 10px 20px;
  box-sizing: border-box;
}
.libnoticebox ul.libnotice li a {
  position: relative;
  padding: 2px 0 2px 18px;
  font-size: 87.5%;
  font-weight: bold;
  color: #af1c32;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
}
.libnoticebox ul.libnotice li a:before {
  position: absolute;
  top: 2px;
  left: 0;
  margin: 0 5px 0 0;
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c8a121;
}
.libnoticebox ul.libnotice li a:hover {
  color: #bf7780;
}
.libnoticebox ul.libnotice li a span.entrydate {
  flex-basis: 10em;
  color: #444;
  font-weight: normal;
}
.libnoticebox ul.libnotice li a span.entrytitle {
  flex-basis: calc(100 / 1 * 1% - 10em);
}
@media screen and (max-width: 735px) {
  .libnoticebox {
    margin: 20px;
    flex-wrap: wrap;
  }
  .libnoticebox h2 {
    width: 100%;
    padding: 12px 20px;
    justify-content: flex-start;
    box-sizing: border-box;
  }
  .libnoticebox ul.libnotice {
    flex-basis: 100%;
  }
  .libnoticebox ul.libnotice li a {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .libnoticebox ul.libnotice li a span.entrytitle {
    flex-basis: 100%;
  }
}
ul.calnote {
  margin: 10px 0 0;
  padding: 12px 20px;
  border: 2px solid #007eba;
  background-color: #f3f0e5;
}
ul.calnote li a {
  font-size: 81.25%;
  color: #007eba;
  line-height: 1.5;
}
ul.calnote li a:hover {
  color: #70c8e6;
}
@media screen and (max-width: 735px) {
  ul.calnote {
    margin: 10px 20px 0;
  }
}
@media screen and (max-width: 735px) {
  ul.calbox table {
    width: calc(100% - 40px);
    margin: 0 20px;
  }
}
#libbnrs .content ul {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
#libbnrs .content ul li {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 4 * 1% - 20px);
  position: relative;
}
#libbnrs .content ul li a {
  display: block;
  border: 2px solid #ddd;
  overflow: hidden;
}
#libbnrs .content ul li a img {
  display: block;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#libbnrs .content ul li a:hover {
  border: 2px solid #0073b8;
}
@media screen and (max-width: 735px) {
  #libbnrs .content {
    padding: 0 20px;
  }
  #libbnrs .content ul {
    margin: 0 0 0 -10px;
  }
  #libbnrs .content ul li {
    margin: 0 0 10px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
table.stafftbl {
  margin: 0 0 20px;
  width: 100%;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
table.stafftbl caption {
  margin: 0 0 20px;
  font-size: 87.5%;
  letter-spacing: 0.2em;
}
table.stafftbl th {
  width: 25%;
  padding: 8px 12px;
  font-size: 87.5%;
  font-weight: 500;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}
table.stafftbl td {
  padding: 0;
  font-size: 1em;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
table.stafftbl td ul {
  margin: 0;
  padding: 0;
}
table.stafftbl td ul li {
  margin: 0;
  padding: 8px 12px;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
table.stafftbl td ul li:last-child {
  border-bottom: none;
}
table.stafftbl td ul li:before {
  display: none;
}
table.stafftbl td ul li .status {
  width: 7em;
  display: inline-block;
  vertical-align: middle;
  vertical-align: top;
}
table.stafftbl td ul li .lab {
  margin: 0 0 0 20px;
}
@media screen and (max-width: 735px) {
  table.stafftbl caption {
    margin: 0 0 20px;
    font-size: 87.5%;
    letter-spacing: 0.2em;
  }
  table.stafftbl th {
    width: 30%;
    padding: 4px;
    font-size: 75%;
  }
  table.stafftbl td ul li {
    padding: 4px;
    font-size: 75%;
    border-bottom: 1px solid #ddd;
  }
  table.stafftbl td ul li .status {
    width: 4em;
    display: inline-block;
    vertical-align: middle;
  }
  table.stafftbl td ul li .lab {
    margin: 0;
    display: block;
  }
}
.profheader {
  margin: 0 0 40px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
.profheader .profimg {
  margin: 0 30px 0 0;
  flex-basis: 160px;
}
.profheader .profdata .profname {
  margin: 0 0 12px;
}
.profheader .profdata .profname p.name1 {
  margin: 0 0 8px;
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
  color: #333;
  line-height: 1.3;
}
.profheader .profdata .profname p.name1 span {
  font-size: 200%;
}
.profheader .profdata .profname p.name2 {
  margin: 0;
  font-size: 75%;
  color: #333;
  line-height: 1.3;
}
.profheader .profdata .profname p.name3 {
  margin: 0;
  font-size: 75%;
  font-weight: 300;
  color: #666;
  line-height: 1.3;
}
.profheader .profdata .profstatus p {
  font-size: 75%;
}
.profheader .profdata .profstatus span + span {
  margin: 0 0 0 10px;
}
.profheader .profdata .profaddr .addr {
  margin: 0;
}
.profheader .profdata .profaddr .addr li {
  margin: 0;
  padding: 0;
}
.profheader .profdata .profaddr .addr li:before {
  display: none;
}
.profheader .profdata .profaddr .addr + ul {
  margin: 8px 0 0;
}
.profheader .profdata .profaddr .contact_phone .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_phone .ttl:before {
  margin: 0 3px 0 0;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_fax .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_fax .ttl:before {
  margin: 0 3px 0 0;
  content: "\f1ac";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_mail .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_mail .ttl:before {
  margin: 0 3px 0 0;
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_mail .replace {
  font-size: 80%;
  color: #555;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 735px) {
  .profheader {
    flex-wrap: wrap;
  }
  .profheader .profimg {
    margin: 0 auto 20px;
  }
  .profheader .profdata .profname p.name1 span {
    font-size: 150%;
  }
  .profheader .profdata .profaddr .addr li {
    font-size: 75%;
  }
  .profheader .profdata .profaddr .contact_mail .replace {
    margin: 2px 0 0;
    display: block;
    font-size: 80%;
  }
  .profheader .profdata .profaddr .llist li {
    font-size: 75%;
  }
}
#profilemenu > ul {
  margin: 0;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid #ddd;
}
#profilemenu > ul li {
  margin: 0 2px 0 0;
  padding: 0;
  border: 1px solid #ddd;
  border-bottom: none;
  outline: none;
}
#profilemenu > ul li a {
  color: #000;
  padding: 8px 20px;
  display: block;
}
#profilemenu > ul li.ui-state-active a {
  color: #fff;
  background-color: #0073b8;
}
#profilemenu > ul li:before {
  display: none;
}
#profilemenu .tab {
  padding: 25px;
}
#profilemenu table.profile {
  margin: 0 0 20px;
  width: 100%;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#profilemenu table.profile caption {
  margin: 0 0 20px;
  font-size: 87.5%;
  letter-spacing: 0.2em;
}
#profilemenu table.profile th {
  width: 25%;
  padding: 8px 12px 8px 0;
  font-size: 81.25%;
  line-height: 1.6;
  color: #0073b8;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}
#profilemenu table.profile td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  #profilemenu > ul {
    flex-wrap: wrap;
  }
  #profilemenu > ul li {
    margin: 0;
    border: none;
    font-size: 75%;
    flex-basis: calc(100 / 2 * 1%);
  }
  #profilemenu > ul li a {
    width: 100%;
    padding: 4px 0;
    text-align: center;
    box-sizing: border-box;
  }
  #profilemenu .tab {
    padding: 12px 0;
  }
  #profilemenu table.profile {
    margin: 0 0 12px;
  }
  #profilemenu table.profile caption {
    margin: 0 0 8px;
    font-size: 75%;
    letter-spacing: 0.1em;
  }
  #profilemenu table.profile th {
    padding: 4px 8px 4px 0;
    font-size: 75%;
    line-height: 1.5;
  }
  #profilemenu table.profile td {
    padding: 4px 8px;
    font-size: 75%;
    line-height: 1.5;
  }
}
table.curriculumform {
  width: 100%;
  margin: 0;
  border: 1px solid #ddd;
}
table.curriculumform > tbody > tr > th {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.5;
  border: 1px solid #ddd;
  background-color: #e2f2f7;
}
table.curriculumform > tbody > tr > td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.5;
  border: 1px solid #ddd;
}
table.curriculumform p {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
table.curriculumform p + p {
  margin: 5px 0 0;
}
table.curriculumform table {
  width: 100% !important;
  border: none;
  margin: -1px 0 0;
}
table.curriculumform table th,
table.curriculumform table td {
  padding: 0;
  font-size: 1em;
  font-weight: normal;
  height: auto !important;
  vertical-align: top;
  border: 1px solid #ddd;
}
table.curriculumform table td {
  width: auto !important;
}
table.curriculumform table.curriculumtbl th {
  padding: 8px 12px 8px 8px;
}
@media screen and (max-width: 735px) {
  table.curriculumform {
    display: block;
    overflow: auto;
  }
  table.curriculumform tbody {
    display: block;
    overflow-x: scroll;
  }
  table.curriculumform tbody::-webkit-scrollbar {
    height: 10px;
    height: 1rem;
    background: #f1f1f1;
  }
  table.curriculumform tbody::-webkit-scrollbar-thumb {
    border-radius: 12px;
    border-radius: 1.2rem;
    background: #a9a9aa;
  }
  table.curriculumform tbody::-webkit-scrollbar-thumb:hover {
    background: #a9a9aa;
  }
  table.curriculumform tbody th {
    white-space: nowrap !important;
  }
  table.curriculumform tbody td {
    white-space: nowrap;
  }
}
.subject_header {
  padding: 50px 50px 10px;
  background-color: #fff;
}
.subject_header h1 {
  font-size: 200%;
  font-weight: bold;
}
.subject_header p.cat {
  margin: 0 0 5px;
  font-size: 100%;
}
.subject_header p.en {
  margin: 5px 0 0;
  font-size: 87.5%;
  color: #555;
}
@media screen and (max-width: 735px) {
  .subject_header {
    padding: 10px 10px 0;
  }
  .subject_header h1 {
    font-size: 125%;
  }
  .subject_header p.cat {
    font-size: 75%;
  }
  .subject_header p.en {
    margin: 2px 0 0;
    font-size: 75%;
  }
}
.subject_body {
  padding: 25px 50px 50px;
  background-color: #fff;
}
.subject_body .curriculumform th {
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c {
  padding: 0;
}
.subject_body .curriculumform td.content_c table {
  margin: 0;
}
.subject_body .curriculumform td.content_c table th,
.subject_body .curriculumform td.content_c table td {
  padding: 8px 12px;
}
.subject_body .curriculumform td.content_c table th {
  border-bottom: 1px solid #ddd;
  text-align: center;
  padding: 8px 12px 8px 8px;
}
.subject_body .curriculumform td.content_c table th + th,
.subject_body .curriculumform td.content_c table th + td,
.subject_body .curriculumform td.content_c table td + td {
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.subject_body .curriculumform td.content_c table tr:last-child th,
.subject_body .curriculumform td.content_c table tr:last-child td {
  border-bottom: none;
}
.subject_body .curriculumform td.content_c table .curriculumtbl1 {
  width: 9%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl2 {
  width: 91%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl22 {
  width: 76%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl23 {
  width: 15%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl24 {
  width: 71%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl25 {
  width: 20%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl26 {
  width: 38%;
}
.subject_body .curriculumform td.content_c table td .innertbl {
  width: 100%;
}
.subject_body .curriculumform td.content_c table td .innertbl th,
.subject_body .curriculumform td.content_c table td .innertbl td {
  padding: 0;
  border: none;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl2,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl2 {
  width: 2.5% !important;
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl5,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl5 {
  width: 5% !important;
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl95,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl95 {
  width: 95% !important;
}
@media screen and (max-width: 735px) {
  .subject_body {
    padding: 10px;
  }
}
.nb2,
.nb3 {
  font-weight: normal;
  vertical-align: top;
  text-align: center;
}
.mce-content-body div.galleries ul,
article div.galleries ul {
  clear: both;
  margin: 12px 0 12px -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.mce-content-body div.galleries ul.c_center,
article div.galleries ul.c_center {
  justify-content: center;
}
.mce-content-body div.galleries ul li,
article div.galleries ul li {
  margin: 0 0 20px 20px;
  padding: 0;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.mce-content-body div.galleries ul li:before,
article div.galleries ul li:before {
  display: none;
}
.mce-content-body div.galleries ul li.column1,
article div.galleries ul li.column1 {
  flex-basis: calc(100 / 1 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column2,
article div.galleries ul li.column2 {
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column,
.mce-content-body div.galleries ul li.column3,
article div.galleries ul li.column,
article div.galleries ul li.column3 {
  flex-basis: calc(100 / 3 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column4,
article div.galleries ul li.column4 {
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column5,
article div.galleries ul li.column5 {
  flex-basis: calc(100 / 5 * 1% - 20px);
}
.mce-content-body div.galleries ul li img,
article div.galleries ul li img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.mce-content-body div.galleries ul li a,
article div.galleries ul li a {
  padding: 0;
  display: block;
}
.mce-content-body div.galleries ul li a:before,
article div.galleries ul li a:before {
  display: none;
}
.mce-content-body div.galleries ul li a:hover,
article div.galleries ul li a:hover {
  transition-property: background-color, border, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  -webkit-transition-property: background-color, border, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  opacity: 0.6;
}
.mce-content-body div.galleries ul li .caption,
.mce-content-body div.galleries ul li .wp-caption,
article div.galleries ul li .caption,
article div.galleries ul li .wp-caption {
  margin: 5px 0 8px;
  font-size: 1em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 735px) {
  .mce-content-body div.galleries ul,
  article div.galleries ul {
    clear: both;
    margin: 12px 0 12px -5px;
  }
  .mce-content-body div.galleries ul li,
  article div.galleries ul li {
    margin: 0 0 5px 5px;
    flex-basis: calc(100 / 3 * 1% - 5px);
  }
  .mce-content-body div.galleries ul li.column,
  .mce-content-body div.galleries ul li.column2,
  .mce-content-body div.galleries ul li.column3,
  .mce-content-body div.galleries ul li.column4,
  .mce-content-body div.galleries ul li.column5,
  article div.galleries ul li.column,
  article div.galleries ul li.column2,
  article div.galleries ul li.column3,
  article div.galleries ul li.column4,
  article div.galleries ul li.column5 {
    flex-basis: calc(100 / 2 * 1% - 5px);
  }
  .mce-content-body div.galleries ul li .caption,
  .mce-content-body div.galleries ul li .wp-caption,
  article div.galleries ul li .caption,
  article div.galleries ul li .wp-caption {
    margin: 5px 0;
  }
}
@media screen and (max-width: 413px) {
  .mce-content-body div.galleries ul li.column,
  .mce-content-body div.galleries ul li.column2,
  .mce-content-body div.galleries ul li.column3,
  .mce-content-body div.galleries ul li.column4,
  .mce-content-body div.galleries ul li.column5,
  article div.galleries ul li.column,
  article div.galleries ul li.column2,
  article div.galleries ul li.column3,
  article div.galleries ul li.column4,
  article div.galleries ul li.column5 {
    flex-basis: calc(100 / 1 * 1% - 5px);
  }
}
article .caption,
article .wp-caption {
  max-width: 100%;
}
article .aligncenter {
  text-align: center;
}
article .aligncenter img {
  display: block;
  margin: 0 auto;
}
.img_to_div a:before {
  display: none;
}
.photobox {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
.photobox .column3 {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
}
#calendar_content {
  display: flex;
  flex-wrap: wrap;
}
#calendar_content .calendarLink:nth-child(1) {
  width: calc(50% - 10px);
  padding: 8px 0;
  font-size: 75%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
#calendar_content .calendarLink:nth-child(2) {
  width: 100%;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main {
  margin: 0 0 20px -20px;
  display: flex;
  flex-wrap: wrap;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .counter_name {
  display: none;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_header {
  margin: 0 0 0 20px;
  width: 100%;
}
#calendar_content
  .calendarLink:nth-child(2)
  .calendar_main
  .calendar_header
  .calendar_title {
  width: 50%;
  padding: 0 0 8px;
  font-size: 81.25%;
  text-align: center;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar {
  margin: 0 0 0 20px;
  width: calc(50% - 20px);
  border: 1px solid #ddd;
  box-sizing: border-box;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar th,
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar td {
  padding: 6px 8px;
  font-size: 75%;
  text-align: center;
  border: 1px solid #ddd;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm {
  margin: 0 0 0 20px;
  width: calc(50% - 20px);
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm table {
  width: 100%;
}
#calendar_content
  .calendarLink:nth-child(2)
  .calendar_main
  .calendar_cm
  table
  td {
  padding: 5px 8px;
  font-size: 75%;
  color: #333;
  border: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  #calendar_content {
    padding: 0 20px;
  }
  #calendar_content .calendarLink:nth-child(1) {
    width: 100%;
  }
  #calendar_content
    .calendarLink:nth-child(2)
    .calendar_main
    .calendar_header
    .calendar_title {
    width: 100%;
  }
  #calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar {
    width: calc(100% - 20px);
  }
  #calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm {
    margin: 10px 0 0 20px;
    width: calc(100% - 20px);
  }
}
#content #article article.topnote {
  margin: 130px 0 40px;
}
@media screen and (max-width: 735px) {
  #content #article article.topnote {
    margin: 55px 0 20px;
  }
}
article .careerbody .careertitle {
  position: relative;
  padding: 20px;
  font-size: 112.5%;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
}
article .careerbody .careertitle:before {
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 2px solid #0073b8;
  border-right: 2px solid #0073b8;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
article .careerbody .careertitle.active:before {
  margin: -5px 0 0;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
article .careerbody .careertitle.career1 {
  background-color: #eaf6fd;
}
article .careerbody .careertitle.career2 {
  margin: 5px 0 0;
  background-color: #ecf4e3;
}
article .careerbody .careertitle.career3 {
  margin: 5px 0 0;
  background-color: #f8f6e7;
}
article .careerbody .careertitle.career4 {
  margin: 5px 0 0;
  background-color: #d5ead8;
}
article .careerbody .flowbox {
  display: none;
  margin: 0 0 40px;
}
article .careerbody .flowbox1 {
  margin: 0 0 0 -30px;
  display: flex;
}
article .careerbody .flowbox1 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
article .careerbody .flowbox1 .columns {
  margin: 0 0 0 -20px;
}
article .careerbody .flowbox1 .columns .column {
  margin: 0 0 0 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox1 {
    flex-wrap: wrap;
  }
  article .careerbody .flowbox1 .flow {
    flex-basis: calc(100 / 1 * 1% - 30px);
  }
  article .careerbody .flowbox1 .columns {
    margin: 0 0 0 -10px;
    flex-wrap: nowrap;
  }
  article .careerbody .flowbox1 .columns .column {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox2 {
  margin: 0 0 0 -20px;
  display: flex;
}
article .careerbody .flowbox2 .flow {
  margin: 0 0 0 20px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox2 {
    margin: 0 0 0 -10px;
    flex-wrap: wrap;
  }
  article .careerbody .flowbox2 .flow {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox3 {
  margin: 0 0 0 -30px;
  display: flex;
}
article .careerbody .flowbox3 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox3 {
    margin: 0 0 0 -10px;
  }
  article .careerbody .flowbox3 .flow {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox4 {
  margin: 0 0 0 -30px;
  display: flex;
  justify-content: center;
}
article .careerbody .flowbox4 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox4 {
    flex-wrap: wrap;
  }
  article .careerbody .flowbox4 .flow {
    flex-basis: calc(100 / 1 * 1% - 30px);
  }
}
article .careerbody .bdr {
  position: relative;
  margin: 50px 0 0;
  padding: 15px;
  text-align: center;
  border: 1px solid #078086;
  border-radius: 5px;
}
article .careerbody .bdr:before {
  content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  width: 1px;
  height: 50px;
  background-color: #999;
}
@media screen and (max-width: 735px) {
  article .careerbody .bdr.kangogakubu:after {
    content: "看護学部";
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
  article .careerbody .bdr.daigakuin:after {
    content: "大学院博士前期課程";
    position: absolute;
    top: -55px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
}
article .careerbody .status {
  position: relative;
  margin: 50px 0 0;
  padding: 10px 0;
  border-top: 5px solid #1daf80;
}
article .careerbody .status:before {
  content: "";
  position: absolute;
  top: -55px;
  left: 50%;
  width: 1px;
  height: 50px;
  background-color: #999;
}
@media screen and (max-width: 735px) {
  article .careerbody .status.daigakuin:after {
    content: "大学院博士前期課程";
    position: absolute;
    top: -55px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
}
article .careerbody h2.job {
  margin: 0 0 5px !important;
  padding: 0;
  font-weight: bold;
  border: none;
  color: #1daf80;
  background: none;
}
article .careerbody p.exam {
  margin: 0 0 8px;
  font-size: 87.5%;
  line-height: 1.4;
}
article .careerbody p.license {
  padding: 8px 15px 10px;
  display: inline-block;
  vertical-align: middle;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #1daf80;
}
article .careerbody p.notes {
  margin: 0 0 8px;
  font-weight: 500;
}
article .careerbody p.flowbtn {
  margin: 15px 0 0;
  font-size: 75%;
  line-height: 1.4;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
article .careerbody p.flowbtn a {
  position: relative;
  margin: 0 3px;
  padding: 7px 10px 20px;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
  text-align: center;
  border: 1px solid #0073b8;
  border-radius: 3px;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  background-color: #fff;
}
article .careerbody p.flowbtn a:before {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 6px;
  height: 6px;
  margin: 0 0 0 -3px;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
article .careerbody p.flowbtn a:hover {
  background-color: #eee;
  transform: translateY(-2px);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
}
article .careerbody p.flowbtn a:active {
  transform: translateY(0);
  box-shadow: 0 0 0 0 transparent;
}
@media screen and (max-width: 735px) {
  article .careerbody p.flowbtn {
    flex-wrap: wrap;
  }
  article .careerbody p.flowbtn a {
    width: 100%;
    margin: 0 0 5px;
    padding: 7px 5px 20px;
    display: block;
    box-sizing: border-box;
  }
  article .careerbody p.flowbtn a br {
    display: none;
  }
}
article .careerbody ul {
  margin: 0;
}
article .careerbody ul li {
  font-size: 75%;
  padding-bottom: 0;
}
article .careerbody ul li:before {
  content: "";
  top: 0.45em;
  left: 0.2em;
  width: 0.7em;
  height: 0.7em;
  display: block;
  background-color: #078086;
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.errorbox span {
  display: none !important;
  padding: 5px 0;
  font-size: 87.5% !important;
  font-weight: bold;
  color: #fff !important;
  text-align: center;
  background-color: #c00;
}
.errorbox span:first-child {
  display: block !important;
  margin: 0 0 20px;
}
.sendbox {
  display: none;
}
.sendbox span.send {
  margin: 0 0 20px;
  display: block;
  padding: 5px 8px 7px;
  background-color: #c00;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
}
.mw_wp_form_preview .sendbox {
  display: block;
}
.mce-content-body {
  background-color: #fff;
  margin: 20px;
}
.answer {
  display: none;
}
.mce-content-body .answer {
  display: block !important;
}
.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  background-color: #fff !important;
}
.red,
.require {
  color: #c00;
}
.requiremark {
  margin: 0 2px 0 3px;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  font-weight: 500;
  color: #c00;
  line-height: 1.2;
  border: 1px solid #c00;
  border-radius: 3px;
}
.requiremark2 {
  margin: -3px 8px 0;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8rem;
  font-weight: 500;
  color: #c00;
  line-height: 1.2;
  border: 1px solid #c00;
  border-radius: 3px;
}
.no_require {
  margin: -3px 8px 0;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8rem;
  font-weight: 500;
  color: #999;
  line-height: 1.2;
  border: 1px solid #999;
  border-radius: 3px;
}
.formtbl {
  width: 100%;
  border-collapse: separate;
  border-top: 1px solid #ddd;
}
.formtbl tr:nth-child(even) {
  background-color: #f9f9f9;
}
.formtbl th {
  width: 20%;
  padding: 14px 15px;
  white-space: nowrap;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  vertical-align: top;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ddd;
}
.formtbl th[scope="col"] {
  background-color: #c6e7f0;
}
.formtbl th p,
.formtbl th span {
  white-space: normal;
}
.formtbl td {
  padding: 4px 15px 4px 8px;
  padding: 10px 15px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ddd;
}
.formtbl th + td {
  border-left: 1px solid #ddd;
}
.formtbl .notbl th,
.formtbl .notbl td {
  width: auto;
  font-size: 1em;
  border-bottom: none;
}
@media screen and (max-width: 735px) {
  .formtbl .notbl th,
  .formtbl .notbl td {
    border: none !important;
  }
}
.formtbl .notbl tr + tr th,
.formtbl .notbl tr + tr td {
  border-top: 1px solid #ddd;
}
.formtbl P {
  margin: 8px 0 0;
  padding: 0 0 8px;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
}
.formtbl strong {
  color: #000;
}
.formtbl label.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  font-size: 75%;
  line-height: 28px;
}
.formtbl span.block {
  margin: 3px 0;
  display: block;
  line-height: 1.6;
}
.formtbl span.txt {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #333;
}
.formtbl span.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl span.notes input,
.formtbl span.notes label {
  display: inline-block;
  vertical-align: middle;
}
.formtbl span.notes.clr {
  display: block;
}
.formtbl span.error {
  margin: 0 5px;
  display: block;
  vertical-align: top;
  font-size: 0.75rem;
  font-weight: bold;
  color: #c00;
  line-height: 28px;
}
.formtbl span.mwform-radio-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl span.mwform-checkbox-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl input + span.txt,
.formtbl input + strong {
  margin: 5px 0 0;
}
.formtbl input[type="text"],
.formtbl input[type="tel"],
.formtbl input[type="email"] {
  height: 40px;
  padding: 0 16px;
  line-height: 40px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #eee;
  border: none;
  border-radius: 20px;
  box-shadow: inset 0 0 0 0 transparent;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  outline: none;
}
.formtbl input[type="text"]:focus,
.formtbl input[type="tel"]:focus,
.formtbl input[type="email"]:focus {
  background: #ffc;
  border-radius: 0;
}
.formtbl input[type="text"].form_l {
  width: 100%;
}
.formtbl input[type="text"].form_m,
.formtbl input[type="email"].form_m {
  width: 50%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_m,
  .formtbl input[type="email"].form_m {
    width: 100%;
  }
}
.formtbl input[type="text"].form_s {
  width: 20%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_s {
    width: 100%;
  }
}
.formtbl input[type="text"].form_xs {
  width: 10%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_xs {
    width: 20%;
  }
}
.formtbl input[type="radio"] {
  display: none !important;
}
.formtbl input[type="radio"]:checked + .radio:before,
.formtbl input[type="radio"]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.formtbl input[type="radio"]:checked + .radio:after,
.formtbl input[type="radio"]:checked + .mwform-radio-field-text:after {
  background-color: #39f;
}
.formtbl .mwform-radio-field-text,
.formtbl .radio {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  line-height: 16px;
}
.formtbl .mwform-radio-field-text:before,
.formtbl .radio:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 4px;
  display: block;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
.formtbl .mwform-radio-field-text:after,
.formtbl .radio:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -8px;
  width: 14px;
  height: 14px;
  border: 1px solid #bbb;
  border-radius: 50%;
  content: "";
}
.formtbl input[type="checkbox"] {
  display: none !important;
}
.formtbl input[type="checkbox"]:checked + .checkbox:before,
.formtbl input[type="checkbox"]:checked + .mwform-checkbox-field-text:before {
  opacity: 1;
}
.formtbl input[type="checkbox"]:checked + .checkbox:after,
.formtbl input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  background-color: #39f;
}
.formtbl .mwform-checkbox-field-text,
.formtbl .checkbox {
  width: auto !important;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  line-height: 16px;
}
.formtbl .mwform-checkbox-field-text:before,
.formtbl .checkbox:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -6px;
  width: 5px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formtbl .mwform-checkbox-field-text:after,
.formtbl .checkbox:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  content: "";
}
.formtbl .form_s + .mwform-checkbox-field-text,
.formtbl .form_s + .mwform-radio-field-text {
  margin: 0;
  padding: 0 10px 0 21px;
}
.formtbl textarea {
  width: 100% !important;
  height: 100px !important;
  padding: 12px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #eee;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 0 0 transparent;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  outline: none;
}
.formtbl textarea:focus {
  background: #ffc;
  border-radius: 0;
}
.formtbl input[type="button"],
.formtbl input[type="submit"],
.formtbl input[type="reset"] {
  height: 42px;
  padding: 0 30px 2px;
  display: inline-block;
  vertical-align: middle;
  font-size: 100% !important;
  font-weight: bold;
  color: #fff;
  line-height: 32px;
  cursor: pointer;
  background-color: #0073b8;
  border: solid 1px #0073b8;
  border-radius: 25px;
  -webkit-appearance: none;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.formtbl input[type="button"]:hover,
.formtbl input[type="submit"]:hover,
.formtbl input[type="reset"]:hover {
  color: #0073b8;
  background: #fff;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.5);
}
.formtbl .select,
.formtbl .selectm,
.formtbl .selects {
  width: 200px;
}
.formtbl .select label,
.formtbl .selectm label,
.formtbl .selects label {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: middle;
  background-color: #fff;
  background-repeat: no-repeat;
  border: 1px solid #ddd;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  border-radius: 4px;
  font-size: 75%;
  line-height: 1.8;
  text-indent: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
.formtbl .select label select,
.formtbl .selectm label select,
.formtbl .selects label select {
  position: relative;
  width: calc(100% + 24px);
  padding: 0 0 0 4px;
  display: block;
  font-size: 14px;
  line-height: 1.5;
  text-indent: 8px;
  text-indent: 0.01px;
  text-overflow: "";
  border: none;
  border-radius: 2px;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}
.formtbl .select label select:focus,
.formtbl .selectm label select:focus,
.formtbl .selects label select:focus {
  outline: none;
}
.formtbl .select label:after,
.formtbl .selectm label:after,
.formtbl .selects label:after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 4px solid #999;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.formtbl .selectm {
  width: 65px;
  display: inline-block;
  vertical-align: middle;
}
.formtbl .selects {
  width: 55px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: top;
}
@media screen and (max-width: 735px) {
  .formtbl th {
    width: auto;
    padding: 8px 8px 5px;
    display: block;
    border: none;
    line-height: 1.5;
    white-space: normal;
  }
  .formtbl th br {
    display: none;
  }
  .formtbl td {
    padding: 0 8px 8px;
    display: block;
    border-top: none;
    border-left: none;
    border: none;
    line-height: 24px;
  }
  .formtbl td label {
    margin-top: 0;
    margin-bottom: 0;
  }
  .formtbl .checkbox {
    margin: 3px 0;
  }
  .formtbl th + td {
    border-left: none;
  }
  .formtbl p {
    margin: 12px 0 5px;
  }
  .formtbl label.seimei {
    margin: 0 0 5px;
    display: block;
    width: auto;
    text-align: left;
  }
  .formtbl span.notes {
    margin: 0 2px;
  }
  .formtbl span.error {
    margin: 5px;
  }
  .formtbl span.mwform-radio-field {
    margin: 3px 0 !important;
    display: block;
  }
  .formtbl span.mwform-checkbox-field {
    margin: 3px 0 !important;
    display: block;
  }
}
div.formtbl,
p.formtbl {
  margin: 15px 0;
  border: none;
}
.border div.formtbl,
.border p.formtbl {
  margin: 0;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin: 0 10px 0 0 !important;
  margin: 0 !important;
}
.formtbl2 {
  width: 100%;
}
.formtbl2 th {
  width: 15%;
  padding: 28px 15px;
  white-space: nowrap;
  font-size: 81.25%;
  font-weight: bold;
  color: #333;
  line-height: 1.6;
  vertical-align: top;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.formtbl2 th[scope="col"] {
  background-color: #c6e7f0;
}
.formtbl2 th span.mini {
  font-size: 80%;
}
.formtbl2 th .note2 {
  display: flex;
  align-items: flex-start;
}
.formtbl2 th .note2 .requiremark2 {
  margin-top: 0;
}
.formtbl2 td {
  padding: 4px 15px 4px 8px;
  padding: 20px 15px;
  font-size: 1rem;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  text-align: left;
}
.formtbl2 td .innertbl th,
.formtbl2 td .innertbl td {
  padding: 0 5px 0 0;
  font-size: 1em;
  border: none;
}
.formtbl2 td .innernote {
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #ddd;
}
.formtbl2 td .innertbl2 {
  margin: 0;
  border: none;
}
.formtbl2 td .innertbl2 th,
.formtbl2 td .innertbl2 td {
  border: none;
  padding: 5px 0;
  border: none;
}
.formtbl2 td .innertbl2 th {
  padding: 14px 12px 14px 0;
  font-size: 81.25%;
  font-weight: bold;
  color: #333;
}
.formtbl2 th + td {
  border-left: none;
}
.formtbl2 p {
  margin: 8px 0 0;
  padding: 0 0 8px;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
}
.formtbl2 strong {
  color: #000;
}
.formtbl2 label.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  font-size: 75%;
  line-height: 28px;
}
.formtbl2 div.inline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.formtbl2 div.inline .inline {
  margin: 0 10px 2px 0;
  font-size: 0.9rem;
  color: #555;
}
.formtbl2 span.block {
  margin: 5px 0;
  display: block;
  font-size: 0.75rem;
  color: #555;
}
.formtbl2 span.block + .block {
  margin: -5px 0 5px;
}
.formtbl2 span.error {
  margin: 5px 0;
  display: block;
  vertical-align: top;
  font-size: 0.75rem;
  font-weight: bold;
  color: #c00;
  line-height: 28px;
}
.formtbl2 span.mwform-radio-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
@media screen and (max-width: 735px) {
  .formtbl2 span.mwform-radio-field-text {
    display: block;
  }
}
.formtbl2 span.mwform-checkbox-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl2 input[type="text"],
.formtbl2 input[type="number"],
.formtbl2 input[type="tel"],
.formtbl2 input[type="email"] {
  -webkit-appearance: none;
  height: 28px;
  padding: 0 6px;
  line-height: 28px;
  font-size: 14px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  height: 40px;
  padding: 0 6px;
  line-height: 40px;
  font-size: 16px;
}
.formtbl2 input[type="text"]:focus,
.formtbl2 input[type="number"]:focus,
.formtbl2 input[type="tel"]:focus,
.formtbl2 input[type="email"]:focus {
  background: #ffc;
}
.formtbl2 input.form_l {
  width: 100%;
}
.formtbl2 input.form_m {
  width: 100%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_m {
    width: 100%;
  }
}
.formtbl2 input.form_ms {
  width: 30%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_ms {
    width: 30%;
  }
}
.formtbl2 input.form_s {
  width: 20%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_s {
    width: 100%;
  }
}
.formtbl2 input.form_xs {
  width: 10%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_xs {
    width: 30%;
  }
}
.formtbl2 input.form_xxs {
  width: 60px;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_xxs {
    width: 60px;
  }
}
.formtbl2 input[type="radio"] {
  display: none !important;
}
.formtbl2 input[type="radio"]:checked + .radio:before,
.formtbl2 input[type="radio"]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.formtbl2 input[type="radio"]:checked + .radio:after,
.formtbl2 input[type="radio"]:checked + .mwform-radio-field-text:after {
  background-color: #39f;
}
.formtbl2 .mwform-radio-field-text,
.formtbl2 .radio {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  font-size: 0.9rem;
  color: #333;
  line-height: 16px;
}
.formtbl2 .mwform-radio-field-text:before,
.formtbl2 .radio:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 4px;
  display: block;
  margin-top: -3px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
.formtbl2 .mwform-radio-field-text:after,
.formtbl2 .radio:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border: 1px solid #bbb;
  border-radius: 50%;
  content: "";
}
.formtbl2 input[type="checkbox"] {
  display: none !important;
}
.formtbl2 input[type="checkbox"]:checked + .checkbox:before,
.formtbl2 input[type="checkbox"]:checked + .mwform-checkbox-field-text:before {
  opacity: 1;
}
.formtbl2 input[type="checkbox"]:checked + .checkbox:after,
.formtbl2 input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  background-color: #39f;
}
.formtbl2 .mwform-checkbox-field-text,
.formtbl2 .checkbox {
  width: auto !important;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  font-size: 0.9rem;
  color: #333;
  line-height: 16px;
}
.formtbl2 .mwform-checkbox-field-text:before,
.formtbl2 .checkbox:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -6px;
  width: 5px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formtbl2 .mwform-checkbox-field-text:after,
.formtbl2 .checkbox:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  content: "";
}
.formtbl2 textarea {
  -webkit-appearance: none;
  width: 100% !important;
  height: 100px !important;
  padding: 5px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
.formtbl2 textarea:focus {
  background: #ffffcc;
}
.formtbl2 textarea.line2 {
  height: 50px !important;
}
.formtbl2 input[type="button"],
.formtbl2 input[type="submit"] {
  -webkit-appearance: none;
  position: relative;
  padding: 12px 40px;
  display: inline-block;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #005d7c;
  border: none;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  border-radius: 4px;
}
.formtbl2 input[type="button"]:hover,
.formtbl2 input[type="submit"]:hover {
  background-color: #e2f2f7;
}
.formtbl2 input[type="button"]:active,
.formtbl2 input[type="submit"]:active {
  transform: translateY(2px);
}
.formtbl2 input[type="reset"] {
  -webkit-appearance: none;
  position: relative;
  padding: 8px 20px;
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  background-color: #f6f6f6;
  border: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  border-radius: 4px;
}
.formtbl2 input[type="reset"]:hover {
  background-color: #eee;
}
.formtbl2 input[type="reset"]:active {
  transform: translateY(2px);
}
.formtbl2 select {
  font-size: 1rem;
}
.formtbl2 .select,
.formtbl2 .selectm,
.formtbl2 .selects {
  width: 200px;
  margin: 2px 0 4px 2px;
}
.formtbl2 .select label,
.formtbl2 .selectm label,
.formtbl2 .selects label {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: middle;
  background-color: #fff;
  background-repeat: no-repeat;
  border: 1px solid #ddd;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  border-radius: 4px;
  font-size: 100%;
  line-height: 2.5;
  text-indent: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
.formtbl2 .select label span.error,
.formtbl2 .selectm label span.error,
.formtbl2 .selects label span.error {
  font-size: 1em !important;
  display: inline-block;
  vertical-align: middle;
}
.formtbl2 .select label select,
.formtbl2 .selectm label select,
.formtbl2 .selects label select {
  position: relative;
  width: 120%;
  padding: 0;
  display: block;
  line-height: 2;
  text-indent: 8px;
  border: none;
  border-radius: 2px;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}
.formtbl2 .select label select:focus,
.formtbl2 .selectm label select:focus,
.formtbl2 .selects label select:focus {
  outline: none;
}
.formtbl2 .select label:after,
.formtbl2 .selectm label:after,
.formtbl2 .selects label:after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 4px solid #999;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.formtbl2 .selectm {
  width: 80px;
  display: inline-block;
  vertical-align: middle;
}
.formtbl2 .selects {
  width: 40px;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 800px) {
  .formtbl2 th {
    white-space: normal;
  }
}
@media screen and (max-width: 735px) {
  .formtbl2 tr {
    display: block;
    border-bottom: 1px solid #ddd;
  }
  .formtbl2 th {
    width: auto;
    min-height: 1px;
    padding: 12px 20px;
    display: block;
    border-top: none;
    border-bottom: 1px solid #eee;
    background-color: #efefef;
    white-space: normal;
  }
  .formtbl2 th br {
    display: none;
  }
  .formtbl2 td {
    padding: 12px 20px;
    display: block;
    border-top: none;
    border-left: none;
    border-bottom: 1px solid #ccc;
    border: none;
    line-height: 24px;
  }
  .formtbl2 td label {
    margin-top: 0;
    margin-bottom: 0;
  }
  .formtbl2 th + td {
    border-left: none;
  }
  .formtbl2 span.error {
    margin: 5px;
  }
  .formtbl2 .checkbox span label {
    display: block;
  }
  .formtbl2 input[type="text"],
  .formtbl2 input[type="tel"],
  .formtbl2 input[type="email"] {
    box-shadow: inset 0 0 0 0 transparent;
  }
}
#pagenav {
  clear: both;
  padding: 15px 0;
  overflow: hidden;
  text-align: center;
  font-size: 81.25%;
  letter-spacing: -0.2em;
}
#pagenav .page-numbers {
  display: inline-block;
  vertical-align: middle;
  margin: 2px 2px 2px 0;
  padding: 7px 9px 6px 9px;
  width: auto;
  color: #fff !important;
  background: #0073b8 !important;
  border: 1px solid #0073b8;
  letter-spacing: normal;
  border-radius: 2px;
}
#pagenav .page-numbers:hover {
  color: #fff;
  background: #84bfd4;
}
#pagenav .current {
  display: inline-block;
  vertical-align: middle;
  margin: 2px 2px 2px 0;
  padding: 7px 9px 6px 9px;
  width: auto;
  color: #0073b8 !important;
  border: 1px solid #0073b8;
  background: #fff !important;
  letter-spacing: normal;
  border-radius: 2px;
}
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt-10 {
  margin-top: -10px !important;
}
.mt50 {
  margin-top: 50px;
}
.pt0 {
  padding-top: 0 !important;
}
.pt5 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb5 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.description {
  display: none;
}
.c5 {
  width: 5%;
}
.c10 {
  width: 10%;
}
.c15 {
  width: 15%;
}
.c20 {
  width: 20%;
}
.c25 {
  width: 25%;
}
.c30 {
  width: 30%;
}
.c35 {
  width: 35%;
}
.c40 {
  width: 40%;
}
.c45 {
  width: 45%;
}
.c50 {
  width: 50%;
}
.c60 {
  width: 60%;
}
.c70 {
  width: 70%;
}
.c75 {
  width: 75%;
}
.c80 {
  width: 80%;
}
.c100 {
  width: 100%;
}
.c25to50 {
  width: 25%;
}
@media screen and (max-width: 735px) {
  .c25to50 {
    width: 50%;
  }
}
.c_left {
  text-align: left !important;
}
.c_right {
  text-align: right !important;
}
.c_center {
  text-align: center !important;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.s_left {
  float: left;
  margin: 0 10px 0 0;
}
.s_right {
  float: right;
  margin: 0 10px 0 0;
}
.alignleft,
.f_left {
  float: left;
  margin: 0 20px 15px 0;
}
.alignleft + .alignleft,
.f_left + .alignleft {
  clear: both;
}
@media screen and (max-width: 735px) {
  .alignleft,
  .f_left {
    float: none;
    margin: 0 auto 15px;
    display: block;
  }
}
.alignright,
.f_right {
  float: right;
  margin: 0 0 15px 20px;
}
.alignright + .alignright,
.f_right + .alignright {
  clear: both;
}
@media screen and (max-width: 735px) {
  .alignright,
  .f_right {
    float: none;
    margin: 0 auto 15px;
    display: block;
  }
  .alignright.fix,
  .f_right.fix {
    float: right;
    max-width: 30%;
    margin: 0 0 10px 10px;
  }
}
.aligncenter {
  margin: 0 auto;
  display: block;
}
.t_right {
  float: right;
}
.t_right:after {
  clear: both;
  content: ".";
  display: block;
  width: 100%;
  height: 0;
  font-size: 0;
  visibility: hidden;
}
.t_right + * {
  clear: both;
}
.img {
  width: 100%;
  height: auto;
}
.indent {
  margin-left: 1em !important;
  text-indent: -1em;
}
.indent2 {
  margin-left: 2em !important;
  text-indent: -2em;
}
.indent3 {
  margin-left: 3em !important;
  text-indent: -3em;
  display: block;
}
.indentblock {
  margin-left: 1em !important;
}
.indentblock2 {
  margin-left: 20px !important;
}
@media screen and (max-width: 735px) {
  .indentblock2 {
    margin-left: 0 !important;
  }
}
strong {
  font-weight: bold;
}
.clr {
  clear: both;
}
.overflow {
  overflow: hidden;
}
p.nowrap,
span.nowrap,
th.nowrap,
td.nowrap,
li.nowrap {
  white-space: nowrap !important;
}
.large {
  font-size: 120%;
}
.i5 {
  width: 5%;
  height: auto !important;
}
.i10 {
  width: 10%;
  height: auto !important;
}
.i15 {
  width: 15%;
  height: auto !important;
}
.i20 {
  width: 20%;
  height: auto !important;
}
.i25 {
  width: 25%;
  height: auto !important;
}
.i30 {
  width: 30%;
  height: auto !important;
}
.i35 {
  width: 35%;
  height: auto !important;
}
.i40 {
  width: 40%;
  height: auto !important;
}
.i45 {
  width: 45%;
  height: auto !important;
}
.i50 {
  width: 50%;
  height: auto !important;
}
.i60 {
  width: 60%;
  height: auto !important;
}
.i70 {
  width: 70%;
  height: auto !important;
}
.i80 {
  width: 80%;
  height: auto !important;
}
.i90 {
  width: 90%;
  height: auto !important;
}
.i100 {
  width: 100%;
  height: auto !important;
}
@media screen and (max-width: 735px) {
  .i5,
  .i10,
  .i15,
  .i20,
  .i25,
  .i30,
  .i35,
  .i40,
  .i45,
  .i50,
  .i60,
  .i70,
  .i80,
  .i90,
  .i100 {
    width: 100%;
  }
}
.a5 {
  width: 5%;
  height: auto !important;
}
.a10 {
  width: 10%;
  height: auto !important;
}
.a15 {
  width: 15%;
  height: auto !important;
}
.a20 {
  width: 20%;
  height: auto !important;
}
.a25 {
  width: 25%;
  height: auto !important;
}
.a30 {
  width: 30%;
  height: auto !important;
}
.a35 {
  width: 35%;
  height: auto !important;
}
.a40 {
  width: 40%;
  height: auto !important;
}
.a45 {
  width: 45%;
  height: auto !important;
}
.a50 {
  width: 50%;
  height: auto !important;
}
.a60 {
  width: 60%;
  height: auto !important;
}
.a70 {
  width: 70%;
  height: auto !important;
}
.a80 {
  width: 80%;
  height: auto !important;
}
.a90 {
  width: 90%;
  height: auto !important;
}
.a100 {
  width: 100%;
  height: auto !important;
}
@media screen and (max-width: 735px) {
  .a5,
  .a10,
  .a15,
  .a20,
  .a25,
  .a30,
  .a35,
  .a40,
  .a45,
  .a50,
  .a60,
  .a70,
  .a80,
  .a90,
  .a100 {
    width: auto;
  }
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* custom */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 1;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
q,
blockquote {
  quotes: none;
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
  content: none;
}
a img {
  border: none;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadein2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadein2 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
@-webkit-keyframes fadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
img {
  -ms-interpolation-mode: bicubic;
}
.forpc {
  display: block;
}
@media screen and (max-width: 735px) {
  .forpc {
    display: none !important;
  }
}
.formb {
  display: none;
}
@media screen and (max-width: 735px) {
  .formb {
    display: block;
  }
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
@-webkit-keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
}
.caticon.news,
.catname.news {
  color: #fff !important;
  background-color: #5a88a8 !important;
}
.caticon.topics,
.catname.topics {
  color: #fff !important;
  background-color: #5a88a8 !important;
}
.caticon.event,
.catname.event {
  color: #fff !important;
  background-color: #d2aa50 !important;
}
.caticon.faculty,
.catname.faculty {
  color: #fff !important;
  background-color: #76ad68 !important;
}
.caticon.graduate,
.catname.graduate {
  color: #fff !important;
  background-color: #57cfad !important;
}
.caticon.campus,
.catname.campus {
  color: #fff !important;
  background-color: #de6487 !important;
}
.caticon.recruit,
.catname.recruit {
  color: #fff !important;
  background-color: #977c6a !important;
}
.caticon.contribution,
.catname.contribution {
  color: #fff !important;
  background-color: #259f2d !important;
}
.caticon.openseminar,
.catname.openseminar {
  color: #fff !important;
  background-color: #549867 !important;
}
.caticon.care,
.catname.care {
  color: #fff !important;
  background-color: #259f2d !important;
}
.caticon.career,
.catname.career {
  color: #fff !important;
  background-color: #f06d6f !important;
}
.caticon.cancer,
.catname.cancer {
  color: #fff !important;
  background-color: #2ec1ce !important;
}
.caticon.research,
.catname.research {
  color: #fff !important;
  background-color: #574eb5 !important;
}
.caticon.covid19,
.catname.covid19 {
  color: #fff !important;
  background-color: #c00 !important;
}
.caticon.sdgs,
.catname.sdgs {
  color: #fff !important;
  background-color: #1286d0 !important;
}
.type.medical {
  background-color: #3499d5 !important;
}
.type.general {
  background-color: #c8930f !important;
}
.type.internal {
  background-color: #027c4b !important;
}
h2.section1 {
  color: #2a3b95 !important;
  border: 1px solid #2a3b95 !important;
}
h3.section1 {
  color: #2a3b95 !important;
}
h4.section1 {
  color: #2a3b95 !important;
}
p.section1 {
  color: #2a3b95 !important;
}
.pagemenu.section1 li a {
  color: #2a3b95 !important;
}
.pagemenu.section1 li a:before {
  background-color: #2a3b95 !important;
}
.pagemenu.section1 li a:hover {
  color: #fff !important;
}
h2.section2 {
  color: #2b8961 !important;
  border: 1px solid #2b8961 !important;
}
h3.section2 {
  color: #2b8961 !important;
}
h4.section2 {
  color: #2b8961 !important;
}
p.section2 {
  color: #2b8961 !important;
}
.pagemenu.section2 li a {
  color: #2b8961 !important;
}
.pagemenu.section2 li a:before {
  background-color: #2b8961 !important;
}
.pagemenu.section2 li a:hover {
  color: #fff !important;
}
h2.section3 {
  color: #956121 !important;
  border: 1px solid #956121 !important;
}
h3.section3 {
  color: #956121 !important;
}
h4.section3 {
  color: #956121 !important;
}
p.section3 {
  color: #956121 !important;
}
.pagemenu.section3 li a {
  color: #956121 !important;
}
.pagemenu.section3 li a:before {
  background-color: #956121 !important;
}
.pagemenu.section3 li a:hover {
  color: #fff !important;
}
h2.section4 {
  color: #952a51 !important;
  border: 1px solid #952a51 !important;
}
h3.section4 {
  color: #952a51 !important;
}
h4.section4 {
  color: #952a51 !important;
}
p.section4 {
  color: #952a51 !important;
}
.pagemenu.section4 li a {
  color: #952a51 !important;
}
.pagemenu.section4 li a:before {
  background-color: #952a51 !important;
}
.pagemenu.section4 li a:hover {
  color: #fff !important;
}
a {
  transition-property: background-color, border, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  -webkit-transition-property: background-color, border, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  text-decoration: none;
  outline: none !important;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
a:link {
  color: #1a3753;
}
a:visited {
  color: #1a3753;
}
a:hover {
  color: #00a3da;
}
a:active {
  color: #f00;
}
a.link:before {
  margin: 0 3px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.win a.hover:hover,
.mac a.hover:hover {
  opacity: 1;
  animation-duration: 1s;
  animation-name: fadeout;
  -webkit-animation-duration: 1s;
  -webkit-animation-name: fadeout;
  display: block;
  opacity: 0.5;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  background-color: #f9f9f9;
}
@media screen and (max-width: 735px) {
  body {
    font-size: 110%;
  }
}
#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  display: none;
  background-color: #f9f9f9;
}
#loading > div {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#loading > div img {
  width: 40px;
}
#headnav {
  display: none;
  position: fixed;
  z-index: 100000;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 735px) {
  #headnav {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#headnav #sitelogo {
  margin: 0 auto;
}
#headnav #sitelogo a {
  width: 180px;
  margin: auto;
  display: block;
}
#headnav #snavbtn {
  cursor: pointer;
  position: fixed;
  top: 5px;
  right: 8px;
  width: 32px;
  height: 44px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #snavbtn:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 44px;
  content: "\f2bd";
  font-family: "Font Awesome 5 Free";
  font-size: 22px;
  font-weight: 900;
  color: #999;
  text-align: center;
  line-height: 41px;
}
#headnav #snavbtn span {
  position: absolute;
  left: 10px;
  width: 20px;
  height: 1px;
  display: none;
  background-color: #666;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #snavbtn span:nth-child(1) {
  top: 20px;
  left: 4px;
  transform: rotate(45deg);
}
#headnav #snavbtn span:nth-child(2) {
  top: 20px;
  left: 4px;
  transform: rotate(-45deg);
}
#headnav #snavbtn.active:before {
  display: none;
}
#headnav #snavbtn.active span {
  display: block;
}
#headnav #searchbtn {
  cursor: pointer;
  position: fixed;
  top: 5px;
  right: 8px;
  width: 32px;
  height: 44px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #searchbtn:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 32px;
  height: 44px;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 18px;
  font-weight: 900;
  color: #999;
  text-align: center;
  line-height: 41px;
}
#headnav #searchbtn span {
  position: absolute;
  left: 10px;
  width: 20px;
  height: 1px;
  display: none;
  background-color: #666;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#headnav #searchbtn span:nth-child(1) {
  top: 20px;
  left: 4px;
  transform: rotate(45deg);
}
#headnav #searchbtn span:nth-child(2) {
  top: 20px;
  left: 4px;
  transform: rotate(-45deg);
}
#headnav #searchbtn.active:before {
  display: none;
}
#headnav #searchbtn.active span {
  display: block;
}
#headnav #navbtn {
  cursor: pointer;
  position: fixed;
  top: 8px;
  left: 8px;
  width: 44px;
  height: 44px;
}
#headnav #navbtn span {
  position: absolute;
  left: 10px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #333;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#headnav #navbtn span:nth-child(1) {
  top: 8px;
}
#headnav #navbtn span:nth-child(2) {
  top: 16px;
}
#headnav #navbtn span:nth-child(3) {
  top: 24px;
}
#headnav.active {
  background-color: #fff;
}
#headnav.active #navbtn span:nth-child(1) {
  top: 16px;
  left: 8px;
  transform: rotate(45deg);
}
#headnav.active #navbtn span:nth-child(2) {
  top: 16px;
  width: 0;
  left: 50%;
}
#headnav.active #navbtn span:nth-child(3) {
  top: 16px;
  left: 8px;
  transform: rotate(-45deg);
}
#headnav.scroll {
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
}
#msearch {
  display: none;
  z-index: 1000001;
  position: fixed;
  top: 50px;
  left: 0;
  width: 100%;
  padding: 12px 20px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.9);
}
#msearch2 {
  position: fixed;
  z-index: 1000001;
  bottom: 100px;
  right: -400px;
  width: 400px;
  padding: 12px 0 12px 12px;
  border-radius: 10px 0 0 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  background-color: #0073b8;
}
@media screen and (max-width: 735px) {
  #msearch2 {
    display: none;
  }
}
#msearch2.show {
  right: -336px;
}
#msearch2:hover {
  right: -325px;
}
#msearch2.active {
  right: 0;
}
#msearch2.active img {
  opacity: 1;
}
#msearch2 .title {
  cursor: pointer;
  margin: 0 12px 0 0;
  flex-basis: 40px;
}
#msearch2 .title img {
  width: 40px;
}
#msearch2 .content {
  padding: 0 0 0 12px;
  flex-basis: calc(100 / 1 * 1% - 52px - 13px - 40px);
  border-left: 1px solid #fff;
}
#msearch2 #msearchclose {
  cursor: pointer;
  position: relative;
  flex-basis: 40px;
  width: 40px;
  height: 40px;
}
#msearch2 #msearchclose span {
  position: absolute;
  left: 10px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #fff;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#msearch2 #msearchclose span:nth-child(1) {
  top: 22px;
  left: 8px;
  transform: rotate(45deg);
}
#msearch2 #msearchclose span:nth-child(2) {
  top: 22px;
  width: 0;
  left: 50%;
}
#msearch2 #msearchclose span:nth-child(3) {
  top: 22px;
  left: 8px;
  transform: rotate(-45deg);
}
#container #navs {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 240px;
  height: 100vh;
  overflow: hidden;
  background-color: #fff;
}
#container #navs .scroll {
  width: calc(100vw + 33px);
  height: 100vh;
  overflow: hidden;
  overflow-y: scroll;
}
#container #navs .scroll .inner {
  width: 240px;
  padding: 0 33px 0 0;
}
html.safari #container #navs .scroll {
  width: 240px;
}
html.safari #container #navs .scroll .inner {
  padding: 0;
}
#container #articles {
  margin: 0 0 0 240px;
}
@media screen and (max-width: 1200px) {
  #container #navs {
    width: 200px;
  }
  #container #navs .scroll .inner {
    width: 200px;
  }
  #container #articles {
    margin: 0 0 0 200px;
  }
}
@media screen and (max-width: 735px) {
  #container #navs {
    width: 100%;
    left: -100%;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  #container #navs .scroll {
    position: fixed;
    top: 50px;
    left: -100%;
    height: calc(100vh - 50px);
    opacity: 0;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    width: calc(100% - 130px) !important;
    background-color: #fff;
  }
  #container #navs .scroll .inner {
    width: 100%;
  }
  #container #navs.active {
    left: 0;
    opacity: 1;
  }
  #container #navs.active .scroll {
    left: 0;
    opacity: 1;
  }
  #container #articles {
    margin: 0;
  }
}
_::-webkit-full-page-media,
_:future,
:root #navs.show {
  overflow: visible !important;
}
header {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
}
header h1 {
  width: 100%;
  margin: 10px auto;
}
header h1 a {
  width: 150px;
  margin: 0 auto;
  display: block;
}
header #lang {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
header #lang li {
  padding: 0 10px;
  font-size: 62.5%;
}
header #lang li a {
  color: #000;
}
header #lang li + li {
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 1025px) {
  header {
    align-items: center;
  }
  header h1 {
    padding: 15px 0;
  }
}
@media screen and (max-width: 735px) {
  header h1 {
    display: none;
  }
  header #lang {
    box-sizing: border-box;
    padding: 20px 10px;
    justify-content: flex-start;
  }
}
nav {
  width: 100%;
  margin: 8px 0 8px;
}
nav > ul > li > .nav {
  position: relative;
}
nav > ul > li > .nav > a {
  position: relative;
  z-index: 1;
  padding: 8px 40px 10px 20px;
  display: block;
  font-size: 87.5%;
  color: #000 !important;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul > li > .nav > a {
    font-size: 81.25%;
  }
}
nav > ul > li > .nav > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul > li > .nav > a.current {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
nav > ul > li > .nav > a.current:after {
  width: 100%;
}
html.mac nav > ul > li > .nav > a:hover,
html.win nav > ul > li > .nav > a:hover {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
html.mac nav > ul > li > .nav > a:hover:after,
html.win nav > ul > li > .nav > a:hover:after {
  width: 100%;
  background-color: #0073b8;
}
nav > ul > li > .nav > a.active {
  color: #fff !important;
}
nav > ul > li > .nav > a.active:after {
  width: 100%;
  background-color: #0073b8;
}
nav > ul > li > .nav .menuopen {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  width: 32px;
  height: 32px;
}
nav > ul > li > .nav .menuopen > div {
  position: relative;
  width: 32px;
  height: 32px;
}
nav > ul > li > .nav .menuopen > div span {
  position: absolute;
  left: 11px;
  width: 10px;
  height: 1px;
  display: block;
  background-color: #aaa;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul > li > .nav .menuopen > div span:nth-child(1) {
  top: 12px;
}
nav > ul > li > .nav .menuopen > div span:nth-child(2) {
  top: 16px;
}
nav > ul > li > .nav .menuopen > div span:nth-child(3) {
  top: 20px;
}
nav > ul > li > .nav .menuopen.active > div span {
  background-color: #fff;
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(1) {
  top: 16px;
  left: 9px;
  width: 14px;
  transform: rotate(45deg);
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(2) {
  width: 0;
}
nav > ul > li > .nav .menuopen.active > div span:nth-child(3) {
  top: 16px;
  left: 9px;
  width: 14px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 735px) {
  nav > ul > li > .nav .menuopen {
    display: none;
  }
}
body.information nav > ul > li#nav01 > .nav > a,
body.undergraduate nav > ul > li#nav02 > .nav > a,
body.graduate nav > ul > li#nav03 > .nav > a,
body.postgraduate nav > ul > li#nav04 > .nav > a,
body.campus nav > ul > li#nav05 > .nav > a,
body.contribution nav > ul > li#nav06 > .nav > a,
body.admission nav > ul > li#nav07 > .nav > a,
nav > ul > li.active > .nav > a {
  padding: 8px 30px 10px 30px;
  color: #fff !important;
}
@media screen and (max-width: 735px) {
  body.information nav > ul > li#nav01 > .nav > a,
  body.undergraduate nav > ul > li#nav02 > .nav > a,
  body.graduate nav > ul > li#nav03 > .nav > a,
  body.postgraduate nav > ul > li#nav04 > .nav > a,
  body.campus nav > ul > li#nav05 > .nav > a,
  body.contribution nav > ul > li#nav06 > .nav > a,
  body.admission nav > ul > li#nav07 > .nav > a,
  nav > ul > li.active > .nav > a {
    padding: 12px 20px;
  }
}
body.information nav > ul > li#nav01 > .nav > a:after,
body.undergraduate nav > ul > li#nav02 > .nav > a:after,
body.graduate nav > ul > li#nav03 > .nav > a:after,
body.postgraduate nav > ul > li#nav04 > .nav > a:after,
body.campus nav > ul > li#nav05 > .nav > a:after,
body.contribution nav > ul > li#nav06 > .nav > a:after,
body.admission nav > ul > li#nav07 > .nav > a:after,
nav > ul > li.active > .nav > a:after {
  width: 100%;
}
body.information nav > ul > li#nav01 > .nav > a + .menuopen,
body.undergraduate nav > ul > li#nav02 > .nav > a + .menuopen,
body.graduate nav > ul > li#nav03 > .nav > a + .menuopen,
body.postgraduate nav > ul > li#nav04 > .nav > a + .menuopen,
body.campus nav > ul > li#nav05 > .nav > a + .menuopen,
body.contribution nav > ul > li#nav06 > .nav > a + .menuopen,
body.admission nav > ul > li#nav07 > .nav > a + .menuopen,
nav > ul > li.active > .nav > a + .menuopen {
  display: none;
}
nav > div a {
  padding: 0 20px;
  font-size: 68.75%;
}
nav h2 a {
  position: relative;
  z-index: 1;
  padding: 8px 20px 10px 20px;
  display: block;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav h2 a span {
  display: block;
}
nav h2 a span.ja {
  margin: 0 0 3px;
  font-size: 87.5%;
  color: #000;
}
nav h2 a span.en {
  font-family: "Oswald", sans-serif;
  font-size: 62.5%;
  color: #666;
}
nav h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac nav h2 a.current,
html.mac nav h2 a:hover,
html.win nav h2 a.current,
html.win nav h2 a:hover {
  padding: 8px 20px 10px;
}
html.mac nav h2 a.current span,
html.mac nav h2 a:hover span,
html.win nav h2 a.current span,
html.win nav h2 a:hover span {
  color: #fff !important;
}
html.mac nav h2 a.current:after,
html.mac nav h2 a:hover:after,
html.win nav h2 a.current:after,
html.win nav h2 a:hover:after {
  width: 100%;
}
nav > ul.navmenu {
  margin: 0 0 5px;
  padding: 0 0 5px;
  border-bottom: 1px solid #ddd;
}
nav > ul.navmenu > li > a {
  position: relative;
  z-index: 1;
  padding: 8px 20px 10px 20px;
  display: block;
  font-size: 81.25%;
  color: #000 !important;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul.navmenu > li > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #005d7c;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul.navmenu > li > a.current {
  padding: 8px 20px 10px 20px;
  color: #fff !important;
}
nav > ul.navmenu > li > a.current:after {
  width: 100%;
}
html.mac nav > ul.navmenu > li > a:hover,
html.win nav > ul.navmenu > li > a:hover {
  padding: 8px 20px 10px 20px;
  color: #fff !important;
}
html.mac nav > ul.navmenu > li > a:hover:after,
html.win nav > ul.navmenu > li > a:hover:after {
  width: 100%;
}
@media screen and (max-width: 1025px) {
  nav {
    padding: 15px 0 5px;
  }
  nav > ul > li > .nav > a {
    font-size: 81.25%;
  }
  nav h2 a {
    padding: 8px 20px 10px;
  }
  nav h2 a span.ja {
    margin: 0 0 1px;
    font-size: 81.25%;
  }
  nav > ul.navmenu > li > a {
    padding: 8px 20px 10px 20px;
    font-size: 81.25%;
  }
  nav > ul.navmenu > li > a.current {
    padding: 8px 20px 10px 20px;
  }
}
@media screen and (max-width: 735px) {
  nav {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  nav > ul > li > .nav > a {
    padding: 15px 20px !important;
    font-size: 87.5%;
    font-weight: bold;
  }
  nav h2 a span.ja {
    font-size: 81.25%;
  }
}
nav > ul.navmenu li ul,
.asidemenu {
  padding: 4px 0;
  background-color: #f1f1f0;
}
nav > ul.navmenu li ul > li > a,
.asidemenu > li > a {
  position: relative;
  z-index: 1;
  padding: 8px 40px 8px 20px;
  display: block;
  font-size: 81.25%;
  color: #000;
  text-align: right;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul > li > a,
  .asidemenu > li > a {
    font-size: 68.75%;
  }
}
nav > ul.navmenu li ul > li > a:after,
.asidemenu > li > a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
nav > ul.navmenu li ul > li > a.goparent,
.asidemenu > li > a.goparent {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
  background-color: #84bfd4;
}
nav > ul.navmenu li ul > li > a.current,
nav > ul.navmenu li ul > li > a:hover,
.asidemenu > li > a.current,
.asidemenu > li > a:hover {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
}
nav > ul.navmenu li ul > li > a.current:after,
nav > ul.navmenu li ul > li > a:hover:after,
.asidemenu > li > a.current:after,
.asidemenu > li > a:hover:after {
  width: 100%;
}
nav > ul.navmenu li ul > li > ul,
.asidemenu > li > ul {
  padding: 0 0 12px;
}
nav > ul.navmenu li ul > li > ul li a,
.asidemenu > li > ul li a {
  position: relative;
  z-index: 1;
  padding: 6px 30px 6px 50px;
  display: block;
  font-size: 75%;
  color: #000;
  text-align: right;
  line-height: 1.4;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul > li > ul li a,
  .asidemenu > li > ul li a {
    font-size: 68.75%;
  }
}
nav > ul.navmenu li ul > li > ul li a:after,
.asidemenu > li > ul li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background-color: #0073b8;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
nav > ul.navmenu li ul > li > ul li a.goparent,
.asidemenu > li > ul li a.goparent {
  padding: 8px 30px 8px 30px;
  color: #fff !important;
  background-color: #84bfd4;
}
nav > ul.navmenu li ul > li > ul li a.current,
nav > ul.navmenu li ul > li > ul li a:hover,
.asidemenu > li > ul li a.current,
.asidemenu > li > ul li a:hover {
  padding: 6px 30px 6px 50px;
  color: #fff !important;
}
nav > ul.navmenu li ul > li > ul li a.current:after,
nav > ul.navmenu li ul > li > ul li a:hover:after,
.asidemenu > li > ul li a.current:after,
.asidemenu > li > ul li a:hover:after {
  width: 100%;
}
nav > ul.navmenu li ul > li > ul li ul,
.asidemenu > li > ul li ul {
  background-color: #e9e9e8;
}
@media screen and (max-width: 1025px) {
  nav > ul.navmenu li ul,
  .asidemenu {
    padding: 0;
  }
  nav > ul.navmenu li ul > li > a,
  .asidemenu > li > a {
    padding: 8px 20px;
    font-size: 68.75%;
  }
  nav > ul.navmenu li ul > li > a.goparent,
  .asidemenu > li > a.goparent {
    padding: 8px 15px 8px 25px;
  }
  nav > ul.navmenu li ul > li > a.current,
  nav > ul.navmenu li ul > li > a:hover,
  .asidemenu > li > a.current,
  .asidemenu > li > a:hover {
    padding: 8px 15px 8px 25px;
  }
  nav > ul.navmenu li ul > li > ul,
  .asidemenu > li > ul {
    padding: 0 0 5px;
  }
  nav > ul.navmenu li ul > li > ul li a,
  .asidemenu > li > ul li a {
    padding: 6px 20px;
    font-size: 68.75%;
  }
  nav > ul.navmenu li ul > li > ul li a.goparent,
  .asidemenu > li > ul li a.goparent {
    padding: 6px 15px 6px 25px;
  }
  nav > ul.navmenu li ul > li > ul li a.current,
  nav > ul.navmenu li ul > li > ul li a:hover,
  .asidemenu > li > ul li a.current,
  .asidemenu > li > ul li a:hover {
    padding: 6px 15px 6px 25px;
  }
}
.subnav {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  opacity: 0;
  position: fixed;
  z-index: -1;
  top: -200vh;
  left: 240px;
  width: calc(100vw - 240px);
  height: 100vh;
  padding: 100px 50px;
  background-color: #0073b8;
  box-sizing: border-box;
}
.subnav.active {
  display: block;
  opacity: 1;
  top: 0;
}
.subnav .clmns {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.subnav .clmns .clmn {
  margin: 0 20px 40px;
  flex-basis: calc(100 / 4 * 1% - 40px);
}
@media screen and (max-width: 1400px) {
  .subnav .clmns .clmn {
    margin: 0 10px 20px;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: calc(100 / 4 * 1% - 20px);
  }
}
.subnav h3 a {
  margin: 0 0 8px;
  padding: 0 0 8px;
  display: block;
  font-size: 87.5%;
  font-weight: bold;
  color: #fff;
  line-height: 1.3;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.subnav h3 a:hover {
  opacity: 0.8;
}
.subnav ul li a {
  padding: 2px 0;
  display: block;
  font-size: 75%;
  color: #fff;
  line-height: 1.3;
}
.subnav ul li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 1400px) {
  .subnav {
    left: 240px;
    width: calc(100% - 240px);
  }
}
@media screen and (max-width: 1200px) {
  .subnav {
    left: 200px;
    width: calc(100% - 200px);
    padding: 80px 20px;
  }
}
@media screen and (max-width: 735px) {
  .subnav {
    display: none;
  }
}
.navbox {
  width: 100%;
  margin: 10px 0 0;
  padding: 15px 0 5px;
  border-top: 1px solid #ddd;
}
.navbox.feature {
  background-color: #ddeedb;
}
.navbox.covidbnr {
  background-color: #fee;
}
.navbox h2 {
  margin: 0 20px 15px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.3;
}
.navbox h2 a {
  position: relative;
  padding: 0 14px 0 0;
  display: block;
  color: #000;
}
.navbox h2 a:hover {
  color: #00a3da;
}
.navbox h2 a:after {
  position: absolute;
  top: 50%;
  right: 6px;
  content: "";
  width: 6px;
  height: 6px;
  margin: -4px 0 0;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.navbox ul {
  margin: 0 0 0 20px;
  display: flex;
  flex-wrap: wrap;
}
.navbox ul li {
  margin: 0 10px 0 0;
  flex-basis: calc(50% - 10px);
  font-size: 68.75%;
}
.navbox ul li.wide {
  flex-basis: 100%;
}
.navbox ul li a {
  margin: 0 0 10px;
  padding: 0;
  display: block;
  color: #000;
  line-height: 1.3;
  white-space: nowrap;
}
.navbox ul li a:hover {
  color: #00a3da;
}
.navbox .sdgs {
  margin: 0 20px 10px;
}
@media screen and (max-width: 735px) {
  .navbox {
    width: calc(100% - 20px);
    margin: 10px 10px 0;
  }
}
ul#facilities_beta {
  width: 100%;
  border-top: 1px solid #ddd;
}
ul#facilities_beta li.library a:after {
  background-color: #075dab;
}
ul#facilities_beta li.care a:after {
  background-color: #76b12b;
}
ul#facilities_beta li.career a:after {
  background-color: #1cb7c2;
}
ul#facilities_beta li.ganpro a:after {
  background-color: #804798;
}
ul#facilities_beta li a {
  position: relative;
  z-index: 1;
  height: 44px;
  margin: 1px 0 0;
  padding: 0 20px 0 15px;
  display: block;
  font-size: 75%;
  color: #000 !important;
  line-height: 1.3;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  display: flex;
  align-items: center;
}
ul#facilities_beta li a span span {
  font-size: 80%;
}
ul#facilities_beta li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
ul#facilities_beta li a:hover {
  color: #fff !important;
}
ul#facilities_beta li a:hover:after {
  width: 100%;
}
footer {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
footer #sns {
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer #sns li {
  margin: 0 10px 0 0;
}
footer #sns li#ico_fb a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li#ico_yt a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li#ico_ig a {
  padding: 0;
  width: 28px;
  height: 28px;
  margin: auto;
  display: block;
}
footer #sns li a:hover {
  opacity: 0.7;
}
footer #credit #univname {
  margin: 0 0 15px;
  font-size: 112.5%;
  font-weight: bold;
  color: #0073b8;
}
footer #credit address {
  white-space: nowrap;
}
footer #credit address > span {
  font-size: 75%;
  line-height: 1.4;
}
footer #credit address > span > span {
  padding: 1px 0;
  display: block;
}
footer #credit address a {
  color: #000 !important;
}
@media screen and (max-width: 1025px) {
  footer #credit #univname {
    margin: 0 0 10px;
    font-size: 87.5%;
  }
  footer #credit address > span {
    font-size: 68.75%;
    font-weight: normal;
  }
}
ul#footmeta {
  margin: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
ul#footmeta li a {
  padding: 0 5px;
  font-size: 8px;
  color: #000;
  text-align: center;
}
#snav {
  position: fixed;
  top: 0;
  /* left: 240px; */
  z-index: 1000;
  width: 100%;
  padding: 10px 0;
  background-color: #fff;
  display: flex;
  align-items: stretch;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#snav.scroll {
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}
#snav > ul {
  flex-basis: 100%;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
#snav > ul li {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  height: 40px;
  border-left: 1px solid #ddd;
}
#snav > ul li a {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 0 15px;
  color: #000;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  font-size: 81.25%;
  line-height: 1.3;
  white-space: nowrap;
}
#snav > ul li a span.small {
  margin: 0 0 0 2px;
  font-size: 80%;
  white-space: nowrap;
}
#snav > ul li a span.small.sp {
  margin: 0 0 0 10px;
}
@media screen and (max-width: 1300px) {
  #snav > ul li a span.small.sp {
    margin: 0;
  }
}
#snav > ul li a .break {
  display: none !important;
}
@media screen and (max-width: 1300px) {
  #snav > ul li a .break {
    display: inline !important;
  }
}
@media screen and (max-width: 1200px) {
  #snav {
    left: 200px;
    width: calc(100% - 200px - 60px);
  }
  #snav > ul li a {
    padding: 0 12px;
    font-size: 75%;
  }
  #snav > ul li a span.small {
    margin: 0;
  }
  #snav > ul li a span.small.sp {
    margin: 0;
  }
}
@media screen and (max-width: 800px) {
  #snav {
    left: 200px;
    width: calc(100% - 200px - 60px);
  }
  #snav > ul li a {
    padding: 0 5px;
    font-size: 81.25%;
  }
  #snav > ul li a .break {
    display: none !important;
  }
  #snav > ul li a .sp:before {
    content: "?";
  }
}
@media screen and (max-width: 735px) {
  #snav {
    position: fixed;
    top: 50px;
    left: calc(240px - 100%);
    width: calc(100% - 240px);
    left: -130px;
    width: 130px;
    height: 100vh;
    display: block;
    padding: 50px 0 0;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    background: #efefef;
    box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  }
  #snav > ul {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    background: none;
    border-top: 1px solid #ddd;
  }
  #snav > ul li {
    width: 100%;
    height: auto;
    border-left: none;
    border-bottom: 1px solid #ddd;
  }
  #snav > ul li a {
    height: 100%;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    line-height: 1.4;
    white-space: normal;
  }
  #snav > ul li a span {
    white-space: normal;
  }
  #snav > ul li a span.small {
    margin: 0;
    font-size: 100%;
    white-space: normal;
  }
  #snav.active {
    left: calc(100% - 130px);
  }
  #snav.scroll {
    background-color: #fff;
    box-shadow: 1px 0 1px 0 rgba(0, 0, 0, 0.2) inset;
  }
}
#msearch3 {
  position: fixed;
  z-index: 10001;
  top: -120px;
  left: 0;
  width: 100%;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#msearch3 .title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: fixed;
  top: 0;
  right: 0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#msearch3 .title:before {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  top: 15px;
  left: 22px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #fff;
}
#msearch3 .title:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  top: 27px;
  left: 29px;
  border-top: solid 1px #fff;
  transform: rotate(45deg);
}
#msearch3 .title span {
  margin: 0 0 12px;
  font-size: 62.5%;
  color: #fff;
}
#msearch3 .title:hover {
  background-color: #84bfd4;
}
#msearch3 .block {
  position: relative;
  z-index: 10;
  height: 120px;
  padding: 0 0 0 60px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: #0073b8;
}
#msearch3 .block .content {
  display: block;
  flex-basis: calc(100% - 60px);
}
#msearch3 #msearchclose3 {
  cursor: pointer;
  position: relative;
  flex-basis: 60px;
  width: 60px;
  height: 60px;
  margin: 0 0 auto;
}
#msearch3 #msearchclose3 span {
  position: absolute;
  left: 20px;
  width: 24px;
  height: 1px;
  display: block;
  background-color: #fff;
}
#msearch3 #msearchclose3 span:nth-child(1) {
  top: 29px;
  left: 18px;
  transform: rotate(45deg);
}
#msearch3 #msearchclose3 span:nth-child(2) {
  top: 29px;
  left: 18px;
  transform: rotate(-45deg);
}
#msearch3.active {
  top: 0;
}
@media screen and (max-width: 735px) {
  #msearch3 {
    right: calc(-100% + 60px);
    height: 60px;
    display: none;
  }
}
#topslide_beta {
  margin: 0px auto 0;
}
#topslide_beta li {
  outline: none;
}
@media screen and (max-width: 735px) {
  #topslide_beta {
    margin: 50px auto 0;
  }
}
#topslidenav {
  overflow: hidden;
  padding: 5px;
  background-color: #eee;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2) inset;
}
#topslidenav ul li {
  padding: 5px;
}
#topslidenav ul li img {
  width: 100%;
  display: block;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#topslidenav.noslide ul {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  display: flex;
}
#topslidenav.noslide ul li {
  max-width: 290px;
  flex-basis: calc(100 / 5 * 1% - 10px);
}
@media screen and (max-width: 735px) {
  #topslidenav.noslide ul {
    flex-wrap: wrap;
  }
  #topslidenav.noslide ul li {
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
#copyright {
  padding: 20px 0;
  font-size: 62.5%;
  color: #999;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 735px) {
  #copyright {
    padding: 40px 0 20px;
    -ms-transform: scale(0.6, 0.6);
    transform: scale(0.6, 0.6);
  }
}
#topicpath {
  clear: both;
}
#topicpath p {
  padding: 10px 20px;
  font-size: 68.75%;
  color: #555;
  border-bottom: 1px solid #dddddd;
}
}
#topicpath p .dir:before {
  content: "";
  left: 3px;
  width: 4px;
  height: 4px;
  margin: -2px 5px 0 3px;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #aaa;
  border-right: 1px solid #aaa;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 735px) {
  #topicpath {
    display: none;
  }
}
#pagetop {
  position: fixed;
  z-index: 1000000;
  bottom: 0;
  right: 0;
}
#pagetop a {
  position: relative;
  width: 40px;
  height: 40px;
  display: block;
  text-indent: -3000px;
  background-color: #0073b8;
  border-radius: 5px 0 0 0;
}
#pagetop a:before {
  content: "";
  position: absolute;
  top: 17px;
  left: 15px;
  width: 8px;
  height: 8px;
  margin: 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#pagetop a:hover {
  background-color: #666;
}
@media screen and (max-width: 735px) {
  #pagetop {
    bottom: calc(env(safe-area-inset-bottom) + 0px);
  }
}
#content #pagetitle {
  position: relative;
  height: 180px;
  margin: 0 0 40px;
  padding: 60px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
#content #pagetitle .titles {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#content #pagetitle .titles.show {
  opacity: 1;
}
#content #pagetitle .titles h1 {
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#content #pagetitle .titles p {
  margin: 5px 0 20px;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 81.25%;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#content #pagetitle.wide {
  position: relative;
  height: 280px;
  height: 100vh;
  height: 30vh;
  border: none;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
#content #pagetitle.wide .titles {
  position: relative;
  z-index: 2;
  margin: 0;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0.5s;
  -moz-transition: all 0.5s ease 0.5s;
  -ms-transition: all 0.5s ease 0.5s;
  -o-transition: all 0.5s ease 0.5s;
  transition: all 0.5s ease 0.5s;
}
#content #pagetitle.wide .titles .mini {
  font-size: 70%;
}
@media screen and (max-width: 735px) {
  #content #pagetitle.wide .titles .mini {
    font-size: 80%;
  }
}
#content #pagetitle.wide .titles.show {
  opacity: 1;
}
#content #pagetitle.wide .titles h1 {
  margin: 0 0 10px;
  padding: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 250%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#content #pagetitle.wide .titles p {
  margin: 10px 0 0;
  margin: 0;
  padding: 3px 5px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#content #pagetitle #mask {
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: opacity 1s ease 0s;
  -moz-transition: opacity 1s ease 0s;
  -ms-transition: opacity 1s ease 0s;
  -o-transition: opacity 1s ease 0s;
  transition: opacity 1s ease 0s;
}
#content #pagetitle #mask.show {
  opacity: 1;
}
@media screen and (max-width: 735px) {
  #content #pagetitle .titles {
    padding: 0 20px;
  }
  #content #pagetitle.wide {
    margin-top: 0px;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
  }
  #content #pagetitle.wide .titles h1 {
    font-size: 200%;
  }
  #content #pagetitle.wide .titles h1 .mini {
    font-size: 70%;
  }
  #content #pagetitle.wide .titles h1 .mini,
  #content #pagetitle.wide .titles h1 .menu {
    display: block;
  }
}
#content #pagebnrs {
  position: relative;
  z-index: 10;
}
#content #pagebnrs .content {
  max-width: 1400px;
  margin: 0 auto;
}
#content #pagebnrs .content ul {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
#content #pagebnrs .content ul li {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
  position: relative;
}
#content #pagebnrs .content ul li a {
  display: block;
  border: 1px solid #fff;
  overflow: hidden;
}
#content #pagebnrs .content ul li a img {
  display: block;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#content #pagebnrs .content ul li a:hover {
  border: 1px solid #82cac2;
}
#content #pagebnrs .content ul li a:hover img {
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#content #pagebnrs .content ul li .btitle {
  position: absolute;
  z-index: 100;
  bottom: -8px;
  left: -8px;
  padding: 8px 12px;
  font-size: 75%;
  line-height: 1.4;
  font-weight: bold;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 735px) {
  #content #pagebnrs .content {
    padding: 0 20px;
  }
  #content #pagebnrs .content ul {
    margin: 0 0 0 -5px;
  }
  #content #pagebnrs .content ul li {
    margin: 0 0 12px 5px;
    flex-basis: calc(100 / 2 * 1% - 5px);
  }
  #content #pagebnrs .content ul li a {
    display: block;
    border: 1px solid #fff;
    overflow: hidden;
  }
  #content #pagebnrs .content ul li a img {
    display: block;
    -webkit-transition: all 0.2s ease 0s;
    -moz-transition: all 0.2s ease 0s;
    -ms-transition: all 0.2s ease 0s;
    -o-transition: all 0.2s ease 0s;
    transition: all 0.2s ease 0s;
  }
  #content #pagebnrs .content ul li a:hover {
    border: 1px solid #82cac2;
  }
  #content #pagebnrs .content ul li a:hover img {
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  #content #pagebnrs .content ul li .btitle {
    display: none;
  }
}
#content #article {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}
#content #article article {
  margin: 40px 0 40px;
}
#content #article_wide {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 40px;
}
#content #article_wide article {
  margin: 40px 0 40px;
}
#content .leadcontent {
  position: relative;
  margin: 0 0 10px;
  padding: 20px 30px;
  background-color: #fff;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}
#content .leadcontent:before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
  height: 5px;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
#content .leadcontent article {
  padding: 0;
}
#content .leadcontent .columns {
  margin: 0 0 0 -20px;
}
@media screen and (max-width: 1025px) {
  #content #article {
    padding: 0 20px;
  }
  #content #article article {
    margin: 20px 0;
  }
  #content #article_wide {
    padding: 0 20px;
  }
  #content #article_wide article {
    margin: 20px 0;
  }
  #content .leadcontent {
    padding: 15px 20px;
  }
}
@media screen and (max-width: 735px) {
  #content #article {
    padding: 0;
    flex-wrap: wrap;
  }
  #content #article article {
    margin: 20px 0 0;
    flex-basis: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  #content #article article .pagebody {
    padding: 0 20px;
  }
  #content #article aside {
    margin: 0;
    flex-basis: 100%;
    overflow: hidden;
  }
  #content #article_wide {
    padding: 0;
  }
  #content #article_wide article .pagebody {
    padding: 0 20px;
  }
  #content .leadcontent {
    position: relative;
    margin: 0 0 10px;
    padding: 0;
  }
  #content .leadcontent:before {
    display: none;
  }
  #content .leadcontent .columns {
    margin: 0;
  }
}
.articlelists {
  margin: 0 0 0 -20px;
  padding: 0 0 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.articlelists .articlelist {
  margin: 0 0 20px 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  overflow: hidden;
  flex-basis: calc(100 / 4 * 1% - 21px);
}
.articlelists .articlelist.clmn2 {
  flex-basis: calc(100 / 2 * 1% - 21px);
}
.articlelists .articlelist.clmn3 {
  flex-basis: calc(100 / 3 * 1% - 21px);
}
.articlelists .articlelist h2 {
  border: none;
}
.articlelists .articlelist h2 a {
  position: relative;
  z-index: 2;
  padding: 12px 20px;
  display: block;
  font-size: 100%;
  line-height: 1.3;
  color: #0073b8;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelist h2 a:after,
html.win .articlelists .articlelist h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 3px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelist h2 a:hover:after,
html.win .articlelists .articlelist h2 a:hover:after {
  width: 100%;
}
.articlelists .articlelist .pageimglink {
  position: relative;
  display: block;
}
.articlelists .articlelist .pageimglink:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
.articlelists .articlelist .pageimglink h2 {
  position: relative;
  margin: 0;
  padding: 20px 20px 15px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  border-bottom: none;
}
.articlelists .articlelist .pageimglink h2:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -2px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
.articlelists .articlelist .pageimglink .pageimg {
  overflow: hidden;
}
.articlelists .articlelist .pageimglink .pageimg img {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.articlelists .articlelist .pageimglink:hover {
  background-color: #e2f2f7;
}
.articlelists .articlelist .pageimglink:hover img {
  -ms-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
}
.articlelists .articlelistm {
  margin: 0 0 20px 20px;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  overflow: hidden;
  flex-basis: calc(100 / 3 * 1% - 21px);
}
.articlelists .articlelistm h2 {
  margin: 0;
  padding: 0;
  font-size: 1em;
  border: none;
}
.articlelists .articlelistm h2 a {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 15px 20px;
  display: block;
  font-size: 100%;
  line-height: 1.3;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.articlelists .articlelistm h2 a:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -6px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
html.mac .articlelists .articlelistm h2 a:after,
html.win .articlelists .articlelistm h2 a:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 3px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac .articlelists .articlelistm h2 a:hover:after,
html.win .articlelists .articlelistm h2 a:hover:after {
  width: 100%;
}
.articlelists .articlelistm h2 a[target$="_blank"]:before {
  content: "\f35d";
  color: #999;
}
.articlelists .articlelistm h2 a[href$=".pdf"]:before {
  content: "\f1c1";
  color: #c00;
}
.articlelists .articlelistm h2 a[href$=".doc"]:before,
.articlelists .articlelistm h2 a[href$=".docx"]:before {
  content: "\f1c2";
  color: #0079a1;
}
.articlelists .articlelistm h2 a[href$=".xls"]:before,
.articlelists .articlelistm h2 a[href$=".xlsx"]:before {
  content: "\f1c3";
  color: #15a648;
}
.articlelists .articlelistm h2 a[href$=".zip"]:before {
  content: "\f1c6";
  color: #444;
}
.articlelists .excerpt {
  padding: 12px 20px;
  font-size: 75%;
  color: #555;
  line-height: 1.4;
}
.articlelists ul {
  margin: 0;
}
.articlelists ul li {
  padding: 0;
  font-size: 1em;
  line-height: 1;
  border-top: 1px solid #eee;
}
.articlelists ul li:before {
  display: none;
}
.articlelists ul li a {
  position: relative;
  padding: 12px 25px 12px 20px;
  display: block;
  font-size: 81.25%;
  line-height: 1.5;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.articlelists ul li a:before {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -7px 0 0;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
}
.articlelists ul li a:hover {
  background-color: #e2f2f7;
}
.articlelists ul li a[target$="_blank"]:before {
  content: "\f35d";
  color: #999;
}
.articlelists ul li a[href$=".pdf"]:before {
  content: "\f1c1";
  color: #c00;
}
.articlelists ul li a[href$=".doc"]:before,
.articlelists ul li a[href$=".docx"]:before {
  content: "\f1c2";
  color: #0079a1;
}
.articlelists ul li a[href$=".xls"]:before,
.articlelists ul li a[href$=".xlsx"]:before {
  content: "\f1c3";
  color: #15a648;
}
.articlelists ul li a[href$=".zip"]:before {
  content: "\f1c6";
  color: #444;
}
@media screen and (max-width: 1400px) {
  .articlelists {
    margin: 0 0 0 -4px;
    margin: 0 0 0 -15px;
  }
  .articlelists .articlelist {
    margin: 0 0 4px 4px;
    margin: 0 0 15px 15px;
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 2 * 1% - 5px);
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 3 * 1% - 5px);
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelistm {
    margin: 0 0 4px 4px;
    margin: 0 0 15px 15px;
    flex-basis: calc(100 / 3 * 1% - 5px);
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
}
@media screen and (max-width: 1025px) {
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 3 * 1% - 16px);
  }
  .articlelists .articlelistm {
    flex-basis: calc(100 / 2 * 1% - 16px);
  }
}
@media screen and (max-width: 735px) {
  .articlelists {
    margin: 0 0 0 -4px;
  }
  .articlelists .articlelist {
    margin: 0 0 4px 4px;
    border-right: none;
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist.clmn2 {
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist.clmn3 {
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelist .pageimglink h2 {
    padding: 30px 20px 20px;
    font-size: 112.5%;
  }
  .articlelists .articlelist .pageimglink:before {
    display: none;
  }
  .articlelists .articlelistm {
    margin: 0 0 4px 4px;
    border-right: none;
    flex-basis: calc(100 / 1 * 1% - 4px);
  }
  .articlelists .articlelistm h2 {
    margin: 0;
    padding: 0;
    font-size: 1em;
  }
  .articlelists .articlelistm h2 a {
    border-bottom: none;
  }
  .articlelists .excerpt {
    padding: 12px 20px 20px;
  }
}
.mce-content-body .titles,
article .titles {
  padding: 0 0 40px;
}
.mce-content-body .titles h1,
article .titles h1 {
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  line-height: 1.4;
}
.mce-content-body .titles p.parent,
article .titles p.parent {
  margin: 0 0 5px;
  font-size: 100%;
  color: #555;
  line-height: 1.4;
}
@media screen and (max-width: 735px) {
  .mce-content-body .titles,
  article .titles {
    padding: 0 20px 20px;
  }
  .mce-content-body .titles h1,
  article .titles h1 {
    font-size: 150%;
  }
  .mce-content-body .titles p.parent,
  article .titles p.parent {
    font-size: 75%;
  }
}
.mce-content-body .posttitle,
article .posttitle {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body .posttitle h1,
article .posttitle h1 {
  margin: 0;
  font-size: 125%;
  line-height: 1.5;
}
.mce-content-body .posttitle p.subtitle,
article .posttitle p.subtitle {
  margin: 0;
  font-size: 87.5%;
  color: #333;
}
.mce-content-body .posttitle p.catname,
article .posttitle p.catname {
  margin: 0 0 5px;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #0073b8;
  border-radius: 3px;
}
.mce-content-body .posttitle p.catname:before,
article .posttitle p.catname:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.mce-content-body .posttitle p.date,
article .posttitle p.date {
  margin: 8px 0 0;
  font-size: 100%;
  color: #444;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .mce-content-body .posttitle p.date,
  article .posttitle p.date {
    font-size: 75%;
  }
}
.mce-content-body .archivetitle,
article .archivetitle {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body .archivetitle h1,
article .archivetitle h1 {
  font-size: 125%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .mce-content-body .archivetitle,
  article .archivetitle {
    margin: 0;
    padding: 0 20px 20px;
  }
}
.mce-content-body h2,
article h2 {
  clear: both;
  position: relative;
  margin: 40px 0 20px -20px;
  padding: 12px 20px;
  font-size: 125%;
  color: #005d7c;
  line-height: 1.5;
  border: 1px solid #005d7c;
  background-color: #fff;
}
.mce-content-body h2:first-child,
article h2:first-child {
  margin-top: 0 !important;
}
.mce-content-body h2.section,
article h2.section {
  position: relative;
  padding: 20px;
  color: #000;
  border: none;
  background-color: #f1f1f0;
  border-radius: 5px;
}
.mce-content-body h2.sectiontitle,
article h2.sectiontitle {
  margin: 0 -30px 30px;
  padding: 0 30px 20px;
  background: none;
  border: none;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h2.headline,
article h2.headline {
  margin: 30px 0 12px;
  padding: 0 0 12px;
  font-size: 112.5%;
  font-weight: bold;
  background: none;
  border: none;
  border-bottom: 1px solid #005d7c;
}
.mce-content-body h2.headline a,
article h2.headline a {
  position: relative;
  padding: 0 0 0 12px;
  display: block;
}
.mce-content-body h2.headline a:before,
article h2.headline a:before {
  position: absolute;
  top: 50%;
  left: 0;
  margin: -7px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
  line-height: 1;
}
.mce-content-body h2.headline a[target$="_blank"]:after,
article h2.headline a[target$="_blank"]:after {
  margin: -2px 5px 0;
  display: inline-block;
  vertical-align: middle;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #999;
  line-height: 1;
}
.mce-content-body h2.leads,
article h2.leads {
  margin: 40px 0 20px;
  padding: 0;
  font-size: 112.5%;
  background: none;
  border: none;
}
.mce-content-body h2.link,
article h2.link {
  clear: both;
  position: relative;
  margin: 40px 0 20px -20px;
  padding: 0;
}
.mce-content-body h2.link a,
article h2.link a {
  padding: 12px 20px;
  display: block;
  color: #0073b8;
}
.mce-content-body h2.link a:hover,
article h2.link a:hover {
  color: #fff;
  background-color: #0073b8;
}
.mce-content-body h2.bodys,
article h2.bodys {
  font-size: 100%;
  font-weight: bold;
  color: #333;
  margin: 0;
  padding: 0 0 12px;
  background: none;
  border: none;
  border-bottom: 1px solid #999;
}
@media screen and (max-width: 1024px) {
  .mce-content-body h2,
  article h2 {
    margin: 40px 0 20px;
  }
  .mce-content-body h2.section,
  article h2.section {
    margin: 40px 0 20px;
  }
  .mce-content-body h2.sectiontitle,
  article h2.sectiontitle {
    margin: 0 -20px 12px;
    padding: 0 20px 12px;
    font-size: 112.5%;
  }
  .mce-content-body h2.link,
  article h2.link {
    margin: 40px 0 20px;
  }
}
@media screen and (max-width: 735px) {
  .mce-content-body h2,
  article h2 {
    margin: 20px 0 10px;
    padding: 8px 12px;
  }
  .mce-content-body h2.section,
  article h2.section {
    margin: 20px 0 10px;
  }
}
.mce-content-body .titles + h2,
article .titles + h2 {
  margin-top: 0 !important;
}
.mce-content-body h3,
article h3 {
  position: relative;
  margin: 30px 0 20px;
  padding: 0 0 0 1.4em;
  font-size: 112.5%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.5;
}
.mce-content-body h3:before,
article h3:before {
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "";
  width: 1em;
  height: 1em;
  display: block;
  background-color: #0073b8;
}
.mce-content-body h3.headline,
article h3.headline {
  position: relative;
  margin: 20px 0 12px;
  padding: 0 0 0 1em;
  font-size: 100%;
  font-weight: bold;
}
.mce-content-body h3.headline:before,
article h3.headline:before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #ddd;
}
.mce-content-body h3.headline_border,
article h3.headline_border {
  position: relative;
  margin: 20px 0 8px;
  padding: 0 0 8px 1em;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h3.headline_border:before,
article h3.headline_border:before {
  position: absolute;
  top: 0.4em;
  left: 0;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #ddd;
}
.mce-content-body h3.headline_border a,
article h3.headline_border a {
  color: #000;
}
.mce-content-body h3.headline_border a:hover,
article h3.headline_border a:hover {
  color: #84bfd4;
}
.mce-content-body h3.leads,
article h3.leads {
  margin: 20px 0 12px;
  padding: 0;
  font-size: 100%;
  font-weight: bold;
}
.mce-content-body h3.leads:before,
article h3.leads:before {
  display: none;
}
.mce-content-body h3.leads_border,
article h3.leads_border {
  position: relative;
  margin: 0;
  padding: 0 0 5px 1.4em;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h3.leads_border:before,
article h3.leads_border:before {
  position: absolute;
  top: 0.5em;
  left: 4px;
  content: "";
  width: 0.7em;
  height: 0.7em;
  display: block;
  background-color: #005d7c;
}
.mce-content-body h3.leads_border a,
article h3.leads_border a {
  color: #000;
}
.mce-content-body h3.leads_border a:hover,
article h3.leads_border a:hover {
  color: #84bfd4;
}
.mce-content-body h3.question,
article h3.question {
  position: relative;
  margin: 12px 0;
  padding: 12px 20px 0 2.8em;
  font-size: 100%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.5;
  border-top: 1px solid #ddd;
  cursor: pointer;
}
.mce-content-body h3.question:before,
article h3.question:before {
  position: absolute;
  top: 8px;
  left: 3px;
  content: "Q";
  width: 2em;
  height: 2em;
  display: block;
  font-size: 1rem;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 2;
  display: block;
  background-color: #84bfd4;
  border-radius: 50%;
}
.mce-content-body h3.question:after,
article h3.question:after {
  position: absolute;
  top: 50%;
  right: 8px;
  margin: -3px 0 0;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-size: 12px;
  font-weight: 900;
  color: #999;
}
.mce-content-body h3.question.active:after,
article h3.question.active:after {
  content: "\f106";
}
.mce-content-body h3.bodys,
article h3.bodys {
  position: relative;
  margin: 20px 0 5px;
  padding: 8px 15px 10px 32px;
  font-size: 87.5%;
  color: #000;
  background-color: #eee;
  border-radius: 5px;
}
.mce-content-body h3.bodys:before,
article h3.bodys:before {
  position: absolute;
  top: 13px;
  left: 12px;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #005d7c;
}
.mce-content-body .answer,
article .answer {
  position: relative;
  padding: 10px 0 0 2.8em;
}
.mce-content-body .answer:before,
article .answer:before {
  position: absolute;
  top: 8px;
  left: 3px;
  content: "A";
  width: 2em;
  height: 2em;
  display: block;
  font-size: 1rem;
  font-family: "Oswald", sans-serif;
  font-weight: bold;
  color: #fff;
  text-align: center;
  line-height: 2;
  display: block;
  background-color: #6a9d51;
  border-radius: 50%;
}
.mce-content-body h4,
article h4 {
  margin: 20px 0 12px;
  padding: 0 0 12px;
  font-size: 87.5%;
  font-weight: bold;
  color: #333;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h4.headline,
article h4.headline {
  font-size: 81.25%;
  border-bottom: 1px solid #ddd;
}
.mce-content-body h4.leads,
article h4.leads {
  padding: 0;
  font-size: 81.25%;
  border: none;
}
.mce-content-body h4.eventtitle,
article h4.eventtitle {
  margin: -15px -20px 12px;
  padding: 0;
  font-size: 100%;
  border: none;
}
.mce-content-body h4.eventtitle a,
article h4.eventtitle a {
  position: relative;
  padding: 15px 20px;
  display: block;
  color: #005d7c;
  line-height: 1.4;
  border-bottom: 1px solid #0073b8;
}
.mce-content-body h4.eventtitle a:before,
article h4.eventtitle a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 5px;
  height: 5px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body h4.eventtitle a:hover,
article h4.eventtitle a:hover {
  background-color: #e2f2f7;
}
.mce-content-body h5,
article h5 {
  margin: 8px 0;
  font-size: 81.25%;
  color: #00603a;
  font-weight: bold;
}
.mce-content-body p,
article p {
  margin: 0 0 12px;
  font-size: 81.25%;
  line-height: 2;
}
.mce-content-body p.talk,
article p.talk {
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
}
.mce-content-body p.title,
article p.title {
  margin: 0 0 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.4;
}
.mce-content-body p.headline,
article p.headline {
  margin: 0 0 5px;
  font-size: 100%;
  font-weight: bold;
  color: #005d7c;
  line-height: 1.4;
}
.mce-content-body p.leads,
article p.leads {
  margin: 0 0 8px;
  font-weight: bold;
}
.mce-content-body p.bodys0,
article p.bodys0 {
  margin: 0;
}
.mce-content-body p.name,
article p.name {
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
  line-height: 1.5;
}
.mce-content-body p.name span,
article p.name span {
  font-size: 80%;
}
.mce-content-body p.notes,
article p.notes {
  margin: 0 0 8px;
  font-size: 75%;
  font-weight: 300;
  line-height: 1.6;
}
.mce-content-body p.notes + .notes,
article p.notes + .notes {
  margin: -8px 0 8px;
}
.mce-content-body p.caption,
.mce-content-body p.wp-caption-text,
.mce-content-body p.wp-caption,
article p.caption,
article p.wp-caption-text,
article p.wp-caption {
  margin: 5px 0 20px;
  font-size: 75%;
  line-height: 1.5;
  text-align: center;
}
.mce-content-body p.btn a,
article p.btn a {
  position: relative;
  padding: 6px 30px 6px 20px;
  display: inline-block;
  vertical-align: middle;
  font-weight: bold;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 2em;
}
.mce-content-body p.btn a:before,
article p.btn a:before {
  display: none;
}
.mce-content-body p.btn a:after,
article p.btn a:after {
  position: absolute;
  top: 50%;
  right: 12px;
  margin: -5px 0 0 !important;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 12px;
  line-height: 1;
}
.mce-content-body p.btn a:hover,
article p.btn a:hover {
  color: #333;
  background-color: #eee;
  text-decoration: none !important;
  box-shadow: 1px 1px 5px -3px rgba(0, 0, 0, 0.5) inset;
}
.mce-content-body ul,
article ul {
  margin: 0 0 12px 3px;
  overflow: hidden;
}
.mce-content-body ul li,
article ul li {
  position: relative;
  padding: 0 0 5px 14px;
  font-size: 81.25%;
  line-height: 1.6;
}
.mce-content-body ul li:before,
article ul li:before {
  -ms-transform: scale(0.5, 0.5);
  transform: scale(0.5, 0.5);
  position: absolute;
  top: 0.3em;
  left: 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
  line-height: 1;
}
.mce-content-body ul li p,
article ul li p {
  font-size: 1em;
}
.mce-content-body ul li ul,
article ul li ul {
  margin: 4px 0 3px !important;
}
.mce-content-body ul li ul li,
article ul li ul li {
  font-size: 1em;
  padding: 0 0 3px 14px;
}
.mce-content-body ul li ul li:before,
article ul li ul li:before {
  color: #999;
}
.mce-content-body ul li ol,
article ul li ol {
  margin: 4px 0 0;
}
.mce-content-body ul li ol li,
article ul li ol li {
  font-size: 1em;
  margin: 0 0 0 1.4em;
  padding: 0 0 2px;
}
.mce-content-body ul li ol li:before,
article ul li ol li:before {
  display: none;
}
.mce-content-body ul.llist,
article ul.llist {
  margin: 0 0 12px 8px;
}
.mce-content-body ul.llist li,
article ul.llist li {
  position: relative;
  padding: 0 0 5px 10px;
}
.mce-content-body ul.llist li:before,
article ul.llist li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 0.1em;
  left: 1px;
  content: "\f0da";
  font-size: 1em;
  color: #999;
  line-height: 1.6;
}
.mce-content-body ul.llist li .filesize,
article ul.llist li .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
.mce-content-body ul.llist li a,
article ul.llist li a {
  padding: 0;
}
.mce-content-body ul.llist li a:before,
article ul.llist li a:before {
  display: none;
}
.mce-content-body ul.llist li a[target$="_blank"]:after,
article ul.llist li a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body ul.llist li a[href$=".pdf"]:after,
article ul.llist li a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body ul.llist li a[href$=".doc"]:after,
.mce-content-body ul.llist li a[href$=".docx"]:after,
article ul.llist li a[href$=".doc"]:after,
article ul.llist li a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body ul.llist li a[href$=".xls"]:after,
.mce-content-body ul.llist li a[href$=".xlsx"]:after,
article ul.llist li a[href$=".xls"]:after,
article ul.llist li a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body ul.llist li a[href$=".zip"]:after,
article ul.llist li a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body ul.llist.block,
article ul.llist.block {
  margin: 0 0 12px;
}
.mce-content-body ul.llist.block li,
article ul.llist.block li {
  padding: 12px 15px;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.llist.block li:before,
article ul.llist.block li:before {
  top: 13px;
}
.mce-content-body ul.pagelist li,
article ul.pagelist li {
  padding: 0;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.pagelist li:before,
article ul.pagelist li:before {
  display: none;
}
.mce-content-body ul.pagelist li a,
article ul.pagelist li a {
  position: relative;
  padding: 12px 15px;
  display: block;
}
.mce-content-body ul.pagelist li a:after,
article ul.pagelist li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body ul.pagelist li a:hover,
article ul.pagelist li a:hover {
  background-color: #fff;
}
.mce-content-body ul.pagelistl li,
article ul.pagelistl li {
  padding: 0;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.pagelistl li:before,
article ul.pagelistl li:before {
  display: none;
}
.mce-content-body ul.pagelistl li a,
article ul.pagelistl li a {
  position: relative;
  padding: 12px 20px 12px 5px;
  display: block;
  display: flex;
  justify-content: flex-start;
}
.mce-content-body ul.pagelistl li a:after,
article ul.pagelistl li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.mce-content-body ul.pagelistl li a > strong,
article ul.pagelistl li a > strong {
  flex-basis: 10em;
}
.mce-content-body ul.pagelistl li a > span,
article ul.pagelistl li a > span {
  flex-basis: calc(100 / 1 * 1% - 10em);
}
.mce-content-body ul.pagelistl li a:hover,
article ul.pagelistl li a:hover {
  background-color: #fff;
}
@media screen and (max-width: 735px) {
  .mce-content-body ul.pagelistl li a,
  article ul.pagelistl li a {
    flex-wrap: wrap;
  }
  .mce-content-body ul.pagelistl li a > strong,
  .mce-content-body ul.pagelistl li a > span,
  article ul.pagelistl li a > strong,
  article ul.pagelistl li a > span {
    flex-basis: 100%;
  }
}
.mce-content-body ul.pagelistm li,
article ul.pagelistm li {
  padding: 0;
  border-bottom: 1px solid #ddd;
  font-size: 75%;
}
.mce-content-body ul.pagelistm li:before,
article ul.pagelistm li:before {
  display: none;
}
.mce-content-body ul.pagelistm li a,
article ul.pagelistm li a {
  position: relative;
  padding: 12px 20px 12px 5px;
  display: block;
}
.mce-content-body ul.pagelistm li a:after,
article ul.pagelistm li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.mce-content-body ul.pagelistm li a:hover,
article ul.pagelistm li a:hover {
  opacity: 0.7;
}
.mce-content-body ul.anker,
article ul.anker {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.mce-content-body ul.anker li,
article ul.anker li {
  margin: 0 5px 5px;
  padding: 0;
  font-size: 75%;
}
.mce-content-body ul.anker li:before,
article ul.anker li:before {
  display: none;
}
.mce-content-body ul.anker li a,
article ul.anker li a {
  padding: 5px 12px;
  display: block;
  color: #fff;
  background-color: #005d7c;
  border-radius: 15px;
}
.mce-content-body ul.anker li a:hover,
article ul.anker li a:hover {
  background-color: #84bfd4;
}
.mce-content-body ul.anker li a.current,
article ul.anker li a.current {
  color: #00603a;
  background-color: #fff;
}
.mce-content-body ul.indexlist,
article ul.indexlist {
  margin: 0;
}
.mce-content-body ul.indexlist li,
article ul.indexlist li {
  margin: 0;
  padding: 10px 20px 10px 25px;
  font-size: 87.5%;
  line-height: 1.6;
  border-bottom: 1px solid #eee;
}
.mce-content-body ul.indexlist li a:after,
article ul.indexlist li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.mce-content-body ul.indexlist li:before,
article ul.indexlist li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 16px;
  left: 8px;
  content: "";
  width: 0.8em;
  height: 0.8em;
  display: block;
  background-color: #0073b8;
}
.mce-content-body ul.indexlist li ul li,
article ul.indexlist li ul li {
  padding: 2px 0 2px 18px;
  font-size: 0.8rem;
  border: none;
}
.mce-content-body ul.indexlist li ul li:before,
article ul.indexlist li ul li:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  top: 8px;
  left: 5px;
  content: "";
  width: 0.6em;
  height: 0.6em;
  display: block;
  background-color: #ccc;
}
.mce-content-body ul.slist,
article ul.slist {
  margin: 0;
}
.mce-content-body ul.slist li,
article ul.slist li {
  position: relative;
  padding: 0;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.slist li:before,
article ul.slist li:before {
  display: none;
}
.mce-content-body ul.slist li a,
article ul.slist li a {
  padding: 7px 0 7px 20px;
  position: relative;
  display: block;
  font-size: 125%;
  font-weight: bold;
}
.mce-content-body ul.slist li a:before,
article ul.slist li a:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  position: absolute;
  top: 6px;
  left: 8px;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-size: 1em;
  color: #999;
  line-height: 1.6;
}
.mce-content-body ul.slist li span,
article ul.slist li span {
  font-size: 80%;
  font-weight: normal;
  line-height: 1.4;
}
.mce-content-body ul.mlist,
article ul.mlist {
  margin: 0;
}
.mce-content-body ul.mlist li,
article ul.mlist li {
  position: relative;
  padding: 0;
  font-size: 68.75%;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.mlist li:before,
article ul.mlist li:before {
  display: none;
}
.mce-content-body ul.mlist li a,
article ul.mlist li a {
  position: relative;
  padding: 4px 5px 5px 20px;
  display: block;
  color: #000;
}
.mce-content-body ul.mlist li a:before,
article ul.mlist li a:before {
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  position: absolute;
  top: 3px;
  left: 8px;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1em;
  color: #0073b8;
  line-height: 1.6;
}
.mce-content-body ul.mlist li a:hover,
article ul.mlist li a:hover {
  background-color: #eee;
}
.mce-content-body ul.tlist,
article ul.tlist {
  margin: 0;
}
.mce-content-body ul.tlist li,
article ul.tlist li {
  padding: 5px 0;
  font-size: 75%;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.mce-content-body ul.tlist li:before,
article ul.tlist li:before {
  display: none;
}
.mce-content-body h2.headline + ul.pagelist,
article h2.headline + ul.pagelist {
  margin-top: -12px;
}
.mce-content-body ol,
article ol {
  margin: 0 0 12px 14px;
}
.mce-content-body ol > li,
article ol > li {
  list-style-type: decimal;
  margin: 0 0 0 1em;
  padding: 0 0 5px;
  font-size: 81.25%;
  line-height: 1.7;
}
.mce-content-body ol > li ul,
article ol > li ul {
  margin: 5px 0 0;
}
.mce-content-body ol > li ul li,
article ol > li ul li {
  padding: 1px 0 1px 14px;
  font-size: 1em !important;
}
.mce-content-body ol > li ol,
article ol > li ol {
  margin-top: 5px;
  margin-bottom: 0;
}
.mce-content-body ol > li ol.paran,
article ol > li ol.paran {
  margin: 0;
}
.mce-content-body ol > li ol.paran li,
article ol > li ol.paran li {
  margin: 0 0 0 2.5em;
}
.mce-content-body ol > li ol li,
article ol > li ol li {
  padding: 1px 0 !important;
  font-size: 1em !important;
}
.mce-content-body ol > li p,
article ol > li p {
  font-size: 1em !important;
}
.mce-content-body ol > li p.notes,
article ol > li p.notes {
  font-size: 0.75rem !important;
}
.mce-content-body ol.num,
article ol.num {
  margin: 0 0 12px;
  counter-reset: li;
}
.mce-content-body ol.num > li,
article ol.num > li {
  position: relative;
  margin: 0 0 0 1.5em;
  padding: 0.3em 0 3px 8px;
  list-style-type: none;
  font-size: 81.25%;
  line-height: 1.6;
}
.mce-content-body ol.num > li > strong,
article ol.num > li > strong {
  font-size: 110%;
  color: #000;
}
.mce-content-body ol.num > li:before,
article ol.num > li:before {
  content: counter(li);
  counter-increment: li;
  position: absolute;
  top: 0.3em;
  left: -1.6em;
  width: 2em;
  height: 2em;
  color: #fff;
  font-size: 81.25%;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  border-radius: 1em;
  background-color: #0073b8;
}
.mce-content-body ol.num > li a,
article ol.num > li a {
  padding: 0;
}
.mce-content-body ol.num > li a:before,
article ol.num > li a:before {
  display: none;
}
.mce-content-body ol.num > li ul,
article ol.num > li ul {
  margin: 5px 0;
}
.mce-content-body ol.paran,
article ol.paran {
  margin: 0;
}
.mce-content-body ol.paran li,
article ol.paran li {
  margin: 0 0 0 2.5em;
  padding: 0 0 5px;
  list-style-type: none;
  text-indent: -2.5em;
  counter-increment: paren;
}
.mce-content-body ol.paran li:before,
article ol.paran li:before {
  content: "（" counter(paren) "）";
}
.mce-content-body ol.paran li ol,
article ol.paran li ol {
  counter-reset: li;
}
.mce-content-body ol.paran li ol.kana,
article ol.paran li ol.kana {
  list-style-type: katakana;
  margin: 0;
}
.mce-content-body ol.paran li ol.kana li,
article ol.paran li ol.kana li {
  text-indent: 0;
  list-style-type: katakana;
}
.mce-content-body ol.paran li ol.kana li:before,
article ol.paran li ol.kana li:before {
  display: none;
}
.mce-content-body ol .filesize,
article ol .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
.mce-content-body ol a:before,
article ol a:before {
  display: none;
}
.mce-content-body ol a[target$="_blank"]:after,
article ol a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body ol a[href$=".pdf"]:after,
article ol a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body ol a[href$=".doc"]:after,
.mce-content-body ol a[href$=".docx"]:after,
article ol a[href$=".doc"]:after,
article ol a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body ol a[href$=".xls"]:after,
.mce-content-body ol a[href$=".xlsx"]:after,
article ol a[href$=".xls"]:after,
article ol a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body ol a[href$=".zip"]:after,
article ol a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body table,
article table {
  margin: 0 0 12px;
  min-width: 40%;
}
.mce-content-body table th,
article table th {
  padding: 8px 12px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table th[scope="col"],
article table th[scope="col"] {
  color: #fff;
  background-color: #00a3da;
}
.mce-content-body table th[scope="row"],
article table th[scope="row"] {
  border-right: 1px solid #ddd;
}
.mce-content-body table th + th,
.mce-content-body table th + td,
article table th + th,
article table th + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table th.normal,
article table th.normal {
  white-space: normal !important;
}
.mce-content-body table th .small,
article table th .small {
  font-size: 80%;
}
.mce-content-body table td,
article table td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table td + td,
article table td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.datatbl,
article table.datatbl {
  width: 100%;
}
.mce-content-body table.datatbl th,
article table.datatbl th {
  padding: 5px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table.datatbl th[scope="col"],
article table.datatbl th[scope="col"] {
  color: #fff;
  background-color: #00a3da;
}
.mce-content-body table.datatbl th[scope="row"],
article table.datatbl th[scope="row"] {
  border-right: 1px solid #ddd;
}
.mce-content-body table.datatbl th + th,
.mce-content-body table.datatbl th + td,
article table.datatbl th + th,
article table.datatbl th + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.datatbl td,
article table.datatbl td {
  padding: 5px 8px;
  font-size: 81.25%;
  line-height: 1.6;
  text-align: right;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.datatbl td + td,
article table.datatbl td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.ltbl,
article table.ltbl {
  width: 100%;
}
.mce-content-body table.ltbl th,
article table.ltbl th {
  padding: 8px 20px 8px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border: none;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
  vertical-align: top;
}
.mce-content-body table.ltbl th[scope="col"],
article table.ltbl th[scope="col"] {
  color: #00947f;
  background: none;
}
.mce-content-body table.ltbl th[scope="row"],
article table.ltbl th[scope="row"] {
  width: 15%;
}
.mce-content-body table.ltbl td,
article table.ltbl td {
  padding: 8px 0;
  font-size: 81.25%;
  line-height: 1.6;
  border: none;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.listtbl,
article table.listtbl {
  width: 100%;
}
.mce-content-body table.listtbl th,
article table.listtbl th {
  padding: 5px 8px;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}
.mce-content-body table.listtbl th[scope="col"],
article table.listtbl th[scope="col"] {
  color: #690;
}
.mce-content-body table.listtbl th + th,
article table.listtbl th + th {
  border-left: 1px solid #ddd;
}
.mce-content-body table.listtbl td,
article table.listtbl td {
  padding: 5px 8px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.mce-content-body table.listtbl td th + td,
.mce-content-body table.listtbl td + td,
article table.listtbl td th + td,
article table.listtbl td + td {
  border-left: 1px solid #ddd;
}
.mce-content-body table.line tr:nth-child(even) th,
article table.line tr:nth-child(even) th {
  background-color: #f3f3f3;
}
.mce-content-body table.line tr:nth-child(even) td,
article table.line tr:nth-child(even) td {
  background-color: #f6f6f6;
}
.mce-content-body table th p,
.mce-content-body table td p,
article table th p,
article table td p {
  margin: 0;
  font-size: 1em;
  line-height: 1.6;
}
.mce-content-body table th p.notes,
.mce-content-body table td p.notes,
article table th p.notes,
article table td p.notes {
  margin: 0;
  font-size: 0.75rem;
}
.mce-content-body table th ol,
.mce-content-body table th ul,
.mce-content-body table th ul.llist,
.mce-content-body table td ol,
.mce-content-body table td ul,
.mce-content-body table td ul.llist,
article table th ol,
article table th ul,
article table th ul.llist,
article table td ol,
article table td ul,
article table td ul.llist {
  margin-top: 2px;
  margin-bottom: 0;
}
.mce-content-body table th ol li,
.mce-content-body table th ul li,
.mce-content-body table th ul.llist li,
.mce-content-body table td ol li,
.mce-content-body table td ul li,
.mce-content-body table td ul.llist li,
article table th ol li,
article table th ul li,
article table th ul.llist li,
article table td ol li,
article table td ul li,
article table td ul.llist li {
  padding-bottom: 2px;
  font-size: 1em;
}
.mce-content-body table th .border,
.mce-content-body table td .border,
article table th .border,
article table td .border {
  padding: 10px 15px;
}
.mce-content-body table .v_top,
article table .v_top {
  vertical-align: top;
}
.mce-content-body table.v_top,
article table.v_top {
  vertical-align: top;
}
.mce-content-body table.v_top th,
.mce-content-body table.v_top td,
article table.v_top th,
article table.v_top td {
  vertical-align: top;
}
.mce-content-body table .total th,
.mce-content-body table .total td,
article table .total th,
article table .total td {
  border-top: 3px double #ddd;
  background-color: #e2f2f7;
}
@media screen and (max-width: 735px) {
  .mce-content-body table.datatbl,
  .mce-content-body table.nowrap,
  article table.datatbl,
  article table.nowrap {
    display: block;
    overflow: auto;
  }
  .mce-content-body table.datatbl tbody,
  .mce-content-body table.nowrap tbody,
  article table.datatbl tbody,
  article table.nowrap tbody {
    display: block;
    overflow-x: scroll;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar,
  article table.datatbl tbody::-webkit-scrollbar,
  article table.nowrap tbody::-webkit-scrollbar {
    height: 10px;
    height: 1rem;
    background: #f1f1f1;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar-thumb,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar-thumb,
  article table.datatbl tbody::-webkit-scrollbar-thumb,
  article table.nowrap tbody::-webkit-scrollbar-thumb {
    border-radius: 12px;
    border-radius: 1.2rem;
    background: #a9a9aa;
  }
  .mce-content-body table.datatbl tbody::-webkit-scrollbar-thumb:hover,
  .mce-content-body table.nowrap tbody::-webkit-scrollbar-thumb:hover,
  article table.datatbl tbody::-webkit-scrollbar-thumb:hover,
  article table.nowrap tbody::-webkit-scrollbar-thumb:hover {
    background: #a9a9aa;
  }
  .mce-content-body table.datatbl tbody th,
  .mce-content-body table.nowrap tbody th,
  article table.datatbl tbody th,
  article table.nowrap tbody th {
    white-space: nowrap !important;
  }
  .mce-content-body table.datatbl tbody th.c30,
  .mce-content-body table.nowrap tbody th.c30,
  article table.datatbl tbody th.c30,
  article table.nowrap tbody th.c30 {
    white-space: normal !important;
    min-width: 200px;
  }
  .mce-content-body table.datatbl tbody th.c40,
  .mce-content-body table.nowrap tbody th.c40,
  article table.datatbl tbody th.c40,
  article table.nowrap tbody th.c40 {
    white-space: normal !important;
    min-width: 300px;
  }
  .mce-content-body table.datatbl tbody th.c45,
  .mce-content-body table.nowrap tbody th.c45,
  article table.datatbl tbody th.c45,
  article table.nowrap tbody th.c45 {
    white-space: normal !important;
    min-width: 350px;
  }
  .mce-content-body table.datatbl tbody td,
  .mce-content-body table.nowrap tbody td,
  article table.datatbl tbody td,
  article table.nowrap tbody td {
    white-space: nowrap;
  }
  .mce-content-body table.datatbl tbody td.c30,
  .mce-content-body table.nowrap tbody td.c30,
  article table.datatbl tbody td.c30,
  article table.nowrap tbody td.c30 {
    white-space: normal !important;
    min-width: 200px;
  }
  .mce-content-body table.datatbl tbody td.c40,
  .mce-content-body table.nowrap tbody td.c40,
  article table.datatbl tbody td.c40,
  article table.nowrap tbody td.c40 {
    white-space: normal;
    min-width: 300px;
  }
  .mce-content-body table.datatbl tbody td.c45,
  .mce-content-body table.nowrap tbody td.c45,
  article table.datatbl tbody td.c45,
  article table.nowrap tbody td.c45 {
    white-space: normal;
    min-width: 350px;
  }
}
.mce-content-body dl:not(.wp-caption, .gallery-item) dt,
article dl:not(.wp-caption, .gallery-item) dt {
  width: 6em;
  font-size: 81.25%;
  font-weight: 500;
  line-height: 1.5;
}
.mce-content-body dl:not(.wp-caption, .gallery-item) dd,
article dl:not(.wp-caption, .gallery-item) dd {
  margin: -1.5em 0 0 6em;
  font-size: 81.25%;
  line-height: 1.5;
}
.mce-content-body .wp-caption-dd,
article .wp-caption-dd {
  padding: 10px 0 20px;
  font-size: 75%;
  line-height: 1.5;
  text-align: center;
}
.mce-content-body dl.eventdata dt,
article dl.eventdata dt {
  width: 4em;
  font-size: 75%;
  font-weight: 500;
  color: #005d7c;
  line-height: 1.5;
}
.mce-content-body dl.eventdata dd,
article dl.eventdata dd {
  margin: -1.5em 0 0 4em;
  font-size: 75%;
  line-height: 1.5;
}
.mce-content-body p a:before,
.mce-content-body th a:before,
.mce-content-body td a:before,
article p a:before,
article th a:before,
article td a:before {
  margin: 0 3px 0 0;
  content: "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body p a[target$="_blank"]:after,
.mce-content-body th a[target$="_blank"]:after,
.mce-content-body td a[target$="_blank"]:after,
article p a[target$="_blank"]:after,
article th a[target$="_blank"]:after,
article td a[target$="_blank"]:after {
  margin: 0 3px;
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
.mce-content-body p a[href$=".pdf"]:after,
.mce-content-body th a[href$=".pdf"]:after,
.mce-content-body td a[href$=".pdf"]:after,
article p a[href$=".pdf"]:after,
article th a[href$=".pdf"]:after,
article td a[href$=".pdf"]:after {
  margin: 0 0 0 3px;
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
.mce-content-body p a[href$=".doc"]:after,
.mce-content-body p a[href$=".docx"]:after,
.mce-content-body th a[href$=".doc"]:after,
.mce-content-body th a[href$=".docx"]:after,
.mce-content-body td a[href$=".doc"]:after,
.mce-content-body td a[href$=".docx"]:after,
article p a[href$=".doc"]:after,
article p a[href$=".docx"]:after,
article th a[href$=".doc"]:after,
article th a[href$=".docx"]:after,
article td a[href$=".doc"]:after,
article td a[href$=".docx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
.mce-content-body p a[href$=".xls"]:after,
.mce-content-body p a[href$=".xlsx"]:after,
.mce-content-body th a[href$=".xls"]:after,
.mce-content-body th a[href$=".xlsx"]:after,
.mce-content-body td a[href$=".xls"]:after,
.mce-content-body td a[href$=".xlsx"]:after,
article p a[href$=".xls"]:after,
article p a[href$=".xlsx"]:after,
article th a[href$=".xls"]:after,
article th a[href$=".xlsx"]:after,
article td a[href$=".xls"]:after,
article td a[href$=".xlsx"]:after {
  margin: 0 0 0 3px;
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
.mce-content-body p a[href$=".zip"]:after,
.mce-content-body th a[href$=".zip"]:after,
.mce-content-body td a[href$=".zip"]:after,
article p a[href$=".zip"]:after,
article th a[href$=".zip"]:after,
article td a[href$=".zip"]:after {
  margin: 0 0 0 3px;
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
.mce-content-body p .filesize,
.mce-content-body th .filesize,
.mce-content-body td .filesize,
article p .filesize,
article th .filesize,
article td .filesize {
  font-size: 90%;
  font-weight: normal;
  color: #444;
}
aside {
  margin: 0 0 40px;
}
aside h2 {
  padding: 5px 0;
  background-image: linear-gradient(
    -45deg,
    #ffffff 25%,
    #4dc0e2 25%,
    #4dc0e2 50%,
    #ffffff 50%,
    #ffffff 75%,
    #4dc0e2 75%,
    #4dc0e2
  );
  background-size: 6px 6px;
}
aside h2 a {
  padding: 40px 10px 30px;
  display: block;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: #fff;
}
aside h2 a:hover {
  opacity: 0.7;
}
aside h2 a span {
  display: block;
  text-align: center;
}
aside h2 a span.ja {
  margin: 0 0 10px;
  font-size: 150%;
  font-weight: 300;
  color: #0073b8;
  line-height: 1.3;
}
aside h2 a span.en {
  font-family: "Oswald", sans-serif;
  font-size: 68.75%;
  color: #666;
  line-height: 1.3;
}
aside h3 {
  padding: 12px 20px;
  font-size: 81.25%;
  font-weight: bold;
  color: #0073b8;
  background-color: #fff;
  border-top: 3px solid #f9f9f9;
  border-bottom: 1px solid #eee;
}
aside ul {
  background-color: #fff;
}
aside ul .parent > a {
  font-weight: bold;
}
aside ul .parent > a:before {
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
aside ul .current-cat a,
aside ul a.current {
  color: #fff !important;
  background-color: #005d7c;
}
aside ul .current-cat a:before,
aside ul a.current:before {
  display: none;
}
aside ul a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
aside ul a[target$="_blank"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #999;
}
aside ul a[target$="_blank"]:hover:before {
  color: #fff;
}
aside ul a[href$=".pdf"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c1";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c00;
}
aside ul a[href$=".pdf"]:hover:before {
  color: #fff;
}
aside ul a[href$=".doc"]:before,
aside ul a[href$=".docx"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c2";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0079a1;
}
aside ul a[href$=".doc"]:hover:before,
aside ul a[href$=".docx"]:hover:before {
  color: #fff;
}
aside ul a[href$=".xls"]:before,
aside ul a[href$=".xlsx"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c3";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #15a648;
}
aside ul a[href$=".xls"]:hover:before,
aside ul a[href$=".xlsx"]:hover:before {
  color: #fff;
}
aside ul a[href$=".zip"]:before {
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  border: none;
  -ms-transform: rotate(0);
  transform: rotate(0);
  -webkit-transform: rotate(0);
  transform: rotate(0);
  content: "\f1c6";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #444;
}
aside ul a[href$=".zip"]:hover:before {
  color: #fff;
}
html.mac aside ul li a:after,
html.win aside ul li a:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 0px;
  height: 100%;
  display: block;
  background-color: #005d7c;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac aside ul li a:hover,
html.win aside ul li a:hover {
  color: #fff !important;
}
html.mac aside ul li a:hover:after,
html.win aside ul li a:hover:after {
  width: 100%;
}
aside ul > li > a {
  position: relative;
  z-index: 2;
  padding: 14px 30px 14px 20px;
  display: block;
  font-size: 81.25%;
  color: #000 !important;
  line-height: 1.4;
  border-bottom: 1px solid #eee;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
aside ul > li > ul li a {
  position: relative;
  z-index: 2;
  padding: 10px 20px 10px 28px;
  display: block;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
aside ul > li > ul li a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 3px;
  height: 3px;
  margin: -3px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
aside ul > li > ul li > ul {
  padding: 0 0 5px;
}
aside ul > li > ul li > ul li a {
  position: relative;
  z-index: 2;
  padding: 6px 20px 6px 36px;
  display: block;
  font-size: 68.75%;
  color: #000;
  line-height: 1.4;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.newslist li {
  padding: 0 !important;
  font-size: 1em;
}
.newslist li:before {
  display: none;
}
.newslist li:before {
  display: none;
}
.newslist li a {
  padding: 12px 20px;
  font-size: 0.9rem;
  line-height: 1.6;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
}
.newslist li a span.entrydate {
  flex-basis: 10em;
  color: #555;
}
.newslist li a span.caticon {
  flex-basis: 6.5em;
  margin: 2px 1em 0 0;
  padding: 3px 4px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  color: #fff;
  line-height: 1;
  background-color: #0073b8;
  border-radius: 3px;
}
.newslist li a span.caticon:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.newslist li a span.entrytitle {
  flex-basis: calc(100% - 17em);
}
.newslist li a span.entrytitle.noicon {
  flex-basis: calc(100% - 11em);
}
.newslist li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 735px) {
  .newslist li a {
    padding: 12px 20px;
    flex-wrap: wrap;
  }
  .newslist li a span.entrydate {
    order: 2;
  }
  .newslist li a span.caticon {
    order: 1;
  }
  .newslist li a span.entrytitle {
    order: 3;
    flex-basis: 100%;
  }
  .newslist li a span.entrytitle.noicon {
    flex-basis: 100%;
  }
}
.eventlist li {
  padding: 0;
  font-size: 1em;
}
.eventlist li:before {
  display: none;
}
.eventlist li a {
  padding: 12px 20px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid #eee;
}
.eventlist li a .eventimg {
  flex-basis: 100px;
}
.eventlist li a .eventimg + .txt {
  margin: 0 0 0 20px;
  flex-basis: calc(100% - 120px);
}
.eventlist li a .eventimg + .txt .cat span {
  margin: 12px 0 5px;
}
.eventlist li a .txt .cat span {
  margin: 0 0 5px;
  padding: 3px 5px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 81.25%;
  color: #fff;
  line-height: 1.2;
}
.eventlist li a .txt h3 {
  margin: 0 0 12px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span {
  margin: 5px 0 0;
  display: block;
}
.eventlist li a .txt > span.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist li a .txt > span.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist li a .txt > span.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist li a:hover {
  background-color: #e2f2f7;
}
.eventlist_large li {
  margin: 0 0 10px;
  padding: 0;
  font-size: 1em;
}
.eventlist_large li:before {
  display: none;
}
.eventlist_large li a {
  padding: 15px 20px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border: 1px solid #0073b8;
  border-radius: 5px;
}
.eventlist_large li a .eventimg {
  flex-basis: 140px;
}
.eventlist_large li a .eventimg + .txt {
  margin: 0 0 0 20px;
  flex-basis: calc(100% - 160px);
}
.eventlist_large li a .eventimg + .txt .cat span {
  margin: 12px 0 5px;
}
.eventlist_large li a .txt {
  flex-basis: 100%;
  overflow: hidden;
}
.eventlist_large li a .txt .cat {
  margin: 0;
}
.eventlist_large li a .txt .cat span {
  margin: 0 0 5px;
  padding: 3px 5px 4px;
  display: inline-block;
  vertical-align: middle;
  font-size: 87.5%;
  color: #fff;
  line-height: 1.2;
}
.eventlist_large li a .txt h3 {
  margin: -15px -20px 12px;
  padding: 15px 20px 12px;
  font-size: 112.5%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
}
.eventlist_large li a .txt h3:before {
  display: none;
}
.eventlist_large li a .txt > span {
  margin: 5px 0 0;
  display: block;
}
.eventlist_large li a .txt > span.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 81.25%;
  color: #000;
  line-height: 1.4;
}
.eventlist_large li a .txt > span.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist_large li a .txt > span.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  color: #000;
  line-height: 1.4;
}
.eventlist_large li a .txt > span.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #4dc0e2;
}
.eventlist_large li a:hover {
  background-color: #e2f2f7;
}
.eventlist_index {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -20px;
}
.eventlist_index li {
  margin: 0 0 30px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.eventlist_index li:before {
  display: none;
}
.eventlist_index li a {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.eventlist_index li a .datetitle {
  background-color: #3499d5;
}
.eventlist_index li a .eventtitle p.cat {
  color: #3499d5;
}
.eventlist_index li a.medical .datetitle {
  background-color: #3499d5;
}
.eventlist_index li a.medical .eventtitle p.cat {
  color: #3499d5;
}
.eventlist_index li a.general .datetitle {
  background-color: #c8930f;
}
.eventlist_index li a.general .eventtitle p.cat {
  color: #c8930f;
}
.eventlist_index li a.internal .datetitle {
  background-color: #027c4b;
}
.eventlist_index li a.internal .eventtitle p.cat {
  color: #027c4b;
}
.eventlist_index li a .datetitle {
  flex-basis: 150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
}
.eventlist_index li a .datetitle .mmdd {
  margin: auto auto 0;
  padding: 17px 8px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #fff;
  line-height: 1.3;
}
.eventlist_index li a .datetitle .mmdd .num {
  margin: 0 1px -3px 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: bottom;
  font-family: "Oswald", sans-serif;
  font-size: 260%;
  color: #fff;
  line-height: 1;
}
.eventlist_index li a .datetitle .mmdd .txt {
  display: inline-block;
  vertical-align: middle;
  vertical-align: bottom;
  font-size: 100%;
  font-size: 1rem;
  color: #fff;
  line-height: 1;
}
.eventlist_index li a .datetitle .yyyy {
  width: 100%;
  margin: auto 0 0;
  padding: 12px 0;
  font-family: "Oswald", sans-serif;
  font-size: 100%;
  color: #fff;
  text-align: center;
  letter-spacing: 0.1em;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.eventlist_index li a .eventtitle {
  margin: 0 15px 0 20px;
  flex-basis: calc(100 / 1 * 1% - 185px);
  display: flex;
  flex-direction: column;
}
.eventlist_index li a .eventtitle h3 {
  margin: 0 0 8px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
  line-height: 1.4;
}
.eventlist_index li a .eventtitle p {
  color: #000;
}
.eventlist_index li a .eventtitle p.cat {
  margin: 15px 0 8px;
  font-size: 81.25%;
  font-weight: bold;
}
.eventlist_index li a .eventtitle p.catname {
  margin: 0 0 5px;
  font-size: 81.25%;
  color: #00947f;
}
.eventlist_index li a .eventtitle p.eventpickupdate {
  margin: 0 0 8px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventdate {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventdate:before {
  position: absolute;
  top: 1px;
  left: 0;
  content: "\f017";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.eventlist_index li a .eventtitle p.eventdate.large {
  font-size: 87.5%;
}
.eventlist_index li a .eventtitle p.eventplace {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 75%;
  line-height: 1.5;
}
.eventlist_index li a .eventtitle p.eventplace:before {
  position: absolute;
  top: 1px;
  left: 2px;
  content: "\f3c5";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.eventlist_index li a .eventtitle p.eventplace.large {
  font-size: 87.5%;
}
.eventlist_index li a .eventtitle p.facility {
  margin: 8px 0;
  font-size: 75%;
  color: #666;
}
.eventlist_index li a .eventtitle p.topage {
  position: relative;
  margin: auto 0 15px auto;
  padding: 0 12px 0 0;
  font-size: 75%;
}
.eventlist_index li a .eventtitle p.topage:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 10px;
  height: 10px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.eventlist_index li a .eventtitle p.eventdate,
.eventlist_index li a .eventtitle p.eventplace,
.eventlist_index li a .eventtitle p.facility {
  display: none;
}
.eventlist_index li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1199px) {
  .eventlist_index li a .datetitle {
    flex-basis: 130px;
  }
  .eventlist_index li a .datetitle .mmdd .num {
    font-size: 250%;
  }
  .eventlist_index li a .datetitle .mmdd .txt {
    font-size: 100%;
  }
  .eventlist_index li a .datetitle .yyyy {
    font-size: 100%;
  }
  .eventlist_index li a .eventtitle {
    flex-basis: calc(100 / 1 * 1% - 165px);
  }
  .eventlist_index li a .eventtitle h3 {
    font-size: 100%;
  }
  .eventlist_index li a .eventtitle p.cat {
    font-size: 81.25%;
  }
  .eventlist_index li a .eventtitle p.topage {
    font-size: 81.25%;
  }
}
@media screen and (max-width: 735px) {
  .eventlist_index {
    margin: 0;
    padding: 0;
  }
  .eventlist_index li {
    margin: 0 10px 10px;
    flex-basis: 100%;
  }
  .eventlist_index li a .datetitle {
    flex-basis: 100px;
  }
  .eventlist_index li a .datetitle .mmdd {
    padding: 10px 0;
  }
  .eventlist_index li a .datetitle .mmdd .num {
    margin: 0 1px 0px 0;
    font-size: 125%;
  }
  .eventlist_index li a .datetitle .mmdd .txt {
    font-size: 75%;
  }
  .eventlist_index li a .datetitle .yyyy {
    padding: 6px 0;
    font-size: 75%;
  }
  .eventlist_index li a .eventtitle {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 1 * 1% - 110px);
  }
  .eventlist_index li a .eventtitle h3 {
    font-size: 87.5%;
    font-weight: 500;
  }
  .eventlist_index li a .eventtitle p.cat {
    margin: 5px 0;
    font-size: 68.75%;
  }
  .eventlist_index li a .eventtitle p.topage {
    display: none;
  }
}
.eventlist_index_beta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.eventlist_index_beta li {
  margin: 0 0 20px;
  padding: 0 15px;
  flex-basis: calc(100 / 4 * 1% - 31px);
  border-left: 1px solid #ddd;
}
.eventlist_index_beta li:before {
  display: none;
}
.eventlist_index_beta li a {
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.eventlist_index_beta li a.medical p.cat {
  color: #3499d5;
}
.eventlist_index_beta li a.general p.cat {
  color: #c8930f;
}
.eventlist_index_beta li a.internal p.cat {
  color: #027c4b;
}
.eventlist_index_beta li a p {
  line-height: 1.2;
}
.eventlist_index_beta li a p.eventdate {
  margin: 0 0 5px;
  font-size: 87.5%;
  color: #000;
}
.eventlist_index_beta li a p.cat {
  margin: 0 0 8px;
  font-size: 75%;
}
.eventlist_index_beta li a p.tolink {
  margin: 12px 0 0;
  text-align: right;
  font-size: 68.75%;
  font-weight: 400;
  color: #000;
}
.eventlist_index_beta li a p.tolink:after {
  content: "";
  width: 6px;
  height: 6px;
  margin: -2.2px 0 0 5px;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  transform: rotate(45deg);
}
.eventlist_index_beta li a h3 {
  font-size: 87.5%;
  color: #000;
  line-height: 1.5;
}
.eventlist_index_beta li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1199px) {
  .eventlist_index_beta li {
    padding: 0;
    flex-basis: calc(100 / 4 * 1% - 1px);
  }
  .eventlist_index_beta li a .datetitle {
    flex-basis: 130px;
  }
  .eventlist_index_beta li a .datetitle .mmdd .num {
    font-size: 250%;
  }
  .eventlist_index_beta li a .datetitle .mmdd .txt {
    font-size: 100%;
  }
  .eventlist_index_beta li a .datetitle .yyyy {
    font-size: 100%;
  }
  .eventlist_index_beta li a .eventtitle {
    flex-basis: calc(100 / 1 * 1% - 165px);
  }
  .eventlist_index_beta li a .eventtitle h3 {
    font-size: 100%;
  }
  .eventlist_index_beta li a .eventtitle p.cat {
    font-size: 81.25%;
  }
  .eventlist_index_beta li a .eventtitle p.topage {
    font-size: 81.25%;
  }
}
@media screen and (max-width: 735px) {
  .eventlist_index_beta {
    margin: 0;
    padding: 0;
  }
  .eventlist_index_beta li {
    margin: 0;
    padding: 0;
    border-left: none;
    border-top: 1px solid #ddd;
    flex-basis: 100%;
  }
  .eventlist_index_beta li a {
    padding: 20px 20px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
  .eventlist_index_beta li a p.eventdate {
    order: 2;
    flex-basis: 100%;
    margin: 0 0 10px;
    font-size: 87.5%;
    font-weight: 500;
    color: #333;
  }
  .eventlist_index_beta li a p.cat {
    order: 1;
    flex-basis: 100%;
    margin: 0 0 5px;
    font-size: 75%;
  }
  .eventlist_index_beta li a p.tolink {
    display: none;
  }
  .eventlist_index_beta li a h3 {
    order: 3;
    font-size: 87.5%;
    font-weight: bold;
    color: #333;
  }
}
.newslist_index {
  margin: 0;
  padding: 0;
}
.newslist_index li {
  padding: 0;
}
.newslist_index li:before {
  display: none;
}
.newslist_index li a {
  padding: 15px 8px 12px;
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  border-bottom: 1px solid #eee;
  -webkit-transition: all 0.4s ease 0s;
  -moz-transition: all 0.4s ease 0s;
  -ms-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
}
.newslist_index li a span.entrytitle {
  margin: 2px 0 0;
  flex-basis: 100%;
  font-size: 87.5%;
  font-weight: 400;
  color: #000;
  line-height: 1.5;
}
.newsbox .newslist_index li a span.entrytitle {
  margin: 0;
  flex-basis: calc(100% - 11em);
}
.newslist_index li a span.entrydate {
  margin: -1px 5px 0 0;
  font-size: 81.25%;
  font-weight: 400;
  color: #333;
}
.newsbox .newslist_index li a span.entrydate {
  margin: 4px 0 0;
  flex-basis: 10em;
}
.newslist_index li a span.caticon {
  flex-basis: 6.5em;
  margin: -3px 0.5em 0 0;
  padding: 1px 4px 3px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  color: #fff;
  line-height: 1.4;
  background-color: #5493a8;
  border-radius: 3px;
}
.newslist_index li a span.caticon:before {
  margin: 0 4px 0 0;
  content: "\f111";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
}
.newsbox .newslist_index li a span.caticon {
  display: none;
}
.newslist_index li a:hover {
  background-color: #e2f2f7;
}
@media screen and (max-width: 1025px) {
  .newslist_index li a {
    padding: 13px 8px 12px;
  }
  .newslist_index li a span.entrytitle {
    font-size: 81.25%;
  }
  .newsbox .newslist_index li a span.entrydate {
    margin: 2px 0 0;
    flex-basis: 10em;
  }
  .newslist_index li a span.caticon {
    flex-basis: 6.5em;
    margin: -3px 0.5em 0 0;
    padding: 2px 4px;
    display: inline-block;
    vertical-align: middle;
    font-size: 0.7rem;
    color: #fff;
    line-height: 1.4;
    background-color: #5493a8;
    border-radius: 3px;
  }
  .newslist_index li a span.caticon:before {
    margin: 0 4px 0 0;
    content: "\f111";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: rgba(255, 255, 255, 0.5);
  }
}
@media screen and (max-width: 735px) {
  .newslist_index li a {
    padding: 20px 20px 17px;
  }
  .newslist_index li a span.entrytitle {
    margin: 2px 0 0;
    font-size: 87.5%;
    font-weight: bold;
    color: #333;
  }
  .newsbox .newslist_index li a span.entrytitle {
    margin: 0;
    flex-basis: 100%;
  }
  .newslist_index li a span.entrydate {
    font-size: 75%;
  }
  .newslist_index li a span.caticon {
    font-size: 0.65rem;
  }
}
.newstitle h2 {
  margin: 0;
  padding: 0 0 12px;
  font-family: "Noto Serif JP", serif;
  font-size: 112.5%;
  font-weight: bold;
  color: #0073b8;
  border: none;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  .newstitle h2 {
    padding: 20px;
  }
}
.listbtn {
  margin: 20px 0 0;
  text-align: center;
}
.listbtn a {
  padding: 10px 20px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  color: #000;
  border: 1px solid #ddd;
  border-radius: 20px;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.listbtn a:hover {
  color: #0073b8;
  border: 1px solid #0073b8;
}
@media screen and (max-width: 735px) {
  .listbtn {
    margin: 20px 0;
  }
}
.newslist_index,
.newslist,
.eventlist {
  overflow-y: scroll;
}
body#index .newslist_index,
body#index .newslist,
body#index .eventlist {
  overflow-y: auto;
}
p.long {
  display: none;
  position: relative;
  margin: 12px 0 0;
  text-align: center;
  cursor: pointer;
}
p.long a {
  pointer-events: none;
  position: relative;
  z-index: 2;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 62.5%;
  color: #005d7c;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 10px;
}
p.long a:before {
  margin: 0 5px 0 0;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
p.long:after {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 0;
  content: "";
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
}
p.long:hover a {
  background-color: #eee;
}
p.short {
  display: none;
  position: relative;
  margin: 12px 0 0;
  text-align: center;
  cursor: pointer;
}
p.short a {
  pointer-events: none;
  position: relative;
  z-index: 2;
  padding: 5px 8px;
  display: inline-block;
  vertical-align: middle;
  font-size: 62.5%;
  color: #00603a;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 10px;
}
p.short a:before {
  margin: 0 5px 0 0;
  content: "\f106";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
p.short:after {
  position: absolute;
  z-index: 1;
  top: 10px;
  left: 0;
  content: "";
  width: 100%;
  display: block;
  border-bottom: 1px solid #ddd;
}
p.short:hover a {
  background-color: #eee;
}
#titles {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: calc(100% - 320px - 20px);
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
@media screen and (max-width: 1400px) {
  #titles {
    width: calc(100% - 240px - 20px);
  }
}
@media screen and (max-width: 735px) {
  #titles {
    position: static;
    width: 100%;
    display: block;
  }
}
#topimg2 {
  position: relative;
  min-height: 500px;
  height: 100vh;
  height: 70vh;
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
#topimg2 #topimgmask {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: rgba(255, 255, 255, 0);
}
#topimg2 #topimgmask.active {
  background-color: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 735px) {
  #topimg2 {
    min-height: 1px;
    align-items: flex-end;
    justify-content: flex-end;
  }
  #topimg2 #titles {
    margin: auto 10px 10px;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: center;
  }
}
#titles2 {
  position: absolute;
  bottom: 10px;
  right: 10px;
}
@media screen and (max-width: 735px) {
  #titles2 {
    right: 0;
    width: 100%;
  }
}
#titles2 #title {
  max-width: 400px;
  box-sizing: border-box;
  margin: 0 auto;
}
#titles2 #title .searchbox {
  margin: 0;
}
#titles2 #title .searchbox .gsearch {
  position: relative;
}
#titles2 #title .searchbox .gsearch:before {
  position: absolute;
  top: 6px;
  left: 10px;
  font-size: 14px;
}
@media screen and (max-width: 735px) {
  #titles2 #title .searchbox .gsearch:before {
    top: 0.5rem;
    font-size: 16px;
  }
}
#titles2 #title .searchbox .gsearch :-ms-input-placeholder {
  color: #fff !important;
}
#titles2 #title .searchbox .gsearch input::placeholder {
  color: #fff !important;
}
#titles2 #title .searchbox .gsearch input {
  color: #444;
  line-height: 1 !important;
  height: 1.3rem !important;
  background: none !important;
}
@media screen and (max-width: 735px) {
  #titles2 #title .searchbox .gsearch input {
    height: 1rem !important;
  }
}
#titles2 #title .searchbox .gsearch .gsib_a {
  padding: 0 0 0 26px !important;
  border: none !important;
}
#titles2 #title .searchbox .gsearch .gsib_b {
  display: none;
}
#titles2 #title .searchbox .gsearch .gsc-input {
  margin: 0 !important;
  border: none !important;
}
#titles2 #title .topnotice {
  margin: 0;
  padding: 0;
  border-top: none;
}
#titles2 #title .topnotice li a span.entrydate {
  margin: 2px 0;
}
#titles2 #title .topnotice li a span.entrytitle {
  font-size: 75%;
}
@media screen and (max-width: 735px) {
  #titles2 #title .topnotice {
    margin: 0;
    padding: 15px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    box-sizing: border-box;
    border-radius: 15px;
    border: none;
  }
}
@media screen and (max-width: 735px) {
  #titles2 #title {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
  }
}
#titles2 .message {
  margin: 10px 0 0;
  padding: 0;
  background: none;
}
#titles2 .message p {
  font-size: 75%;
  line-height: 1.4;
}
#titles2 .message p + p {
  margin: 5px 0 0;
}
@media screen and (max-width: 735px) {
  #titles2 .message {
    width: 100%;
    margin: 5px 0 0;
    padding: 15px 20px;
    background-color: rgba(255, 255, 255, 0.8);
  }
  #titles2 .message p {
    font-size: 68.75%;
  }
}
#titles3 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(100% - 320px);
  height: calc(100vh - 90px);
  bottom: auto;
  top: 90px;
  height: calc(70vh - 90px);
  display: flex;
  align-items: center;
  justify-content: center;
}
#titles3 #title2 {
  position: relative;
  z-index: 2;
  max-width: 320px;
  margin-top: 60%;
  margin-bottom: 40%;
  opacity: 0.5;
  opacity: 1;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#titles3 #title2 #searchbox,
#titles3 #title2 #tags {
  opacity: 0.5;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#titles3 #title2:hover {
  opacity: 1;
}
#titles3 #title2:hover #searchbox,
#titles3 #title2:hover #tags {
  opacity: 1;
}
@media screen and (max-width: 1400px) {
  #titles3 {
    width: calc(100% - 240px);
  }
}
@media screen and (max-width: 1025px) {
  #titles3 {
    width: calc(100% - 200px);
    height: calc(100vh - 70px);
    top: 70px;
    height: calc(70vh - 70px);
  }
}
@media screen and (max-width: 735px) {
  #titles3 {
    width: 100%;
    top: 60px;
  }
}
#topnotice {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  height: auto;
  margin: 40px auto 0;
  padding: 0 40px;
  border-radius: 4px;
  overflow: hidden;
}
#topnotice h2 {
  flex-basis: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 81.25%;
  font-weight: bold;
  color: #fff;
  background-color: #c00;
}
#topnotice .topnotice {
  flex-basis: calc(100 / 1 * 1% - 10em);
  padding: 8px 20px;
  border: 1px solid #c00;
  border-radius: 0 4px 4px 0;
  background-color: #fff;
}
#topnotice .topnotice li a {
  line-height: 1.3;
  padding: 4px 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}
#topnotice .topnotice li a span.entrydate {
  flex-basis: 9em;
  font-size: 81.25%;
  color: #666;
}
#topnotice .topnotice li a span.entrytitle {
  flex-basis: calc(100 / 1 * 1% - 9em);
  font-size: 81.25%;
  color: #000;
}
#topnotice .topnotice li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 735px) {
  #topnotice {
    flex-wrap: wrap;
    margin: 20px 20px 0;
    padding: 0;
    border-radius: 5px;
    overflow: hidden;
  }
  #topnotice h2 {
    flex-basis: 100%;
    font-size: 81.25%;
    padding: 6px 12px;
    justify-content: flex-start;
  }
  #topnotice .topnotice {
    border-radius: 0 0 5px 5px;
    flex-basis: 100%;
    padding: 6px 12px 8px;
  }
  #topnotice .topnotice li a {
    flex-wrap: wrap;
  }
  #topnotice .topnotice li a span.entrydate {
    flex-basis: 100%;
    margin: 0 0 3px;
    font-size: 75%;
  }
  #topnotice .topnotice li a span.entrytitle {
    flex-basis: 100%;
    font-size: 81.25%;
  }
}
.toplinkbtn {
  margin: 0 0 10px;
  text-align: center;
}
.toplinkbtn a {
  position: relative;
  padding: 12px 35px;
  display: inline-block;
  vertical-align: middle;
  font-size: 112.5%;
  font-weight: 500;
  color: #fff;
  border: 1px solid #ddd;
  background-color: #f90;
  border-radius: 25px;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.toplinkbtn a:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 8px;
  height: 8px;
  margin: -5px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.toplinkbtn a:hover {
  color: #fff;
  background-color: #0073b8;
  transform: translateY(2px);
}
.toplinkbtn a:hover:before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#title {
  position: relative;
  z-index: 2;
  flex-basis: calc(100 / 2 * 1% - 20px);
  margin: 0 10px;
  padding: 10px 20px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  box-sizing: border-box;
  border-radius: 15px;
}
@media screen and (max-width: 735px) {
  #title {
    flex-basis: calc(100 / 1 * 1% - 20px);
    margin: 10px;
    padding: 0;
    background: none;
  }
  #title #searchbox,
  #title #tags {
    display: none;
  }
}
.message {
  position: relative;
  z-index: 105;
  flex-basis: calc(100 / 2 * 1% - 20px);
  margin: 0 10px;
  padding: 20px;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 15px;
}
.message p {
  font-family: "Noto Serif JP", serif;
  font-size: 81.25%;
  line-height: 1.5;
}
.message p + p {
  margin: 5px 0 0;
}
@media screen and (max-width: 735px) {
  .message {
    flex-basis: calc(100 / 1 * 1% - 20px);
    margin: 10px;
  }
  .message p {
    font-size: 75%;
  }
}
#univtitle {
  width: 100%;
}
@media screen and (max-width: 735px) {
  #univtitle {
    max-width: 240px;
    margin: 0 auto;
  }
}
.searchbox {
  margin: 10px 0;
  border-radius: 10px;
  box-sizing: border-box;
}
.searchbox #search {
  position: relative;
}
.searchbox #search:before {
  position: absolute;
  top: 5px;
  left: 8px;
  z-index: 2;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 13px;
  font-weight: 900;
  color: #0073b8;
  display: block;
}
.searchbox #search:after {
  content: "";
  width: 0px;
  width: 100%;
  height: 1px;
  display: block;
  background-color: #0073b8;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.searchbox #search.active:after {
  width: 100%;
}
.searchbox #search input[type="text"] {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 24px;
  padding: 4px 0 4px 30px;
  font-size: 16px;
  background: none;
  border: none;
  outline: none;
  box-sizing: border-box;
}
.gsearch {
  position: relative;
}
.gsearch:before {
  position: absolute;
  top: 6px;
  left: 10px;
  z-index: 2;
  content: "\f002";
  font-family: "Font Awesome 5 Free";
  font-size: 14px;
  font-weight: 900;
  color: #0073b8;
  display: block;
}
@media screen and (max-width: 735px) {
  .gsearch:before {
    top: 0.5rem;
    font-size: 16px;
  }
}
.gsearch .gsc-input-box {
  border-radius: 1.5rem;
}
.gsearch .gsc-input {
  padding: 0 !important;
}
.gsearch .gsc-search-button,
.gsearch .gsc-clear-button {
  display: none;
}
.gsearch :-ms-input-placeholder {
  color: #fff !important;
}
.gsearch input:placeholder {
  color: #fff !important;
}
.gsearch input {
  color: #444;
  line-height: 1 !important;
  height: 1.6rem !important;
  background: none !important;
}
@media screen and (max-width: 735px) {
  .gsearch input {
    height: 1.2rem !important;
  }
}
.gsearch .gsib_a {
  padding: 0 0 0 26px !important;
  border: none !important;
}
.gsearch .gsib_b {
  display: none;
}
.gsearch .gsc-input {
  margin: 0 !important;
  border: none !important;
}
.tags {
  border-radius: 0 0 10px 10px;
}
.tags ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.tags ul li {
  margin: 2px 5px 2px 0;
}
.tags ul li a {
  padding: 4px 5px 5px;
  display: block;
  font-size: 75%;
  font-weight: normal;
  color: #000;
  background-color: #fff;
  -webkit-transition: all 1s ease 0s;
  -moz-transition: all 1s ease 0s;
  -ms-transition: all 1s ease 0s;
  -o-transition: all 1s ease 0s;
  transition: all 1s ease 0s;
}
.tags ul li a:hover {
  background-color: rgba(255, 255, 255, 0.5);
}
.tags ul li a {
  padding: 4px 5px 5px;
  font-size: 68.75%;
  font-weight: bold;
  color: #fff;
  background-color: #0073b8;
}
.tags ul li a:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
.tags ul li strong a {
  padding: 5px 7px 7px;
  font-size: 75%;
  font-weight: bold;
  color: #fff;
  background-color: #0073b8;
}
.tags ul li strong a:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
#pickup .content {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1400px;
  padding: 0 40px;
}
#pickup .content ul {
  margin: 20px 0 0 -3px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
}
#pickup .content ul li {
  margin: 0 0 3px 3px;
  flex-basis: calc(100 / 4 * 1% - 3px);
}
@media screen and (max-width: 1681px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 4 * 1% - 3px);
  }
}
@media screen and (max-width: 1261px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 3 * 1% - 3px);
  }
}
@media screen and (max-width: 900px) {
  #pickup .content ul li {
    flex-basis: calc(100 / 2 * 1% - 3px);
  }
}
#pickup .content ul li a {
  position: relative;
  display: block;
  overflow: hidden;
}
#pickup .content ul li a:after {
  content: "";
  padding: 100% 0 0;
  display: block;
}
#pickup .content ul li a .imgs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#pickup .content ul li a .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 33%;
  min-height: 33%;
  padding: 10px 15px;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  background-color: rgba(21, 139, 192, 0.8);
}
#pickup .content ul li a .txt h2 {
  margin: 4px 0 8px;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#pickup .content ul li a .txt p.cat {
  font-size: 68.75%;
  color: #fff;
  line-height: 1.3;
}
#pickup .content ul li a .txt p.notes {
  font-size: 68.75%;
  color: #fff;
  line-height: 1.4;
  display: none;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#pickup .content ul li a:hover .imgs {
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#pickup .content ul li a:hover .txt {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
#pickup .content ul li a:hover .txt p.notes {
  display: block;
}
#pickup .content ul li:nth-child(even) a .txt {
  background-color: rgba(66, 101, 174, 0.8);
}
#pickup .content ul li.stay,
#pickup .content ul li:nth-child(9),
#pickup .content ul li:nth-child(10),
#pickup .content ul li:nth-child(11),
#pickup .content ul li:nth-child(12),
#pickup .content ul li:nth-child(13),
#pickup .content ul li:nth-child(14),
#pickup .content ul li:nth-child(15),
#pickup .content ul li:nth-child(16) {
  display: none;
}
@media screen and (max-width: 1261px) {
  #pickup .content ul li:nth-child(7),
  #pickup .content ul li:nth-child(8),
  #pickup .content ul li:nth-child(9),
  #pickup .content ul li:nth-child(10),
  #pickup .content ul li:nth-child(11),
  #pickup .content ul li:nth-child(12),
  #pickup .content ul li:nth-child(13),
  #pickup .content ul li:nth-child(14),
  #pickup .content ul li:nth-child(15),
  #pickup .content ul li:nth-child(16) {
    display: none;
  }
}
@media screen and (max-width: 735px) {
  #pickup .content ul {
    margin: 20px 0 0 -8px;
  }
  #pickup .content ul li {
    flex-basis: calc(100 / 2 * 1% - 8px);
  }
}
@media screen and (max-width: 1199px) {
  #pickup .content ul li a .txt h2 {
    font-size: 87.5%;
  }
}
@media screen and (max-width: 735px) {
  #pickup .content {
    padding: 0 20px;
  }
  #pickup .content ul {
    margin: 20px 0 0 -3px;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
  }
  #pickup .content ul li {
    margin: 0 0 3px 3px;
    flex-basis: calc(100 / 1 * 1% - 3px);
  }
  #pickup .content ul li a {
    position: relative;
    display: block;
    overflow: hidden;
  }
  #pickup .content ul li a:after {
    content: "";
    padding: 100% 0 0;
    display: block;
  }
  #pickup .content ul li a .imgs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    -ms-transition: all 0.3s ease 0s;
    -o-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
  }
  #pickup .content ul li a .txt {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 33%;
    min-height: 33%;
    padding: 10px 15px;
    box-sizing: border-box;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
    background-color: rgba(21, 139, 192, 0.8);
  }
  #pickup .content ul li a .txt h2 {
    margin: 4px 0 8px;
    font-size: 100%;
    font-weight: bold;
    color: #fff;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #pickup .content ul li a .txt p.cat {
    font-size: 68.75%;
    color: #fff;
    line-height: 1.3;
  }
  #pickup .content ul li a .txt p.notes {
    font-size: 68.75%;
    color: #fff;
    line-height: 1.4;
    display: none;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    -ms-transition: all 0.5s ease 0s;
    -o-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
  }
  #pickup .content ul li a:hover .imgs {
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
  }
  #pickup .content ul li a:hover .txt {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  #pickup .content ul li a:hover .txt p.notes {
    display: block;
  }
  #pickup .content ul li:nth-child(even) a .txt {
    background-color: rgba(66, 101, 174, 0.8);
  }
}
#newstab2 .newsbox h2 {
  display: none;
}
#eventbox {
  padding: 40px;
}
#eventbox .content {
  max-width: 1400px;
  margin: 0 auto;
}
#eventbox .content .titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#eventbox .content .titles h2 {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 250%;
  color: #0073b8;
}
#eventbox .content .titles p {
  margin: 5px 0 25px;
  font-size: 81.25%;
}
#eventbox .content .titles p.notab {
  padding: 0 0 29px;
}
@media screen and (max-width: 735px) {
  #eventbox {
    padding: 20px 0;
  }
  #eventbox .content .titles h2 {
    font-size: 200%;
  }
  #eventbox .content .titles p {
    margin: 5px 0 25px;
    font-size: 81.25%;
  }
  #eventbox .content .titles p.notab {
    padding: 0;
  }
}
#topicsbox {
  padding: 40px 50px;
}
#topicsbox .content {
  max-width: 1400px;
  margin: 0 auto;
}
#sdgs #topicsbox .content h2 {
  font-family: "Noto Sans JP", sans-serif !important;
  color: #1285cf !important;
  line-height: 1.5 !important;
}
#sdgs #topicsbox .content h2.headline {
  border-bottom: 1px solid #ddd !important;
}
#topicsbox .content article {
  padding: 0 0 40px;
}
#topicsbox .content article .article {
  padding: 40px 20px;
}
#topicsbox .content .column {
  max-width: calc(100 / 2 * 1% - 60px);
  padding: 0 20px;
}
#topicsbox .content .titles {
  border-bottom: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#topicsbox .content .titles h2 {
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 200%;
  color: #0073b8;
}
#topicsbox .content .titles p {
  margin: 5px 0 25px;
  font-size: 81.25%;
}
#topicsbox .content .titles p.notab {
  padding: 0 0 29px;
}
#topicsbox .content .titles ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
#topicsbox .content .titles ul li {
  margin: 0 8px;
  text-align: center;
}
#topicsbox .content .titles ul li a {
  position: relative;
  padding: 0 0 17px;
  display: block;
  font-size: 81.25%;
  font-weight: bold;
  color: #666;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
#topicsbox .content .titles ul li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background-color: #0073b8;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
html.mac #topicsbox .content .titles ul li a:hover,
html.win #topicsbox .content .titles ul li a:hover {
  color: #0073b8;
}
html.mac #topicsbox .content .titles ul li a:hover:after,
html.win #topicsbox .content .titles ul li a:hover:after {
  width: 100%;
}
#topicsbox .content .titles ul li.ui-state-active a {
  color: #0073b8;
}
#topicsbox .content .titles ul li.ui-state-active a:after {
  width: 100%;
}
#topicsbox #pagetitle {
  position: relative;
  height: 180px;
  margin: 0 0 40px;
  padding: 60px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
#topicsbox #pagetitle .titles {
  position: absolute;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#topicsbox #pagetitle .titles.show {
  opacity: 1;
}
#topicsbox #pagetitle .titles h1 {
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 180%;
  color: #fff;
  line-height: 1.2;
  text-align: center;
}
#topicsbox #pagetitle .titles p {
  margin: 5px 0 20px;
  font-family: "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 81.25%;
  color: #fff;
  letter-spacing: 0.1em;
  text-align: center;
}
#topicsbox #pagetitle #mask {
  opacity: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-transition: opacity 1s ease 0s;
  -moz-transition: opacity 1s ease 0s;
  -ms-transition: opacity 1s ease 0s;
  -o-transition: opacity 1s ease 0s;
  transition: opacity 1s ease 0s;
}
#topicsbox #pagetitle #mask.show {
  opacity: 1;
}
@media screen and (max-width: 735px) {
  #topicsbox #pagetitle .titles {
    padding: 0 20px;
  }
}
@media screen and (max-width: 1200px) {
  #topicsbox .content .titles ul {
    width: 100%;
  }
  #topicsbox .content .titles ul li {
    margin: 0;
    flex-basis: 20%;
  }
  #topicsbox .content .titles ul li a {
    font-size: 75%;
  }
}
@media screen and (max-width: 735px) {
  #topicsbox {
    padding: 20px 0;
  }
  #topicsbox .content article {
    padding: 0 20px;
  }
  #topicsbox .content article .article {
    padding: 20px 0 0;
  }
  #topicsbox .content .column {
    max-width: calc(100 / 1 * 1%);
    padding: 0;
  }
  #topicsbox .content .column.newstab1 {
    order: 2;
  }
  #topicsbox .content .column.newstab2 {
    order: 1;
  }
  #topicsbox .content .titles h2 {
    font-family: "Cormorant Garamond", "Noto Serif JP", serif;
    font-size: 200%;
    color: #0073b8;
  }
  #topicsbox .content .titles p {
    font-size: 81.25%;
  }
  #topicsbox .content .titles p.notab {
    padding: 0;
  }
  #topicsbox .content .titles ul li a {
    font-size: 0.65rem;
    font-weight: normal;
  }
  #topicsbox .content .titles ul li.ui-state-active a {
    font-weight: 500;
  }
}
#cmenu .content {
  display: flex;
}
#cmenu .content > a {
  flex-basis: 25%;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  height: 300px;
  background-size: auto 100%;
  background-position: center center;
}
#cmenu .content > a .titles {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
#cmenu .content > a .titles img.c_ganpro {
  width: 180px;
  display: block;
  margin: 0 auto 10px;
}
#cmenu .content > a .titles h2 {
  font-size: 180%;
  font-weight: bold;
  color: #fff !important;
  line-height: 1.2;
}
#cmenu .content > a .titles h2.mini {
  font-size: 125%;
  line-height: 1.4;
  text-align: left;
}
#cmenu .content > a .titles h2.mini span {
  margin-left: -0.4em;
  display: block;
  font-size: 70%;
}
#cmenu .content > a .titles p {
  padding: 0;
  font-family: "Oswald", sans-serif;
  font-size: 100%;
  color: #fff !important;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
#cmenu .content > a:hover {
  background-size: auto 110%;
}
#cmenu .content > a:hover.c_library .titles {
  background-color: rgba(22, 112, 185, 0.5);
}
#cmenu .content > a:hover.c_care .titles {
  background-color: rgba(134, 193, 39, 0.5);
}
#cmenu .content > a:hover.c_career .titles {
  background-color: rgba(24, 175, 155, 0.5);
}
#cmenu .content > a:hover.c_ganpro .titles {
  background-color: rgba(116, 71, 153, 0.5);
}
#cmenu .content > a.c_library {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_library.jpg");
}
#cmenu .content > a.c_library .titles {
  background-color: rgba(22, 112, 185, 0.8);
}
#cmenu .content > a.c_care {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_care.jpg");
}
#cmenu .content > a.c_care .titles {
  background-color: rgba(134, 193, 39, 0.8);
}
#cmenu .content > a.c_career {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_career.jpg");
}
#cmenu .content > a.c_career .titles {
  background-color: rgba(24, 175, 155, 0.8);
}
#cmenu .content > a.c_ganpro {
  background-image: url("/carecenter/wp-content/themes/IPNU/images/c_ganpro.jpg");
}
#cmenu .content > a.c_ganpro .titles {
  background-color: rgba(116, 71, 153, 0.8);
}
@media screen and (max-width: 1199px) {
  #cmenu .content > a {
    height: 200px;
  }
  #cmenu .content > a .titles img.c_ganpro {
    width: 60%;
    display: block;
    margin: 0 auto 10px;
  }
  #cmenu .content > a .titles h2 {
    font-size: 125%;
  }
  #cmenu .content > a .titles h2.mini {
    font-size: 100%;
  }
  #cmenu .content > a .titles p {
    font-size: 75%;
  }
}
@media screen and (max-width: 735px) {
  #cmenu .content {
    flex-wrap: wrap;
  }
  #cmenu .content > a {
    flex-basis: 50%;
    height: 150px;
  }
  #cmenu .content > a .titles {
    padding: 10px;
  }
  #cmenu .content > a .titles img.c_ganpro {
    width: 100px;
    margin: 0 auto 5px;
  }
  #cmenu .content > a .titles h2 {
    font-size: 112.5%;
  }
  #cmenu .content > a .titles h2.mini {
    font-size: 81.25%;
  }
  #cmenu .content > a .titles h2.mini span {
    font-size: 80%;
  }
  #cmenu .content > a .titles p {
    margin: 5px 0 0;
    font-size: 75%;
    line-height: 1.2;
  }
}
#bnrs {
  padding: 50px 20px;
}
#bnrs .content {
  max-width: 1400px;
  margin: 0 auto;
  max-width: 1200px;
}
#bnrs .content ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
#bnrs .content ul li {
  margin: 0 10px 15px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
#bnrs .content ul li a {
  border: 1px solid #eee;
  display: block;
}
#bnrs .content ul li a:hover {
  border: 1px solid #0073b8;
}
@media screen and (max-width: 735px) {
  #bnrs {
    padding: 20px 5px;
  }
  #bnrs .content ul li {
    margin: 0 5px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.delighter {
  transition: all 0.5s ease-out;
  transform: translateY(50px);
  opacity: 0;
}
.delighter.started {
  transform: none;
  opacity: 1;
}
.entryheader {
  padding: 50px 50px 30px;
  background-color: #fff;
}
.entryheader h1 {
  margin: 0 0 5px;
  font-size: 125%;
  line-height: 1.4;
}
.entrybody {
  padding: 0 50px 50px;
  background-color: #fff;
}
.entrybody + .entryheader {
  margin: 20px 0 0;
}
.columns {
  margin: 12px 0 12px -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.columns.v_center {
  align-items: center;
  justify-content: center;
}
.columns .column {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.columns .column3 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
}
.columns .column32 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 3 * 2% - 20px);
}
.columns .column4 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.columns .clmn,
.columns .column5 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
.columns .clmn p,
.columns .column5 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
.columns .column6 {
  margin: 0 0 12px 20px;
  flex-basis: calc(100 / 6 * 1% - 20px);
}
.columns .column6 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .columns {
    margin: 12px 0;
  }
  .columns .column,
  .columns .column3,
  .columns .column32,
  .columns .column4 {
    margin: 0 0 12px;
    flex-basis: calc(100 / 1 * 1%);
  }
  .columns .clmn,
  .columns .column5 {
    margin: 0 10px 10px;
    flex-basis: calc(100 / 5 * 1% - 20px);
  }
  .columns .column.fix {
    margin: 0 5px 12px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
  .columns.fix {
    margin: 12px 0 12px -10px;
  }
  .columns.fix .column4.fix {
    margin: 0 0 12px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.columnsm {
  margin: 12px 0 12px -10px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.columnsm.v_center {
  align-items: center;
  justify-content: center;
}
.columnsm .column {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 2 * 1% - 10px);
}
.columnsm .column3 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 3 * 1% - 10px);
}
.columnsm .column32 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 3 * 2% - 10px);
}
.columnsm .column4 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 4 * 1% - 10px);
}
.columnsm .clmn,
.columnsm .column5 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 5 * 1% - 10px);
}
.columnsm .clmn p,
.columnsm .column5 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
.columnsm .column6 {
  margin: 0 0 12px 10px;
  flex-basis: calc(100 / 6 * 1% - 10px);
}
.columnsm .column6 p {
  margin: 5px 0 0;
  font-size: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 735px) {
  .columnsm {
    margin: 12px 0;
  }
  .columnsm .column,
  .columnsm .column3,
  .columnsm .column32,
  .columnsm .column4 {
    margin: 0 0 12px;
    flex-basis: calc(100 / 1 * 1%);
  }
  .columnsm .clmn,
  .columnsm .column5 {
    margin: 0 10px 10px;
    flex-basis: calc(100 / 5 * 1% - 10px);
  }
  .columnsm .column5.fix {
    margin: 0 5px 0 0;
    flex-basis: calc(100 / 5 * 1% - 5px);
  }
  .columnsm .column.fix {
    margin: 0 5px 12px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
  .columnsm.fix {
    margin: 12px 0 12px -10px;
  }
  .columnsm.fix .column4.fix {
    margin: 0 0 12px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
.contact {
  margin: 0 20px;
  border-top: 1px solid #ddd;
}
.contact .content {
  padding: 12px 0;
}
.contact .content h3 {
  margin: 0 0 8px;
  padding: 0 0 12px;
  font-size: 81.25%;
  font-weight: bold;
  color: #666;
  border-bottom: 1px solid #eee;
}
.contact .content h3:before {
  display: none;
}
.contact .content p.notes {
  margin: 0;
  font-size: 75%;
  color: #005d7c;
  line-height: 1.4;
}
.contact .content p.notes + p {
  margin: 12px 0 5px;
}
.contact .content p.contactname {
  margin: 0 0 5px;
  font-size: 87.5%;
  font-weight: 500;
  line-height: 1.3;
}
.contact .content p.contactaddr {
  margin: 0;
  font-size: 81.25%;
  line-height: 1.5;
}
.contact .content p.contactaddr .contact_mail {
  display: block;
}
.contact .content p.contactaddr .contact_mail .replace {
  margin: 0 0 0 15px;
  font-size: 85%;
  color: #555;
}
@media screen and (max-width: 735px) {
  .contact .content p.contactaddr .contact_mail .replace {
    margin: 0;
    display: block;
  }
}
.contact .content p.contactaddr .contact_mail_note {
  display: block;
  font-size: 90%;
  color: #555;
}
.contact .content p.contactaddr .ttl {
  color: #0073b8;
}
.contact .content p.contactaddr .contact_phone .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_phone .ttl:before {
  margin: 0 3px 0 0;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.contact .content p.contactaddr .contact_fax .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_fax .ttl:before {
  margin: 0 3px 0 0;
  content: "\f1ac";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.contact .content p.contactaddr .contact_mail .ttl {
  margin: 0 5px 0 0;
}
.contact .content p.contactaddr .contact_mail .ttl:before {
  margin: 0 3px 0 0;
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #0073b8;
}
.border {
  overflow: hidden;
  margin-bottom: 10px;
  padding: 20px 30px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.border h3 {
  margin: 15px 0 8px !important;
}
.border h3:first-child {
  margin-top: 0 !important;
}
.border p,
.border ul,
.border ol {
  margin-bottom: 0 !important;
  line-height: 1.6;
}
.border p + p,
.border p + ul,
.border ul + p,
.border ul + ul,
.border ol + p,
.border ol + ul {
  margin-top: 8px;
}
@media screen and (max-width: 735px) {
  .border {
    padding: 10px 15px;
  }
}
div.section {
  overflow: hidden;
  margin: 10px 0 0;
  padding: 20px 30px;
  background-color: #fff;
  border: 1px solid #0073b8;
  border-radius: 5px;
}
div.section h2.headline {
  margin: 0 0 12px;
  padding: 0 0 12px;
  font-size: 100%;
}
div.section h3 {
  margin-top: 0;
}
@media screen and (max-width: 1600px) {
  div.section {
    padding: 12px 20px;
  }
}
@media screen and (max-width: 735px) {
  div.section {
    padding: 10px 15px;
  }
}
.panel {
  overflow: hidden;
  margin-bottom: 10px;
  padding: 20px 30px;
  background-color: #e2f2f7;
  border-radius: 5px;
}
.column .panel {
  height: 100%;
  box-sizing: border-box;
}
.panel h3 {
  margin: 15px 0 8px !important;
}
.panel h3:first-child {
  margin-top: 0 !important;
}
.panel p,
.panel ul,
.panel ol {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.6;
}
.panel p + p,
.panel p + ul,
.panel ul + p,
.panel ul + ul,
.panel ol + p,
.panel ol + ul {
  margin-top: 8px;
}
.flat {
  position: relative;
  margin: 110px 0 0;
  margin: 80px 0 0;
  padding: 40px 50px;
  display: block;
  background-color: #fff;
}
.flat.top {
  font-size: 110%;
  padding: 40px 50px;
  border: 1px solid transparent;
  border-radius: 5px;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
  overflow: hidden;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  color: #000 !important;
}
.flat.top:before {
  position: absolute;
  top: -50px;
  left: -50px;
  content: "";
  width: 150px;
  height: 50px;
  display: block;
  transform: rotate(-45deg);
  background-color: #c33;
}
.flat.top:hover {
  background-color: #f9f9f9;
  border: 1px solid #c33;
}
.flat.top h1:after {
  content: "";
  width: 12px;
  height: 12px;
  margin: -5px 0 0 10px;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media screen and (max-width: 735px) {
  .flat {
    margin: 10px 0 0;
    padding: 50px 0;
  }
  .flat.top {
    padding: 40px 30px;
    border-radius: 0;
  }
}
.caution {
  margin: 0 0 20px;
  padding: 20px 30px;
  background-color: #f6d1dc;
  border: 3px double #d91f53;
  border-radius: 5px;
}
.caution h3 {
  margin: 15px 0 8px !important;
  color: #d91f53 !important;
}
.caution h3:first-child {
  margin-top: 0 !important;
}
.caution h3:before {
  background-color: #d91f53 !important;
}
.caution p {
  margin-bottom: 0;
  line-height: 1.6;
}
.caution strong {
  font-size: 110%;
  color: #d91f53;
}
.note {
  clear: both;
  margin: 20px 0 0;
  padding: 15px 0;
  border-top: 1px solid #ddd;
}
div.notice {
  margin: 0 0 10px;
  padding: 20px 30px;
  border: 1px solid #0073b8;
  border-top: 3px solid #0073b8;
  border-bottom: 3px solid #0073b8;
  border-radius: 5px;
}
div.notice h3:first-child {
  margin-top: 0 !important;
}
.flows {
  padding: 20px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  background-color: #f6f6f6;
}
.flows .flow {
  margin: 0 15px 15px;
  flex-basis: calc(100 / 3 * 1% - 30px);
}
.flows .flow .box {
  position: relative;
  padding: 20px;
  font-size: 100%;
  font-weight: bold;
  text-align: center;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
}
.flows .flow .box:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -20px;
  width: 8px;
  height: 8px;
  margin: -4px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.flows .flow p.cap {
  margin: 4px 0 0;
  font-size: 75%;
  text-align: center;
}
.flows .flow:last-child .box:after {
  display: none;
}
@media screen and (max-width: 735px) {
  .flows {
    flex-wrap: wrap;
  }
  .flows .flow {
    position: relative;
    margin: 0 0 20px;
    flex-basis: 100%;
  }
  .flows .flow .box:after {
    display: none;
  }
  .flows .flow:after {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 50%;
    width: 8px;
    height: 8px;
    margin: 0 -4px 0 0;
    display: inline-block;
    vertical-align: middle;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  .flows .flow:last-child {
    margin-bottom: 0;
  }
  .flows .flow:last-child:after {
    display: none;
  }
}
.project {
  margin: 0 0 10px;
  padding: 15px 20px;
  background-color: #fff;
  border: 1px solid #0073b8;
  border-radius: 10px;
  overflow: hidden;
}
p.end {
  padding: 3px 10px;
  display: inline-block;
  vertical-align: middle;
  font-size: 75%;
  color: #fff;
  background-color: #555;
  border-radius: 4px;
}
.projectimg {
  float: left;
  width: 200px;
  margin: 0 20px 0 0;
}
@media screen and (max-width: 735px) {
  .projectimg {
    float: none;
    width: auto;
    margin: 0 auto 20px;
  }
}
.bnrs .bnr {
  margin: 12px 0 0;
  padding: 15px 20px;
  display: block;
  border: 1px solid #ddd;
  border-radius: 8px;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr h3 {
  margin: -10px -20px 12px;
  padding: 12px 20px;
  font-size: 87.5%;
  font-weight: bold;
  color: #000;
  border-bottom: 1px solid #ddd;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr p {
  font-size: 75%;
  color: #000;
  line-height: 1.5;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr img {
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.bnrs .bnr:hover {
  border: 1px solid #00a3da;
}
.bnrs .bnr:hover h3 {
  color: #00a3da;
}
.bnrs .bnr:hover p {
  color: #00a3da;
}
.bnrs .bnr:hover img {
  opacity: 0.7;
}
@media screen and (max-width: 735px) {
  .bnrs {
    margin: 0 20px;
  }
}
.business-calendar {
  width: 100%;
  border: 1px solid #ddd;
}
.business-calendar caption {
  padding: 12px 0;
  text-align: center;
}
.business-calendar caption span {
  display: inline-block;
  vertical-align: middle;
}
.business-calendar caption span a {
  position: relative;
  width: 16px;
  height: 16px;
  font-size: 75%;
  text-indent: -3000px;
  display: block;
}
.business-calendar caption span a:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #0073b8;
  box-sizing: border-box;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  color: #0073b8;
  line-height: 14px;
  text-indent: 0;
  border-radius: 4px;
}
.business-calendar caption span a:hover {
  background-color: #0073b8;
}
.business-calendar caption span a:hover:after {
  color: #fff;
}
.business-calendar caption span.business-calendar-past {
  margin: -3px 1px 0 3px;
}
.business-calendar caption span.business-calendar-past a:after {
  content: "\f104";
}
.business-calendar caption span.business-calendar-future {
  margin: -3px 3px 0;
}
.business-calendar th,
.business-calendar td {
  width: 14.28571%;
  padding: 8px 0;
  font-size: 81.25%;
  text-align: center;
  border: 1px solid #ddd;
}
.business-calendar th {
  background-color: #f3f0e5;
}
.business-calendar td.today {
  border: 2px solid #00603a;
}
.business-calendar td.badate {
  color: #666;
  background-color: #eee;
}
.attr0 {
  background: #ffcccc;
}
.attr1 {
  background: #ffffcc;
}
.attr2 {
  background: #ccffcc;
}
.attr3 {
  background: #ffcc99;
}
article .business-calendar-box {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
article .business-calendar-box > div {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .business-calendar-box > div {
    margin: 0 0 20px 20px;
    flex-basis: calc(100 / 1 * 1% - 20px);
  }
}
.librarytbl {
  margin: 32px 0 0;
}
.librarytbl th {
  padding: 8px 12px 8px 0;
  font-size: 75%;
  font-weight: bold;
  color: #444;
  vertical-align: top;
  line-height: 1.4;
  white-space: nowrap;
  border: none;
  border-bottom: 1px solid #ddd;
}
.librarytbl th span {
  width: 10px;
  height: 10px;
  margin: -1px 3px 0 0;
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #eee;
}
.librarytbl td {
  padding: 8px 0;
  font-size: 75%;
  line-height: 1.4;
  border: none;
  border-bottom: 1px solid #ddd;
}
article .librarytbl {
  margin: 0 0 20px;
}
@media screen and (max-width: 735px) {
  .librarytbl {
    margin: 0;
  }
}
.libnoticebox {
  position: relative;
  z-index: 1000;
  margin: 0 0 32px;
  display: flex;
  align-items: stretch;
  border: 2px solid #af1c32;
  background-color: #f3f0e5;
  border-radius: 5px;
  overflow: hidden;
}
.libnoticebox h2 {
  width: 10em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 87.5%;
  font-weight: bold;
  color: #fff;
  background-color: #af1c32;
}
.libnoticebox ul.libnotice {
  flex-basis: calc(100 / 1 * 1% - 10em);
  padding: 10px 20px;
  box-sizing: border-box;
}
.libnoticebox ul.libnotice li a {
  position: relative;
  padding: 2px 0 2px 18px;
  font-size: 87.5%;
  font-weight: bold;
  color: #af1c32;
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
}
.libnoticebox ul.libnotice li a:before {
  position: absolute;
  top: 2px;
  left: 0;
  margin: 0 5px 0 0;
  content: "\f071";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #c8a121;
}
.libnoticebox ul.libnotice li a:hover {
  color: #bf7780;
}
.libnoticebox ul.libnotice li a span.entrydate {
  flex-basis: 10em;
  color: #444;
  font-weight: normal;
}
.libnoticebox ul.libnotice li a span.entrytitle {
  flex-basis: calc(100 / 1 * 1% - 10em);
}
@media screen and (max-width: 735px) {
  .libnoticebox {
    margin: 20px;
    flex-wrap: wrap;
  }
  .libnoticebox h2 {
    width: 100%;
    padding: 12px 20px;
    justify-content: flex-start;
    box-sizing: border-box;
  }
  .libnoticebox ul.libnotice {
    flex-basis: 100%;
  }
  .libnoticebox ul.libnotice li a {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .libnoticebox ul.libnotice li a span.entrytitle {
    flex-basis: 100%;
  }
}
ul.calnote {
  margin: 10px 0 0;
  padding: 12px 20px;
  border: 2px solid #007eba;
  background-color: #f3f0e5;
}
ul.calnote li a {
  font-size: 81.25%;
  color: #007eba;
  line-height: 1.5;
}
ul.calnote li a:hover {
  color: #70c8e6;
}
@media screen and (max-width: 735px) {
  ul.calnote {
    margin: 10px 20px 0;
  }
}
@media screen and (max-width: 735px) {
  ul.calbox table {
    width: calc(100% - 40px);
    margin: 0 20px;
  }
}
#libbnrs .content ul {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
#libbnrs .content ul li {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 4 * 1% - 20px);
  position: relative;
}
#libbnrs .content ul li a {
  display: block;
  border: 2px solid #ddd;
  overflow: hidden;
}
#libbnrs .content ul li a img {
  display: block;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
#libbnrs .content ul li a:hover {
  border: 2px solid #0073b8;
}
@media screen and (max-width: 735px) {
  #libbnrs .content {
    padding: 0 20px;
  }
  #libbnrs .content ul {
    margin: 0 0 0 -10px;
  }
  #libbnrs .content ul li {
    margin: 0 0 10px 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
table.stafftbl {
  margin: 0 0 20px;
  width: 100%;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
table.stafftbl caption {
  margin: 0 0 20px;
  font-size: 87.5%;
  letter-spacing: 0.2em;
}
table.stafftbl th {
  width: 25%;
  padding: 8px 12px;
  font-size: 87.5%;
  font-weight: 500;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}
table.stafftbl td {
  padding: 0;
  font-size: 1em;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
table.stafftbl td ul {
  margin: 0;
  padding: 0;
}
table.stafftbl td ul li {
  margin: 0;
  padding: 8px 12px;
  font-size: 87.5%;
  border-bottom: 1px solid #ddd;
}
table.stafftbl td ul li:last-child {
  border-bottom: none;
}
table.stafftbl td ul li:before {
  display: none;
}
table.stafftbl td ul li .status {
  width: 7em;
  display: inline-block;
  vertical-align: middle;
  vertical-align: top;
}
table.stafftbl td ul li .lab {
  margin: 0 0 0 20px;
}
@media screen and (max-width: 735px) {
  table.stafftbl caption {
    margin: 0 0 20px;
    font-size: 87.5%;
    letter-spacing: 0.2em;
  }
  table.stafftbl th {
    width: 30%;
    padding: 4px;
    font-size: 75%;
  }
  table.stafftbl td ul li {
    padding: 4px;
    font-size: 75%;
    border-bottom: 1px solid #ddd;
  }
  table.stafftbl td ul li .status {
    width: 4em;
    display: inline-block;
    vertical-align: middle;
  }
  table.stafftbl td ul li .lab {
    margin: 0;
    display: block;
  }
}
.profheader {
  margin: 0 0 40px;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
}
.profheader .profimg {
  margin: 0 30px 0 0;
  flex-basis: 160px;
}
.profheader .profdata .profname {
  margin: 0 0 12px;
}
.profheader .profdata .profname p.name1 {
  margin: 0 0 8px;
  font-family: "Noto Serif JP", serif;
  font-size: 100%;
  color: #333;
  line-height: 1.3;
}
.profheader .profdata .profname p.name1 span {
  font-size: 200%;
}
.profheader .profdata .profname p.name2 {
  margin: 0;
  font-size: 75%;
  color: #333;
  line-height: 1.3;
}
.profheader .profdata .profname p.name3 {
  margin: 0;
  font-size: 75%;
  font-weight: 300;
  color: #666;
  line-height: 1.3;
}
.profheader .profdata .profstatus p {
  font-size: 75%;
}
.profheader .profdata .profstatus span + span {
  margin: 0 0 0 10px;
}
.profheader .profdata .profaddr .addr {
  margin: 0;
}
.profheader .profdata .profaddr .addr li {
  margin: 0;
  padding: 0;
}
.profheader .profdata .profaddr .addr li:before {
  display: none;
}
.profheader .profdata .profaddr .addr + ul {
  margin: 8px 0 0;
}
.profheader .profdata .profaddr .contact_phone .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_phone .ttl:before {
  margin: 0 3px 0 0;
  content: "\f095";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_fax .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_fax .ttl:before {
  margin: 0 3px 0 0;
  content: "\f1ac";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_mail .ttl {
  width: 4em;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
}
.profheader .profdata .profaddr .contact_mail .ttl:before {
  margin: 0 3px 0 0;
  content: "\f0e0";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #82cac2;
}
.profheader .profdata .profaddr .contact_mail .replace {
  font-size: 80%;
  color: #555;
  margin: 0 0 0 10px;
}
@media screen and (max-width: 735px) {
  .profheader {
    flex-wrap: wrap;
  }
  .profheader .profimg {
    margin: 0 auto 20px;
  }
  .profheader .profdata .profname p.name1 span {
    font-size: 150%;
  }
  .profheader .profdata .profaddr .addr li {
    font-size: 75%;
  }
  .profheader .profdata .profaddr .contact_mail .replace {
    margin: 2px 0 0;
    display: block;
    font-size: 80%;
  }
  .profheader .profdata .profaddr .llist li {
    font-size: 75%;
  }
}
#profilemenu > ul {
  margin: 0;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  border-bottom: 1px solid #ddd;
}
#profilemenu > ul li {
  margin: 0 2px 0 0;
  padding: 0;
  border: 1px solid #ddd;
  border-bottom: none;
  outline: none;
}
#profilemenu > ul li a {
  color: #000;
  padding: 8px 20px;
  display: block;
}
#profilemenu > ul li.ui-state-active a {
  color: #fff;
  background-color: #0073b8;
}
#profilemenu > ul li:before {
  display: none;
}
#profilemenu .tab {
  padding: 25px;
}
#profilemenu table.profile {
  margin: 0 0 20px;
  width: 100%;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#profilemenu table.profile caption {
  margin: 0 0 20px;
  font-size: 87.5%;
  letter-spacing: 0.2em;
}
#profilemenu table.profile th {
  width: 25%;
  padding: 8px 12px 8px 0;
  font-size: 81.25%;
  line-height: 1.6;
  color: #0073b8;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}
#profilemenu table.profile td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  #profilemenu > ul {
    flex-wrap: wrap;
  }
  #profilemenu > ul li {
    margin: 0;
    border: none;
    font-size: 75%;
    flex-basis: calc(100 / 2 * 1%);
  }
  #profilemenu > ul li a {
    width: 100%;
    padding: 4px 0;
    text-align: center;
    box-sizing: border-box;
  }
  #profilemenu .tab {
    padding: 12px 0;
  }
  #profilemenu table.profile {
    margin: 0 0 12px;
  }
  #profilemenu table.profile caption {
    margin: 0 0 8px;
    font-size: 75%;
    letter-spacing: 0.1em;
  }
  #profilemenu table.profile th {
    padding: 4px 8px 4px 0;
    font-size: 75%;
    line-height: 1.5;
  }
  #profilemenu table.profile td {
    padding: 4px 8px;
    font-size: 75%;
    line-height: 1.5;
  }
}
table.curriculumform {
  width: 100%;
  margin: 0;
  border: 1px solid #ddd;
}
table.curriculumform > tbody > tr > th {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.5;
  border: 1px solid #ddd;
  background-color: #e2f2f7;
}
table.curriculumform > tbody > tr > td {
  padding: 8px 12px;
  font-size: 81.25%;
  line-height: 1.5;
  border: 1px solid #ddd;
}
table.curriculumform p {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
table.curriculumform p + p {
  margin: 5px 0 0;
}
table.curriculumform table {
  width: 100% !important;
  border: none;
  margin: -1px 0 0;
}
table.curriculumform table th,
table.curriculumform table td {
  padding: 0;
  font-size: 1em;
  font-weight: normal;
  height: auto !important;
  vertical-align: top;
  border: 1px solid #ddd;
}
table.curriculumform table td {
  width: auto !important;
}
table.curriculumform table.curriculumtbl th {
  padding: 8px 12px 8px 8px;
}
@media screen and (max-width: 735px) {
  table.curriculumform {
    display: block;
    overflow: auto;
  }
  table.curriculumform tbody {
    display: block;
    overflow-x: scroll;
  }
  table.curriculumform tbody::-webkit-scrollbar {
    height: 10px;
    height: 1rem;
    background: #f1f1f1;
  }
  table.curriculumform tbody::-webkit-scrollbar-thumb {
    border-radius: 12px;
    border-radius: 1.2rem;
    background: #a9a9aa;
  }
  table.curriculumform tbody::-webkit-scrollbar-thumb:hover {
    background: #a9a9aa;
  }
  table.curriculumform tbody th {
    white-space: nowrap !important;
  }
  table.curriculumform tbody td {
    white-space: nowrap;
  }
}
.subject_header {
  padding: 50px 50px 10px;
  background-color: #fff;
}
.subject_header h1 {
  font-size: 200%;
  font-weight: bold;
}
.subject_header p.cat {
  margin: 0 0 5px;
  font-size: 100%;
}
.subject_header p.en {
  margin: 5px 0 0;
  font-size: 87.5%;
  color: #555;
}
@media screen and (max-width: 735px) {
  .subject_header {
    padding: 10px 10px 0;
  }
  .subject_header h1 {
    font-size: 125%;
  }
  .subject_header p.cat {
    font-size: 75%;
  }
  .subject_header p.en {
    margin: 2px 0 0;
    font-size: 75%;
  }
}
.subject_body {
  padding: 25px 50px 50px;
  background-color: #fff;
}
.subject_body .curriculumform th {
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c {
  padding: 0;
}
.subject_body .curriculumform td.content_c table {
  margin: 0;
}
.subject_body .curriculumform td.content_c table th,
.subject_body .curriculumform td.content_c table td {
  padding: 8px 12px;
}
.subject_body .curriculumform td.content_c table th {
  border-bottom: 1px solid #ddd;
  text-align: center;
  padding: 8px 12px 8px 8px;
}
.subject_body .curriculumform td.content_c table th + th,
.subject_body .curriculumform td.content_c table th + td,
.subject_body .curriculumform td.content_c table td + td {
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.subject_body .curriculumform td.content_c table tr:last-child th,
.subject_body .curriculumform td.content_c table tr:last-child td {
  border-bottom: none;
}
.subject_body .curriculumform td.content_c table .curriculumtbl1 {
  width: 9%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl2 {
  width: 91%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl22 {
  width: 76%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl23 {
  width: 15%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl24 {
  width: 71%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl25 {
  width: 20%;
}
.subject_body .curriculumform td.content_c table .curriculumtbl26 {
  width: 38%;
}
.subject_body .curriculumform td.content_c table td .innertbl {
  width: 100%;
}
.subject_body .curriculumform td.content_c table td .innertbl th,
.subject_body .curriculumform td.content_c table td .innertbl td {
  padding: 0;
  border: none;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl2,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl2 {
  width: 2.5% !important;
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl5,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl5 {
  width: 5% !important;
  white-space: nowrap;
}
.subject_body .curriculumform td.content_c table td .innertbl th.innertbl95,
.subject_body .curriculumform td.content_c table td .innertbl td.innertbl95 {
  width: 95% !important;
}
@media screen and (max-width: 735px) {
  .subject_body {
    padding: 10px;
  }
}
.nb2,
.nb3 {
  font-weight: normal;
  vertical-align: top;
  text-align: center;
}
.mce-content-body div.galleries ul,
article div.galleries ul {
  clear: both;
  margin: 12px 0 12px -20px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: flex-start;
}
.mce-content-body div.galleries ul.c_center,
article div.galleries ul.c_center {
  justify-content: center;
}
.mce-content-body div.galleries ul li,
article div.galleries ul li {
  margin: 0 0 20px 20px;
  padding: 0;
  flex-grow: 0;
  flex-shrink: 1;
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.mce-content-body div.galleries ul li:before,
article div.galleries ul li:before {
  display: none;
}
.mce-content-body div.galleries ul li.column1,
article div.galleries ul li.column1 {
  flex-basis: calc(100 / 1 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column2,
article div.galleries ul li.column2 {
  flex-basis: calc(100 / 2 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column,
.mce-content-body div.galleries ul li.column3,
article div.galleries ul li.column,
article div.galleries ul li.column3 {
  flex-basis: calc(100 / 3 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column4,
article div.galleries ul li.column4 {
  flex-basis: calc(100 / 4 * 1% - 20px);
}
.mce-content-body div.galleries ul li.column5,
article div.galleries ul li.column5 {
  flex-basis: calc(100 / 5 * 1% - 20px);
}
.mce-content-body div.galleries ul li img,
article div.galleries ul li img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.mce-content-body div.galleries ul li a,
article div.galleries ul li a {
  padding: 0;
  display: block;
}
.mce-content-body div.galleries ul li a:before,
article div.galleries ul li a:before {
  display: none;
}
.mce-content-body div.galleries ul li a:hover,
article div.galleries ul li a:hover {
  transition-property: background-color, border, color, opacity;
  transition-duration: 0.2s;
  transition-timing-function: linear;
  -webkit-transition-property: background-color, border, color, opacity;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  opacity: 0.6;
}
.mce-content-body div.galleries ul li .caption,
.mce-content-body div.galleries ul li .wp-caption,
article div.galleries ul li .caption,
article div.galleries ul li .wp-caption {
  margin: 5px 0 8px;
  font-size: 1em;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 735px) {
  .mce-content-body div.galleries ul,
  article div.galleries ul {
    clear: both;
    margin: 12px 0 12px -5px;
  }
  .mce-content-body div.galleries ul li,
  article div.galleries ul li {
    margin: 0 0 5px 5px;
    flex-basis: calc(100 / 3 * 1% - 5px);
  }
  .mce-content-body div.galleries ul li.column,
  .mce-content-body div.galleries ul li.column2,
  .mce-content-body div.galleries ul li.column3,
  .mce-content-body div.galleries ul li.column4,
  .mce-content-body div.galleries ul li.column5,
  article div.galleries ul li.column,
  article div.galleries ul li.column2,
  article div.galleries ul li.column3,
  article div.galleries ul li.column4,
  article div.galleries ul li.column5 {
    flex-basis: calc(100 / 2 * 1% - 5px);
  }
  .mce-content-body div.galleries ul li .caption,
  .mce-content-body div.galleries ul li .wp-caption,
  article div.galleries ul li .caption,
  article div.galleries ul li .wp-caption {
    margin: 5px 0;
  }
}
@media screen and (max-width: 413px) {
  .mce-content-body div.galleries ul li.column,
  .mce-content-body div.galleries ul li.column2,
  .mce-content-body div.galleries ul li.column3,
  .mce-content-body div.galleries ul li.column4,
  .mce-content-body div.galleries ul li.column5,
  article div.galleries ul li.column,
  article div.galleries ul li.column2,
  article div.galleries ul li.column3,
  article div.galleries ul li.column4,
  article div.galleries ul li.column5 {
    flex-basis: calc(100 / 1 * 1% - 5px);
  }
}
article .caption,
article .wp-caption {
  max-width: 100%;
}
article .aligncenter {
  text-align: center;
}
article .aligncenter img {
  display: block;
  margin: 0 auto;
}
.img_to_div a:before {
  display: none;
}
.photobox {
  margin: 0 0 0 -20px;
  display: flex;
  flex-wrap: wrap;
}
.photobox .column3 {
  margin: 0 0 20px 20px;
  flex-basis: calc(100 / 3 * 1% - 20px);
}
#calendar_content {
  display: flex;
  flex-wrap: wrap;
}
#calendar_content .calendarLink:nth-child(1) {
  width: calc(50% - 10px);
  padding: 8px 0;
  font-size: 75%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
#calendar_content .calendarLink:nth-child(2) {
  width: 100%;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main {
  margin: 0 0 20px -20px;
  display: flex;
  flex-wrap: wrap;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .counter_name {
  display: none;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_header {
  margin: 0 0 0 20px;
  width: 100%;
}
#calendar_content
  .calendarLink:nth-child(2)
  .calendar_main
  .calendar_header
  .calendar_title {
  width: 50%;
  padding: 0 0 8px;
  font-size: 81.25%;
  text-align: center;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar {
  margin: 0 0 0 20px;
  width: calc(50% - 20px);
  border: 1px solid #ddd;
  box-sizing: border-box;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar th,
#calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar td {
  padding: 6px 8px;
  font-size: 75%;
  text-align: center;
  border: 1px solid #ddd;
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm {
  margin: 0 0 0 20px;
  width: calc(50% - 20px);
}
#calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm table {
  width: 100%;
}
#calendar_content
  .calendarLink:nth-child(2)
  .calendar_main
  .calendar_cm
  table
  td {
  padding: 5px 8px;
  font-size: 75%;
  color: #333;
  border: 1px solid #ddd;
}
@media screen and (max-width: 735px) {
  #calendar_content {
    padding: 0 20px;
  }
  #calendar_content .calendarLink:nth-child(1) {
    width: 100%;
  }
  #calendar_content
    .calendarLink:nth-child(2)
    .calendar_main
    .calendar_header
    .calendar_title {
    width: 100%;
  }
  #calendar_content .calendarLink:nth-child(2) .calendar_main .lib_calendar {
    width: calc(100% - 20px);
  }
  #calendar_content .calendarLink:nth-child(2) .calendar_main .calendar_cm {
    margin: 10px 0 0 20px;
    width: calc(100% - 20px);
  }
}
#content #article article.topnote {
  margin: 130px 0 40px;
}
@media screen and (max-width: 735px) {
  #content #article article.topnote {
    margin: 55px 0 20px;
  }
}
article .careerbody .careertitle {
  position: relative;
  padding: 20px;
  font-size: 112.5%;
  font-weight: bold;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
}
article .careerbody .careertitle:before {
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 10px;
  height: 10px;
  margin: -8px 0 0;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 2px solid #0073b8;
  border-right: 2px solid #0073b8;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
article .careerbody .careertitle.active:before {
  margin: -5px 0 0;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
article .careerbody .careertitle.career1 {
  background-color: #eaf6fd;
}
article .careerbody .careertitle.career2 {
  margin: 5px 0 0;
  background-color: #ecf4e3;
}
article .careerbody .careertitle.career3 {
  margin: 5px 0 0;
  background-color: #f8f6e7;
}
article .careerbody .careertitle.career4 {
  margin: 5px 0 0;
  background-color: #d5ead8;
}
article .careerbody .flowbox {
  display: none;
  margin: 0 0 40px;
}
article .careerbody .flowbox1 {
  margin: 0 0 0 -30px;
  display: flex;
}
article .careerbody .flowbox1 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
article .careerbody .flowbox1 .columns {
  margin: 0 0 0 -20px;
}
article .careerbody .flowbox1 .columns .column {
  margin: 0 0 0 20px;
  flex-basis: calc(100 / 2 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox1 {
    flex-wrap: wrap;
  }
  article .careerbody .flowbox1 .flow {
    flex-basis: calc(100 / 1 * 1% - 30px);
  }
  article .careerbody .flowbox1 .columns {
    margin: 0 0 0 -10px;
    flex-wrap: nowrap;
  }
  article .careerbody .flowbox1 .columns .column {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox2 {
  margin: 0 0 0 -20px;
  display: flex;
}
article .careerbody .flowbox2 .flow {
  margin: 0 0 0 20px;
  flex-basis: calc(100 / 5 * 1% - 20px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox2 {
    margin: 0 0 0 -10px;
    flex-wrap: wrap;
  }
  article .careerbody .flowbox2 .flow {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox3 {
  margin: 0 0 0 -30px;
  display: flex;
}
article .careerbody .flowbox3 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox3 {
    margin: 0 0 0 -10px;
  }
  article .careerbody .flowbox3 .flow {
    margin: 0 0 0 10px;
    flex-basis: calc(100 / 2 * 1% - 10px);
  }
}
article .careerbody .flowbox4 {
  margin: 0 0 0 -30px;
  display: flex;
  justify-content: center;
}
article .careerbody .flowbox4 .flow {
  margin: 0 0 0 30px;
  flex-basis: calc(100 / 2 * 1% - 30px);
}
@media screen and (max-width: 735px) {
  article .careerbody .flowbox4 {
    flex-wrap: wrap;
  }
  article .careerbody .flowbox4 .flow {
    flex-basis: calc(100 / 1 * 1% - 30px);
  }
}
article .careerbody .bdr {
  position: relative;
  margin: 50px 0 0;
  padding: 15px;
  text-align: center;
  border: 1px solid #078086;
  border-radius: 5px;
}
article .careerbody .bdr:before {
  content: "";
  position: absolute;
  top: -50px;
  left: 50%;
  width: 1px;
  height: 50px;
  background-color: #999;
}
@media screen and (max-width: 735px) {
  article .careerbody .bdr.kangogakubu:after {
    content: "看護学部";
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
  article .careerbody .bdr.daigakuin:after {
    content: "大学院博士前期課程";
    position: absolute;
    top: -55px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
}
article .careerbody .status {
  position: relative;
  margin: 50px 0 0;
  padding: 10px 0;
  border-top: 5px solid #1daf80;
}
article .careerbody .status:before {
  content: "";
  position: absolute;
  top: -55px;
  left: 50%;
  width: 1px;
  height: 50px;
  background-color: #999;
}
@media screen and (max-width: 735px) {
  article .careerbody .status.daigakuin:after {
    content: "大学院博士前期課程";
    position: absolute;
    top: -55px;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding: 5px 5px;
    display: inline-block;
    vertical-align: middle;
    font-size: 75%;
    border: 1px solid #ddd;
    text-align: center;
    background-color: #fff;
  }
}
article .careerbody h2.job {
  margin: 0 0 5px !important;
  padding: 0;
  font-weight: bold;
  border: none;
  color: #1daf80;
  background: none;
}
article .careerbody p.exam {
  margin: 0 0 8px;
  font-size: 87.5%;
  line-height: 1.4;
}
article .careerbody p.license {
  padding: 8px 15px 10px;
  display: inline-block;
  vertical-align: middle;
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  background-color: #1daf80;
}
article .careerbody p.notes {
  margin: 0 0 8px;
  font-weight: 500;
}
article .careerbody p.flowbtn {
  margin: 15px 0 0;
  font-size: 75%;
  line-height: 1.4;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
article .careerbody p.flowbtn a {
  position: relative;
  margin: 0 3px;
  padding: 7px 10px 20px;
  display: inline-block;
  vertical-align: middle;
  color: #0073b8;
  text-align: center;
  border: 1px solid #0073b8;
  border-radius: 3px;
  -webkit-transition: all 0.2s ease 0s;
  -moz-transition: all 0.2s ease 0s;
  -ms-transition: all 0.2s ease 0s;
  -o-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  background-color: #fff;
}
article .careerbody p.flowbtn a:before {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 6px;
  height: 6px;
  margin: 0 0 0 -3px;
  display: block;
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #0073b8;
  border-right: 1px solid #0073b8;
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
}
article .careerbody p.flowbtn a:hover {
  background-color: #eee;
  transform: translateY(-2px);
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
}
article .careerbody p.flowbtn a:active {
  transform: translateY(0);
  box-shadow: 0 0 0 0 transparent;
}
@media screen and (max-width: 735px) {
  article .careerbody p.flowbtn {
    flex-wrap: wrap;
  }
  article .careerbody p.flowbtn a {
    width: 100%;
    margin: 0 0 5px;
    padding: 7px 5px 20px;
    display: block;
    box-sizing: border-box;
  }
  article .careerbody p.flowbtn a br {
    display: none;
  }
}
article .careerbody ul {
  margin: 0;
}
article .careerbody ul li {
  font-size: 75%;
  padding-bottom: 0;
}
article .careerbody ul li:before {
  content: "";
  top: 0.45em;
  left: 0.2em;
  width: 0.7em;
  height: 0.7em;
  display: block;
  background-color: #078086;
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}
.errorbox span {
  display: none !important;
  padding: 5px 0;
  font-size: 87.5% !important;
  font-weight: bold;
  color: #fff !important;
  text-align: center;
  background-color: #c00;
}
.errorbox span:first-child {
  display: block !important;
  margin: 0 0 20px;
}
.sendbox {
  display: none;
}
.sendbox span.send {
  margin: 0 0 20px;
  display: block;
  padding: 5px 8px 7px;
  background-color: #c00;
  color: #fff !important;
  font-weight: bold;
  text-align: center;
}
.mw_wp_form_preview .sendbox {
  display: block;
}
.mce-content-body {
  background-color: #fff;
  margin: 20px;
}
.answer {
  display: none;
}
.mce-content-body .answer {
  display: block !important;
}
.fancybox-can-swipe .fancybox-content,
.fancybox-can-pan .fancybox-content {
  background-color: #fff !important;
}
.red,
.require {
  color: #c00;
}
.requiremark {
  margin: 0 2px 0 3px;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.7rem;
  font-weight: 500;
  color: #c00;
  line-height: 1.2;
  border: 1px solid #c00;
  border-radius: 3px;
}
.requiremark2 {
  margin: -3px 8px 0;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8rem;
  font-weight: 500;
  color: #c00;
  line-height: 1.2;
  border: 1px solid #c00;
  border-radius: 3px;
}
.no_require {
  margin: -3px 8px 0;
  padding: 0 3px 1px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.8rem;
  font-weight: 500;
  color: #999;
  line-height: 1.2;
  border: 1px solid #999;
  border-radius: 3px;
}
.formtbl {
  width: 100%;
  border-collapse: separate;
  border-top: 1px solid #ddd;
}
.formtbl tr:nth-child(even) {
  background-color: #f9f9f9;
}
.formtbl th {
  width: 20%;
  padding: 14px 15px;
  white-space: nowrap;
  font-size: 81.25%;
  font-weight: bold;
  line-height: 1.6;
  vertical-align: top;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ddd;
}
.formtbl th[scope="col"] {
  background-color: #c6e7f0;
}
.formtbl th p,
.formtbl th span {
  white-space: normal;
}
.formtbl td {
  padding: 4px 15px 4px 8px;
  padding: 10px 15px;
  font-size: 81.25%;
  line-height: 1.6;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #ddd;
}
.formtbl th + td {
  border-left: 1px solid #ddd;
}
.formtbl .notbl th,
.formtbl .notbl td {
  width: auto;
  font-size: 1em;
  border-bottom: none;
}
@media screen and (max-width: 735px) {
  .formtbl .notbl th,
  .formtbl .notbl td {
    border: none !important;
  }
}
.formtbl .notbl tr + tr th,
.formtbl .notbl tr + tr td {
  border-top: 1px solid #ddd;
}
.formtbl P {
  margin: 8px 0 0;
  padding: 0 0 8px;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
}
.formtbl strong {
  color: #000;
}
.formtbl label.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  font-size: 75%;
  line-height: 28px;
}
.formtbl span.block {
  margin: 3px 0;
  display: block;
  line-height: 1.6;
}
.formtbl span.txt {
  display: block;
  font-size: 0.75rem;
  line-height: 1.5;
  color: #333;
}
.formtbl span.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl span.notes input,
.formtbl span.notes label {
  display: inline-block;
  vertical-align: middle;
}
.formtbl span.notes.clr {
  display: block;
}
.formtbl span.error {
  margin: 0 5px;
  display: block;
  vertical-align: top;
  font-size: 0.75rem;
  font-weight: bold;
  color: #c00;
  line-height: 28px;
}
.formtbl span.mwform-radio-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl span.mwform-checkbox-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  font-size: 0.75rem;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl input + span.txt,
.formtbl input + strong {
  margin: 5px 0 0;
}
.formtbl input[type="text"],
.formtbl input[type="tel"],
.formtbl input[type="email"] {
  height: 40px;
  padding: 0 16px;
  line-height: 40px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #eee;
  border: none;
  border-radius: 20px;
  box-shadow: inset 0 0 0 0 transparent;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  outline: none;
}
.formtbl input[type="text"]:focus,
.formtbl input[type="tel"]:focus,
.formtbl input[type="email"]:focus {
  background: #ffc;
  border-radius: 0;
}
.formtbl input[type="text"].form_l {
  width: 100%;
}
.formtbl input[type="text"].form_m,
.formtbl input[type="email"].form_m {
  width: 50%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_m,
  .formtbl input[type="email"].form_m {
    width: 100%;
  }
}
.formtbl input[type="text"].form_s {
  width: 20%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_s {
    width: 100%;
  }
}
.formtbl input[type="text"].form_xs {
  width: 10%;
}
@media screen and (max-width: 735px) {
  .formtbl input[type="text"].form_xs {
    width: 20%;
  }
}
.formtbl input[type="radio"] {
  display: none !important;
}
.formtbl input[type="radio"]:checked + .radio:before,
.formtbl input[type="radio"]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.formtbl input[type="radio"]:checked + .radio:after,
.formtbl input[type="radio"]:checked + .mwform-radio-field-text:after {
  background-color: #39f;
}
.formtbl .mwform-radio-field-text,
.formtbl .radio {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  line-height: 16px;
}
.formtbl .mwform-radio-field-text:before,
.formtbl .radio:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 4px;
  display: block;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
.formtbl .mwform-radio-field-text:after,
.formtbl .radio:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -8px;
  width: 14px;
  height: 14px;
  border: 1px solid #bbb;
  border-radius: 50%;
  content: "";
}
.formtbl input[type="checkbox"] {
  display: none !important;
}
.formtbl input[type="checkbox"]:checked + .checkbox:before,
.formtbl input[type="checkbox"]:checked + .mwform-checkbox-field-text:before {
  opacity: 1;
}
.formtbl input[type="checkbox"]:checked + .checkbox:after,
.formtbl input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  background-color: #39f;
}
.formtbl .mwform-checkbox-field-text,
.formtbl .checkbox {
  width: auto !important;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  line-height: 16px;
}
.formtbl .mwform-checkbox-field-text:before,
.formtbl .checkbox:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -6px;
  width: 5px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formtbl .mwform-checkbox-field-text:after,
.formtbl .checkbox:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  content: "";
}
.formtbl .form_s + .mwform-checkbox-field-text,
.formtbl .form_s + .mwform-radio-field-text {
  margin: 0;
  padding: 0 10px 0 21px;
}
.formtbl textarea {
  width: 100% !important;
  height: 100px !important;
  padding: 12px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #eee;
  border: none;
  border-radius: 10px;
  box-shadow: inset 0 0 0 0 transparent;
  box-sizing: border-box;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  -ms-transition: all 0.5s ease 0s;
  -o-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
  outline: none;
}
.formtbl textarea:focus {
  background: #ffc;
  border-radius: 0;
}
.formtbl input[type="button"],
.formtbl input[type="submit"],
.formtbl input[type="reset"] {
  height: 42px;
  padding: 0 30px 2px;
  display: inline-block;
  vertical-align: middle;
  font-size: 100% !important;
  font-weight: bold;
  color: #fff;
  line-height: 32px;
  cursor: pointer;
  background-color: #0073b8;
  border: solid 1px #0073b8;
  border-radius: 25px;
  -webkit-appearance: none;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.formtbl input[type="button"]:hover,
.formtbl input[type="submit"]:hover,
.formtbl input[type="reset"]:hover {
  color: #0073b8;
  background: #fff;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.5);
}
.formtbl .select,
.formtbl .selectm,
.formtbl .selects {
  width: 200px;
}
.formtbl .select label,
.formtbl .selectm label,
.formtbl .selects label {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: middle;
  background-color: #fff;
  background-repeat: no-repeat;
  border: 1px solid #ddd;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  border-radius: 4px;
  font-size: 75%;
  line-height: 1.8;
  text-indent: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
.formtbl .select label select,
.formtbl .selectm label select,
.formtbl .selects label select {
  position: relative;
  width: calc(100% + 24px);
  padding: 0 0 0 4px;
  display: block;
  font-size: 14px;
  line-height: 1.5;
  text-indent: 8px;
  text-indent: 0.01px;
  text-overflow: "";
  border: none;
  border-radius: 2px;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}
.formtbl .select label select:focus,
.formtbl .selectm label select:focus,
.formtbl .selects label select:focus {
  outline: none;
}
.formtbl .select label:after,
.formtbl .selectm label:after,
.formtbl .selects label:after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 4px solid #999;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.formtbl .selectm {
  width: 65px;
  display: inline-block;
  vertical-align: middle;
}
.formtbl .selects {
  width: 55px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: top;
}
@media screen and (max-width: 735px) {
  .formtbl th {
    width: auto;
    padding: 8px 8px 5px;
    display: block;
    border: none;
    line-height: 1.5;
    white-space: normal;
  }
  .formtbl th br {
    display: none;
  }
  .formtbl td {
    padding: 0 8px 8px;
    display: block;
    border-top: none;
    border-left: none;
    border: none;
    line-height: 24px;
  }
  .formtbl td label {
    margin-top: 0;
    margin-bottom: 0;
  }
  .formtbl .checkbox {
    margin: 3px 0;
  }
  .formtbl th + td {
    border-left: none;
  }
  .formtbl p {
    margin: 12px 0 5px;
  }
  .formtbl label.seimei {
    margin: 0 0 5px;
    display: block;
    width: auto;
    text-align: left;
  }
  .formtbl span.notes {
    margin: 0 2px;
  }
  .formtbl span.error {
    margin: 5px;
  }
  .formtbl span.mwform-radio-field {
    margin: 3px 0 !important;
    display: block;
  }
  .formtbl span.mwform-checkbox-field {
    margin: 3px 0 !important;
    display: block;
  }
}
div.formtbl,
p.formtbl {
  margin: 15px 0;
  border: none;
}
.border div.formtbl,
.border p.formtbl {
  margin: 0;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin: 0 10px 0 0 !important;
  margin: 0 !important;
}
.formtbl2 {
  width: 100%;
}
.formtbl2 th {
  width: 15%;
  padding: 28px 15px;
  white-space: nowrap;
  font-size: 81.25%;
  font-weight: bold;
  color: #333;
  line-height: 1.6;
  vertical-align: top;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.formtbl2 th[scope="col"] {
  background-color: #c6e7f0;
}
.formtbl2 th span.mini {
  font-size: 80%;
}
.formtbl2 th .note2 {
  display: flex;
  align-items: flex-start;
}
.formtbl2 th .note2 .requiremark2 {
  margin-top: 0;
}
.formtbl2 td {
  padding: 4px 15px 4px 8px;
  padding: 20px 15px;
  font-size: 1rem;
  line-height: 1.6;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  text-align: left;
}
.formtbl2 td .innertbl th,
.formtbl2 td .innertbl td {
  padding: 0 5px 0 0;
  font-size: 1em;
  border: none;
}
.formtbl2 td .innernote {
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #ddd;
}
.formtbl2 td .innertbl2 {
  margin: 0;
  border: none;
}
.formtbl2 td .innertbl2 th,
.formtbl2 td .innertbl2 td {
  border: none;
  padding: 5px 0;
  border: none;
}
.formtbl2 td .innertbl2 th {
  padding: 14px 12px 14px 0;
  font-size: 81.25%;
  font-weight: bold;
  color: #333;
}
.formtbl2 th + td {
  border-left: none;
}
.formtbl2 p {
  margin: 8px 0 0;
  padding: 0 0 8px;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.6;
}
.formtbl2 strong {
  color: #000;
}
.formtbl2 label.notes {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  font-size: 75%;
  line-height: 28px;
}
.formtbl2 div.inline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.formtbl2 div.inline .inline {
  margin: 0 10px 2px 0;
  font-size: 0.9rem;
  color: #555;
}
.formtbl2 span.block {
  margin: 5px 0;
  display: block;
  font-size: 0.75rem;
  color: #555;
}
.formtbl2 span.block + .block {
  margin: -5px 0 5px;
}
.formtbl2 span.error {
  margin: 5px 0;
  display: block;
  vertical-align: top;
  font-size: 0.75rem;
  font-weight: bold;
  color: #c00;
  line-height: 28px;
}
.formtbl2 span.mwform-radio-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
@media screen and (max-width: 735px) {
  .formtbl2 span.mwform-radio-field-text {
    display: block;
  }
}
.formtbl2 span.mwform-checkbox-field-text {
  margin: 0 5px;
  display: inline-block;
  vertical-align: middle;
  vertical-align: 0.1em;
  line-height: 28px;
}
.formtbl2 input[type="text"],
.formtbl2 input[type="number"],
.formtbl2 input[type="tel"],
.formtbl2 input[type="email"] {
  -webkit-appearance: none;
  height: 28px;
  padding: 0 6px;
  line-height: 28px;
  font-size: 14px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  height: 40px;
  padding: 0 6px;
  line-height: 40px;
  font-size: 16px;
}
.formtbl2 input[type="text"]:focus,
.formtbl2 input[type="number"]:focus,
.formtbl2 input[type="tel"]:focus,
.formtbl2 input[type="email"]:focus {
  background: #ffc;
}
.formtbl2 input.form_l {
  width: 100%;
}
.formtbl2 input.form_m {
  width: 100%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_m {
    width: 100%;
  }
}
.formtbl2 input.form_ms {
  width: 30%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_ms {
    width: 30%;
  }
}
.formtbl2 input.form_s {
  width: 20%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_s {
    width: 100%;
  }
}
.formtbl2 input.form_xs {
  width: 10%;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_xs {
    width: 30%;
  }
}
.formtbl2 input.form_xxs {
  width: 60px;
}
@media screen and (max-width: 735px) {
  .formtbl2 input.form_xxs {
    width: 60px;
  }
}
.formtbl2 input[type="radio"] {
  display: none !important;
}
.formtbl2 input[type="radio"]:checked + .radio:before,
.formtbl2 input[type="radio"]:checked + .mwform-radio-field-text:before {
  opacity: 1;
}
.formtbl2 input[type="radio"]:checked + .radio:after,
.formtbl2 input[type="radio"]:checked + .mwform-radio-field-text:after {
  background-color: #39f;
}
.formtbl2 .mwform-radio-field-text,
.formtbl2 .radio {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  font-size: 0.9rem;
  color: #333;
  line-height: 16px;
}
.formtbl2 .mwform-radio-field-text:before,
.formtbl2 .radio:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 4px;
  display: block;
  margin-top: -3px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  content: "";
  opacity: 0;
}
.formtbl2 .mwform-radio-field-text:after,
.formtbl2 .radio:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border: 1px solid #bbb;
  border-radius: 50%;
  content: "";
}
.formtbl2 input[type="checkbox"] {
  display: none !important;
}
.formtbl2 input[type="checkbox"]:checked + .checkbox:before,
.formtbl2 input[type="checkbox"]:checked + .mwform-checkbox-field-text:before {
  opacity: 1;
}
.formtbl2 input[type="checkbox"]:checked + .checkbox:after,
.formtbl2 input[type="checkbox"]:checked + .mwform-checkbox-field-text:after {
  background-color: #39f;
}
.formtbl2 .mwform-checkbox-field-text,
.formtbl2 .checkbox {
  width: auto !important;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 8px 0;
  padding: 0 15px 0 21px;
  box-sizing: border-box;
  font-size: 0.9rem;
  color: #333;
  line-height: 16px;
}
.formtbl2 .mwform-checkbox-field-text:before,
.formtbl2 .checkbox:before {
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -6px;
  width: 5px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  opacity: 0;
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.formtbl2 .mwform-checkbox-field-text:after,
.formtbl2 .checkbox:after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  content: "";
}
.formtbl2 textarea {
  -webkit-appearance: none;
  width: 100% !important;
  height: 100px !important;
  padding: 5px;
  font-size: 16px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 2px;
  box-shadow: inset 1px 1px 5px -3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}
.formtbl2 textarea:focus {
  background: #ffffcc;
}
.formtbl2 textarea.line2 {
  height: 50px !important;
}
.formtbl2 input[type="button"],
.formtbl2 input[type="submit"] {
  -webkit-appearance: none;
  position: relative;
  padding: 12px 40px;
  display: inline-block;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #005d7c;
  border: none;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  border-radius: 4px;
}
.formtbl2 input[type="button"]:hover,
.formtbl2 input[type="submit"]:hover {
  background-color: #e2f2f7;
}
.formtbl2 input[type="button"]:active,
.formtbl2 input[type="submit"]:active {
  transform: translateY(2px);
}
.formtbl2 input[type="reset"] {
  -webkit-appearance: none;
  position: relative;
  padding: 8px 20px;
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  font-weight: bold;
  color: #333;
  background-color: #f6f6f6;
  border: 1px solid #ddd;
  -webkit-transition: all 0.3s ease 0s;
  -moz-transition: all 0.3s ease 0s;
  -ms-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  border-radius: 4px;
}
.formtbl2 input[type="reset"]:hover {
  background-color: #eee;
}
.formtbl2 input[type="reset"]:active {
  transform: translateY(2px);
}
.formtbl2 select {
  font-size: 1rem;
}
.formtbl2 .select,
.formtbl2 .selectm,
.formtbl2 .selects {
  width: 200px;
  margin: 2px 0 4px 2px;
}
.formtbl2 .select label,
.formtbl2 .selectm label,
.formtbl2 .selects label {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  vertical-align: middle;
  background-color: #fff;
  background-repeat: no-repeat;
  border: 1px solid #ddd;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  border-radius: 4px;
  font-size: 100%;
  line-height: 2.5;
  text-indent: 8px;
  box-sizing: border-box;
  overflow: hidden;
}
.formtbl2 .select label span.error,
.formtbl2 .selectm label span.error,
.formtbl2 .selects label span.error {
  font-size: 1em !important;
  display: inline-block;
  vertical-align: middle;
}
.formtbl2 .select label select,
.formtbl2 .selectm label select,
.formtbl2 .selects label select {
  position: relative;
  width: 120%;
  padding: 0;
  display: block;
  line-height: 2;
  text-indent: 8px;
  border: none;
  border-radius: 2px;
  background-color: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  z-index: 1;
}
.formtbl2 .select label select:focus,
.formtbl2 .selectm label select:focus,
.formtbl2 .selects label select:focus {
  outline: none;
}
.formtbl2 .select label:after,
.formtbl2 .selectm label:after,
.formtbl2 .selects label:after {
  content: "";
  position: absolute;
  top: 0;
  right: 8px;
  bottom: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-top: 4px solid #999;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.formtbl2 .selectm {
  width: 80px;
  display: inline-block;
  vertical-align: middle;
}
.formtbl2 .selects {
  width: 40px;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (max-width: 800px) {
  .formtbl2 th {
    white-space: normal;
  }
}
@media screen and (max-width: 735px) {
  .formtbl2 tr {
    display: block;
    border-bottom: 1px solid #ddd;
  }
  .formtbl2 th {
    width: auto;
    min-height: 1px;
    padding: 12px 20px;
    display: block;
    border-top: none;
    border-bottom: 1px solid #eee;
    background-color: #efefef;
    white-space: normal;
  }
  .formtbl2 th br {
    display: none;
  }
  .formtbl2 td {
    padding: 12px 20px;
    display: block;
    border-top: none;
    border-left: none;
    border-bottom: 1px solid #ccc;
    border: none;
    line-height: 24px;
  }
  .formtbl2 td label {
    margin-top: 0;
    margin-bottom: 0;
  }
  .formtbl2 th + td {
    border-left: none;
  }
  .formtbl2 span.error {
    margin: 5px;
  }
  .formtbl2 .checkbox span label {
    display: block;
  }
  .formtbl2 input[type="text"],
  .formtbl2 input[type="tel"],
  .formtbl2 input[type="email"] {
    box-shadow: inset 0 0 0 0 transparent;
  }
}
#pagenav {
  clear: both;
  padding: 15px 0;
  overflow: hidden;
  text-align: center;
  font-size: 81.25%;
  letter-spacing: -0.2em;
}
#pagenav .page-numbers {
  display: inline-block;
  vertical-align: middle;
  margin: 2px 2px 2px 0;
  padding: 7px 9px 6px 9px;
  width: auto;
  color: #fff !important;
  background: #0073b8 !important;
  border: 1px solid #0073b8;
  letter-spacing: normal;
  border-radius: 2px;
}
#pagenav .page-numbers:hover {
  color: #fff;
  background: #84bfd4;
}
#pagenav .current {
  display: inline-block;
  vertical-align: middle;
  margin: 2px 2px 2px 0;
  padding: 7px 9px 6px 9px;
  width: auto;
  color: #0073b8 !important;
  border: 1px solid #0073b8;
  background: #fff !important;
  letter-spacing: normal;
  border-radius: 2px;
}
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt-10 {
  margin-top: -10px !important;
}
.mt50 {
  margin-top: 50px;
}
.pt0 {
  padding-top: 0 !important;
}
.pt5 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb5 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.description {
  display: none;
}
.c5 {
  width: 5%;
}
.c10 {
  width: 10%;
}
.c15 {
  width: 15%;
}
.c20 {
  width: 20%;
}
.c25 {
  width: 25%;
}
.c30 {
  width: 30%;
}
.c35 {
  width: 35%;
}
.c40 {
  width: 40%;
}
.c45 {
  width: 45%;
}
.c50 {
  width: 50%;
}
.c60 {
  width: 60%;
}
.c70 {
  width: 70%;
}
.c75 {
  width: 75%;
}
.c80 {
  width: 80%;
}
.c100 {
  width: 100%;
}
.c25to50 {
  width: 25%;
}
@media screen and (max-width: 735px) {
  .c25to50 {
    width: 50%;
  }
}
.c_left {
  text-align: left !important;
}
.c_right {
  text-align: right !important;
}
.c_center {
  text-align: center !important;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.s_left {
  float: left;
  margin: 0 10px 0 0;
}
.s_right {
  float: right;
  margin: 0 10px 0 0;
}
.alignleft,
.f_left {
  float: left;
  margin: 0 20px 15px 0;
}
.alignleft + .alignleft,
.f_left + .alignleft {
  clear: both;
}
@media screen and (max-width: 735px) {
  .alignleft,
  .f_left {
    float: none;
    margin: 0 auto 15px;
    display: block;
  }
}
.alignright,
.f_right {
  float: right;
  margin: 0 0 15px 20px;
}
.alignright + .alignright,
.f_right + .alignright {
  clear: both;
}
@media screen and (max-width: 735px) {
  .alignright,
  .f_right {
    float: none;
    margin: 0 auto 15px;
    display: block;
  }
  .alignright.fix,
  .f_right.fix {
    float: right;
    max-width: 30%;
    margin: 0 0 10px 10px;
  }
}
.aligncenter {
  margin: 0 auto;
  display: block;
}
.t_right {
  float: right;
}
.t_right:after {
  clear: both;
  content: ".";
  display: block;
  width: 100%;
  height: 0;
  font-size: 0;
  visibility: hidden;
}
.t_right + * {
  clear: both;
}
.img {
  width: 100%;
  height: auto;
}
.indent {
  margin-left: 1em !important;
  text-indent: -1em;
}
.indent2 {
  margin-left: 2em !important;
  text-indent: -2em;
}
.indent3 {
  margin-left: 3em !important;
  text-indent: -3em;
  display: block;
}
.indentblock {
  margin-left: 1em !important;
}
.indentblock2 {
  margin-left: 20px !important;
}
@media screen and (max-width: 735px) {
  .indentblock2 {
    margin-left: 0 !important;
  }
}
strong {
  font-weight: bold;
}
.clr {
  clear: both;
}
.overflow {
  overflow: hidden;
}
p.nowrap,
span.nowrap,
th.nowrap,
td.nowrap,
li.nowrap {
  white-space: nowrap !important;
}
.large {
  font-size: 120%;
}
.i5 {
  width: 5%;
  height: auto !important;
}
.i10 {
  width: 10%;
  height: auto !important;
}
.i15 {
  width: 15%;
  height: auto !important;
}
.i20 {
  width: 20%;
  height: auto !important;
}
.i25 {
  width: 25%;
  height: auto !important;
}
.i30 {
  width: 30%;
  height: auto !important;
}
.i35 {
  width: 35%;
  height: auto !important;
}
.i40 {
  width: 40%;
  height: auto !important;
}
.i45 {
  width: 45%;
  height: auto !important;
}
.i50 {
  width: 50%;
  height: auto !important;
}
.i60 {
  width: 60%;
  height: auto !important;
}
.i70 {
  width: 70%;
  height: auto !important;
}
.i80 {
  width: 80%;
  height: auto !important;
}
.i90 {
  width: 90%;
  height: auto !important;
}
.i100 {
  width: 100%;
  height: auto !important;
}
@media screen and (max-width: 735px) {
  .i5,
  .i10,
  .i15,
  .i20,
  .i25,
  .i30,
  .i35,
  .i40,
  .i45,
  .i50,
  .i60,
  .i70,
  .i80,
  .i90,
  .i100 {
    width: 100%;
  }
}
.a5 {
  width: 5%;
  height: auto !important;
}
.a10 {
  width: 10%;
  height: auto !important;
}
.a15 {
  width: 15%;
  height: auto !important;
}
.a20 {
  width: 20%;
  height: auto !important;
}
.a25 {
  width: 25%;
  height: auto !important;
}
.a30 {
  width: 30%;
  height: auto !important;
}
.a35 {
  width: 35%;
  height: auto !important;
}
.a40 {
  width: 40%;
  height: auto !important;
}
.a45 {
  width: 45%;
  height: auto !important;
}
.a50 {
  width: 50%;
  height: auto !important;
}
.a60 {
  width: 60%;
  height: auto !important;
}
.a70 {
  width: 70%;
  height: auto !important;
}
.a80 {
  width: 80%;
  height: auto !important;
}
.a90 {
  width: 90%;
  height: auto !important;
}
.a100 {
  width: 100%;
  height: auto !important;
}
@media screen and (max-width: 735px) {
  .a5,
  .a10,
  .a15,
  .a20,
  .a25,
  .a30,
  .a35,
  .a40,
  .a45,
  .a50,
  .a60,
  .a70,
  .a80,
  .a90,
  .a100 {
    width: auto;
  }
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* custom header */
img.logo {
  width: 120px;
  height: auto;
  object-fit: contain;
}
header {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
}
.navbar-nav .nav-link li:nth-child(1) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(2) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(3) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(4) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(5) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(6) a {
  padding: 0px 42px !important;
}

.navbar-nav .nav-link li:nth-child(7) a {
  padding: 0px 42px !important;
}
li.nav-item.theme-button.green a {
  border-color: #009e61;
  color: #009e61;
  transition: 0.3s;
  font-weight: 500;
}
li.nav-item.theme-button.green a:hover {
  background-color: #009e61;
  color: #fff;
  transition: 0.3s;
}
li.nav-item.theme-button.blue a {
  border-color: #0073ba;
  color: #0073ba;
  transition: 0.3s;
  font-weight: 500;
}
li.nav-item.theme-button.blue a:hover {
  background-color: #0073ba;
  color: #fff;
  transition: 0.3s;
}
li.nav-item.theme-button.black a {
  border-color: #1a3753;
  color: #1a3753;
  transition: 0.3s;
  font-weight: 500;
}
li.nav-item.theme-button.black a:hover {
  background-color: #1a3753;
  transition: 0.3s;
  color: #fff;
}
li.nav-item.theme-button.grey a {
  border-color: #a9a9a9;
  color: white;
  transition: 0.3s;
  background-color: #a9a9a9;
}

li.nav-item.theme-button.green a:after {
  background-image: url(https://www.ishikawa-nu.ac.jp/wp-content/uploads/2023/09/%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97-58820.png);
}
li.nav-item.theme-button a:hover:after {
  background-image: url(https://www.ishikawa-nu.ac.jp/wp-content/uploads/2023/09/white-header-arrow.png);
  transition: 0.3s;
}
li.nav-item.theme-button.blue a:after {
  background-image: url(https://www.ishikawa-nu.ac.jp/wp-content/uploads/2023/09/header-blue-arrow.png);
}
li.nav-item.theme-button.black a:after {
  background-image: url(https://www.ishikawa-nu.ac.jp/wp-content/uploads/2023/09/header-black-arrow.png);
}
li.nav-item.theme-button a:after {
  display: inline-block;
  content: "";
  right: -10.4px;
  left: auto;
  top: 0;
  bottom: 0;
  width: 10.5px;
  height: 10.5px;
  background-position: center;
  margin: auto;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
}
.theme-button a {
  width: 140px;
  padding: 2px 15.1px !important;
  line-height: 1.43;
  display: inline-block;
  opacity: 1 !important;
  text-align: center;
  border: solid 1px #009e61;
  background-color: #fff;
  transition: 0.3s;
}
li.nav-item.theme-button {
  margin-right: 10px;
}
.main-menu a {
  padding: 3px 30px !important;
}
.navbar-nav .nav-item:not(:last-child) {
  border-right: 1px solid silver;
}

@media (max-width: 768px) {
  .navbar-nav .nav-item:not(:last-child) {
    border-right: none;
  }
}
.column.cloumn2 {
  margin-top: 8px;
}
@media screen and (max-width: 735px) {
  .main-menu a {
    padding: 10px 35px !important;
  }
  li.nav-item.theme-button {
    margin-bottom: 6px;
    margin-right: 0px;
  }
  .theme-button a {
    width: 200px;
    padding: 2px 4.1px !important;
  }
  .styling {
    padding: 18px 18px !important;
    font-size: 14px;
  }
}
.styling {
  color: #1a3753;
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
}
.eventlist_index_beta.footer li a {
  padding: none !important;
  display: contents !important;
}
