@charset "UTF-8";
/******************************************************************
Site Name: サイト名称
Author: Harimanics Co.Ltd.
******************************************************************/
@media all {
  .center {
    background: var(--beige);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .center__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
  .center {
    position: relative;
    --img: 334px;
    --img_height: calc(var(--img) / 334 * 235);
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .center__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .center__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .center__block {
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) calc(max(10rem, 50px) + var(--img_height) / 2) 0;
  }
  .center__img-box {
    position: absolute;
    top: 100%;
    margin-top: calc(var(--img_height) / -2);
    width: 100vw;
    overflow: hidden;
    z-index: 0;
  }
  .center__img-wrap {
    display: flex;
    gap: 20px;
    flex-wrap: nowrap;
    width: max-content;
  }
  .center__list {
    display: flex;
    flex-shrink: 0;
    gap: 20px;
  }
  .center__item img {
    border-radius: 10px;
    overflow: hidden;
  }
  .center__item {
    width: var(--img);
    height: var(--img_height);
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .center__block {
    padding: 40px 260px calc(50px + var(--img_height) / 2) 0;
  }
}
@media screen and (max-width: 767px) {
  .center {
    --img: 210px;
  }
  .center__block {
    padding: 40px 0 calc(50px + var(--img_height) / 2) 0;
  }
}
@media all {
  .access {
    --img: 334px;
    --img_height: calc(var(--img) / 334 * 235);
    background: var(--white);
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .access__block {
    width: min(1200px, 90%);
    margin-inline: auto;
    padding: max(8rem, 40px) calc(max(27rem, 250px) + 6rem) max(10rem, 50px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .access__block {
    padding: 40px 290px 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .access__block {
    padding: 40px 0 50px;
  }
}
@media all {
  .access__block {
    padding: calc(var(--img_height) / 2 + max(17rem, 100px)) calc(max(27rem, 250px) + 6rem) max(16rem, 80px) 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .access__block {
    padding: calc(var(--img_height) / 2 + 100px) 260px 80px 0;
  }
}
@media screen and (max-width: 767px) {
  .access {
    --img: 210px;
  }
  .access__block {
    padding: calc(var(--img_height) / 2 + 100px) 0 80px 0;
  }
}
@media all {
  .access-card:not(:first-child) {
    margin-top: max(6rem, 30px);
  }
  .access-card:first-child {
    margin-top: max(3.5rem, 20px);
  }
  .access-card__campus {
    padding-bottom: 1em;
  }
  .access-card__name {
    font-size: clamp(16px, 18 / 1400 * 100vw, 18px);
    margin-top: 15px;
    padding: 0.4em 25px;
    border-radius: 15px 15px 0 0;
    background: var(--red);
    font-weight: 700;
    color: var(--white);
  }
  .access-card__box {
    padding: 25px 30px;
    border-radius: 0 0 15px 15px;
    background: var(--beige);
    font-weight: 700;
  }
  .access-card__area {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .access-card__area-text {
    color: var(--red);
  }
  .access-card__area-img {
    width: 16px;
  }
  .access-card__time {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 0.7em;
  }
  .access-card__time-icon {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .access-card__time-icon__img {
    width: 18px;
  }
  .access-card__time-icon__text {
    letter-spacing: 0;
  }
  .access-card__tel {
    margin-top: 4rem;
  }
  .access-card__tel a {
    display: block;
    line-height: 1.3;
    padding: 0.5em 0;
  }
  .access-card__mail {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 7px;
  }
  .access-card__mail-img {
    width: 30px;
  }
}
@media screen and (min-width: 768px) {
  .access-card__box {
    display: grid;
    grid-template-columns: 39fr 36fr;
    gap: 4.5rem;
  }
}
@media (width < 850px) {
  .access-card__box {
    display: block;
  }
  .access-card__img {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .access-card__name {
    padding: 0.4em 15px;
  }
  .access-card__box {
    padding: 15px 20px;
  }
  .access-card__area-img {
    width: 14px;
  }
  .access-card__time-icon__img {
    width: 16px;
  }
  .access-card__tel a {
    padding: 0.3em 0;
  }
  .access-card__mail-img {
    width: 24px;
  }
}