@charset "UTF-8";
/* variables */
/* アスペクト比固定の物全てに関与する指示 */
*[class*="ratio-"] {
  display: block;
  width: 100%;
  position: relative;
  overflow: hidden;
  /* 他に何もクラスを入れていないと画像は横幅合わせで100% */
  /* height-fitクラスを追加すると画像は高さ合わせで100% */
}

*[class*="ratio-"]::before {
  content: "";
  display: block;
  width: 100%;
  position: relative;
}

*[class*="ratio-"] img,
*[class*="ratio-"] div,
*[class*="ratio-"] span,
*[class*="ratio-"] figure {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: auto;
}

*[class*="ratio-"].height-fit img,
*[class*="ratio-"] div,
*[class*="ratio-"] span,
*[class*="ratio-"] figure {
  width: auto;
  height: 100%;
}

.ratio-hd::before {
  padding-top: 56.25%;
}

.ratio-sd::before {
  padding-top: 75%;
}

.ratio-cinema::before {
  padding-top: 42.55319%;
}

.ratio-golden::before {
  /* 黄金比の場合 */
  padding-top: 61.8047%;
}

/*	PC --------------------------------------------------- */
#apple.event {
  background: url(../images/bgGyoji.gif) repeat 0 0;
}

#apple.event .navigation {
  border-top: solid 6px #efbce8;
}

#apple.event .footer {
  background-color: #efbce8;
}

.content {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.content h1 {
  display: none;
}

.content .semester {
  display: block;
  width: 25%;
  padding: 15pt;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 15pt;
}

.content .semester h2 {
  width: 80pt;
  height: 0;
  padding-top: 26pt;
  margin-bottom: 15pt;
  background: url(../images/svg/event-text.svg) 0 0 no-repeat;
  background-size: 100%;
  overflow: hidden;
}

.content .semester.s-1 h2 {
  background-position: 0 -3pt;
}

.content .semester.s-2 h2 {
  background-position: 0 -46pt;
}

.content .semester.s-3 h2 {
  background-position: 0 -89pt;
}

.content .semester.s-4 h2 {
  background-position: 0 -132pt;
}

.content .semester .semester-frame {
  font-size: 0.8em;
  line-height: 1.7em;
}

.content .semester .semester-frame .month {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15pt;
}

.content .semester.s-1 {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, white), to(#f5e0e9));
  background: -webkit-linear-gradient(left, white 50%, #f5e0e9);
  background: linear-gradient(90deg, white 50%, #f5e0e9);
}

.content .semester.s-2 {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, white), to(#dbecfe));
  background: -webkit-linear-gradient(left, white 50%, #dbecfe);
  background: linear-gradient(90deg, white 50%, #dbecfe);
}

.content .semester.s-3 {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, white), to(#f7daae));
  background: -webkit-linear-gradient(left, white 50%, #f7daae);
  background: linear-gradient(90deg, white 50%, #f7daae);
}

.content .semester.s-4 {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, white), to(#d9d6e7));
  background: -webkit-linear-gradient(left, white 50%, #d9d6e7);
  background: linear-gradient(90deg, white 50%, #d9d6e7);
}

.birthday-event {
  width: 100%;
  padding: 0 130pt;
  margin-top: 28pt;
}

.month .title {
  width: 35%;
}

.month .detail {
  width: 65%;
}

.month .detail span, .semester-frame span {
  display: block;
  margin-bottom: 6pt;
  line-height: 1.4em;
}

.notice {
  margin-top: 28pt;
}

.photoAlbum {
  width: 55%;
  margin: 0 auto;
  margin-top: 28pt;
}

.photoAlbum .album-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 28pt;
}

.photoAlbum .album-frame h2 {
  width: 100%;
  margin-bottom: 5pt;
  font-weight: 600;
  text-align: center;
}

.photoAlbum .album-frame:first-child h2 {
  width: 90pt;
  margin-right: 10pt;
  text-align: left;
}

.photoAlbum .detail {
  width: calc(100% - 100pt);
  font-size: 0.8rem;
}

.photoAlbum .photo-frame {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  font-size: 0.8rem;
}

.photoAlbum .photo-frame li {
  width: 50%;
  height: 120pt;
  margin: 0;
}

.photoAlbum .photo-frame li:nth-child(odd) {
  margin-right: 15pt;
}

.photoAlbum .photo-frame .photo {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 6pt;
}

.photoAlbum .photo-frame.defaultPhoto {
  margin-bottom: 5pt;
}

/*	Smart Device --------------------------------------------------- */

@media only screen and (min-width: 300px) and (max-width: 767px) {
  .content {
    padding-top: 20vw !important;
  }
  .content .semester {
    width: 50%;
  }
  .photoAlbum {
    width: 100%;
    padding: 0 15pt;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    margin-top: 28pt;
  }
  .photoAlbum .photo-frame li {
    height: auto;
  }
  .photoAlbum .photo-frame .photo {
    width: 100%;
    height: 100%;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .content .semester {
    padding: 7pt !important;
  }
  .content .semester {
    width: 25%;
  }
  .photoAlbum {
    width: 45vh;
  }
}
