@import url(./global/_variable.css);

/* history */
/* ============================================ */


.logo_header_lower {
  @media (width < 480px) {
    padding-bottom: 0vw;
  }
}

.area_intro_txt {
  position: relative;
  @media (width < 896px) {
    grid-template-columns: 30% 1fr;
  }
  @media (width < 480px) {
    grid-template-columns: 0% 1fr;
  }
}

.point_img {
  position: absolute;
  bottom: -5vw;
  left: -4vw;
  width: 25vw;
  @media (width < 896px) {
  }
}

.ttl_intro {
  display: grid;
  grid-template-columns: 13cqw 1fr;
  gap: 3cqw;
  align-items: center;
  @media (width < 480px) {
    grid-template-columns: 24cqw 1fr;
  }
}

.txt_intro {
  @media (width < 480px) {
    padding-left: 90px;
  }
}

.are_history {
  position: relative;
  background-color: #e5e5e5;
  padding-block: 3.75vw;
  overflow: hidden;
  @media (width < 896px) {
    padding-block: 30px;
  }
}

.block_history {
  position: relative;
  display: grid;
  grid-template-columns: 16% 1fr;
  @media (width < 896px) {
    grid-template-columns: 1fr;
    row-gap: 16px;
  }
}

.hd_concept {
  writing-mode: vertical-rl;
  font-size: clamp(2.4rem, 1.85vw + 1.706rem, 4rem);
  line-height: 1.1em;
  letter-spacing: 0.2em;
  @media (width < 896px) {
    writing-mode: horizontal-tb;
    letter-spacing: 0.1em;
    text-align: center;
  }
}

.txt_history {
  font-size: clamp(1.6rem, 0.41vw + 1.445rem, 2rem);
  line-height: 2.2em;
  text-align: justify;
}

.column_data {
  display: grid;
  grid-template-columns: 45% 1fr;
  gap: 3cqw;
  padding-top: 4cqw;
  @media (width < 896px) {
    grid-template-columns: 1fr;
    row-gap: 20px;
  }
}

.column_data_txt {
  font-size: clamp(1.6rem, 0.41vw + 1.445rem, 2rem);
  line-height: 1.4em;
}

.dl_data {
  display: grid;
  grid-template-columns: 6em 1fr;
  padding-top: 0.4em;
}

.dt_data,
.dd_data {
  padding-block: 0.4em;
}

.dd_data {
  padding-left: 1em;
  text-indent: -1em;
  &::before {
    content: "：";
  }
}

.column_portrait {
  display: grid;
  grid-template-columns: 33% 1fr;
  align-items: center;
  @media (width < 480px) {
    align-items: end;
  }
}

.column_portrait_txt {
  position: relative;
  white-space: nowrap;
  order: 1;
  z-index: 20;
}

.column_portrait_img {
  position: relative;
  order: 2;
  z-index: 10;
  @media (width < 480px) {
    padding-bottom: 20px;
  }
}

.portrait_data {
  font-size: clamp(1.4rem, 0.21vw + 1.322rem, 1.6rem);
  line-height: 1.6em;
}

.photo_provider_data {
  font-size: clamp(1.2rem, 0.21vw + 1.122rem, 1.4rem);
  padding-top: 5px;
}

.figure_flow {
  padding-top: 10px;
}

.area_movie {
  padding-block: 5vw;
  padding-inline: 5vw;
  background-color: #000;
  background-image: url(../images/history/bg_film.svg),url(../images/history/bg_film.svg);
  background-position: left center,right center;
  background-repeat: repeat-y,repeat-y;
  background-size: 5vw,5vw;
  color: #FFF;
}

.txt_contents_body {
  font-size: clamp(1.4rem, 0.21vw + 1.322rem, 1.6rem);
  line-height: 1.4em;
  padding-top: 16px;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.hd_hyakunen {
  font-size: clamp(2.4rem, 1.39vw + 1.88rem, 3.6rem);
  font-family: "Kaisei Opti", serif;
  line-height: 1.3em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding-top: 8px;
}

.area_transition {
  background-image: url(../images/history/bg01.jpg);
  background-position: center top;
}

.block_transition {
  padding-block: 5vw;
}

.block_transition_img {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2cqw;
}

.bn_noboreru {
  padding-top: 2cqw;
}

.area_southern {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  @media (width < 896px) {
    grid-template-columns: repeat(1,1fr);
  }
}

.area_southern_txt {
  background-color: #f5dec2;
  padding-inline: 6vw;
  padding-bottom: 9vw;
}

.area_southern_img {
  overflow: hidden;
  img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

.box_southern {
  width: 70%;
  margin: 3cqw auto 0;
}

.area_kirarin {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: 3vw;
  padding-block: 5vw;
  @media (width < 480px) {
    grid-template-columns: 1fr;
  }
}

.hd_kirarin {
  font-size: clamp(2rem, 2.9vw + 0.912rem, 4.8rem);
  letter-spacing: 0.2em;
  line-height: 1.4em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  color: #0071b7;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "halt";
}

.bn_kirarin {
  max-width: 230px;
  margin: 0 0 0 auto;
  padding-top: 16px;
}

.txt_kirarin {
  font-size: clamp(1.4rem, 0.41vw + 1.245rem, 1.8rem);
  line-height: 2em;
  padding-top: 2cqw;
  text-align: justify;
}

.block_imperial {
  padding-bottom: 7vw;
}

.bpx_gmap {
  padding-top: 5cqw;
  iframe {
    aspect-ratio: 16 / 9;
    @media (width < 480px) {
      aspect-ratio: 4 / 3;
    }
  }
}

.box_info {
  padding-top: 5cqw;
  text-align: left;
  @media (width < 896px) {
    padding-top: 40px;
  }
}

.box_info_ttl {
  display: grid;
  grid-template-columns: auto 230px;
  align-items: end;
  border-bottom: #000 solid 1px;
  padding-bottom: 2cqw;
  @media (width < 896px) {
    grid-template-columns: 1fr;
    .bn_kirarin {
      margin: 0 auto 0 0;
      padding-top: 5px;
    }
  }
  .bn_kirarin {
    width: 100%;
  }
}

.hd_info {
  font-size: clamp(2rem, 2.9vw + 0.912rem, 4.8rem);
  letter-spacing: 0.2em;
  line-height: 1.3em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  color: var(--over_c);
  font-weight: 500;
}

.address_info {
  font-size: clamp(1.4rem, 0.41vw + 1.245rem, 1.8rem);
  line-height: 1.6em;
  padding-top: 10px;
  font-weight: 500;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.spec_info {
  font-size: clamp(1.4rem, 0.41vw + 1.245rem, 1.8rem);
  line-height: 1.6em;
  padding-top: 2cqw;
  @media (width < 896px) {
    padding-top: 16px;
  }
}

.dl_spec {
  display: grid;
  grid-template-columns: 8em 1fr;
  padding: 3px 0 3px 1em;
}

.dt_spec,.dd_spec {
  padding: 3px 0;
}

.list_spec {
  display: flex;
  column-gap: 3em;
  flex-wrap: wrap;
  padding: 0 0 0 1em;
}

.item_spec {
  padding: 0 0 0 1em;
  text-indent: -1em;
  line-height: 1.4em;
}

.dl_spec_nc {
  padding: 3px 0 3px 1em;
}

.dd_spec_nc {
  padding: 0 0 5px 1em;
}

.txt_norimono {
  padding: 0 0 0 1em;
}

.box_info_wheather {
  padding-top: 3cqw;
  img {
    width: 100%;
  }
}

.area_sansaku {
  background-color: #e5e5e5;
}

.block_sansaku {
  padding-block: 5vw;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 4cqw;
  @media (width < 896px) {
    grid-template-columns: repeat(1,1fr);
  }
}

.illust_sansaku {
  width: 50%;
}

.hd_sansaku {
  font-size: clamp(2rem, 2.9vw + 0.912rem, 4.8rem);
  letter-spacing: 0.2em;
  line-height: 1.3em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding-top: 12px;
}

.txt_sansaku {
  font-size: clamp(1.4rem, 0.41vw + 1.245rem, 1.8rem);
  line-height: 2em;
  padding-top: 2cqw;
  text-align: justify;
}

.btn_dl {
  font-size: clamp(1.4rem, 0.41vw + 1.245rem, 1.8rem);
  line-height: 2em;
  padding-top: 2cqw;
}

.txt_dl {
  position: relative;
  text-align: right;
  line-height: 1.4em;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "halt";
  word-break: keep-all;
  overflow-wrap: anywhere;
  padding-right: 7.6cqw;
  @media (width < 480px) {
    padding-right: 40px;
  }
  &:hover {
    color: var(--over_c);
  }
  &::after {
    content: "";
    display: block;
    aspect-ratio: 1 / 1;
    background-image: url(../images/common/icon_download.svg);
    background-size: 100% 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    width: 6.7cqw;
    @media (width < 480px) {
      width: 30px;
    }
  }
}