/* v3 architecture Top
---------------------------------------------------------- */
a{
  font-family: "Meiryo", "メイリオ", sans-serif;
}

/* firstview */
.v3-firstview__lead-image-inner:first-child {
  height: fit-content;
  padding-bottom: 7px;
}
/* vertical-rl の先頭（FACULTY OF / GRADUATE SCHOOL OF）を同じ縦線に揃える */
.v3-firstview__lead-label-item:nth-child(2) {
  width: 45px;
}

.v3-firstview__inner {
  position: relative;
  width: 100%;
  height: 600px;
  background-image: url(/architecture/img/top/mainvisual_pic_pc.jpg);
}

/* firstview record banner（旧 .main_banner_box） */
.v3-firstview__record-banner {
  position: absolute;
  right: 290px;
  bottom: 115.58px;
  z-index: 2;
  width: 270px;
  animation: v3-firstview-record-banner-zoom-in 1.2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

.v3-firstview__record-banner:hover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  pointer-events: none;
}

.v3-firstview__record-banner-link {
  display: inline-block;
  width: 100%;
  line-height: 0;
  box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.3);
}

.v3-top .v3-firstview__record-banner-link:hover,
.v3-top .v3-firstview__record-banner-link:focus-visible {
  opacity: 1;
}

.v3-firstview__record-banner-image {
  display: block;
  width: 100%;
  height: auto;
}

@keyframes v3-firstview-record-banner-zoom-in {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .v3-firstview__record-banner {
    animation: none;
  }
}

/* information */

.v3-information__tabs {
  grid-template-columns: repeat(5, 1fr);
}

/* タイトル内の氏名・論文名リンクを1行表示（フォントは共通指定を継承） */
.v3-information__title-text {
  color: #000000;
}

.v3-information__title-text a {
  color: rgb(0,80,126);
  text-decoration: underline;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* people */

.v3-people__title {
  padding-top: 3px;
}

/* gallery（旧 module_panel-col-02 / module_panel-col-02_arc） */
.v3-gallery {
  padding-top: 46px;
}

.v3-gallery__inner {
  padding-left: max(calc(50vw - 650px), 70px);
  padding-right: max(calc(50vw - 650px), 70px);
}

.v3-gallery__list {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.v3-gallery__item {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}

.v3-gallery__link {
  position: relative;
  display: block;
  background-color: transparent;
  color: #ffffff;
  text-decoration: none;
}

.v3-top .v3-gallery__link:hover,
.v3-top .v3-gallery__link:focus-visible {
  opacity: 1;
  background-color: rgba(0, 80, 126, 0.65);
}

.v3-gallery__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: inherit;
}

.v3-gallery__image {
  display: block;
  width: 100%;
  height: auto;
}

.v3-gallery__text {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  box-sizing: border-box;
  width: 100%;
  min-height: 60px;
  margin: 0;
  padding: 0.5em 1em 0.3em;
  background-color: #222222;
  font-family: var(--font-gothic);
  font-size: 28px;
  color: #ffffff;
}

.v3-gallery__text-label {
  position: relative;
  display: block;
  font-size: 22px;
  font-weight: bolder;
  line-height: 30px;
}

.v3-gallery__text-label::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.5em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 6px;
  border-color: transparent transparent transparent #ffffff;
  transform: translateY(-50%);
}

@media screen and (max-width: 1320px) {
  .v3-header__site-name-br {
      display: inline;
  }
  .v3-header__site-name {
      line-height: 1.3;
  }
}
@media screen and (max-width: 768px) {
  .v3-firstview__inner {
    height: 322px;
    background-image: url(/architecture/img/top/mainvisual_pic_sp.jpg);
  }

  .v3-firstview__lead-label-item:nth-child(2) {
    width: 24px;
  }

  .v3-firstview__record-banner {
    right: 120px;
    bottom: 20px;
    width: clamp(80px, 25vw, 120px);
    box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.3);
  }

  .v3-gallery__inner {
    padding-left: 12px;
    padding-right: 12px;
  }

  .v3-gallery__item {
    max-width: none;
  }

  .v3-gallery__text {
    min-height: 40px;
    padding-right: 0.5em;
    padding-left: 0.5em;
    font-size: 16px;
  }

  .v3-gallery__text-label::after {
    border-width: 3px 0 3px 6px;
  }
}