@charset "UTF-8";
/* ============================================================================
BASIC
============================================================================ */
* {
  letter-spacing: -0.01em;
}

/* ---------------------------------------------------------------- */
.page-opencampus {
  position: relative;
  font-family: "Noto Sans JP", serif;
}
@media screen and (max-width: 599px) {
  .page-opencampus {
    margin-top: 0 !important;
  }
}
.page-opencampus .tab-sp {
  display: none;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .tab-sp {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .page-opencampus .pconly {
    display: none;
  }
}
.page-opencampus p {
  line-height: 1.8;
}
.page-opencampus .one_period {
  margin-bottom: 0;
  border-bottom: 0;
}
.page-opencampus .img_basic {
  width: 100%;
  height: auto;
  display: block;
}
.page-opencampus .tel a {
  pointer-events: none;
}
.page-opencampus .inner {
  position: relative;
  padding-left: 120px;
  padding-right: 120px;
}
@media screen and (max-width: 599px) {
  .page-opencampus .inner {
    padding-left: 25px;
    padding-right: 25px;
  }
}
.page-opencampus .inner1000 {
  max-width: 1240px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .inner1000 {
    max-width: 615px;
  }
}
.page-opencampus .inner1200 {
  max-width: 1440px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .inner1200 {
    max-width: 615px;
  }
}
.page-opencampus .inner800 {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .inner800 {
    max-width: 615px;
    padding-left: 25px;
    padding-right: 25px;
  }
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .link-none {
  pointer-events: none;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .layer-top {
  position: relative;
  z-index: 3;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .bg_deco {
  position: relative;
}
.page-opencampus .bg_deco::before, .page-opencampus .bg_deco::after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .text-wave {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-underline-offset: 5px;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .section_title {
  text-align: center;
  line-height: 140%;
}
.page-opencampus .section_title img {
  width: 100%;
  height: auto;
  display: block;
}
.page-opencampus .section_title .en {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  letter-spacing: 1;
  letter-spacing: 2px;
  line-height: 120%;
  font-weight: 500;
  font-size: 80px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .section_title .en {
    font-size: clamp(48px, 5.85vw, 68px);
  }
}
@media screen and (max-width: 599px) {
  .page-opencampus .section_title .en {
    font-size: clamp(36px, 6.01vw, 48px);
  }
}
.page-opencampus .section_title .jp {
  font-size: 24px;
  line-height: 120%;
  margin-top: 0.6rem;
  color: #603813;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .section_title .jp {
    font-size: clamp(16px, 1.953vw, 20px);
    margin-top: 0.8rem;
  }
}
.page-opencampus .section_title span {
  position: relative;
  z-index: 1;
}
.page-opencampus .section_title.with_dline span:after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 100%;
  background-repeat: repeat-x;
  background-size: contain;
  background-position: left center;
  left: 0;
}
.page-opencampus .section_title.with_dline p {
  display: inline-block;
  position: relative;
  z-index: 1;
  padding: 0 1.5rem;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus .ns {
  color: #FF74A1 !important;
}
.page-opencampus .pt {
  color: #8DABF0 !important;
}
.page-opencampus .ot {
  color: #78DCCF !important;
}
.page-opencampus .st {
  color: #97CBE7 !important;
}
.page-opencampus .mt {
  color: #F6D648 !important;
}
.page-opencampus .rs {
  color: #F0A73B !important;
}
.page-opencampus .ce {
  color: #E78677 !important;
}
.page-opencampus .mn {
  color: #12828F !important;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus a {
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.page-opencampus a.nolink {
  cursor: default;
  pointer-events: none;
  text-decoration: none;
}
.page-opencampus {
  /* --------------------------------------------------------- */
}
.page-opencampus main {
  width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow-x: hidden;
}
.page-opencampus {
  /* HEADER
  --------------------------------------------------------- */
}
.page-opencampus header#ocHeader {
  background-color: #fff;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 80px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus header#ocHeader {
    height: 60px;
  }
}
.page-opencampus header#ocHeader #headerContents {
  position: relative;
  z-index: 1;
  width: calc(100% - 60px);
  margin: 0 auto;
  height: 80px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus header#ocHeader #headerContents {
    width: 100%;
    height: 60px;
  }
}
.page-opencampus header#ocHeader .flex {
  position: relative;
  z-index: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.page-opencampus header#ocHeader #pageLogo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 32%;
  max-width: 177px;
}
@media screen and (max-width: 1024px) {
  .page-opencampus header#ocHeader #pageLogo {
    margin-left: 2%;
  }
}
.page-opencampus header#ocHeader #pageLogo a, .page-opencampus header#ocHeader #pageLogo img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.page-opencampus header#ocHeader #pageLogo a:hover {
  opacity: 0.75;
}
.page-opencampus header#ocHeader #pageLogo a:hover img {
  opacity: 0.75;
}
.page-opencampus header#ocHeader {
  /*  GLOBAL NAVI
  /* ---------------------------------------------------------------- */
}
.page-opencampus header#ocHeader nav {
  font-size: min(1.3vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-opencampus header#ocHeader nav .flex {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.page-opencampus header#ocHeader nav li {
  border-left: 1px solid black;
  padding: 0 1px;
}
.page-opencampus header#ocHeader nav li:last-child {
  border-right: 1px solid black;
}
.page-opencampus header#ocHeader nav li a {
  color: #646464;
  position: relative;
  z-index: 1;
  padding: 5px 20px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.page-opencampus header#ocHeader nav li a:hover {
  color: #fff;
}
.page-opencampus .toggle_btn {
  position: absolute;
  width: 38px;
  height: 30px;
  right: 2%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1000;
  display: none;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .toggle_btn {
    display: block;
  }
}
@media screen and (max-width: 400px) {
  .page-opencampus .toggle_btn {
    right: 0%;
  }
}
.page-opencampus .toggle_btn span {
  position: absolute;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 3px;
  border-radius: 5px;
  background-color: #46c4d2;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.page-opencampus .toggle_btn span:nth-child(1) {
  top: 10%;
}
.page-opencampus .toggle_btn span:nth-child(2) {
  top: 50%;
}
.page-opencampus .toggle_btn span:nth-child(3) {
  top: 90%;
}
.page-opencampus .toggle_menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100vw;
  padding-bottom: 2rem;
  height: auto;
  min-height: 45vh;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: none;
  visibility: hidden;
  z-index: 999;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.2);
  background: rgb(255, 255, 255);
}
.page-opencampus .toggle_menu ul {
  width: 80%;
  height: auto;
  margin: 90px auto 0;
  font-size: clamp(18px, 2.148vw, 22px);
}
@media screen and (max-width: 599px) {
  .page-opencampus .toggle_menu ul {
    font-size: clamp(18px, 2.981vw, 22px);
  }
}
@media screen and (max-width: 400px) {
  .page-opencampus .toggle_menu ul {
    font-size: clamp(16px, 3.75vw, 18px);
  }
}
.page-opencampus .toggle_menu ul {
  font-weight: 600;
}
.page-opencampus .toggle_menu ul li {
  position: relative;
  padding-left: 2.4rem;
}
.page-opencampus .toggle_menu ul li:not(:first-of-type) {
  margin-top: 1.5rem;
}
.page-opencampus .toggle_menu ul li:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.1rem;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.page-opencampus .toggle_menu ul li a {
  color: #333;
  position: relative;
  z-index: 1;
  -webkit-transition: 0.4s all;
  transition: 0.4s all;
}
.page-opencampus .toggle_menu ul li a:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 2px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.page-opencampus .toggle_menu ul li a:hover:after {
  width: 100%;
}
.page-opencampus.tog-open .toggle_btn span:nth-of-type(1) {
  -webkit-transform: translateY(12px) rotate(-45deg);
          transform: translateY(12px) rotate(-45deg);
}
.page-opencampus.tog-open .toggle_btn span:nth-of-type(2) {
  opacity: 0;
}
.page-opencampus.tog-open .toggle_btn span:nth-of-type(3) {
  -webkit-transform: translateY(-12px) rotate(45deg);
          transform: translateY(-12px) rotate(45deg);
}
.page-opencampus.tog-open .toggle_menu {
  right: 0;
  visibility: visible;
  display: block;
}
.page-opencampus footer .totop img {
  display: none;
}
.page-opencampus footer .footer_contact {
  display: none;
}
.page-opencampus {
  /* FLOAT NAVI
  /* ---------------------------------------------------------------- */
}
.page-opencampus .floating_menu {
  top: 450px;
  z-index: 99;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .floating_menu {
    top: auto;
    bottom: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .page-opencampus .floating_menu ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 15px;
  }
}
@media screen and (max-width: 1024px) {
  .page-opencampus .floating_menu ul li a {
    font-size: 10px;
  }
}
.page-opencampus .floating_menu ul li:nth-child(6) {
  background-color: #a4e31f;
}
.page-opencampus .floating_menu ul li:nth-child(6) a {
  color: #fff;
}
.page-opencampus .floating_menu ul li:nth-child(6) a:before {
  background-image: url("../images/common/float_icon_line.svg");
  width: 30px;
  height: 25px;
}
.page-opencampus {
  /* ---------------------------------------------------------------- */
}
.page-opencampus .totop {
  text-align: center;
  width: 90px;
  height: 90px;
  background-image: url(/juken/resource/images/opencampus2025/spring/btn_top.png);
  background-size: contain;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .totop {
    width: 50px;
    height: 50px;
  }
}
.page-opencampus {
  /* ---------------------------------------------------------------- */
}
.page-opencampus .toapply {
  position: fixed;
  bottom: 100px;
  right: 0;
  width: 250px;
  height: 200px;
  background-image: url(/juken/resource/images/opencampus2025/spring/btn_apply.svg);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 100;
}
@media screen and (max-width: 1024px) {
  .page-opencampus .toapply {
    width: 200px;
    height: 200px;
    bottom: calc(env(safe-area-inset-bottom) + 20px);
  }
}
.page-opencampus .toapply:hover {
  cursor: pointer;
}

/* ============================================================================
FIRST VIEW
============================================================================ */
#firstview {
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#firstview picture, #firstview figure {
  width: 100%;
  height: auto;
  display: block;
  padding: initial;
  margin: 0 auto;
}
#firstview picture img, #firstview figure img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ============================================================================
MESSAGE BORD
============================================================================ */
#messageBord {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#messageBord p {
  font-weight: 600;
}
#messageBord p span {
  -webkit-text-decoration: underline 2px #fff;
          text-decoration: underline 2px #fff;
  text-underline-offset: 0.2em;
}
@media screen and (max-width: 1024px) {
  #messageBord p span {
    -webkit-text-decoration: underline 1px #fff;
            text-decoration: underline 1px #fff;
  }
}
#messageBord .close_mark {
  position: absolute;
  background-image: url("../images/add_oc-close.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 120px;
  height: 120px;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
  top: -18%;
  right: -15%;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #messageBord .close_mark {
    width: 80px;
    height: 80px;
    top: -10%;
    right: 5%;
  }
}

/* ============================================================================
SCHEDULE
============================================================================ */
#p-schedule {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

/* ---------------------------------------------------------------- */
#sche_dateBloc {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#sche_dateBloc #scheDate {
  display: block;
  padding: initial;
}

/* ---------------------------------------------------------------- */
.schebox_cap {
  text-align: center;
}
.schebox_cap a {
  text-decoration: underline;
}
.schebox_cap a:hover {
  text-decoration: none;
}

/* ---------------------------------------------------------------- */
ul#schedule_dateList {
  list-style-type: none;
  height: auto;
}
ul#schedule_dateList li {
  height: 100%;
  display: block;
}

/* ---------------------------------------------------------------- */
.schedule_datepic {
  padding: 0;
  width: 100%;
  height: auto;
  display: block;
}
.schedule_datepic a, .schedule_datepic img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.schedule_datepic a:hover {
  opacity: 0.75;
}
.schedule_datepic img {
  -o-object-fit: cover;
     object-fit: cover;
}

/* ---------------------------------------------------------------- */
.schedule_date_button {
  position: relative;
  z-index: 1;
}
.schedule_date_button a:hover {
  text-decoration: none;
  background: transparent;
}

/* ---------------------------------------------------------------- */
#campaign_bnrBox {
  height: auto;
}

/* ---------------------------------------------------------------- */
ul#campaing_bnrList {
  list-style-type: none;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 599px) {
  ul#campaing_bnrList {
    width: 100%;
    height: auto;
  }
  ul#campaing_bnrList:last-of-type {
    margin-bottom: 0;
  }
}
ul#campaing_bnrList li {
  height: auto;
}
ul#campaing_bnrList li a, ul#campaing_bnrList li img {
  width: 100%;
  height: auto;
  display: block;
}
ul#campaing_bnrList li a:hover {
  opacity: 0.75;
}

/* ============================================================================
PROGRAM
============================================================================ */
.program_container {
  height: auto;
}

/* ---------------------------------------------------------------- */
section#p-program {
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------------- */
.p-program {
  position: relative;
  z-index: 1;
}
.p-program .one_period {
  position: relative;
  z-index: 1;
}

/* ---------------------------------------------------------------- */
#time_scheduleBox {
  height: auto;
}
#time_scheduleBox #timeSchedule {
  padding: 0;
}
#time_scheduleBox #timeSchedule a, #time_scheduleBox #timeSchedule img {
  width: 100%;
  height: auto;
  display: block;
}
#time_scheduleBox #timeSchedule a {
  cursor: pointer;
}
#time_scheduleBox #timeSchedule a:hover {
  opacity: 8;
}

/* ---------------------------------------------------------------- */
#sche_dateBloc {
  height: auto;
}

/* ---------------------------------------------------------------- */
dl.program_notes dt, dl.program_notes dd {
  width: 100%;
  height: auto;
}
dl.program_notes dd p {
  font-weight: 600;
  line-height: 160%;
}
dl.program_notes dd a {
  text-decoration: underline;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
dl.program_notes dd a:hover {
  text-decoration: none;
}

/* ---------------------------------------------------------------- */
.program_photo {
  width: 100%;
  height: auto;
  padding: 0;
  display: block;
  position: relative;
  z-index: 1;
}
.program_photo img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ---------------------------------------------------------------- */
.program_title {
  text-align: center;
  line-height: 160%;
  font-weight: 600;
  letter-spacing: 1px;
}
@media screen and (max-width: 400px) {
  .program_title {
    letter-spacing: 0;
  }
}

/* ---------------------------------------------------------------- */
ul.program_list {
  list-style-type: none;
  width: 100%;
  height: auto;
}
ul.program_list li {
  height: auto;
  background: #fff;
  border-radius: 18px;
  margin: 0 4% 4% 0;
  position: relative;
  z-index: 1;
}

/* ---------------------------------------------------------------- */
#commonProgram,
#departmentProgram {
  position: relative;
  z-index: 1;
  height: auto;
}

/* ---------------------------------------------------------------- */
.btn_departmentlink {
  height: auto;
}
.btn_departmentlink a, .btn_departmentlink img {
  width: 100%;
  height: auto;
  display: block;
}
.btn_departmentlink a {
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
.btn_departmentlink a:hover {
  opacity: 0.8;
}

/* ---------------------------------------------------------------- */
.program_infotxt {
  font-weight: 600;
  line-height: 160%;
}

/* ---------------------------------------------------------------- */
.program_pickup {
  font-weight: 600;
}

/* ============================================================================
PAZの魅力
============================================================================ */
.p-charm {
  position: relative;
  z-index: 1;
}
.p-charm .section_title.charm img {
  width: 100%;
  display: block;
}
.p-charm .charm_txt #charmPic {
  width: 100%;
  height: auto;
}
.p-charm .charm_txt #charmPic img {
  width: 100%;
  height: auto;
  display: block;
}

/* ============================================================================
アクセス
============================================================================ */
section#p-access.p-access {
  position: relative;
  z-index: 1;
}
section#p-access .section_title {
  position: relative;
  z-index: 1;
}
section#p-access .section_title img {
  width: 100%;
  height: auto;
  display: block;
}

#access_mapBox {
  height: auto;
  position: relative;
  z-index: 1;
}
#access_mapBox #accessMap {
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0 auto;
}
#access_mapBox #accessMap a, #access_mapBox #accessMap img {
  width: 100%;
  height: auto;
  display: block;
}
#access_mapBox #accessMap a {
  position: relative;
  z-index: 1;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
#access_mapBox #accessMap a:hover {
  opacity: 0.75;
}
#access_mapBox #accessMap a:before {
  content: "";
  position: absolute;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: left top;
  background-image: url("../images/opencampus2026/spring/icon_large.webp");
  background-size: cover;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 599px) {
  #access_mapBox #accessMap a:before {
    width: 25px;
    height: 25px;
    top: 10px;
    right: 10px;
  }
}

/* --------------------------------------------------------- */
#infoMark {
  position: absolute;
  z-index: 2;
  height: auto;
}
@media screen and (max-width: 599px) {
  #infoMark {
    position: static;
    height: auto;
    text-align: center;
  }
}
#infoMark p {
  display: none;
}
@media screen and (max-width: 599px) {
  #infoMark p {
    display: block;
  }
}
@media screen and (max-width: 599px) {
  #infoMark span {
    display: block;
    margin-top: 0.2rem;
  }
}
#infoMark img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 599px) {
  #infoMark img {
    display: none;
  }
}

/* --------------------------------------------------------- */
#addressBloc {
  height: auto;
  max-width: 1080px;
}
#addressBloc .one_period {
  width: 100%;
  margin: 0 auto;
  font-weight: 600;
}
#addressBloc .one_period .caution {
  font-weight: 400;
}

/* --------------------------------------------------------- */
.access_headline {
  width: 100%;
  line-height: 140%;
}

/* --------------------------------------------------------- */
table#addTable th, table#addTable td {
  font-weight: 400;
  line-height: 160%;
}
@media screen and (max-width: 599px) {
  table#addTable th:last-of-type, table#addTable td:last-of-type {
    margin-bottom: 0;
  }
}
table#addTable th {
  text-align: right;
}
@media screen and (max-width: 599px) {
  table#addTable th {
    text-align: left;
  }
}

/* --------------------------------------------------------- */
ul#access_timeList {
  list-style-type: none;
}
ul#access_timeList li {
  height: auto;
}

/* --------------------------------------------------------- */
dl.access_timebox {
  width: 100%;
  height: auto;
}
dl.access_timebox dt, dl.access_timebox dd {
  height: auto;
  font-weight: 600;
}
dl.access_timebox dt p, dl.access_timebox dd p {
  line-height: 140%;
  letter-spacing: -1px;
}
dl.access_timebox dd {
  width: 25%;
  text-align: center;
}
dl.access_timebox dd .add_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  height: 100%;
}
dl.access_timebox dd p {
  color: #fff;
}

/* ============================================================================
FAQ
============================================================================ */
section#p-qa.p-qa {
  position: relative;
}
section#p-qa .section_title {
  position: relative;
  z-index: 1;
}
section#p-qa .section_title img {
  width: 100%;
  height: auto;
  display: block;
}

/* --------------------------------------------------------- */
dl#faqList {
  height: auto;
}
dl#faqList dt, dl#faqList dd {
  height: auto;
}
dl#faqList dt p, dl#faqList dd p {
  line-height: 160%;
}
dl#faqList dt {
  cursor: pointer;
}
dl#faqList dt:hover p {
  font-weight: 600;
}
dl#faqList dt:hover p:after {
  opacity: 0.8;
}
dl#faqList dt.active p:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
dl#faqList dt P {
  position: relative;
  z-index: 1;
  text-indent: -1rem;
  padding-left: 1rem;
  font-weight: 600;
}
dl#faqList dt P:after {
  content: "";
  position: absolute;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
dl#faqList dd {
  display: none;
}
dl#faqList dd p {
  position: relative;
  font-weight: 400;
  z-index: 1;
}
dl#faqList dd p:before {
  content: "A";
  line-height: 100%;
  text-align: center;
  position: absolute;
  left: 0px;
  font-weight: 600;
}
dl#faqList dd a {
  text-decoration: underline;
}
dl#faqList dd a:hover {
  text-decoration: none;
}
dl#faqList dd .picklink a:hover {
  text-decoration: none;
}

/* ============================================================================
ダイジェスト動画
============================================================================ */
section#p-digest {
  position: relative;
  z-index: 1;
}
section#p-digest.p-digest {
  position: relative;
  z-index: 1;
}

.digest_photo {
  padding: initial;
  width: 100%;
  height: auto;
  display: block;
}
.digest_photo:last-of-type {
  margin-bottom: 0;
}
.digest_photo a, .digest_photo img {
  width: 100%;
  height: auto;
  display: block;
}
.digest_photo a {
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
.digest_photo a:hover {
  opacity: 0.8;
}

/* ============================================================================
アーカイブ
============================================================================ */
.one_period.archive {
  position: relative;
  z-index: 1;
}

/* --------------------------------------------------------- */
.title_archive {
  line-height: 160%;
  font-weight: 600;
}

/* --------------------------------------------------------- */
ul.archive_linklist {
  width: 100%;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 599px) {
  ul.archive_linklist {
    display: block;
  }
}
ul.archive_linklist:last-of-type {
  margin-bottom: 0;
}
ul.archive_linklist li {
  height: auto;
}
ul.archive_linklist li a {
  line-height: 120%;
  text-decoration: none;
  font-weight: 600;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}
ul.archive_linklist li a:hover {
  background: transparent;
  text-decoration: none;
}
ul.archive_linklist li a span {
  display: inline-block;
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
}

/* --------------------------------------------------------- */
.headline_yearly {
  width: 100%;
  line-height: 120%;
}

/* ============================================================================
OC終了後
============================================================================ */
.add_close {
  width: 100%;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1024px) {
  .add_close {
    height: 150px;
  }
}
.add_close p {
  font-size: min(1.8vw, 28px);
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .add_close p {
    font-size: 16px;
  }
}

/* --------------------------------------------------------- */
.close_mark {
  position: absolute;
  background-image: url(/juken/resource/images/opencampus2024/summer/add_oc-close.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 120px;
  height: 120px;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
  top: -18%;
  right: -15%;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .close_mark {
    width: 80px;
    height: 80px;
    top: -10%;
    right: 5%;
  }
}