:root {
  --index-width: 180px;
  --index-height: 130px;
}

html {
  margin-top: 0 !important; /* for --wp-admin--admin-bar--height */
}

header {
  position: fixed !important;
  width: 100%;
}

/* メインコンテナ */
#history-main {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.history-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-beige);
}

.history-sections {
  display: flex;
  width: 100%;
  height: 100%;
  will-change: transform;
}

.history-bk-top {
  position: relative;
  height: calc(100% - var(--height-header));
  margin-top: var(--height-header);
  background: url("/assets/img/history/background-001.jpg") no-repeat center center / cover;
}

.history-bk-top::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #9cc1e7;
  mix-blend-mode: screen;
  opacity: 0.87;
}

.history-section {
  position: relative;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: calc(100% - var(--height-header));
  margin-top: var(--height-header);
}

[id^="slide-top-"] {
  height: 100%;
  margin-top: 0;
}

#slide-top-01 {
  background: url("/assets/img/history/background-001.jpg") no-repeat center center / cover;
}

#slide-top-01::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: var(--color-blue);
  mix-blend-mode: multiply;
}

.section-content {
  position: relative;
}

#slide-top-01 .section-content,
#slide-top-03 .section-content {
  color: #fff;
}

#slide-top-01 h1 {
  display: flex;
  gap: 0.15em;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.2em;
  font-size: min(6.7vw, 85px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.06em;
}

#slide-top-01 h1 span {
  font-size: min(7.7vw, 98px);
  font-weight: bold;
  letter-spacing: 0.03em;
}

#slide-top-01 .h1-en {
  margin-bottom: 0.8em;
  font-size: min(2.7vw, 34px);
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
}

.top-text {
  font-size: min(1.6vw, 20px);
  font-weight: 800;
  line-height: 1.9;
  letter-spacing: 0;
}

.arrow-icon {
  position: absolute;
  top: 40%;
  right: 10%;
}

.arrow-icon img {
  width: 154px;
  aspect-ratio: 154 / 27;
}

#slide-top-01 .arrow-icon span {
  display: block;
  width: 100%;
  margin-top: 0.3em;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

#slide-top-02 {
  flex-shrink: 0;

  /* align-items: flex-end; */
  width: 170vw;
}

#slide-top-02 .section-content {
  width: 100%;

  /* height: 100%; */

  aspect-ratio: 256 / 69;
  background: url("/assets/img/history/overlay-002.png") no-repeat bottom left / contain;
}

#slide-top-02 [class^="btn-"] {
  position: absolute;

  /* width: 11.241vw; */
  width: 9.7vw;
  transition: var(--transition-time);
}

#slide-top-02 [class^="btn-"]:hover {
  opacity: 1;
  transform: scale(1.1);
}

#slide-top-02 .btn-1924 {
  bottom: 33.8%;
  left: 4.3%;
}

#slide-top-02 .btn-1934 {
  bottom: 42%;
  left: 14.2%;
}

#slide-top-02 .btn-1949 {
  bottom: 70.5%;
  left: 41.7%;
}

#slide-top-02 .btn-1952 {
  bottom: 11.5%;
  left: 52.2%;
}

#slide-top-02 .btn-1973 {
  bottom: 21%;
  left: 63.3%;
}

#slide-top-02 .btn-1985 {
  bottom: 30.7%;
  left: 73.8%;
}

#slide-top-02 .btn-2012 {
  bottom: 39%;
  left: 83.7%;
}

#slide-top-03 {
  overflow: hidden;
  background: url("/assets/img/history/background-003.jpg") no-repeat center center / cover;
}

.overlay-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 105%;
  font-size: 6.7vw;
  font-weight: bold;
  line-height: 0.8;
  color: #fff;
  letter-spacing: 0.05em;
  opacity: 0.43;
  transform: translateX(-0.5%);
}

/* ========================================================== */

/* Subpage common */

/* ========================================================== */
.history-index {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: var(--index-width);
  height: 100%;
  background-color: #fff;
}

.history-index span:first-of-type {
  position: absolute;
  bottom: 30%;
  left: 64px;
  width: 4em;
  font-size: 90px;
  font-weight: 800;
  line-height: 1;
  color: #fcd3bb;
  letter-spacing: 0.025em;
}

.history-index span.option:first-of-type {
  bottom: 20%;
}

.history-index.option span:first-of-type {
  color: #cae2fa;
}

.history-index span:last-of-type {
  position: absolute;
  bottom: 0;
  left: -0.1em;
  width: 17em;

  /* font-size: 86px; */
  font-size: 6.7vw;
  font-weight: bold;
  line-height: 0.8;
  color: #fae7da;
  letter-spacing: 0.05em;
  opacity: 0.7;

  /* mix-blend-mode: multiply; */
}

.history-index.option span:last-of-type {
  color: #e2efff;
}

.history-index a {
  position: absolute;
  top: 140px;
  left: 50%;
  display: block;
  width: 50px;
  aspect-ratio: 1 / 1;
  border: 2px solid var(--color-orange);
  border-radius: 50%;
  transform: translateX(-50%);
}

.history-index a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 19px;
  aspect-ratio: 1 / 1;
  content: "";
  border: 2px solid var(--color-orange);
  border-top: none;
  border-right: none;
  transform: translate(-55%, -15%);
  rotate: 45deg;
  transition: var(--transition-time);
}

.history-index a:hover {
  background-color: var(--color-orange);
  opacity: 1;
}

.history-index a:hover::before,
.history-index.option a:hover::before {
  border-color: #fff;
}

.history-index.option a,
.history-index.option a::before {
  border-color: var(--color-blue);
}

.history-index.option a:hover {
  background-color: var(--color-blue);
}

.history-lead {
  position: absolute;
  top: 4%;
  left: calc(var(--index-width) + 3%);
  font-size: 18px;
}

.history-lead.option {
  visibility: hidden;
}

.history-img img {
  height: 50vh;
  border: 13px solid #fff;
}

.history-img figure {
  position: relative;
}

.history-img figcaption {
  position: absolute;
  bottom: 0;
  left: 100%;
  display: block;
  width: fit-content;
  margin-left: 1em;
  font-size: 13px;
  line-height: 1.692;
  white-space: nowrap;
}

.history-img-title {
  margin-bottom: 1em;
  font-size: 18px;
  line-height: 1.666;
}

.history-img-caption {
  margin-top: 0.5em;
  font-size: 15px;
  line-height: 1.666;
}

/* ========================================================== */

/* 1924 */

/* ========================================================== */
#slide-1924-01 {
  width: calc(75vw + var(--index-width));
  padding-left: var(--index-width);
}

#slide-1924-01 .arrow-icon {
  top: 10%;
  right: 0;
}

#slide-1924-02,
#slide-1924-03 {
  justify-content: flex-start;
  width: 60vw;
}

#slide-1924-02 .arrow-icon {
  display: none;
}

#slide-1924-01 .history-img,
#slide-1924-02 .history-img,
#slide-1924-03 .history-img {
  margin-top: 7vh;
}

/* ========================================================== */

/* 1934 */

/* ========================================================== */

#slide-1934-01 .arrow-icon {
  top: 20%;
  right: 6%;
}

#slide-1934-arrow {
  width: 450px;
}

#slide-1934-arrow .arrow-icon {
  position: static;
  width: 366px;
  margin-right: auto;
}

#slide-1934-arrow .arrow-icon img {
  width: 100%;
}

#slide-1934-arrow .arrow-icon p {
  width: fit-content;
  margin: 0 auto;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-orange);
}

#slide-1934-02,
#slide-1934-03,
#slide-1934-04 {
  justify-content: flex-start;
  width: 80vw;
}

#slide-1934-02 .arrow-icon,
#slide-1934-03 .arrow-icon {
  display: none;
}

/* ========================================================== */

/* 1949 */

/* ========================================================== */

#slide-1949-01 .arrow-icon {
  top: 20%;
  right: 6%;
}

#slide-1949-01 .history-img img {
  height: 60vh;
  margin-top: 40px;
  border: none;
}

#slide-1949-01 .history-img figcaption {
  margin-bottom: 20%;
  font-size: 16px;
  line-height: 1.3;
}

#slide-1949-01 .history-img figcaption span {
  font-size: 10px;
}

#slide-1949-02 {
  flex-direction: column;
  justify-content: flex-start;
  padding-left: var(--index-width);
  background-color: var(--color-lorange);
}

#slide-1949-02 h2 {
  margin: 8vh 0 14vh;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.1em;
}

#slide-1949-02 h2 span {
  font-size: 13px;
}

#slide-1949-02 .arrow-icon {
  display: none;
}

#slide-1949-02 ul {
  display: flex;
  justify-content: space-between;
  width: 97%;
}

#slide-1949-02 ul li {
  width: 20%;
}

#slide-1949-02 ul li img {
  width: 90%;
  margin: 0 auto;
}

#slide-1949-02 ul li figcaption {
  margin-top: 25px;
  font-size: 16px;
  line-height: 1.43;
  text-align: center;
}

#slide-1949-02 ul li figcaption span {
  font-size: 10px;
  letter-spacing: 0;
}

/* ========================================================== */

/* 1952 */

/* ========================================================== */

#slide-1952-01 .arrow-icon {
  top: 20%;
  right: 6%;
}

#slide-1952-02 .arrow-icon {
  display: none;
}

#slide-1952-02,
#slide-1952-03 {
  justify-content: flex-start;
  width: 80vw;
}

/* ========================================================== */

/* 1973 */

/* ========================================================== */

#slide-1973-01 .history-lead {
  border-bottom: 1px solid #000;
}

#slide-1973-01 figcaption {
  margin-left: 2em;
}

[id^="slide-1973-"] .history-img {
  margin-top: 100px;
}

[id^="slide-1973-"] .history-img img {
  height: 40vh;
  border: none;
}

#slide-1973-02,
#slide-1973-03 {
  width: 50vw;
}

#slide-1973-02 .arrow-icon {
  display: none;
}

/* ========================================================== */

/* 1985 */

/* ========================================================== */

[id^="slide-1985-"] .history-img img {
  border: none;
}

#slide-1985-02 {
  padding-left: var(--index-width);
}

#slide-1985-02 .arrow-icon {
  display: none;
}

#slide-1985-02 .history-img img {
  height: auto;
}

#slide-1985-02 .flex-col {
  display: flex;
  flex-direction: column;
  width: 80%;
}

#slide-1985-02 .flex-row {
  display: flex;
  gap: 5%;
  align-items: center;
}

#slide-1985-02 .flex-row:nth-of-type(1) {
  padding-bottom: 4vh;
  border-bottom: 1px solid #000;
}

#slide-1985-02 .flex-row:nth-of-type(2) {
  justify-content: flex-end;
  margin-top: 3vh;
}

#slide-1985-02 .flex-row .history-img {
  flex: 0 1 35%;
}

#slide-1985-02 .flex-row .history-img-title {
  margin-bottom: 0.2em;
}

#slide-1985-02 .flex-row > p {
  margin-right: auto;
}

/* ========================================================== */

/* 2012 */

/* ========================================================== */

#slide-2012-01 .arrow-icon {
  display: none;
}

[id^="slide-2012-"] .history-img img {
  border: none;
}

#slide-2012-01 {
  flex-direction: column;
  justify-content: flex-start;
  padding-left: var(--index-width);
}

#slide-2012-01 .section-content {
  margin: 0 5% 0 15%;
}

#slide-2012-01 .flex-row {
  display: flex;
  gap: 2%;
  justify-content: space-between;
}

#slide-2012-01 .flex-gird {
  display: grid;
  grid-template-rows: repeat(2, auto);
  grid-template-columns: auto 23.5%;
  gap: 20px 0;
  margin: 20px 0;
}

#slide-2012-01 .flex-gird p {
  grid-column: 1 / 2;
  font-size: 16px;
  line-height: 1.75;
}

#slide-2012-01 .flex-gird p:first-of-type {
  grid-row: 1 / 2;
}

#slide-2012-01 .flex-gird p:last-of-type {
  grid-row: 2 / 3;
}

#slide-2012-01 .flex-gird div {
  display: flex;
  grid-row: 1 / 3;
  grid-column: 2 / 3;
  align-items: center;
}

/* ========================================================== */

/* SP */

/* ========================================================== */
@media (max-width: 768px) {
  #history-main {
    height: 100dvh;

    /* height: auto; */
  }

  .history-section {
    flex-direction: column;
    justify-content: flex-start;
  }

  .section-content {
    width: 100%;
  }

  #slide-top-01 {
    padding: 50px 6.67% 0;
  }

  #slide-top-01 h1 {
    margin-bottom: 0.3em;
    font-size: 11.8vw;
  }

  #slide-top-01 h1 span {
    font-size: 13.3vw;
  }

  #slide-top-01 .h1-en {
    margin-bottom: 1.8em;
    font-size: 5.4vw;
  }

  .top-text {
    font-size: 4.25vw;
  }

  .arrow-icon img {
    width: 110px;
  }

  #slide-top-01 .arrow-icon {
    position: static;
    z-index: 1;
    margin-top: 70px;
    margin-left: auto;
  }

  #slide-top-02 {
    justify-content: center;
    width: 500vw;
  }

  #slide-top-02 [class^="btn-"] {
    width: 28.5vw;
  }

  #slide-top-02 .btn-1924 {
    bottom: 33.8%;
    left: 4.3%;
  }

  #slide-top-02 .btn-1934 {
    bottom: 42%;
    left: 14.2%;
  }

  #slide-top-02 .btn-1949 {
    bottom: 70.5%;
    left: 41.7%;
  }

  #slide-top-02 .btn-1952 {
    bottom: 11.5%;
    left: 52.2%;
  }

  #slide-top-02 .btn-1973 {
    bottom: 21%;
    left: 63.3%;
  }

  #slide-top-02 .btn-1985 {
    bottom: 30.7%;
    left: 73.8%;
  }

  #slide-top-02 .btn-2012 {
    bottom: 39%;
    left: 83.7%;
  }

  #slide-top-03 {
    justify-content: center;
    padding: 50px 0 0 6.67%;
  }

  /* ========================================================== */

  /* SP */

  /* Subpage common */

  /* ========================================================== */

  .history-index {
    width: 100%;
    height: var(--index-height);
  }

  .history-index span:first-of-type {
    bottom: -0.4em !important;
    left: 0;
    width: 100%;
    text-align: center;
  }

  .history-index span:last-of-type {
    top: 100%;
    bottom: auto;
    left: 0;
    width: 1em;
    height: 17em;
    font-size: 30px;
    text-align: left;
    writing-mode: vertical-lr;
    text-orientation: mixed;
  }

  .history-index a {
    top: 55px;
    left: 15px;
    width: 40px;
    transform: translateX(0);
  }

  .history-index ~ .history-sections {
    padding-top: var(--index-height);
  }

  .history-index ~ .history-sections .history-section {
    height: 100%;
    margin-top: 0;
  }

  .history-lead {
    position: static;
    margin: 70px 0 0;
    font-size: 15px;
    line-height: 1.5;
  }

  .history-img {
    display: flex;
    flex-direction: column;
    width: 86.666666vw;
    padding-bottom: 25px;
    margin-top: 0;
  }

  .history-img img {
    height: auto;
  }

  .history-img-title {
    order: 1;
    margin-bottom: 0.5em;
    font-size: 16px;
    line-height: 1.5;
  }

  .history-img figure {
    order: 3;
  }

  .history-img-caption {
    order: 2;
    margin: 0 0 1em;
    line-height: 1.5;
  }

  /* ========================================================== */

  /* SP */

  /* 1924 */

  /* ========================================================== */

  #slide-1924-01,
  #slide-1924-02,
  #slide-1924-03 {
    width: 100vw;
    padding: 0 6.67%;
  }

  #slide-1924-01 .arrow-icon {
    top: 45px;
  }

  #slide-1924-02 .arrow-icon {
    top: 140px;
    display: block;
  }

  /* ========================================================== */

  /* SP */

  /* 1934 */

  /* ========================================================== */

  [id^="slide-1934-"] {
    align-items: flex-start;
    justify-content: flex-end !important;
  }

  [id^="slide-1934-"] .history-img {
    /* margin-top: 60px; */
  }

  [id^="slide-1934-"] .history-img figcaption {
    margin-left: 2em;
  }

  #slide-1934-01 {
    width: 200vw;
  }

  #slide-1934-01 .history-img {
    /* width: 46.666%; */
    margin-left: 3.333%;
  }

  #slide-1934-01 .arrow-icon {
    top: 45px;
    right: 50%;
  }

  #slide-1934-arrow {
    width: 60px;
    margin-right: 30px;
  }

  #slide-1934-arrow .arrow-icon {
    position: absolute;
    top: 100px;
    right: 30px;
  }

  #slide-1934-02,
  #slide-1934-03 {
    width: 160vw;
  }

  #slide-1934-04 {
    width: 170vw;
  }

  #slide-1934-02 .arrow-icon,
  #slide-1934-03 .arrow-icon {
    display: block;
  }

  /* ========================================================== */

  /* SP */

  /* 1949 */

  /* ========================================================== */

  .history-sections:has(#slide-1949-01) {
    /* background-color: var(--color-lorange); */
  }

  #slide-1949-01 {
    width: 100vw;
    padding: 0 6.67%;

    /* background-color: var(--color-beige); */
  }

  #slide-1949-01 .arrow-icon {
    top: 35px;
    right: 0;
  }

  #slide-1949-01 .history-lead {
    margin-top: 60px;
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: 0;
  }

  #slide-1949-01 .history-img {
    padding-bottom: 0;
  }

  #slide-1949-01 .history-img img {
    width: 60%;
    height: auto;
    margin: 5px auto 0;
  }

  #slide-1949-01 .history-img figcaption {
    position: static;
    width: 100%;
    margin: 5px 0 0;
    font-size: 14px;
    line-height: 1;
    text-align: center;
  }

  #slide-1949-02 {
    align-items: flex-start;
    width: 300vw;
    height: 100%;
    padding: 0 6.67%;
  }

  /* #slide-1949-02::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 88dvh;
    content: "";
    background-color: var(--color-lorange);
  } */

  #slide-1949-02 h2 {
    margin: 60px 0 30px;
    line-height: 1.5;
    text-align: left;
  }

  #slide-1949-02 .arrow-icon {
    position: static;
    display: flex;
    justify-content: space-around;
    width: 90%;
    margin: 0 auto 5vh;
  }

  #slide-1949-02 ul {
    width: 100%;
  }

  /* ========================================================== */

  /* SP */

  /* 1952 */

  /* ========================================================== */

  [id^="slide-1952-"] {
    align-items: flex-start;
    justify-content: flex-end !important;
    width: 140vw !important;
    height: 70vh;
  }

  [id^="slide-1952-"] .history-img {
    /* width: 63.333%; */
    margin-left: 3.333%;
  }

  [id^="slide-1952-"] .history-img figcaption {
    margin-left: 2em;
  }

  #slide-1952-01 .arrow-icon {
    top: 45px;
    right: 33.333%;
  }

  #slide-1952-02 .arrow-icon {
    display: block;
  }

  /* ========================================================== */

  /* SP */

  /* 1973 */

  /* ========================================================== */

  [id^="slide-1973-"] {
    width: 100vw;
    padding: 0 6.67%;
  }

  [id^="slide-1973-"] .history-lead {
    width: 100%;
    line-height: 1.5;
  }

  [id^="slide-1973-"] .history-img {
    margin-top: 20px;
  }

  [id^="slide-1973-"] .history-img img {
    height: auto;
  }

  #slide-1973-01 .history-lead {
    border: none;
  }

  #slide-1973-01 .history-lead::after {
    display: block;
    width: 286vw;
    height: 1px;
    content: "";
    background-color: #000;
  }

  #slide-1973-01 .arrow-icon {
    top: 45px;
    right: 0;
  }

  #slide-1973-01 figcaption {
    top: 102%;
    right: auto;
    left: 0;
    margin-left: 0;
  }

  #slide-1973-02,
  #slide-1973-03 {
    width: 100vw;
  }

  #slide-1973-02 .arrow-icon {
    top: 140px;
    right: 0;
    display: block;
  }

  /* ========================================================== */

  /* SP */

  /* 1985 */

  /* ========================================================== */

  #slide-1985-01 {
    width: 100vw;
    padding: 0 6.67%;
  }

  #slide-1985-01 .arrow-icon {
    top: 45px;
    right: 0;
  }

  #slide-1985-01 .history-lead {
    width: 100%;
    margin-bottom: 40px;
  }

  #slide-1985-02 {
    width: 400vw;
    padding-left: 6.666vw;
  }

  #slide-1985-02 .flex-col {
    flex-direction: row;
    gap: 13.333vw;
    width: 100%;
    margin-top: 70px;
  }

  #slide-1985-02 .flex-row {
    position: relative;
    gap: 0 13.333vw;
    align-items: flex-end;

    /* width: 48%; */
  }

  #slide-1985-02 .flex-row .history-img {
    flex: 0 0 auto;
  }

  #slide-1985-02 .flex-row .history-img-title {
    margin-bottom: 0.5em;
  }

  #slide-1985-02 .history-img img {
    order: 2;
  }

  #slide-1985-02 .flex-row .arrow-icon {
    top: -20px;
    right: 43%;
  }

  #slide-1985-02 .flex-row:nth-of-type(1) {
    padding-bottom: 0;
    border: none;
  }

  #slide-1985-02 .flex-row:nth-of-type(2) {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 0;
  }

  #slide-1985-02 .flex-row > p {
    width: 100%;
    margin: 0 0 40px;
    font-size: 15px;
    line-height: 1.5;
  }

  #slide-1985-02 .arrow-icon {
    top: 100px;
    display: block;
  }

  /* ========================================================== */

  /* SP */

  /* 2012 */

  /* ========================================================== */

  #slide-2012-01 .arrow-icon {
    top: 40px;
    right: 55%;
    z-index: -1;
    display: block;
  }

  #slide-2012-01 {
    justify-content: center;
    width: 220vw;
    height: 100%;
    padding: 60px 15% 0;
  }

  #slide-2012-01 .section-content {
    margin: 0;
  }

  #slide-2012-01 .flex-row {
    gap: 6.666%;
  }

  #slide-2012-01 .flex-gird {
    display: flex;
    flex-direction: row;
    gap: 0;
    margin: 10px 0;
  }

  #slide-2012-01 .flex-gird p {
    flex: 0 1 auto;
    line-height: 1.6;
  }

  #slide-2012-01 .flex-gird p:first-of-type {
    margin-right: 3%;
  }

  #slide-2012-01 .flex-gird div {
    flex: 0 0 20%;
    margin-left: auto;
  }
}
