@charset "UTF-8";
/* ============================================================================
　オープンキャンパス2026 夏
============================================================================ */
.section_title img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}

/* ============================================================================
GLOBAL NAVI
============================================================================ */
.page-opencampus.tog-open .toggle_menu {
  background-color: #707070;
}

nav li a:hover {
  color: #050505 !important;
}
nav li:nth-of-type(1) a:hover, nav li:nth-of-type(4) a:hover {
  background: #fce807;
}
nav li:nth-of-type(2) a:hover, nav li:nth-of-type(5) a:hover {
  background: #feb560;
}
nav li:nth-of-type(3) a:hover, nav li:nth-of-type(6) a:hover {
  background: #a9ff7c;
}

.toggle_menu ul li:nth-of-type(1):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon01.svg");
}
.toggle_menu ul li:nth-of-type(1) a {
  color: #fce807;
}
.toggle_menu ul li:nth-of-type(1) a:after {
  background: #fce807;
}
.toggle_menu ul li:nth-of-type(2):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon02.svg");
}
.toggle_menu ul li:nth-of-type(2) a {
  color: #feb560;
}
.toggle_menu ul li:nth-of-type(2) a:after {
  background: #feb560;
}
.toggle_menu ul li:nth-of-type(3):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon03.svg");
}
.toggle_menu ul li:nth-of-type(3) a {
  color: #a9ff7c;
}
.toggle_menu ul li:nth-of-type(3) a:after {
  background: #a9ff7c;
}
.toggle_menu ul li:nth-of-type(4):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon04.svg");
}
.toggle_menu ul li:nth-of-type(4) a {
  color: #fce807;
}
.toggle_menu ul li:nth-of-type(4) a:after {
  background: #fce807;
}
.toggle_menu ul li:nth-of-type(5):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon05.svg");
}
.toggle_menu ul li:nth-of-type(5) a {
  color: #feb560;
}
.toggle_menu ul li:nth-of-type(5) a:after {
  background: #feb560;
}
.toggle_menu ul li:nth-of-type(6):before {
  background-image: url("../images/opencampus2026/summer/sp_navi_icon06.svg");
}
.toggle_menu ul li:nth-of-type(6) a {
  color: #a9ff7c;
}
.toggle_menu ul li:nth-of-type(6) a:after {
  background: #a9ff7c;
}

/* ============================================================================
申込ボタン
============================================================================ */
#btnApply {
  position: fixed;
  z-index: 9;
  width: 20%;
  max-width: 160px;
  height: auto;
  right: 85px;
  top: 78%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  #btnApply {
    width: 30%;
    right: 1%;
    bottom: calc(env(safe-area-inset-bottom) + 100px);
  }
}
#btnApply a, #btnApply img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 1024px) {
  #btnApply a, #btnApply img {
    width: 90%;
  }
}
#btnApply a {
  transition: 0.3s all;
}
#btnApply a:hover {
  opacity: 0.75;
}

/* ============================================================================
MESSAGE BORD
============================================================================ */
#messageBord {
  padding: 1.2rem 0.4rem;
  background: #517efd;
  color: #fff;
}
#messageBord p {
  color: #fff;
  font-size: min(1.8vw, 28px);
  text-align: center;
}
@media screen and (max-width: 599px) {
  #messageBord p {
    font-size: clamp(13px, 2.083vw, 16px);
  }
}
@media screen and (max-width: 400px) {
  #messageBord p {
    font-size: clamp(11px, 2.083vw, 13px);
  }
}

/* ============================================================================
SCHEDULE
============================================================================ */
#p-schedule:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  max-width: 1200px;
  background-image: url("../images/opencampus2026/summer/bg01.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (max-width: 1200px) {
  #p-schedule:before {
    background-size: cover;
  }
}
@media screen and (max-width: 599px) {
  #p-schedule:before {
    background-image: url("../images/opencampus2026/summer/sp_bg01.webp");
    background-size: 100%;
    background-size: contain;
    top: -1.5%;
    z-index: -1;
  }
}
#p-schedule .inner {
  padding: 120px 0;
}
@media screen and (max-width: 1024px) {
  #p-schedule .inner {
    padding: 9% 0 4%;
  }
}
@media screen and (max-width: 599px) {
  #p-schedule .inner {
    padding: 16% 0 0%;
  }
}
#p-schedule .section_title {
  width: 46%;
  max-width: 325px;
  margin: 0 auto 90px;
}
@media screen and (max-width: 599px) {
  #p-schedule .section_title {
    width: 40%;
    margin-bottom: 12%;
  }
}
#p-schedule .section_title.with_dline span {
  overflow: hidden;
  position: relative;
  display: inline-block;
  padding-bottom: 30px;
  padding: 0 0.5rem 20px;
}
#p-schedule .section_title.with_dline span:after {
  content: "";
  position: absolute;
  left: -18px;
  bottom: 0;
  width: calc(100% + 36px);
  height: 20px;
  background-image: url("../images/opencampus2026/summer/line01.webp");
  background-size: contain;
  background-repeat: repeat-x;
  background-position: left bottom;
}

/* ---------------------------------------------------------------- */
#sche_dateBloc {
  max-width: 1200px;
  margin: 60px auto;
}
@media screen and (max-width: 1024px) {
  #sche_dateBloc {
    margin-top: 6%;
    margin-bottom: 10%;
  }
}
#sche_dateBloc #scheDate {
  width: 40%;
  max-width: 600px;
  margin: 45px auto 30px;
}
@media screen and (max-width: 1024px) {
  #sche_dateBloc #scheDate {
    margin-top: 4.5%;
    margin-bottom: 3%;
    width: 50%;
    max-width: 480px;
  }
}
@media screen and (max-width: 599px) {
  #sche_dateBloc #scheDate {
    width: 60%;
    max-width: 300px;
  }
}

/* ---------------------------------------------------------------- */
.schebox_cap {
  font-size: 24px;
  margin-top: 30px;
}
@media screen and (max-width: 1024px) {
  .schebox_cap {
    font-size: clamp(20px, 2.343vw, 24px);
    margin-top: 3%;
  }
}
@media screen and (max-width: 599px) {
  .schebox_cap {
    font-size: 4.006vw;
    margin-top: 3%;
  }
}
.schebox_cap a {
  color: #ecacbe;
}
.schebox_cap a:hover {
  color: #18b5c7;
}

/* ---------------------------------------------------------------- */
ul#schedule_dateList {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 60%;
  max-width: 640px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 1024px) {
  ul#schedule_dateList {
    width: 76%;
  }
}
@media screen and (max-width: 599px) {
  ul#schedule_dateList {
    width: 96%;
    margin-bottom: 12%;
  }
}
ul#schedule_dateList li {
  width: 48.5%;
  margin: 0 3% 60px 0;
}
@media screen and (max-width: 599px) {
  ul#schedule_dateList li {
    width: 47%;
    margin-right: 6%;
    margin-bottom: 12%;
  }
}
ul#schedule_dateList li:nth-of-type(even) {
  margin-right: 0;
}
ul#schedule_dateList li:first-of-type .schedule_date_button a, ul#schedule_dateList li:nth-of-type(5) .schedule_date_button a {
  background: #E3E3E3;
  border-color: #E3E3E3;
}
ul#schedule_dateList li:first-of-type .schedule_date_button a:hover, ul#schedule_dateList li:nth-of-type(5) .schedule_date_button a:hover {
  background: transparent;
  color: #333;
  border-color: #333;
}
ul#schedule_dateList li:nth-of-type(2) .schedule_date_button a, ul#schedule_dateList li:nth-of-type(6) .schedule_date_button a {
  background: #E3E3E3;
  border-color: #E3E3E3;
}
ul#schedule_dateList li:nth-of-type(2) .schedule_date_button a:hover, ul#schedule_dateList li:nth-of-type(6) .schedule_date_button a:hover {
  background: transparent;
  color: #333;
  border-color: #333;
}
ul#schedule_dateList li:nth-of-type(3) .schedule_date_button a, ul#schedule_dateList li:nth-of-type(7) .schedule_date_button a {
  background: #E3E3E3;
  border-color: #E3E3E3;
}
ul#schedule_dateList li:nth-of-type(3) .schedule_date_button a:hover, ul#schedule_dateList li:nth-of-type(7) .schedule_date_button a:hover {
  background: transparent;
  color: #333;
  border-color: #333;
}
ul#schedule_dateList li:nth-of-type(4) .schedule_date_button a, ul#schedule_dateList li:nth-of-type(8) .schedule_date_button a {
  background: #E3E3E3;
  border-color: #E3E3E3;
}
ul#schedule_dateList li:nth-of-type(4) .schedule_date_button a:hover, ul#schedule_dateList li:nth-of-type(8) .schedule_date_button a:hover {
  background: transparent;
  color: #333;
  border-color: #333;
}

/* ---------------------------------------------------------------- */
.schedule_datepic {
  margin: 0 auto;
}

/* ---------------------------------------------------------------- */
.schedule_date_button {
  text-align: center;
  margin: 1rem auto 0;
}
.schedule_date_button a {
  display: inline-block;
  margin: 0 auto;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #333;
  background: #ccc;
  border-radius: 100vh;
  padding: 0.4rem 1.5rem;
  border: 2px solid #ccc;
}
@media screen and (max-width: 1600px) {
  .schedule_date_button a {
    font-size: 20px;
  }
}
@media screen and (max-width: 1200px) {
  .schedule_date_button a {
    font-size: 18px;
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
}
@media screen and (max-width: 1024px) {
  .schedule_date_button a {
    font-size: 18px;
  }
}
@media screen and (max-width: 599px) {
  .schedule_date_button a {
    font-size: clamp(14px, 1.953vw, 18px);
    padding: 0.4rem 0;
    display: block;
  }
}
@media screen and (max-width: 400px) {
  .schedule_date_button a {
    font-size: 3.125vw;
  }
}

/* ---------------------------------------------------------------- */
#campaign_bnrBox {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  #campaign_bnrBox {
    width: 100%;
  }
}

/* ---------------------------------------------------------------- */
ul#campaing_bnrList {
  margin: 0 auto 90px;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  ul#campaing_bnrList {
    margin: 0 auto 4%;
  }
}
ul#campaing_bnrList li {
  width: 48.5%;
  margin-right: 3%;
}
ul#campaing_bnrList li:nth-of-type(2n) {
  margin-right: 0;
}
@media screen and (max-width: 599px) {
  ul#campaing_bnrList li:nth-of-type(2n) {
    margin: 0 auto 4%;
  }
}
@media screen and (max-width: 599px) {
  ul#campaing_bnrList li {
    width: 100%;
    margin: 0 auto 4%;
  }
}

/* ============================================================================
PROGRAM
============================================================================ */
section#p-program {
  background: #ffddd8;
  margin: 0 auto;
}
section#p-program .inner {
  padding: 120px 0 0;
}
@media screen and (max-width: 1024px) {
  section#p-program .inner {
    padding: 9% 0 0%;
  }
}
@media screen and (max-width: 599px) {
  section#p-program .inner {
    padding: 16% 0 0%;
  }
}
section#p-program .section_title {
  width: 30%;
  max-width: 325px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 599px) {
  section#p-program .section_title {
    width: 40%;
    margin-bottom: 6%;
  }
}

/* ---------------------------------------------------------------- */
.p-program .program_container {
  width: 82%;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .p-program .program_container {
    width: 90%;
  }
}
@media screen and (max-width: 599px) {
  .p-program .program_container {
    width: 90%;
  }
}

/* ---------------------------------------------------------------- */
#commonProgram {
  width: 100%;
}
@media screen and (max-width: 599px) {
  #commonProgram {
    padding-bottom: 12%;
  }
}
#commonProgram:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  min-width: 1400px;
  transform: translateX(-50%);
  background-image: url("../images/opencampus2026/summer/bg02.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (max-width: 1024px) {
  #commonProgram:before {
    background-image: url("../images/opencampus2026/summer/sp_bg02.webp");
    background-size: 100%;
    min-width: inherit;
    background-position: center;
    background-size: 100%;
  }
}

#departmentProgram {
  background: #ffecd7;
  padding: 90px 0;
}
@media screen and (max-width: 1024px) {
  #departmentProgram {
    padding: 9% 0 4%;
  }
}
@media screen and (max-width: 599px) {
  #departmentProgram {
    padding: 9% 0 12%;
  }
}
#departmentProgram:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  min-width: 1400px;
  transform: translateX(-50%);
  background-image: url("../images/opencampus2026/summer/bg03.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (max-width: 1024px) {
  #departmentProgram:before {
    background-image: url("../images/opencampus2026/summer/sp_bg03.webp");
    background-size: 100%;
    min-width: inherit;
  }
}
#departmentProgram .program_container {
  width: 90% !important;
  max-width: 1200px;
}

/* ---------------------------------------------------------------- */
.program_headline {
  max-width: 385px;
  width: 40%;
}
@media screen and (max-width: 599px) {
  .program_headline {
    width: 60%;
  }
}
.program_headline img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------------------------------------------------------------- */
#time_scheduleBox {
  width: 82%;
  background: #fff;
  border-radius: 20px;
  padding: 50px 0;
  max-width: 1200px;
  margin: 45px auto;
}
@media screen and (max-width: 599px) {
  #time_scheduleBox {
    width: 90%;
    padding: 5% 0;
    margin-top: 4.5%;
    margin-bottom: 4.5%;
  }
}
#time_scheduleBox #timeSchedule {
  margin: 0 auto;
  width: 60%;
}
@media screen and (max-width: 1024px) {
  #time_scheduleBox #timeSchedule {
    width: 90%;
  }
}

/* ---------------------------------------------------------------- */
#sche_dateBloc {
  width: 82%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  #sche_dateBloc {
    width: 82%;
  }
}
@media screen and (max-width: 400px) {
  #sche_dateBloc {
    width: 90%;
  }
}

/* ---------------------------------------------------------------- */
.program_headline {
  margin: 0 auto 6%;
}
@media screen and (max-width: 599px) {
  .program_headline {
    margin-bottom: 9%;
  }
}
.program_headline img {
  width: 100%;
  height: auto;
  display: block;
}

/* ---------------------------------------------------------------- */
dl.program_notes {
  padding: 4% 4% 60px;
}
@media screen and (max-width: 1024px) {
  dl.program_notes {
    padding: 4% 3% 4%;
  }
}
dl.program_notes dt, dl.program_notes dd {
  margin: 0 auto;
}
dl.program_notes dd {
  padding-top: 30px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  dl.program_notes dd {
    padding: 3% 1.5%;
  }
}
dl.program_notes dd p {
  color: #050505;
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  dl.program_notes dd p {
    font-size: clamp(16px, 1.285vw, 18px);
  }
}
@media screen and (max-width: 1200px) {
  dl.program_notes dd p {
    font-size: clamp(14px, 1.25vw, 15px);
  }
}
@media screen and (max-width: 1000px) {
  dl.program_notes dd p {
    font-size: clamp(13px, 1.4vw, 14px);
  }
}
@media screen and (max-width: 1024px) {
  dl.program_notes dd p {
    font-size: 1.367vw;
  }
}
@media screen and (max-width: 599px) {
  dl.program_notes dd p {
    font-size: max(14px, 2.604vw);
  }
}
@media screen and (max-width: 400px) {
  dl.program_notes dd p {
    font-size: max(12px, 3.125vw);
  }
}
dl.program_notes dd a {
  color: #050505;
}
dl.program_notes dd a.l_ns:hover {
  color: #FF74A1;
}
dl.program_notes dd a.l_pt:hover {
  color: #8DABF0;
}
dl.program_notes dd a.l_ot:hover {
  color: #78DCCF;
}
dl.program_notes dd a.l_st:hover {
  color: #97CBE7;
}
dl.program_notes dd a.l_mt:hover {
  color: #F6D648;
}
dl.program_notes dd a.l_rs:hover {
  color: #F0A73B;
}
dl.program_notes dd a.l_ce:hover {
  color: #E78677;
}
dl.program_notes dd a.l_mn:hover {
  color: #12828F;
}

/* ---------------------------------------------------------------- */
.program_photo {
  margin: 0 auto;
}
.program_photo:before {
  content: "";
  position: absolute;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: contain;
}

/* ---------------------------------------------------------------- */
.program_title {
  margin-bottom: 0.6rem;
  color: #FF7864;
  font-size: 30px;
}
@media screen and (max-width: 1400px) {
  .program_title {
    font-size: clamp(24px, 1.285vw, 26px);
  }
}
@media screen and (max-width: 1200px) {
  .program_title {
    font-size: clamp(22px, 1.25vw, 24px);
  }
}
@media screen and (max-width: 1000px) {
  .program_title {
    font-size: clamp(20px, 1.25vw, 22px);
  }
}
@media screen and (max-width: 1024px) {
  .program_title {
    font-size: 2.343vw;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 599px) {
  .program_title {
    font-size: max(20px, 3.906vw);
  }
}
@media screen and (max-width: 400px) {
  .program_title {
    font-size: 5vw;
  }
}
.program_title .title_cap {
  font-size: 50%;
}

/* ---------------------------------------------------------------- */
ul.program_list {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  ul.program_list {
    display: block;
  }
}
ul.program_list li {
  width: 48%;
  background: #fff;
  border-radius: 18px;
  margin: 0 4% 6% 0;
  /* @include less_than_tab {
     width: 49%;
     margin-right: 2%;
   }
   */
}
@media screen and (max-width: 599px) {
  ul.program_list li {
    width: 100%;
    max-width: 615px;
    margin: 0 auto 9%;
  }
  ul.program_list li:last-of-type {
    margin-bottom: 0 !important;
  }
}
ul.program_list li:nth-of-type(even) {
  margin-right: 0;
}
@media screen and (max-width: 599px) {
  ul.program_list li:nth-of-type(even) {
    margin: 0 auto 9%;
  }
}
ul.program_list li .program_photo img {
  border: 10px solid #FF7864;
}
ul.program_list li .program_photo:before {
  z-index: 1;
  top: -20%;
  left: -8%;
  width: 36%;
  height: 36%;
}
@media screen and (max-width: 1024px) {
  ul.program_list li .program_photo:before {
    top: -14%;
  }
}

/* ---------------------------------------------------------------- */
@media screen and (max-width: 599px) {
  #commonProgram ul.program_list li {
    border: 3px solid #FF7864;
  }
}
#commonProgram ul.program_list li:first-of-type .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common01.svg");
}
#commonProgram ul.program_list li:nth-of-type(2) .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common02.svg");
}
#commonProgram ul.program_list li:nth-of-type(3) .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common03.svg");
}
#commonProgram ul.program_list li:nth-of-type(4) .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common04.svg");
}
#commonProgram ul.program_list li:nth-of-type(5) .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common05.svg");
}
#commonProgram ul.program_list li:nth-of-type(6) .program_photo:before {
  background-image: url("../images/opencampus2026/summer/icon_common06.svg");
}
#commonProgram ul.program_list li .program_photo:before {
  filter: drop-shadow(2px 3px 3px rgba(0, 0, 0, 0.2));
}

/* ---------------------------------------------------------------- */
.mark_coming {
  text-align: center;
  margin-bottom: 0.5rem;
}
.mark_coming span {
  color: #000 !important;
  background: #FFFF69;
  display: inline-block;
  padding: 0.2px 0.4rem;
  font-weight: 700;
}

/* ---------------------------------------------------------------- */
#departmentProgram .program_photo img {
  border: 0;
}
#departmentProgram .program_title {
  text-align: left;
}
#departmentProgram dl.program_notes dd {
  text-align: left;
}
#departmentProgram dl.program_notes dd p {
  margin-bottom: 0.2rem;
}
#departmentProgram ul.program_list {
  max-width: 1200px;
}
#departmentProgram ul.program_list li .mark_coming {
  text-align: left;
  margin-bottom: 0.8rem;
}

/* ---------------------------------------------------------------- */
.btn_departmentlink {
  width: 100%;
  max-width: 350px;
  margin: 30px 0 0;
}
@media screen and (max-width: 1024px) {
  .btn_departmentlink {
    margin: 1rem 0 0;
  }
}

/* ---------------------------------------------------------------- */
.program_infotxt {
  text-align: center;
  font-size: clamp(18px, 1.042vw, 20px);
}
@media screen and (max-width: 1024px) {
  .program_infotxt {
    font-size: clamp(14px, 1.757vw, 18px);
  }
}
@media screen and (max-width: 599px) {
  .program_infotxt {
    font-size: clamp(15px, 2.838vw, 17px);
  }
}

/* ---------------------------------------------------------------- */
.program_pickup {
  background: #18b4c6;
  color: #fff;
  padding: 0.6rem 1rem;
  text-align: center;
  margin: 0.8rem auto;
  font-size: clamp(20px, 1.146vw, 22px);
}
@media screen and (max-width: 1024px) {
  .program_pickup {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  .program_pickup {
    font-size: clamp(17px, 3.005vw, 18px);
  }
}

/* ---------------------------------------------------------------- */
.mini_box {
  width: 80%;
  margin: 0 auto;
}
@media screen and (max-width: 599px) {
  .mini_box {
    width: 100%;
  }
}

/* ============================================================================
PAZの魅力
============================================================================ */
.p-charm {
  padding: 90px 0 120px;
  background: #ffddd8;
}
@media screen and (max-width: 1024px) {
  .p-charm {
    padding: 9% 0 12%;
  }
}
@media screen and (max-width: 599px) {
  .p-charm {
    padding: 9% 0 6%;
  }
}
.p-charm:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  min-width: 1400px;
  transform: translateX(-50%);
  background-image: url("../images/opencampus2026/summer/bg04.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (max-width: 1024px) {
  .p-charm:before {
    background-image: url("../images/opencampus2026/summer/sp_bg04.webp");
    background-size: 100%;
    min-width: inherit;
    background-size: cover;
  }
}
.p-charm .section_title {
  width: 55%;
}
.p-charm .section_title.charm {
  max-width: 700px;
  width: 80%;
  margin: 0 auto 45px;
}
@media screen and (max-width: 599px) {
  .p-charm .section_title.charm {
    margin-bottom: 4.5%;
  }
}
.p-charm .charm_txt.one_period {
  width: 82%;
  max-width: 1200px;
  text-align: center;
  margin: 1rem auto;
  padding: 0;
}
@media screen and (max-width: 1024px) {
  .p-charm .charm_txt.one_period {
    width: 90%;
  }
}
.p-charm .charm_txt.one_period p {
  color: #050505;
  font-weight: 600;
  line-height: 160%;
  font-size: 24px;
}
@media screen and (max-width: 1400px) {
  .p-charm .charm_txt.one_period p {
    font-size: 22px;
  }
}
@media screen and (max-width: 1200px) {
  .p-charm .charm_txt.one_period p {
    font-size: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .p-charm .charm_txt.one_period p {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  .p-charm .charm_txt.one_period p {
    font-size: clamp(16px, 3.75vw, 18px);
  }
}
@media screen and (max-width: 400px) {
  .p-charm .charm_txt.one_period p {
    font-size: clamp(13px, 3.333vw, 16px);
  }
}
.p-charm .charm_txt #charmPic {
  margin: 2rem auto 0;
}

/* ============================================================================
アクセス
============================================================================ */
section#p-access.p-access {
  padding: 90px 0 120px;
  background: #d6e9ff;
}
@media screen and (max-width: 1024px) {
  section#p-access.p-access {
    padding: 9% 0;
  }
}
section#p-access .section_title {
  width: 30%;
  max-width: 325px;
  margin: 0 auto 90px;
}
@media screen and (max-width: 599px) {
  section#p-access .section_title {
    margin-bottom: 6%;
  }
}
section#p-access .section_title img {
  width: 100%;
  height: auto;
  display: block;
}
section#p-access:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  min-width: 1400px;
  transform: translateX(-50%);
  background-image: url("../images/opencampus2026/summer/bg_access.webp");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
@media screen and (max-width: 1024px) {
  section#p-access:before {
    background-image: url("../images/opencampus2026/summer/sp_bg_access.webp");
    background-size: 100%;
    min-width: inherit;
    background-size: cover;
  }
}

/* --------------------------------------------------------- */
#access_mapBox {
  width: 90%;
  max-width: 1080px;
  margin: 60px auto;
}
@media screen and (max-width: 1024px) {
  #access_mapBox {
    margin: 6% auto;
  }
}
#access_mapBox #accessMap:before {
  background-image: url("../images/opencampus2026/spring/icon_large.webp");
}

/* --------------------------------------------------------- */
#infoMark {
  top: -4%;
  left: -4%;
  width: 15%;
}
@media screen and (max-width: 599px) {
  #infoMark {
    background: #517EFD;
    padding: 0.8rem 1rem;
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  #infoMark p {
    color: #fff;
    font-size: clamp(20px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 400px) {
  #infoMark p {
    font-size: clamp(16px, 4.166vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  #infoMark span {
    font-size: 80%;
  }
}

/* --------------------------------------------------------- */
#addressBloc {
  width: 90%;
  margin: 0 auto 40px;
}
@media screen and (max-width: 1024px) {
  #addressBloc {
    margin-bottom: 6%;
    max-width: 640px;
  }
}
#addressBloc:last-of-type {
  margin-bottom: 0;
}
#addressBloc .one_period {
  color: #050505;
  font-size: 20px;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  #addressBloc .one_period {
    font-size: clamp(18px, 1.666vw, 20px);
  }
}
@media screen and (max-width: 1024px) {
  #addressBloc .one_period {
    font-size: clamp(16px, 2.148vw, 18px);
  }
}
@media screen and (max-width: 599px) {
  #addressBloc .one_period {
    font-size: 15px;
  }
}
@media screen and (max-width: 400px) {
  #addressBloc .one_period {
    font-size: clamp(13px, 3.125vw, 15px);
  }
}
#addressBloc .one_period .caution {
  font-size: 75%;
  letter-spacing: -1px;
  line-height: 140% !important;
}

/* --------------------------------------------------------- */
.access_headline {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #517EFD;
}
@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .access_headline {
    font-size: clamp(26px, 2.5vw, 30px);
  }
}
@media screen and (max-width: 1024px) {
  .access_headline {
    font-size: clamp(24px, 2.539vw, 26px);
  }
}
@media screen and (max-width: 599px) {
  .access_headline {
    margin-bottom: 0.2rem;
    font-size: clamp(20px, 3.125vw, 24px);
  }
}
@media screen and (max-width: 400px) {
  .access_headline {
    font-size: clamp(16px, 4.166vw, 20px);
  }
}

/* --------------------------------------------------------- */
table#addTable {
  margin: 0 auto;
}
table#addTable th, table#addTable td {
  color: #646464;
  font-size: clamp(18px, 1.146vw, 22px);
}
@media screen and (max-width: 1024px) {
  table#addTable th, table#addTable td {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  table#addTable th, table#addTable td {
    font-size: clamp(15px, 3.005vw, 18px);
    display: block;
    margin-bottom: 0.5rem;
  }
}

/* --------------------------------------------------------- */
ul#access_timeList {
  width: 50%;
  margin: 30px 0 0;
}
@media screen and (max-width: 1024px) {
  ul#access_timeList {
    margin-top: 3%;
    width: 100%;
  }
}
ul#access_timeList li {
  width: 100%;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1024px) {
  ul#access_timeList li {
    width: 100%;
    margin: 0 auto 3%;
  }
  ul#access_timeList li:last-of-type {
    margin-bottom: 0;
  }
}
ul#access_timeList li:nth-of-type(even) {
  margin-right: 0;
}
@media screen and (max-width: 1024px) {
  ul#access_timeList li:nth-of-type(even) {
    margin: 0 auto 6%;
  }
}

/* --------------------------------------------------------- */
dl.access_timebox {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
dl.access_timebox dt, dl.access_timebox dd {
  min-height: 4rem;
}
dl.access_timebox dt p, dl.access_timebox dd p {
  color: #050505;
  margin-bottom: 0;
}
dl.access_timebox dt .add_inner, dl.access_timebox dd .add_inner {
  height: 100%;
}
dl.access_timebox dt {
  background: #fff;
  width: 75%;
}
dl.access_timebox dt .add_inner {
  padding: 1rem;
}
@media screen and (max-width: 1024px) {
  dl.access_timebox dt {
    padding: 0.4rem 1rem;
  }
}
@media screen and (max-width: 599px) {
  dl.access_timebox dt {
    padding: 0.3rem 0.5rem 0.3rem 1rem;
  }
}
dl.access_timebox dd {
  background: #517EFD;
  color: #fff;
  width: 25%;
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  dl.access_timebox dd {
    font-size: clamp(16px, 1.285vw, 18px);
  }
}
@media screen and (max-width: 1200px) {
  dl.access_timebox dd {
    font-size: clamp(14px, 1.25vw, 15px);
  }
}
@media screen and (max-width: 1000px) {
  dl.access_timebox dd {
    font-size: clamp(13px, 1.4vw, 14px);
  }
}
@media screen and (max-width: 1024px) {
  dl.access_timebox dd {
    font-size: 1.367vw;
  }
}
@media screen and (max-width: 599px) {
  dl.access_timebox dd {
    letter-spacing: 0;
    font-size: max(14px, 2.604vw);
  }
}
@media screen and (max-width: 400px) {
  dl.access_timebox dd {
    font-size: max(12px, 3.125vw);
  }
}
dl.access_timebox dd p {
  color: #fff;
}
dl.access_timebox dd p .time {
  font-size: 140%;
  padding: 0 0.1rem;
}
dl.access_timebox dd .add_inner {
  padding: 1rem 0;
}
@media screen and (max-width: 1024px) {
  dl.access_timebox dd .add_inner {
    padding: 0.6rem 0;
  }
}
@media screen and (max-width: 599px) {
  dl.access_timebox dd .add_inner {
    padding: 0.3rem 0;
  }
}

/* ============================================================================
FAQ
============================================================================ */
section#p-qa {
  background: #e5ffd8;
  color: #050505;
}
section#p-qa.p-qa {
  position: relative;
  padding: 90px 0 120px;
}
@media screen and (max-width: 1024px) {
  section#p-qa.p-qa {
    padding: 9% 0 12%;
  }
}
section#p-qa .section_title.faq {
  max-width: 325px;
  width: 30%;
  margin: 0 auto 90px;
}
@media screen and (max-width: 599px) {
  section#p-qa .section_title.faq {
    margin-bottom: 9%;
  }
}

/* --------------------------------------------------------- */
dl#faqList {
  width: 80%;
  margin: 45px auto 0;
  max-width: 1000px;
}
@media screen and (max-width: 599px) {
  dl#faqList {
    margin-top: 4.5%;
    width: 90%;
  }
}
dl#faqList dt p, dl#faqList dd p {
  color: #050505;
}
dl#faqList dt {
  border-bottom: 1px solid #050505;
  padding: 1.5rem 0 0.6rem;
  cursor: pointer;
}
dl#faqList dt:first-of-type {
  padding-top: 0.6rem;
}
dl#faqList dt P {
  padding-right: 2.5rem;
  font-size: 24px;
}
@media screen and (max-width: 1400px) {
  dl#faqList dt P {
    font-size: 22px;
  }
}
@media screen and (max-width: 1200px) {
  dl#faqList dt P {
    font-size: 20px;
  }
}
@media screen and (max-width: 1024px) {
  dl#faqList dt P {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  dl#faqList dt P {
    font-size: clamp(16px, 3.75vw, 18px);
  }
}
@media screen and (max-width: 400px) {
  dl#faqList dt P {
    font-size: clamp(13px, 3.333vw, 16px);
  }
}
dl#faqList dt P:after {
  right: 1rem;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-top: 2px solid #050505;
  border-right: 2px solid #050505;
  transform: translateY(-50%) rotate(135deg);
}
dl#faqList dd {
  background: #fff;
  padding: 1.8rem 2rem;
}
@media screen and (max-width: 599px) {
  dl#faqList dd {
    padding: 1rem 1rem;
  }
}
dl#faqList dd p {
  padding-left: 4rem;
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  dl#faqList dd p {
    font-size: clamp(16px, 1.285vw, 18px);
  }
}
@media screen and (max-width: 1200px) {
  dl#faqList dd p {
    font-size: clamp(14px, 1.25vw, 15px);
  }
}
@media screen and (max-width: 1000px) {
  dl#faqList dd p {
    font-size: clamp(13px, 1.4vw, 14px);
  }
}
@media screen and (max-width: 1024px) {
  dl#faqList dd p {
    font-size: 1.367vw;
  }
}
@media screen and (max-width: 599px) {
  dl#faqList dd p {
    padding-left: 2.2rem;
    letter-spacing: 0;
    font-size: max(14px, 2.604vw);
  }
}
@media screen and (max-width: 400px) {
  dl#faqList dd p {
    font-size: max(12px, 3.125vw);
  }
}
dl#faqList dd p:before {
  background: #517EFE;
  color: #fff;
  padding: 0.4rem 0.6rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
}
@media screen and (max-width: 1400px) {
  dl#faqList dd p:before {
    font-size: 22px;
  }
}
@media screen and (max-width: 1200px) {
  dl#faqList dd p:before {
    font-size: 20px;
  }
}
@media screen and (max-width: 1024px) {
  dl#faqList dd p:before {
    font-size: clamp(18px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  dl#faqList dd p:before {
    font-size: clamp(16px, 3.75vw, 18px);
    padding: 0.3rem 0.5rem;
  }
}
@media screen and (max-width: 400px) {
  dl#faqList dd p:before {
    font-size: clamp(13px, 3.333vw, 16px);
  }
}
dl#faqList dd a {
  color: #FF7864;
}
dl#faqList dd .picklink a {
  color: #527EFF !important;
}

/* ============================================================================
ダイジェスト動画
============================================================================ */
section#p-digest {
  width: 100%;
}
section#p-digest.p-digest {
  padding: 90px 0 35px;
}
@media screen and (max-width: 599px) {
  section#p-digest.p-digest {
    padding: 12% 0;
  }
}
section#p-digest:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.4;
  top: 0;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  min-width: 1400px;
  background-image: url("../images/opencampus2026/summer/bg_movie.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
@media screen and (max-width: 1024px) {
  section#p-digest:before {
    background-image: url("../images/opencampus2026/summer/sp_bg_movie.webp");
    background-size: 100%;
    min-width: inherit;
    background-position: center bottom;
    background-size: cover;
  }
}
section#p-digest .section_headline {
  max-width: 780px;
  margin: 0 auto 45px;
  width: 90%;
}
@media screen and (max-width: 599px) {
  section#p-digest .section_headline {
    margin-bottom: 4.5%;
  }
}
section#p-digest .section_headline img {
  display: block;
  width: 100%;
  height: auto;
}
section#p-digest .one_period {
  width: 90%;
  max-width: 800px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 599px) {
  section#p-digest .one_period {
    margin-bottom: 6%;
  }
}

/* --------------------------------------------------------- */
.digest_photo {
  margin: 0 auto 90px;
}
@media screen and (max-width: 599px) {
  .digest_photo {
    margin-bottom: 9%;
    max-width: 615px;
  }
}

/* ============================================================================
アーカイブ
============================================================================ */
.title_archive {
  color: #050505;
  margin-bottom: 90px;
  text-align: center;
  font-size: 30px;
  font-size: clamp(26px, 1.563vw, 30px);
}
@media screen and (max-width: 1024px) {
  .title_archive {
    font-size: clamp(24x, 2.734vw, 26px);
  }
}
@media screen and (max-width: 599px) {
  .title_archive {
    font-size: clamp(14px, 4.006vw, 22px);
    margin-bottom: 12%;
  }
}

/* --------------------------------------------------------- */
ul.archive_linklist {
  margin: 0 auto 60px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 599px) {
  ul.archive_linklist {
    margin-bottom: 6%;
    width: 90%;
  }
}
ul.archive_linklist li {
  width: 47%;
  margin-right: 6%;
}
ul.archive_linklist li:last-of-type {
  margin-right: 0;
}
@media screen and (max-width: 599px) {
  ul.archive_linklist li {
    width: 90%;
    margin: 0 auto 3%;
  }
  ul.archive_linklist li:last-of-type {
    margin: 0 auto;
  }
}
ul.archive_linklist li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #050505;
  color: #fff;
  border: 1px solid #050505;
  padding: 0.8rem 0;
  font-size: 22px;
  font-size: clamp(20px, 1.146vw, 22px);
}
@media screen and (max-width: 1024px) {
  ul.archive_linklist li a {
    font-size: clamp(16px, 1.953vw, 20px);
  }
}
@media screen and (max-width: 599px) {
  ul.archive_linklist li a {
    font-size: clamp(15px, 2.343vw, 16px);
  }
}
@media screen and (max-width: 400px) {
  ul.archive_linklist li a {
    font-size: clamp(14px, 3.33vw, 15px);
  }
}
ul.archive_linklist li a:hover {
  color: #050505;
}
ul.archive_linklist li a:hover span {
  color: #050505;
}
ul.archive_linklist li a span {
  padding-left: 1rem;
  color: #fff;
}
ul.archive_linklist li.spr a {
  background: #FF7864;
  border-color: #FF7864;
}
ul.archive_linklist li.spr a:hover {
  color: #FF7864;
  background: transparent;
}
ul.archive_linklist li.spr a:hover span {
  color: #FF7864;
}
ul.archive_linklist li.smr a {
  background: #5AA6FF;
  border-color: #5AA6FF;
}
ul.archive_linklist li.smr a:hover {
  color: #5AA6FF;
  background: transparent;
}
ul.archive_linklist li.smr a:hover span {
  color: #5AA6FF;
}

/* --------------------------------------------------------- */
.headline_yearly {
  color: #050505;
  margin-bottom: 1rem;
  font-size: 30px;
  font-size: clamp(26px, 1.563vw, 30px);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .headline_yearly {
    font-size: clamp(22px, 2.734vw, 26px);
  }
}
@media screen and (max-width: 599px) {
  .headline_yearly {
    font-size: clamp(16px, 4.006vw, 22px);
    margin-bottom: 3%;
  }
}
@media screen and (max-width: 400px) {
  .headline_yearly {
    font-size: clamp(14px, 3.33vw, 16px);
  }
}

/* ============================================================================
OC終了後
============================================================================ */
.add_close {
  background-color: #e981b6;
}
.add_close p {
  color: #fff;
}
.add_close p span {
  text-decoration: underline 2px #fff;
  text-underline-offset: 0.2em;
}
@media screen and (max-width: 1024px) {
  .add_close p span {
    text-decoration: underline 1px #fff;
  }
}/*# sourceMappingURL=oc2026_summer.css.map */