/*===========================================================================
unique
単一ページで使用するCSS
接頭辞【.u-】

【予測変換用 _base.css記述】
:root {
	--font-color-base: #000;
	--font-family-base: "Noto Sans JP", sans-serif;
	--back-color-base: #fff;
	--design-size-pc: 1400;
	--design-size-sp: 750;
}
===========================================================================*/
.u-vis {
  color: #fff;
}
.u-vis__inr {
  position: relative;
}
.u-vis__ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 489rem;
  transform: translate(calc(-50% - 1rem), calc(-50% + 11rem));
}
.u-vis__txtCol {
  position: absolute;
  bottom: 74rem;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
}
.u-vis__lead {
  font-family: var(--font-family-serif);
  font-size: 38rem;
  line-height: 1.8;
}
.u-vis__lead > span {
  position: relative;
  display: block;
  width: max-content;
}
.u-vis__lead > span::before {
  content: "";
  position: absolute;
  bottom: 4rem;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--back-color-base);
}
.u-vis__lead > span:not(:first-child) {
  margin-top: 3rem;
}
.u-vis__txt {
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.u-vis__year {
  position: absolute;
  top: 50%;
  right: 0;
  display: flex;
  align-items: center;
  gap: 0 8rem;
  font-weight: bold;
  line-height: 2;
  transform: translate(calc(50% - 8rem), -50%) rotate(-90deg);
}
.u-vis__year > .hyphen {
  position: relative;
}
.u-vis__year > .hyphen::before {
  content: "";
  display: block;
  width: 24rem;
  height: 1px;
  background-color: var(--back-color-base);
}
.u-vis__img {
  aspect-ratio: 1920 / 800;
  margin-inline: var(--negative-margin);
}
.u-vis__img img {
  height: 100%;
  object-fit: cover;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-vis__ttl {
    top: 114rem;
    width: 304rem;
    transform: translateX(-50%);
  }
  .u-vis__txtCol {
    bottom: 40rem;
    display: block;
  }
  .u-vis__lead {
    font-size: 22rem;
  }
  .u-vis__lead > span::before {
    bottom: -1rem;
    width: calc(100% - 10rem);
  }
  .u-vis__lead > span:not(:first-child) {
    margin-top: 11rem;
  }
  .u-vis__txt {
    margin-top: 16rem;
    font-size: 14rem;
  }
  .u-vis__year {
    transform: translate(calc(50% - 18rem), -50%) rotate(-90deg);
  }
  .u-vis__img {
    aspect-ratio: 375 / 600;
  }
}

.u-vis + .c-breadcrumbs {
  margin-top: 25rem;
}
.c-ctsWrap {
  margin-top: 26rem;
}
.c-ctsWrap:not(:has(.c-categoryNav)) {
  margin-bottom: 0;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-vis + .c-breadcrumbs {
    margin-top: 17rem;
  }
  .c-ctsWrap {
    margin-top: 18rem;
  }
}


.u-history {
  position: relative;
  margin-inline: var(--negative-margin);
}
.u-history__main {
  position: relative;
  padding-right: 20rem;
}
.u-history__main::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  width: 1166rem;
  height: 1039rem;
  background: url(/company/toho-history/images/history_sec_bg.svg) no-repeat center / contain;
}
.u-history__ttlWrap {
  text-align: center;
}
.u-history__ttlWrap > *:not(:first-child) {
  margin-top: 4rem;
}
.u-history__lead {
  color: #0074bf;
  font-size: 18rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.u-history__ttl {
  position: relative;
  padding-bottom: 32rem;
  font-family: var(--font-family-open-sans);
  font-size: 70rem;
  line-height: 1.36;
  letter-spacing: 0.08em;
}
.u-history__ttl::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 32rem;
  height: 1px;
  background-color: currentColor;
  transform: translateX(-50%);
}
.u-history__txt {
  margin-top: 48rem;
}
.u-history__txt > * + * {
  margin-top: 31rem;
}
.u-history__timeline {
  margin-top: 80rem;
}
@media screen and (min-width: 1919px) {
  .u-history__cts {
    grid-template-columns: 960fr 880fr;
    gap: 0 80rem;
  }
  .u-history__main {
    padding-right: 40rem;
  }
  .u-history__col {
    padding-right: 70rem;
  }
}
/* PC
----------------------------------*/
@media screen and (min-width: 769px) {
  .u-history__cts {
    position: relative;
    display: grid;
    align-items: start;
    grid-template-columns: 40% minmax(0, 1fr);
    gap: 0 40rem;
  }
  .u-history__kv {
    position: sticky;
    top: var(--pc-hdr-height);
  }
  .u-history__sec:not(:last-child) .u-history__kv {
    margin-bottom: -982rem;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-history__main {
    padding: 56rem 20rem 0;
  }
  .u-history__main::before {
    top: -56rem;
    width: 375rem;
    height: 740rem;
    background-image: url(/company/toho-history/images/sp_history_sec_bg.svg);
  }
  .u-history__ttl {
    font-size: 40rem;
    line-height: 1.35;
  }
  .u-history__timeline {
    margin-top: 64rem;
  }
}


.u-timeline__item {
  --circle-size: 9rem;
  position: relative;
}
.u-timeline__item:not(:last-child) {
  padding-bottom: 64rem;
}
.u-timeline__item:last-child {
  padding-bottom: 80rem;
}
.u-timeline__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--circle-size) / 2 - 0.5px);
  width: 1px;
  height: 100%;
  background-color: #c4cedc;
}
.u-timeline__itemInr {
  display: grid;
  grid-template-columns: 113rem minmax(0, 1fr);
}
.u-timeline__itemInr > *:not(.u-timeline__year) {
  grid-column: 2 / 3;
}
.u-timeline__itemInr > * + * {
  margin-top: 24rem;
}
.u-timeline__itemInr > .u-timeline__year + * {
  margin-top: 0;
}
.u-timeline__year {
  position: relative;
  display: flex;
  align-items: center;
  grid-column: 1 / 2;
  padding-left: 25rem;
  font-family: var(--font-family-open-sans);
  font-size: 18rem;
  line-height: 1.39;
  letter-spacing: 0.08em;
}
.u-timeline__item:first-child .u-timeline__year::before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(var(--circle-size) / 2 - 0.5px);
  width: 10px;
  height: 50%;
  background-color: #fff;
  transform: translateX(-50%);
}
.u-timeline__year::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: var(--circle-size);
  height: var(--circle-size);
  border-radius: 50%;
  background-color: #0074bf;
  transform: translateY(-50%);
}
.u-timeline__ttl {
  color: #0074bf;
  font-size: 32rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
* + .u-timeline__ttl {
  margin-top: 48rem;
}
.u-timeline__imgWrap {
  display: flex;
  gap: 11rem;
}
.u-timeline__imgWrap > * {
  max-width: 235rem;
}
.u-timeline__cap {
  margin-top: 8rem;
  font-size: 14rem;
  line-height: 1.6;
}
.u-timeline__box {
  padding: 8rem 16rem;
  background-color: #f4f7fb;
}
.u-timeline__box + .u-timeline__box {
  margin-top: 8rem;
}
.u-timeline__boxTxt {
  position: relative;
  padding-left: 14rem;
  line-height: 2;
}
.u-timeline__boxTxt::before {
  content: "";
  position: absolute;
  top: 14rem;
  left: 0;
  width: 6rem;
  height: 6rem;
  border-radius: 50%;
  background-color: #0074bf;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-timeline__itemInr {
    grid-template-columns: 77rem minmax(0, 1fr);
  }
  .u-timeline__year {
    padding-left: 17rem;
    font-size: 14rem;
    line-height: 1.36;
  }
  .u-timeline__ttl {
    font-size: 24rem;
  }
  .u-timeline__imgWrap {
    display: contents;
  }
  .u-timeline__imgWrap > * {
    grid-column: 2 / 3;
    max-width: initial;
    margin-top: 24rem;
  }
  .u-timeline__imgWrap > *:first-child {
    margin-top: inherit;
  }
}


.u-future {
  position: relative;
  z-index: 0;
  margin-inline: var(--negative-margin);
  padding-inline: abs(var(--negative-margin));
  color: #fff;
}
.u-future::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: url(/company/toho-history/images/history_future_bg.jpg) no-repeat center / cover;
}
.u-future__inr {
  padding: 160rem 0 125rem;
}
.u-future__ttlWrap > *:not(:first-child) {
  margin-top: 8rem;
}
.u-future__col > * {
  text-shadow: 0 0 24rem rgba(88, 90, 122, 0.56);
}
.u-future__sub {
  line-height: 2;
}
.u-future__ttl {
  font-family: var(--font-family-open-sans);
  font-size: 32rem;
  line-height: 1.375;
  letter-spacing: 0.04em;
}
.u-future__lead {
  margin-top: 32rem;
  font-size: 32rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.u-future__txt {
  margin-top: 40rem;
  font-weight: 500;
  text-shadow: 0 0 24rem #585a7a;
}
/* SP
----------------------------------*/
@media screen and (max-width: 768px) {
  .u-future::before {
    background-image: url(/company/toho-history/images/sp_history_future_bg.jpg);
  }
  .u-future__inr {
    padding: 120rem 0;
  }
  .u-future__lead {
    font-size: 22rem;
  }
}
