@charset "UTF-8";

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
reset
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto;
}

ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

ol, ul {
  list-style: none;
}

i {
  font-style: normal;
}

label {
  cursor: pointer;
}

th, td {
  vertical-align: middle;
}

th {
  text-align: left;
  font-weight: normal;
}

a {
  color: #505050;
  text-decoration: none;
}

em {
  font-weight: bold;
  font-style: normal;
}

figcaption {
  line-height: normal;
}

hr {
  margin: 0;
}

* {
  box-sizing: border-box;
}

button {
  display: inline-block;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: none;
  outline: none;
  vertical-align: top;
  margin: 0;
  padding: 0;
  font-size: 0;
}

/* android font-size fix */
li, h1, h2, h3, h4, h5, h6, pre, fieldset, input, textarea, p, blockquote, th, td, dt, dd {
  max-height: 999999px;
}

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
モジュール
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* text */
.m-text-10 {
  font-size: 10px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-11 {
  font-size: 11px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-12 {
  font-size: 12px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-13 {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-14 {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-15 {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-16 {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
}

.m-text-18 {
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.m-text-20 {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.m-text-26 {
  font-size: 26px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.m-text-28 {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.m-font-b {
  font-weight: bold;
}

.m-color-pk {
  color: #ff6699;
}

.m-color-gray {
  color: #505050;
}

.m-color-wh {
  color: #ffffff;
}

.m-font-ja {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
}

.m-uline {
  text-decoration: underline;
}

.m-uline:hover {
  text-decoration: none;
}

.m-uline2 {
  color: #ff6699;
  text-decoration: underline;
}

.m-uline2:hover {
  text-decoration: none;
}

.m-hline:hover {
  text-decoration: underline;
}

.m-op {
  -webkit-transition: opacity 0.3s;
          transition: opacity 0.3s;
}
.m-op:hover {
  opacity: 0.7;
  text-decoration: none;
}

.m-pt-05 {
  padding-top: 5px;
}

.m-pt-10 {
  padding-top: 10px;
}

.m-pt-20 {
  padding-top: 20px;
}

.m-pt-30 {
  padding-top: 30px;
}

.m-pt-40 {
  padding-top: 40px;
}

.m-pt-50 {
  padding-top: 50px;
}

.m-pt-60 {
  padding-top: 60px;
}

.m-pt-80 {
  padding-top: 80px;
}

.m-pt-100 {
  padding-top: 100px;
}

.m-pb-05 {
  padding-bottom: 5px;
}

.m-pb-10 {
  padding-bottom: 10px;
}

.m-pb-20 {
  padding-bottom: 20px;
}

.m-pb-30 {
  padding-bottom: 30px;
}

.m-pb-40 {
  padding-bottom: 40px;
}

.m-pb-50 {
  padding-bottom: 50px;
}

.m-pb-60 {
  padding-bottom: 60px;
}

.m-pb-80 {
  padding-bottom: 80px;
}

.m-pb-100 {
  padding-bottom: 100px;
}

.m-mt-05 {
  margin-top: 5px;
}

.m-mt-10 {
  margin-top: 10px;
}

.m-mt-20 {
  margin-top: 20px;
}

.m-mt-30 {
  margin-top: 30px;
}

.m-mt-40 {
  margin-top: 40px;
}

.m-mt-50 {
  margin-top: 50px;
}

.m-mt-60 {
  margin-top: 60px;
}

.m-mt-80 {
  margin-top: 80px;
}

.m-mt-100 {
  margin-top: 100px;
}

.m-mb-05 {
  margin-bottom: 5px;
}

.m-mb-10 {
  margin-bottom: 10px;
}

.m-mb-20 {
  margin-bottom: 20px;
}

.m-mb-30 {
  margin-bottom: 30px;
}

.m-mb-40 {
  margin-bottom: 40px;
}

.m-mb-50 {
  margin-bottom: 50px;
}

.m-mb-60 {
  margin-bottom: 60px;
}

.m-mb-80 {
  margin-bottom: 80px;
}

.m-mb-100 {
  margin-bottom: 100px;
}

.m-p-10 {
  padding: 10px;
}

.m-p-15 {
  padding: 15px;
}

.m-p-20 {
  padding: 20px;
}

.m-p-30 {
  padding: 30px;
}

.w190 {
  width: 190px;
}

.w200 {
  width: 200px;
}

.w220 {
  width: 220px;
}

.w255 {
  width: 255px;
}

/* display */
.m-cf {
  *zoom: 1;
}
.m-cf:after {
  content: "";
  display: table;
  clear: both;
}

.m-d-b {
  display: block;
}

.m-d-ib {
  display: inline-block;
}

.m-d-i {
  display: inline;
}

.m-d-tbl {
  display: table;
  width: 100%;
}

.m-d-tbl__cell {
  display: table-cell;
  vertical-align: top;
}

/* align */
.m-align-c {
  text-align: center;
}

.m-align-l {
  text-align: left;
}

.m-align-r {
  text-align: right;
}

.m-valign-t {
  vertical-align: top;
}

.m-valign-m {
  vertical-align: middle;
}

.m-valign-b {
  vertical-align: bottom;
}

/* list */
.m-list-dot li {
  position: relative;
  padding-left: 1em;
}
.m-list-dot li:before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.m-list-decimal {
  list-style: decimal;
  margin-left: 1.5em;
}

.m-list-decimal-cir li {
  position: relative;
  padding-left: 1.5em;
}
.m-list-decimal-cir li:before {
  position: absolute;
  left: 0;
  top: 0;
}
.m-list-decimal-cir li:nth-of-type(1):before {
  content: "\002460";
}
.m-list-decimal-cir li:nth-of-type(2):before {
  content: "\002461";
}
.m-list-decimal-cir li:nth-of-type(3):before {
  content: "\002462";
}
.m-list-decimal-cir li:nth-of-type(4):before {
  content: "\002463";
}
.m-list-decimal-cir li:nth-of-type(5):before {
  content: "\002464";
}
.m-list-decimal-cir li:nth-of-type(6):before {
  content: "\002465";
}
.m-list-decimal-cir li:nth-of-type(7):before {
  content: "\002466";
}
.m-list-decimal-cir li:nth-of-type(8):before {
  content: "\002467";
}
.m-list-decimal-cir li:nth-of-type(9):before {
  content: "\002468";
}


/* layout */
.l-inner {
  position: relative;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.l-inner-s {
  position: relative;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}


/* module */
.m-media {
  *zoom: 1;
}
.m-media:after {
  content: "";
  display: table;
  clear: both;
}

.m-media__image {
  float: left;
}

.m-media--g10 .m-media__image {
  margin-right: 10px;
}

.m-media--g20 .m-media__image {
  margin-right: 20px;
}

.m-media--g30 .m-media__image {
  margin-right: 30px;
}

.m-media--g60 .m-media__image {
  margin-right: 60px;
}

.m-media__content {
  overflow: hidden;
}

.m-column {
  *zoom: 1;
}
.m-column:after {
  content: "";
  display: table;
  clear: both;
}

.m-column__item {
  float: left;
  width: 50%;
}

.m-column__item--w20 {
  width: 20%;
}

.m-column__item--w25 {
  width: 25%;
}

.m-column__item--w33 {
  width: 33.3%;
}

.m-column__item--w66 {
  width: 66.6%;
}

.m-column--g10 {
  margin-left: -5px;
  margin-right: -5px;
}
.m-column--g10 .m-column__item {
  padding-left: 5px;
  padding-right: 5px;
}

.m-column--g20 {
  margin-left: -10px;
  margin-right: -10px;
}
.m-column--g20 .m-column__item {
  padding-left: 10px;
  padding-right: 10px;
}

.m-column--g30 {
  margin-left: -15px;
  margin-right: -15px;
}
.m-column--g30 .m-column__item {
  padding-left: 15px;
  padding-right: 15px;
}

.m-column--g40 {
  margin-left: -15px;
  margin-right: -15px;
}
.m-column--g40 .m-column__item {
  padding-left: 15px;
  padding-right: 15px;
}

.m-column--g60 {
  margin-left: -30px;
  margin-right: -30px;
}
.m-column--g60 .m-column__item {
  padding-left: 30px;
  padding-right: 30px;
}

/* title */
.m-title {
  position: relative;
  padding-top: 85px;
  text-align: center;
  letter-spacing: 0.1em;
}
.m-title:before {
  content: "";
  width: 80px;
  height: 80px;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -40px;
  background-color: #ff6699;
  border-radius: 100%;
}

.m-title--study:before {
  background-position: 0 0;
}

.m-title--facilities:before {
  background-position: -80px 0;
}

.m-title--campuslife:before {
  background-position: -160px 0;
}

.m-title--admission:before {
  background-position: -240px 0;
}

.m-title--career:before {
  background-position: 320px 0;
}

.m-title--access:before {
  background-position: -400px 0;
}

.m-bracket-title {
  text-align: center;
}
.m-bracket-title > span {
  position: relative;
  display: inline-block;
  min-height: 50px;
  line-height: 50px;
}
.m-bracket-title > span:before, .m-bracket-title > span:after {
  content: "";
  width: 12px;
  height: 50px;
  position: absolute;
  top: 50%;
  margin-top: -25px;
  background-image: url(../images/bg_bracket.png);
}
.m-bracket-title > span:before {
  left: -50px;
}
.m-bracket-title > span:after {
  right: -50px;
  background-position: -12px 0;
}

.m-line-title {
  position: relative;
  height: 60px;
  line-height: 60px;
  text-align: center;
}
.m-line-title:before, .m-line-title:after {
  content: "";
  width: 100%;
  height: 9px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background-image: url(../images/bg_line.png);
}
.m-line-title:before {
  top: 0;
}
.m-line-title:after {
  bottom: 0;
}

.m-line-title--s:before, .m-line-title--s:after {
  background-image: url(../images/bg_line-s.png);
}

.m-bar-title {
  padding: 10px 15px;
  background-color: #ffffff;
  border: solid 1px #ff6699;
}

.m-bar-title-pk {
  padding: 5px 15px;
  background-color: #FFB9D0;
}

.m-bor-title {
  padding-bottom: 5px;
  border-bottom: solid 1px #ff6699;
}

.m-bor-box {
  border: solid 1px #ff6699;
}

/* table */
.m-tbl {
  width: 100%;
  border-top: solid 1px #ff6699;
  border-bottom: solid 1px #ff6699;
}
.m-tbl th, .m-tbl td {
  padding: 15px 20px;
  border-top: solid 1px #ff6699;
  border-bottom: solid 1px #ff6699;
}
.m-tbl th + th,
.m-tbl th + td,
.m-tbl td + td {
  border-left: solid 1px #ff6699;
}
.m-tbl tbody th, .m-tbl tbody td {
  border-top-style: dotted;
  border-bottom-style: dotted;
}
.m-tbl .m-tbl__th {
  background-color: #FFF5FA;
}
.m-tbl .m-tbl__th--gy {
  background-color: #FAFAFA;
}

.m-tbl--gy {
  border-top-color: #a0a0a0;
  border-bottom-color: #a0a0a0;
}
.m-tbl--gy .m-tbl__th {
  background-color: #FAFAFA;
}
.m-tbl--gy th, .m-tbl--gy td {
  border-top-color: #a0a0a0;
  border-bottom-color: #a0a0a0;
}
.m-tbl--gy th + th,
.m-tbl--gy th + td,
.m-tbl--gy td + td {
  border-left-color: #a0a0a0;
}




/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
共通
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
body {
  position: relative;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.231;
  color: #505050;
}

#l-wrapper {
  position: relative;
  min-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

/* footer contact */
.m-footer-contact__title {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
}

.m-footer-contact__text {
  margin-top: 20px;
  font-size: 0;
  text-align: center;
}

.m-footer-contact__text__item {
  display: inline-block;
  margin-left: 15px;
  margin-right: 15px;
}

/* footer */
.l-footer {
  background-color: #000000;
  color: #ffffff;
}
.l-footer a {
  color: #ffffff;
}

.footer__cr {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.footer__nav {
  *zoom: 1;
  margin-top: 50px;
}
.footer__nav:after {
  content: "";
  display: table;
  clear: both;
}

.footer__nav__item {
  float: left;
  width: 20%;
}
.footer__nav__item > span {
  position: relative;
  display: block;
  margin-bottom: 5px;
  padding-left: 1em;
  font-size: 14px;
}
.footer__nav__item > span:before {
  content: "◎";
  position: absolute;
  left: 0;
  top: 0;
}

.footer__nav__item__child {
  padding-top: 10px;
  border-top: dotted 1px #ffffff;
}

.footer__nav__item__child__item {
  font-size: 12px;
  line-height: 2;
}
.footer__nav__item__child__item a {
  display: inline-block;
  position: relative;
  padding-left: 18px;
}
.footer__nav__item__child__item a:hover {
  text-decoration: underline;
}
.footer__nav__item__child__item a:before {
  content: "";
  width: 13px;
  height: 13px;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -6px;
  background-image: url(../images/icon_fnav.png);
}

.m-btn-pt {
  position: fixed;
  right: 0;
  bottom: 100px;
  z-index: 1001;
}

/* snav */
.m-snav {
  min-height: 60px;
}

.m-snav__list {
  *zoom: 1;
}
.m-snav__list:after {
  content: "";
  display: table;
  clear: both;
}

.m-snav__list__item {
  float: left;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em;
  border-right: dotted 1px #ff6699;
}
.m-snav__list__item a {
  display: block;
  height: 60px;
  line-height: 60px;
  color: #ff6699;
}
.m-snav__list__item a:hover {
  text-decoration: underline;
}
.m-snav__list__item:first-child {
  border-left: dotted 1px #ff6699;
}

.t-topics .m-snav__list__item {
  width: 100%;
}

.t-study .m-snav__list__item {
  width: 33.3%;
}

.t-facilities .m-snav__list__item {
  width: 50%;
}

.t-campuslife .m-snav__list__item {
  width: 25%;
}

.t-admission .m-snav__list__item {
  width: 16.66%;
}

.t-career .m-snav__list__item {
  width: 25%;
}


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
facilities
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.facilities-university-food {
  position: relative;
}

.facilities-university-food__icon {
  position: absolute;
  right: 50px;
  bottom: 0;
}

