/* ================================================ color */
/* hover
=================================================================== */
/* ================================================ vw */
/* ================================================ vh */
/* common
=================================================================== */
/* layout
=================================================================== */
/* imgCover
=================================================================== */
/* mask
=================================================================== */
/* background
=================================================================== */
/* flex
=================================================================== */
/* animation delay
=================================================================== */
/* 3d
=================================================================== */
/* font
=================================================================== */
/* textTate
=================================================================== */
/* vw
=================================================================== */
/* form
=================================================================== */
.pages {
  /* --------------------------------------- sideBlock */
  /* --------------------------------------- scrollBar */
}
.pages .sideBlock__menu--bg {
  background-color: whitesmoke;
  backdrop-filter: blur(0);
  -webkit-backdrop-filter: blur(0);
}
.pages .globalLogo__mask > span {
  background-color: black;
}
.pages .globalLogo__title--svgPath {
  fill: black;
}
.pages .scrollBar__text {
  color: #000;
}
.pages .scrollBar__line::after {
  background-color: rgba(0, 0, 0, 0.3);
}
.pages .scrollBar__line--inner {
  background: linear-gradient(rgba(0, 0, 0, 0), rgb(0, 0, 0));
}

/* ============================================================================ pagesKv */
.pagesKv {
  display: block;
  position: sticky;
  height: 355px;
  top: 0;
  z-index: 1;
  transition-duration: 0.8s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -ms-transition-duration: 0.8s;
  -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -moz-transition-duration: 0.8s;
  -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.pagesKv.pagesKv__mainVisual {
  height: 100vh;
}
.active .pagesKv.pagesKv__mainVisual {
  height: 670px;
}

.pagesKv.pagesKv__layoutCenter {
  height: 500px;
}
.pagesKv.pagesKv__layoutCenter .pagesKv__inner {
  justify-content: center;
}

/* --------------------------------------- pagesKv inner */
.pagesKv__inner {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* --------------------------------------- pagesKv bg */
.pagesKv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.pagesKv__bgImg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* --------------------------------------- min-height */
@media only screen and (max-height: 670px) {
  .pagesKv.pagesKv__mainVisual {
    height: 100vh;
  }
  .active .pagesKv.pagesKv__mainVisual {
    height: 100vh;
  }
}
/* ============================================================================ pagesKv inner */
.pagesKv__inner--contents {
  width: 100%;
  padding-top: 70px;
  padding-bottom: 80px;
  z-index: 2;
}

.pagesKv__inner--contents.grid--landscape {
  max-width: inherit;
}

/* --------------------------------------- pagesKv title leader */
.pageskv__title--leader {
  font-size: 24px;
  color: #7d7d7d;
  line-height: 1;
  margin-bottom: 25px;
}

/* --------------------------------------- pagesKv title strong */
.pageskv__title--strong {
  font-size: 76px;
  color: black;
  line-height: 1;
}

.pageskv__title--strong.font-jp {
  font-size: 58px;
}

/* --------------------------------------- pagesKv leader text */
.pagesKv__leader--text {
  font-size: 33px;
  line-height: 1;
  color: black;
  margin-top: 20px;
}

/* ============================================================================ pagesContents */
.pagesContents {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border-top-right-radius: 20px;
  border-top-left-radius: 20px;
  margin-top: -20px;
  opacity: 0;
}
.whoWeAre .pagesContents {
  margin-top: 0px;
}

.pagesTop__article {
  padding-bottom: 80px;
}

/* ============================================================================ mainBlock */
.pagesContents__mainBlock.grid--wide {
  padding-top: 30px;
  padding-bottom: 30px;
}
.pagesContents__mainBlock.grid--wide .pagesContents__mainBlock--thumImg {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
}

/* --------------------------------------- mainBlock thumImg */
.pagesContents__mainBlock--thumImg {
  position: relative;
  height: 430px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
}

.pagesContents__mainBlock--thumImg--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pagesContents__mainBlock--thumImg--inner > span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* --------------------------------------- contentsBlock */
.pagesTop__contentsBlock {
  padding-top: 45px;
  padding-bottom: 45px;
}

.pagesTop__contentsBlock--flexBlock {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.pagesTop__contentsBlock--flexBlock .flexBlock--left {
  width: calc(100% - 285px);
}
.pagesTop__contentsBlock--flexBlock .flexBlock--right {
  align-self: flex-end;
}

/* --------------------------------------- contentsBlock */
.pagesTop__contentsBlock--title {
  margin-bottom: 35px;
}

.pagesTop__contentsBlock--title--num {
  font-size: 14px;
  line-height: 1;
  margin-bottom: 20px;
}

.pagesTop__contentsBlock--title--main {
  font-size: 50px;
  line-height: 1;
}

.pagesTop__contentsBlock--info--text > span {
  display: block;
  margin-bottom: 10px;
}

/* ============================================================================ breadcrumb */
.breadcrumb {
  position: absolute;
  top: 25px;
  right: 30px;
  z-index: 3;
}

.breadcrumb__target {
  position: relative;
  font-size: 13px;
  line-height: 1.2;
  margin-right: 8px;
  padding-right: 35px;
}
.breadcrumb__target::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 28px;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  left: auto;
  right: 0;
  background-color: rgba(0, 0, 0, 0.4);
}
.breadcrumb__target:last-of-type {
  max-width: 165px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

a.breadcrumb__link {
  position: relative;
  color: rgba(0, 0, 0, 0.4);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.breadcrumb__list {
  display: flex;
  justify-content: flex-end;
}
.breadcrumb__list .breadcrumb__target:last-child {
  padding-right: 0;
}
.breadcrumb__list .breadcrumb__target:last-child::after {
  display: none;
}

/* --------------------------------------- breadcrumb color white */
.newsDetail a.breadcrumb__link {
  color: rgba(255, 255, 255, 0.4);
}
.newsDetail .breadcrumb__target {
  color: white;
}
.newsDetail .breadcrumb__target::after {
  background-color: rgba(255, 255, 255, 0.4);
}

/* ============================================================================ flexArticle */
.flexArticle {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

/* --------------------------------------- flexArticle left */
.flexArticle__left {
  align-self: flex-start;
  width: 245px;
}

/* --------------------------------------- flexArticle right */
.flexArticle__right {
  width: calc(100% - 245px);
}

/* --------------------------------------- sticky */
.stickyArticle .flexArticle__left {
  position: sticky;
  top: 95px;
}

/* --------------------------------------- double */
.stickyArticle__double .flexArticle__left {
  width: 325px;
}
.stickyArticle__double .flexArticle__right {
  width: calc(100% - 325px);
}

/* ============================================================================ stickyBlock */
.stickyBlock {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.js--pagesNav--block {
  margin-bottom: 145px;
}
.js--pagesNav--block:last-of-type {
  margin-bottom: 0;
}

/* --------------------------------------- stickyBlock title */
.stickyBlock__title {
  position: sticky;
  align-self: flex-start;
  width: 45px;
  top: 95px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 0.3em;
}

.stickyBlock__title--inner {
  display: block;
  font-size: 12px;
  transform: scale(0.9);
  line-height: 1;
}

/* --------------------------------------- stickyBlock inner */
.stickyBlock__title--strong {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 30px;
}

/* --------------------------------------- stickyBlock inner */
.stickyBlock__inner {
  width: calc(100% - 45px);
}

/* ============================================================================ flexArticle__nav */
/* --------------------------------------- flexArticle nav target */
.flexArticle__nav--target {
  position: relative;
  padding-left: 15px;
  cursor: pointer;
}
.flexArticle__nav--target::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 3px;
  height: 3px;
  top: 13px;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.3);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.flexArticle__nav--target.selected::after {
  background-color: black;
}
.flexArticle__nav--target.selected .flexArticle__nav--title {
  font-weight: bold;
}

/* --------------------------------------- flexArticle nav title */
.flexArticle__nav--title {
  position: relative;
  display: inline-block;
  font-size: 13px;
  padding-top: 2px;
  padding-bottom: 2px;
  line-height: 1.5;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.flexArticle__nav--title:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  height: 2px;
  top: auto;
  bottom: 0;
  background-color: #f3f74f;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  left: auto;
  right: 0;
  width: 0;
}

/* ============================================================================ stickyBlock inner */
/* --------------------------------------- block title */
.blockTitle {
  font-size: 27px;
  line-height: 1.5;
  margin-bottom: 35px;
}

/* --------------------------------------- block text */
.blockText {
  text-align: justify;
}

.blockText__aside {
  display: flex;
  justify-content: flex-end;
  margin-top: 45px;
}

/* --------------------------------------- block img */
.blockImg__wrapper {
  position: relative;
  height: 340px;
  margin-bottom: 40px;
}

.blockImg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.blockImg__inner {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* --------------------------------------- block img fullSize */
.blockImg__wrapper.fullSize {
  width: calc(100% + 100px);
}

@media only screen and (min-width: 1366px) {
  .blockImg__wrapper.fullSize {
    width: calc((100vw - 1366px) / 2 + 100% + 100px);
  }
}
/* ============================================================================ nextBlock */
.nextBlock {
  position: relative;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 130px;
  overflow: hidden;
}

/* --------------------------------------- nextBlock link */
.nextBlock__link {
  position: relative;
  height: 500px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  overflow: hidden;
  transform: translateY(30%);
  transition-duration: 1s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -ms-transition-duration: 1s;
  -ms-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
.isBannerShow .nextBlock__link {
  transform: translateY(0%);
}

/* --------------------------------------- nextBlock bg info */
.nextBlock__bg, .nextBlock__info {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --------------------------------------- nextBlock bg */
.nextBlock__bg {
  z-index: 1;
}

.nextBlock__bg--inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.nextBlock__bg--inner:after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -ms-transition-duration: 0.5s;
  -ms-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}

.nextBlock__bg--img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/* --------------------------------------- nextBlock info */
.nextBlock__info {
  width: 50%;
  left: auto;
  right: 0;
  padding-left: 30px;
  padding-right: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}
.nextBlock__info .btn.btn--defaultSize .btnLink {
  min-width: 295px;
}

/* --------------------------------------- nextBlock info */
.nextBlock__info--leader, .nextBlock__info--title {
  color: white;
  line-height: 1;
}

.nextBlock__info--leader {
  font-size: 22px;
  margin-bottom: 12px;
}

.nextBlock__info--title {
  font-size: 57px;
  margin-bottom: 35px;
}

/* ============================================================================ hover pc */
@media (hover: hover) and (pointer: fine) {
  a.breadcrumb__link:hover, a.breadcrumb__link:active {
    color: black;
  }
  .newsDetail a.breadcrumb__link:hover, .newsDetail a.breadcrumb__link:active {
    color: white;
  }
  .flexArticle__nav--target:hover::after, .flexArticle__nav--target:active::after {
    background-color: black;
  }
  .flexArticle__nav--target:hover .flexArticle__nav--title::after, .flexArticle__nav--target:active .flexArticle__nav--title::after {
    width: 100%;
    right: auto;
    left: 0;
  }
  .nextBlock__link:hover .nextBlock__bg--inner:after, .nextBlock__link:active .nextBlock__bg--inner:after {
    opacity: 0.2;
  }
}/*# sourceMappingURL=pages.css.map */