@charset "UTF-8";
/* Scss Document */
/* -------------------------------------------------- */
/* file   : life.css                                  */
/* update : 2025                                      */
/* -------------------------------------------------- */
/* -------------------------------------------------- */
/* pc向け */
/* --------------------------------------------------- */
.index .nav-sec {
  margin-bottom: 100px;
}
.index .nav-sec__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3.33%;
}
.index .nav-sec__item {
  width: 31.11%;
}
.index .nav-sec__item a {
  position: relative;
  display: block;
  z-index: 1;
}
.index .nav-sec__item img {
  position: relative;
  width: 100%;
}
.index .nav-sec__ttl {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  display: block;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  border-radius: 0 10px 10px 0;
  font-size: 28px;
  font-weight: bold;
  color: #4269BF;
  line-height: 1.2;
  padding: 20px 50px 20px 20px;
  z-index: 2;
}
.index .nav-sec__ttl-inner {
  position: relative;
  display: flex;
  align-items: center;
}
.index .nav-sec__ttl-inner::after {
  position: absolute;
  content: "";
  display: block;
  background: url(../../life/img/icon_arrow.svg) no-repeat center center/contain;
  width: 20px;
  height: 20px;
  right: -30px;
}

.campus_map .map__list {
  display: flex;
  flex-wrap: wrap;
  gap: 100px 3.96%;
}
.campus_map .map__list--reverse {
  flex-direction: row-reverse;
}
.campus_map .map__list-item {
  width: 48.02%;
}
.campus_map .map__list-item--wide01 {
  width: 63.49%;
}
.campus_map .map__list-item--wide03 {
  width: 48.02%;
}
.campus_map .map__list-item--wide02 {
  width: 32.54%;
}
.campus_map .map__list-item--flex {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.campus_map .map__list-title {
  display: flex;
  align-items: center;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: bold;
  color: #4269BF;
  line-height: 1.3;
  margin-top: 20px;
}
.campus_map .map__list-num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  background: #4269BF;
  border-radius: 50px;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #FFF;
  line-height: 1;
  margin-right: 10px;
}
.campus_map .map__list-img--l {
  width: 100%;
}
.campus_map .map__list-img--s {
  width: calc(50% - 5px);
}
.campus_map .map__list-text {
  line-height: 2;
  margin-top: 20px;
}
.campus_map .map__list--wide {
  width: 100%;
}
.campus_map .area {
  position: relative;
  background: #E6EBF5;
  margin-top: 150px;
}
.campus_map .area__img {
  max-width: 1260px;
  padding: 100px 0 300px 100px;
}
.campus_map .area__list {
  position: absolute;
  left: 0;
  bottom: 100px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 10px;
  width: 82.86%;
  background: rgba(255, 255, 255, 0.8);
  padding: 50px;
  border-radius: 0 10px 10px 0;
}
.campus_map .area__item {
  display: flex;
  align-items: center;
  width: 29.5%;
  font-size: clamp(12px, 1vw, 16px);
}
.campus_map .area__num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  background: #4269BF;
  border-radius: 50px;
  font-size: 16px;
  font-weight: bold;
  color: #FFF;
  line-height: 1;
  margin-right: 10px;
}

.calendar {
  margin-bottom: 100px;
}
.calendar .script-font {
  font-family: "Petit Formal Script", cursive;
  font-weight: 400;
  font-style: normal;
}

.calendar-sec__title {
  text-align: center;
  font-size: 75px;
  color: #4269BF;
  margin-bottom: 150px;
}
.calendar-sec__title span {
  position: relative;
  z-index: 1;
}
.calendar-sec__title span::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 15px;
  background: #FFFC4C;
  bottom: 15px;
  left: 0;
  z-index: -1;
}
.calendar-sec__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 3.97%;
  margin-top: 100px;
}
.calendar-sec__list:first-of-type {
  margin-top: 0;
}
.calendar-sec__list--right {
  flex-direction: row-reverse;
}
.calendar-sec__list--right .calendar-sec__icon {
  left: -10px;
  right: auto;
}
.calendar-sec__list--right .calendar-sec__icon-inner::before {
  left: -60px;
}
.calendar-sec__list--right .calendar-sec__icon-inner::after {
  left: -67px;
}
.calendar-sec__img {
  position: relative;
  width: 48.02%;
  z-index: 1;
}
.calendar-sec__icon {
  position: absolute;
  top: 20px;
  right: -10px;
  display: inline-block;
  background: #FFF;
  border-top: 2px solid #F17178;
  border-bottom: 2px solid #F17178;
  padding: 5px 20px;
  z-index: 2;
}
.calendar-sec__icon-inner {
  position: relative;
  text-align: center;
  font-size: clamp(14px, 2vw, 32px);
  color: #F17178;
  line-height: 1;
}
.calendar-sec__icon-inner::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -60px;
  display: block;
  width: 40px;
  height: 1px;
  background: #F17178;
}
.calendar-sec__icon-inner::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -67px;
  display: block;
  width: 7px;
  height: 7px;
  background: #F17178;
  border-radius: 50%;
}
.calendar-sec__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 48.01%;
}
.calendar-sec__text .list {
  font-family: "Noto Serif JP", serif;
  font-size: 26px;
  font-weight: 500;
  line-height: 1.5;
  text-indent: -1.2em;
  padding-left: 1.2em;
  margin-top: 5px;
}
.calendar-sec__text .list::before {
  content: "・";
  font-size: 26px;
  font-weight: bold;
  color: #4269BF;
  line-height: 1.5;
  margin-right: 5px;
}
.calendar-sec__text .list:first-of-type {
  margin-top: 0;
}
.calendar-sec__text .calendar-sec__pick-text {
  width: 100%;
}
.calendar-sec__pick {
  position: relative;
  background: #D1DAED;
  border-radius: 10px;
  margin-top: 20px;
  padding: 40px 50px;
  z-index: 1;
}
.calendar-sec__pick::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../../life/schedule/img/triangle.svg) no-repeat top center/contain;
  width: 50px;
  height: 30px;
}
.calendar-sec__pick::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: url(../../life/schedule/img/img_pickup-bg.png) no-repeat top right/contain;
  width: 424px;
  height: 400px;
  z-index: 2;
}
.calendar-sec__pick-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 40px;
}
.calendar-sec__pick-list:first-of-type {
  margin-top: 0;
}
.calendar-sec__pick-img {
  width: 51.59%;
}
.calendar-sec__pick-text {
  position: relative;
  width: 48.41%;
  padding-left: 50px;
  z-index: 3;
}
.calendar-sec__pick-tag {
  display: inline-block;
  background: #4269BF;
  border-radius: 0 5px 0 5px;
  text-align: center;
  font-size: 22px;
  color: #FFF;
  line-height: 1;
  padding: 5px 10px;
}
.calendar-sec__pick-title {
  font-family: "Noto Serif JP", serif;
  font-size: 26px;
  font-weight: bold;
  color: #4269BF;
  line-height: 1.5;
  margin-top: 20px;
}
.calendar-sec__pick-maintext {
  margin-top: 20px;
}

.okayama .lead__text {
  text-align: center;
  line-height: 2;
  margin-top: 85px;
}
.okayama .place {
  margin-top: 100px;
}
.okayama .place__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 3.97%;
  margin-top: 100px;
}
.okayama .place__list:first-of-type {
  margin-top: 0;
}
.okayama .place__list:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.okayama .place__list--col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 3.57%;
  margin-top: 100px;
}
.okayama .place__list-item--01 {
  width: 46.83%;
  line-height: 2;
}
.okayama .place__list-item--02 {
  width: 49.2%;
}
.okayama .place__list-item--s {
  width: 30.95%;
}
.okayama .place__list-title {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: bold;
  color: #4269BF;
}
.okayama .place__list-title--s {
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 500;
  color: #4269BF;
  margin-top: 10px;
}
.okayama .place__list-text {
  margin-top: 20px;
}
.okayama .location {
  position: relative;
  background: #E6EBF5;
  padding: 50px 80px;
  margin: 100px 0;
  z-index: 1;
}
.okayama .location::before, .okayama .location::after {
  content: "";
  position: absolute;
  width: 35%;
  height: 566px;
  z-index: 2;
}
.okayama .location::before {
  top: 0;
  right: 0;
  background: url(../../life/img/what_is_okayama/img_location_top.png) no-repeat top right/contain;
}
.okayama .location::after {
  bottom: 0;
  left: 0;
  background: url(../../life/img/what_is_okayama/img_location_under.png) no-repeat bottom left/contain;
}
.okayama .location__img {
  margin-top: 85px;
}

/* -------------------pc END------------------------------- */
@media screen and (min-width: 761px) and (max-width: 1300px) {
  .campus_map .area__list {
    padding: 25px;
  }
}
/* -------------------------------------------------- */
/* tablet向け */
/* --------------------------------------------------- */
/* ---------------------tablet END----------------------------- */
/* -------------------------------------------------- */
/* sp向け */
/* --------------------------------------------------- */
@media screen and (max-width: 750px) {
  .index .nav-sec {
    margin-bottom: 50px;
  }
  .index .nav-sec__list {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
  }
  .index .nav-sec__item {
    width: 100%;
  }
  .index .nav-sec__ttl {
    font-size: 22px;
    font-weight: bold;
  }
  .index .nav-sec__ttl-inner::after {
    width: 20px;
    height: 20px;
    right: -30px;
  }
  .campus_map .map__list {
    flex-direction: column;
    gap: 50px 0;
  }
  .campus_map .map__list--reverse {
    flex-direction: row;
  }
  .campus_map .map__list-item {
    width: 100%;
  }
  .campus_map .map__list-item--wide01 {
    width: 100%;
  }
  .campus_map .map__list-item--wide02 {
    width: 100%;
  }
  .campus_map .map__list-item--wide03 {
    width: 100%;
  }
  .campus_map .map__list-item--flex {
    gap: 5px;
  }
  .campus_map .map__list-title {
    font-size: 16px;
    margin-top: 10px;
  }
  .campus_map .map__list-num {
    width: 20px;
    height: 20px;
    font-size: 14px;
    margin-right: 5px;
  }
  .campus_map .map__list-text {
    margin-top: 10px;
  }
  .campus_map .map__list-inner {
    gap: 0;
  }
  .campus_map .area {
    margin-top: 75px;
  }
  .campus_map .area__wrap {
    padding-bottom: 50px;
  }
  .campus_map .area__img {
    max-width: 100%;
    padding: 50px 0 0 0;
  }
  .campus_map .area__list {
    position: static;
    gap: 10px 2%;
    width: 100%;
    margin-top: 10px;
    padding: 25px;
    border-radius: 10px;
  }
  .campus_map .area__item {
    width: 49%;
  }
  .campus_map .area__num {
    width: 20px;
    height: 20px;
    font-size: 14px;
    margin-right: 5px;
  }
  .calendar {
    margin-bottom: 50px;
  }
  .calendar-sec__title {
    font-size: 30px;
    margin-bottom: 75px;
  }
  .calendar-sec__title span::after {
    height: 10px;
    bottom: 10px;
  }
  .calendar-sec__list {
    flex-direction: column;
    gap: 10px 0;
    margin-top: 50px;
  }
  .calendar-sec__list--right {
    flex-direction: column;
  }
  .calendar-sec__list--right .calendar-sec__icon {
    left: 0;
    right: auto;
  }
  .calendar-sec__img {
    width: 100%;
  }
  .calendar-sec__icon {
    top: 10px;
    left: 0;
    right: auto;
    padding: 5px 10px;
  }
  .calendar-sec__icon-inner::before {
    content: none;
  }
  .calendar-sec__icon-inner::after {
    content: none;
  }
  .calendar-sec__text {
    display: block;
    width: 100%;
  }
  .calendar-sec__text .list {
    font-size: 18px;
    margin-top: 5px;
  }
  .calendar-sec__text .list::before {
    font-size: 18px;
    margin-right: 5px;
  }
  .calendar-sec__pick {
    flex-direction: column;
    align-items: flex-end;
    gap: 10px 0;
    border-radius: 5px;
    margin-top: 10px;
    padding: 20px;
  }
  .calendar-sec__pick::before {
    width: 25px;
    height: 15px;
  }
  .calendar-sec__pick::after {
    width: 212px;
    height: 200px;
  }
  .calendar-sec__pick-img {
    width: 100%;
  }
  .calendar-sec__pick-text {
    width: 100%;
    padding-left: 0;
  }
  .calendar-sec__pick-tag {
    font-size: 15px;
    padding: 5px;
    margin-top: 10px;
  }
  .calendar-sec__pick-title {
    font-size: 18px;
    margin-top: 5px;
  }
  .calendar-sec__pick-maintext {
    margin-top: 5px;
  }
  .okayama .lead__text {
    margin-top: 42px;
  }
  .okayama .place {
    margin-top: 50px;
  }
  .okayama .place__list {
    flex-direction: column-reverse;
    gap: 5px 0;
    margin-top: 50px;
  }
  .okayama .place__list:nth-of-type(2n) {
    flex-direction: column-reverse;
  }
  .okayama .place__list--col3 {
    gap: 25px 2%;
    margin-top: 50px;
  }
  .okayama .place__list-item--01 {
    width: 100%;
  }
  .okayama .place__list-item--02 {
    width: 100%;
  }
  .okayama .place__list-item--s {
    width: 49%;
  }
  .okayama .place__list-title {
    font-size: 18px;
    margin-top: 5px;
  }
  .okayama .place__list-title--s {
    font-size: 15px;
    margin-top: 0;
  }
  .okayama .place__list-text {
    margin-top: 5px;
  }
  .okayama .location {
    padding: 20px;
    margin: 50px 0;
  }
  .okayama .location::before, .okayama .location::after {
    width: 45%;
  }
  .okayama .location .page-ttl01 {
    display: flex;
    justify-content: center;
  }
  .okayama .location__img {
    margin-top: 45px;
  }
}
/* -------------------sp END------------------------------- *//*# sourceMappingURL=life.css.map */