@charset "utf-8";
/*

共通

*/
#stage {
  font-size: min(18 / 1120 * 100vw, 18px);
}
.annotation, .annotationList li, .annotationKome li {
  font-size: min(14 / 1120 * 100vw, 14px);
}
#main a {
  color: #4d4d4d;
}
#main p, #main li {
  line-height: 1.6;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #stage {
    font-size: min(14 / 375 * 100vw, 14px);
  }
  .annotation, .annotationList li, .annotationKome li {
    font-size: min(12 / 375 * 100vw, 12px);
  }
}
/*

titleArea

*/
#title {
  width: 100%;
}
#title h1 {
  width: min(468 / 1120 * 100vw, 468px);
  padding: min(22 / 1120 * 100vw, 22px) 0 0 min(40 / 1120 * 100vw, 40px);
  overflow: visible;
}
#title #kamakuraLogo {
  width: min(257 / 1120 * 100vw, 257px);
  padding: min(25 / 1120 * 100vw, 25px) min(25 / 1120 * 100vw, 25px) 0 0;
  overflow: visible;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #title h1 {
    width: calc(198 / 375 * 100vw);
    padding: min(15 / 375 * 100vw, 15px) 0 0 min(16 / 375 * 100vw, 16px);
  }
  #title #kamakuraLogo {
    width: calc(115 / 375 * 100vw);
    padding: min(17 / 375 * 100vw, 17px) min(15 / 375 * 100vw, 15px) 0 0;
  }
}
/*

main

*/
#main {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px 120px 20px;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #main {
    max-width: none;
    padding: 0 min(15 / 375 * 100vw, 15px) min(90 / 375 * 100vw, 90px);
  }
}
/*

title

*/
#main h2 {
  position: relative;
  padding-top: 100px;
  padding-left: 20px;
  height: min(100 / 1120 * 100vw, 100px);
  line-height: min(100 / 1120 * 100vw, 100px);
  font-size: min(34 / 1120 * 100vw, 34px);
  font-weight: 700;
  display: flex;
  align-items: center;
}
#main h2 .sFont {
  margin-right: 15px;
  font-size: min(18 / 1120 * 100vw, 18px);
}
#main h2::before {
  position: absolute;
  content: "";
  left: 0;
  top: 100px;
  width: 5px;
  height: min(100 / 1120 * 100vw, 100px);
  background-color: #5bb431;
  z-index: 1;
}
#main h3 {
  padding-top: min(60 / 1120 * 100vw, 60px);
  font-size: min(28 / 1120 * 100vw, 28px);
  font-weight: 700;
  color: #5bb431;
}
#main h4 {
  padding-top: min(40 / 1120 * 100vw, 40px);
  font-size: min(24 / 1120 * 100vw, 24px);
  font-weight: 700;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #main h2 {
    padding-top: min(50 / 375 * 100vw, 50px);
    padding-left: 15px;
    height: min(70 / 375 * 100vw, 70px);
    line-height: min(70 / 375 * 100vw, 70px);
    font-size: min(26 / 375 * 100vw, 26px);
  }
  #main h2 .sFont {
    margin-right: 8px;
    font-size: min(14 / 375 * 100vw, 14px);
  }
  #main h2::before {
    top: min(50 / 375 * 100vw, 50px);
    width: 3px;
    height: min(70 / 375 * 100vw, 70px);
  }
  #main h3 {
    padding-top: min(45 / 375 * 100vw, 45px);
    font-size: min(22 / 375 * 100vw, 22px);
  }
  #main h4 {
    padding-top: min(30 / 375 * 100vw, 30px);
    font-size: min(20 / 375 * 100vw, 20px);
  }
}
/*

faculty

*/
#main .faculty {
  margin-top: min(20 / 1120 * 100vw, 20px);
}
#main .faculty li {
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 8px 15px;
  border: solid 1px #bfbfbf;
  font-size: min(16 / 1120 * 100vw, 16px);
  line-height: 1;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  #main .faculty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: min(15 / 375 * 100vw, 15px);
  }
  #main .faculty li {
    margin-bottom: 0;
    padding: 8px 10px;
    font-size: min(12 / 375 * 100vw, 12px);
  }
  #main .faculty li:nth-child(n+2) {
    margin-top: min(5 / 375 * 100vw, 5px);
  }
}
/* 

table

*/
.boxTable {
  margin-top: min(20 / 1120 * 100vw, 20px);
}
.boxTable table {
  width: 100%;
  border-top: solid 1px #5bb431;
  border-left: solid 1px #5bb431;
}
.boxTable th {
  vertical-align: middle;
  text-align: center;
  color: #000000;
}
.boxTable th.head1 {
  padding: 14px 12px;
  background-color: #e4f099;
  border-right: solid 1px #5bb431;
  border-bottom: solid 1px #5bb431;
  text-align: center;
}
.boxTable th.head2 {
  padding: 12px;
  background-color: #f4f9d2;
  border-bottom: solid 1px #5bb431;
  border-right: solid 1px #5bb431;
  border-left: solid 1px #5bb431;
}
.boxTable td {
  padding: 12px;
  border-bottom: solid 1px #5bb431;
  border-right: solid 1px #5bb431;
  vertical-align: middle;
  text-align: center;
  color: #000000;
}
.boxTable th.th1 {
  width: 1em !important;
}
.boxTable th.th2 {
  width: calc(1em - 50%);
  width: -webkit-calc(1em - 50%);
}
.boxTable th.th3 {
  width: 25%;
}
.boxTable th.th4 {
  width: 25%;
}
.boxTable th.th5 {
  width: 10%;
}
/*
スマホサイズ
*/
@media (max-width: 750.99px) {
  .boxTable {
    margin-top: min(15 / 375 * 100vw, 15px);
  }
  .boxTable th.head1 {
    padding: min(8 / 375 * 100vw, 8px);
  }
  .boxTable th.head2 {
    padding: min(8 / 375 * 100vw, 8px);
  }
  .boxTable td {
    padding: min(8 / 375 * 100vw, 8px);
  }
}
@media (max-width: 750.99px) {
  /* table scroll */
  .boxTable .scrollTable {
    width: 100%;
    padding-bottom: 10px;
    overflow-x: auto; /*	-webkit-overflow-scrolling: touch;*/
  }
  .boxTable .scrollTable::-webkit-scrollbar { /* スクロールバー全体 */
    height: 6px;
  }
  .boxTable .scrollTable::-webkit-scrollbar-thumb { /* スクロールバーのある部分 */
    background: #c0c0c0;
    border-radius: 6px;
  }
  .boxTable .scrollTable::-webkit-scrollbar-track-piece:start { /* スクロールバーが表示されてない部分（前） */
    background: #f1f1f1;
  }
  .boxTable .scrollTable::-webkit-scrollbar-track-piece:end { /* スクロールバーが表示されてない部分（後ろ） */
    background: #f1f1f1;
  }
  .boxTable .scrollTable th, .boxTable .scrollTable td {
    white-space: nowrap;
    width: auto !important;
  }
  .boxTable .scrollTable th.th1 {
    white-space: inherit;
    width: 1em !important;
  }
  .boxTable .scrollTable {
    margin-left: min(-15 / 375 * 100vw, -15px);
    margin-right: min(-15 / 375 * 100vw, -15px);
    padding-left: min(15 / 375 * 100vw, 15px);
    padding-right: min(15 / 375 * 100vw, 15px);
  }
}