@charset "utf-8";

/* CSS Document */


/**
 * --------------------------------------------------------------------------
 * flex
 * --------------------------------------------------------------------------
 */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.jstBetween {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.jstCenter {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.jstAround {
  -webkit-box-pack: space-around;
  -ms-flex-pack: space-around;
  justify-content: space-around;
}

.rowReverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.alingSelfStart {
  align-self: start;
}

.alingSelfCenter {
  align-self: center;
}

.alingItemCenter {
  align-items: center;
}



/**
 * --------------------------------------------------------------------------
 * title
 * --------------------------------------------------------------------------
 */
.h2Title {
  font-size: 3.5rem;
  font-weight: 700;
  font-style: normal;
  font-family: Arial, Helvetica, "sans-serif";
  line-height: 1;
  text-align: center;
  margin-bottom: 20px;
}


.h3Read {
  font-size: 2rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.6;
  color: #01afd1;
  text-align: center;
  margin-bottom: 20px;
}


/**
 * --------------------------------------------------------------------------
 * academics
 * --------------------------------------------------------------------------
 */
.academicsList {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin: 50px 0;
}

.campusIcn {
  position: absolute;
  width: 60px;
  top: -15px;
  right: -15px;
}

.sougouRead {
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  color: #01afd1;
  margin: 50px 0 0 !important;
  text-align: center;
  line-height: 1.3;
}

.sougouRead:before,
.sougouRead:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #01afd1;
}

.sougouRead:before {
  margin-right: 1rem;
}

.sougouRead:after {
  margin-left: 1rem;
}



/**
 * --------------------------------------------------------------------------
 * OC
 * --------------------------------------------------------------------------
 */

.ocLink {
  background: #FAEF01;
  width: 100%;
  padding: 30px 0;
  margin: 0;
}

.ocLinkInner {
  width: 90%;
  max-width: auto;
  margin: 0 auto;
  position: relative;
}

.ocLinkTitle {
  font-size: 2rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  margin-bottom: 30px;
  text-align: center;
}

.ocLinkTitleYear {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 10px;
  text-align: center;
  color: #01afd1;
}

.ocLinkWrapper {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.ocLinkBt {
  text-align: center;
  font-size: 2rem;
  background: #01afd1 !important;
  color: #fff !important;
}

.lineLinkBt {
  text-align: center;
  font-size: 2rem;
  background: #00B900 !important;
  color: #fff !important;
}


/**
 * --------------------------------------------------------------------------
 * campusPr
 * --------------------------------------------------------------------------
 */
.campusPrWrapper {
  overflow: hidden;
  margin-top: 0;
}

.campusPrInner {
  width: 90%;
  max-width: auto;
  margin: 0 auto;
  padding: 20px 0 10px;
  position: relative;
}

.newTokaiSpecBox {
  margin: 30px 0 0 0;
}

.newTokaiSpec {
  display: inherit;
  margin-top: 10px;
}

.newTokaiSpec dt:before {
  content: "■";
  color: #0275fd;
  margin: 0 5px 0 0;
}


.campusPrBox {
  margin: 50px 0 0 0;
  display: inherit;
}

.tokaiGrf {
  padding: 30px;
}

.campusPrTitle {
  font-size: 1.3rem;
  margin: 0 auto 20px;
}

.tokaiGrf {
  background: #fff;
  padding: 50px;
  box-shadow: 0 4px 24px rgba(0, 25, 65, .12)
}

.campusPrBg {
  display: block;
  position: absolute;
  background: #f5f5f5;
  height: 100%;
  z-index: 1;
  top: 0;
  left: -120px;
  width: calc(50vw + 811px);
  border-radius: .625em 0 0 .625em;
}

.campusPrBgBox {
  position: relative;
  z-index: 2;
}

.campusPrTitle {
  font-family: "Roboto", system-ui;
  font-weight: 700;
  color: #fff;
  font-size: 1.5rem;
  text-align: center;
  margin: 0 auto 30px;
  line-height: 1;
}

.campusPrTitle span {
  background: #0275fd;
  border-radius: 5px 0 5px 0;
  padding: 5px 10px;
}


/**
 * --------------------------------------------------------------------------
 * Modal
 * --------------------------------------------------------------------------
 */
.modalSection {
  padding: 5% 0;
  overflow: scroll;
}

.modalPlofBox {
  position: relative;
  width: 70%;
  margin: 0 auto 30px;
}

.modalCommentBox {
  width: auto;
}

.modalCommentOnly {
  width: 100%;
  margin: 0 auto;
}

.modalImg {
  margin: 0 0 20px 0;
}

.modalPost {
  font-size: 1.6rem;
  text-align: center;
}

.modalName {
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}

.modalComment {
  margin-bottom: 15px;
}

/**
 * --------------------------------------------------------------------------
 * footer
 * --------------------------------------------------------------------------
 */
#siteFooter {
  background: #f5f5f5;
  border-bottom: solid 10px #FAEF01;
}

#siteFooter .inner {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
  text-align: center;
}

#siteFooter h3 {
  font-size: 2rem;
  margin: 0 auto 10px;
  font-weight: 700;
  line-height: 1.4;
}

#siteFooter h3 a {
  color: #000;
}

#siteFooter .address {
  margin: 0 auto;
  text-align: center;
}

#siteFooter .mail {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0 auto 10px;
  text-align: center;
}

#siteFooter .jimukyoku {
  font-size: 1.2rem;
  margin: 0 0 50px 0;
  font-weight: bold;
}

#siteFooter .copyright {
  margin-top: 30px;
  font-size: 1.5rem;
  text-align: center;
}

#siteFooter .footerInquiry {
  font-size: 1.4rem;
  margin: 0 0 20px 0;
  border: solid 1px #000;
  display: inline-block;
  padding: 5px 20px;
}


.footerBt {
  width: auto;
  margin: 30px auto 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}


/**
 * --------------------------------------------------------------------------
 * img
 * --------------------------------------------------------------------------
 */
img {
  border: none;
  max-width: 100%;
  height: auto;
  width
  /***/
  : auto;
  /*IE8でmax-widthで横幅しか変わらないためIE8のみ適用*/
  -ms-interpolation-mode: bicubic;
  vertical-align: middle;
}

.imgRadius {
  box-shadow: 0 4px 24px rgba(0, 25, 65, .12)
}


/**
 * --------------------------------------------------------------------------
 * レイアウト
 * --------------------------------------------------------------------------
 */
.mA {
  margin: 0 auto;
}

.mLA {
  margin-left: auto;
}

.mRA {
  margin-right: auto;
}

.m0 {
  margin: 0 !important;
}

.m3 {
  margin: 3px !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.mT0 {
  margin-top: 0px !important;
}

.mT5 {
  margin-top: 5px !important;
}

.mT10 {
  margin-top: 10px !important;
}

.mT15 {
  margin-top: 15px !important;
}

.mT20 {
  margin-top: 20px !important;
}

.mT25 {
  margin-top: 25px !important;
}

.mT30 {
  margin-top: 30px !important;
}

.mT35 {
  margin-top: 35px !important;
}

.mT40 {
  margin-top: 40px !important;
}

.mT45 {
  margin-top: 45px !important;
}

.mT50 {
  margin-top: 50px !important;
}

.mR0 {
  margin-right: 0px !important;
}

.mB3 {
  margin-right: 3px !important;
}

.mR5 {
  margin-right: 5px !important;
}

.mR10 {
  margin-right: 10px !important;
}

.mR15 {
  margin-right: 15px !important;
}

.mR20 {
  margin-right: 20px !important;
}

.mR25 {
  margin-right: 25px !important;
}

.mR30 {
  margin-right: 30px !important;
}

.mR35 {
  margin-right: 35px !important;
}

.mR40 {
  margin-right: 40px !important;
}

.mR45 {
  margin-right: 45px !important;
}

.mR50 {
  margin-right: 50px !important;
}

.mR70 {
  margin-right: 70px !important;
}

.mR100 {
  margin-right: 100px !important;
}

.mR110 {
  margin-right: 110px !important;
}

.mR120 {
  margin-right: 120px !important;
}

.mR130 {
  margin-right: 130px !important;
}

.mR140 {
  margin-right: 140px !important;
}

.mR150 {
  margin-right: 150px !important;
}

.mR160 {
  margin-right: 160px !important;
}

.mR170 {
  margin-right: 170px !important;
}

.mR180 {
  margin-right: 180px !important;
}

.mR190 {
  margin-right: 190px !important;
}

.mR200 {
  margin-right: 200px !important;
}

.mR210 {
  margin-right: 210px !important;
}

.mR220 {
  margin-right: 220px !important;
}

.mR230 {
  margin-right: 230px !important;
}

.mR240 {
  margin-right: 240px !important;
}

.mR250 {
  margin-right: 250px !important;
}

.mR260 {
  margin-right: 260px !important;
}

.mR280 {
  margin-right: 280px !important;
}

.mR300 {
  margin-right: 300px !important;
}

.mB0 {
  margin-bottom: 0px !important;
}

.mB3 {
  margin-bottom: 3px !important;
}

.mB5 {
  margin-bottom: 5px !important;
}

.mB10 {
  margin-bottom: 10px !important;
}

.mB15 {
  margin-bottom: 15px !important;
}

.mB20 {
  margin-bottom: 20px !important;
}

.mB25 {
  margin-bottom: 25px !important;
}

.mB30 {
  margin-bottom: 30px !important;
}

.mB35 {
  margin-bottom: 35px !important;
}

.mB40 {
  margin-bottom: 40px !important;
}

.mB45 {
  margin-bottom: 45px !important;
}

.mB50 {
  margin-bottom: 50px !important;
}

.mB60 {
  margin-bottom: 60px !important;
}

.mB70 {
  margin-bottom: 70px !important;
}

.mB80 {
  margin-bottom: 80px !important;
}

.mL0 {
  margin-left: 0px !important;
}

.mL5 {
  margin-left: 5px !important;
}

.mL1em {
  margin-left: 1.0em !important;
}

.mL1hem {
  margin-left: 1.5em !important;
}

.mL2em {
  margin-left: 2em !important;
}

.mL2hem {
  margin-left: 2.5em !important;
}

.mL3em {
  margin-left: 3em !important;
}

.mL3hem {
  margin-left: 3.5em !important;
}

.mL4em {
  margin-left: 4em !important;
}

.mL4hem {
  margin-left: 4.5em !important;
}

.mL5em {
  margin-left: 5em !important;
}

.mL6em {
  margin-left: 6em !important;
}

.mL7em {
  margin-left: 7em !important;
}

.mL8em {
  margin-left: 8em !important;
}

.mL10 {
  margin-left: 10px !important;
}

.mL15 {
  margin-left: 15px !important;
}

.mL20 {
  margin-left: 20px !important;
}

.mL25 {
  margin-left: 25px !important;
}

.mL30 {
  margin-left: 30px !important;
}

.mL35 {
  margin-left: 35px !important;
}

.mL40 {
  margin-left: 40px !important;
}

.mL45 {
  margin-left: 45px !important;
}

.mL50 {
  margin-left: 50px !important;
}

.mL55 {
  margin-left: 55px !important;
}

.mL60 {
  margin-left: 60px !important;
}

.mL70 {
  margin-left: 70px !important;
}

.mL80 {
  margin-left: 80px !important;
}

.mL85 {
  margin-left: 85px !important;
}

.mL105 {
  margin-left: 105px !important;
}

.mL110 {
  margin-left: 110px !important;
}

.mL115 {
  margin-left: 115px !important;
}

.mL120 {
  margin-left: 120px !important;
}

.mL130 {
  margin-left: 130px !important;
}

.mL140 {
  margin-left: 140px !important;
}

.mL150 {
  margin-left: 150px !important;
}

.mL170 {
  margin-left: 170px !important;
}

.mL200 {
  margin-left: 200px !important;
}

.mL225 {
  margin-left: 225px !important;
}

.mL270 {
  margin-left: 270px !important;
}

.p0 {
  padding: 0;
}

.p3 {
  padding: 3px;
}

.p5 {
  padding: 5px;
}

.p10 {
  padding: 10px;
}

.p15 {
  padding: 15px;
}

.p20 {
  padding: 20px;
}

.p25 {
  padding: 25px;
}

.p30 {
  padding: 30px;
}

.p35 {
  padding: 35px;
}

.p40 {
  padding: 40px;
}

.p45 {
  padding: 45px;
}

.p50 {
  padding: 50px;
}

.px-10 {
  padding-inline: 10px;
}

.px-20 {
  padding-inline: 20px;
}

.px-30 {
  padding-inline: 30px;
}

.py-10 {
  padding-block: 10px;
}

.py-20 {
  padding-block: 20px;
}

.py-30 {
  padding-block: 30px;
}

.pT0 {
  padding-top: 0px !important;
}

.pT2 {
  padding-top: 2px !important;
}

.pT3 {
  padding-top: 3px !important;
}

.pT5 {
  padding-top: 5px !important;
}

.pT10 {
  padding-top: 10px !important;
}

.pT15 {
  padding-top: 15px !important;
}

.pT20 {
  padding-top: 20px !important;
}

.pT25 {
  padding-top: 25px !important;
}

.pT30 {
  padding-top: 30px !important;
}

.pT35 {
  padding-top: 35px !important;
}

.pT40 {
  padding-top: 40px !important;
}

.pT45 {
  padding-top: 45px !important;
}

.pT50 {
  padding-top: 50px !important;
}

.pT70 {
  padding-top: 70px !important;
}

.pT80 {
  padding-top: 80px !important;
}

.pT100 {
  padding-top: 100px !important;
}

.pR0 {
  padding-right: 0px !important;
}

.pR5 {
  padding-right: 5px;
}

.pR10 {
  padding-right: 10px;
}

.pR15 {
  padding-right: 15px;
}

.pR20 {
  padding-right: 20px;
}

.pR25 {
  padding-right: 25px;
}

.pR30 {
  padding-right: 30px;
}

.pR35 {
  padding-right: 35px;
}

.pR40 {
  padding-right: 40px;
}

.pR45 {
  padding-right: 45px;
}

.pR50 {
  padding-right: 50px;
}

.pB0 {
  padding-bottom: 0px !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;
}

.pB35 {
  padding-bottom: 35px;
}

.pB40 {
  padding-bottom: 40px;
}

.pB45 {
  padding-bottom: 45px;
}

.pB50 {
  padding-bottom: 50px;
}

.pL0 {
  padding-left: 0px;
}

.pL5 {
  padding-left: 5px;
}

.pL10 {
  padding-left: 10px;
}

.pL15 {
  padding-left: 15px;
}

.pL20 {
  padding-left: 20px;
}

.pL25 {
  padding-left: 25px;
}

.pL30 {
  padding-left: 30px;
}

.pL35 {
  padding-left: 35px;
}

.pL40 {
  padding-left: 40px;
}

.pL45 {
  padding-left: 45px;
}

.pL50 {
  padding-left: 50px;
}