@charset "UTF-8";
@supports (overflow-x: clip) {
  body {
    overflow-x: clip;
  }
}

.index-hero {
  position: relative;
  height: 100vh;
  height: 100lvh;
}
.index-hero--transparent {
  opacity: 0;
}
.index-hero-video {
  position: fixed;
  height: 100vh;
  height: 100lvh;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .index-hero-video {
    padding-bottom: 20vw;
  }
}
.index-hero-video .video {
  /*縦横幅指定*/
  aspect-ratio: 16/9;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
@media screen and (max-width: 767px) {
  .index-hero-video .video {
    aspect-ratio: 472/700;
  }
}
.index-hero-news {
  background-color: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 0 24px;
}
@media screen and (max-width: 767px) {
  .index-hero-news {
    width: 100%;
    padding: 0;
  }
}
.index-hero-news__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 72px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .index-hero-news__wrap {
    min-height: 22.6666666667vw;
    padding: 3.7333333333vw;
  }
}
.index-hero-news__title {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  width: 4em;
}
@media screen and (max-width: 767px) {
  .index-hero-news__title {
    font-size: 4.8vw;
  }
}
.index-hero-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .index-hero-news__link {
    display: block;
    width: 74.6666666667vw;
  }
}
.index-hero-news__date {
  color: #858585;
  font-size: 1.2rem;
  width: 6.8334em;
}
@media screen and (max-width: 767px) {
  .index-hero-news__date {
    font-size: 3.2vw;
    width: 100%;
  }
}
.index-hero-news__text {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  max-width: 380px;
}
@media screen and (max-width: 767px) {
  .index-hero-news__text {
    font-size: 3.2vw;
    line-height: 1.5;
    max-width: initial;
  }
}
.index-hero-scroll {
  position: fixed;
  bottom: 0;
  right: 48px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .index-hero-scroll {
    display: none;
  }
}
.index-hero-scroll__text {
  color: #fff;
  font-family: "Poppins", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.index-hero-scroll__line {
  height: 80px;
  width: 2px;
  margin-top: 10px;
  background-color: #fff;
  clip-path: inset(0 0 0 0);
  -webkit-animation: scroll 3s ease-in-out 0s infinite;
          animation: scroll 3s ease-in-out 0s infinite;
}

.index-contents {
  position: relative;
  z-index: 1;
  background-color: #fff;
}

.index-message {
  height: 100vh;
  background: url(../images/top/message_bg.jpg) no-repeat center center;
  background-size: cover;
  display: -ms-grid;
  display: grid;
  place-items: center;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 0;
}
.index-message__inner {
  -webkit-transform: translateY(7%);
          transform: translateY(7%);
}
@media screen and (max-width: 767px) {
  .index-message__inner {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.index-message__text {
  color: #fff;
  font-size: 2.8rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  text-align: center;
  line-height: 2.5714285714;
  position: relative;
  /*&::before {
  	content:"“";
  	font-size: 30rem;
  	opacity: 0.3;
  	position: absolute;
  	top: -0.23em;
  	left: -0.25em;
  	line-height:1;
  	@include m.mq-down() {
  		content: none;
  	}
  }*/
}
@media screen and (max-width: 767px) {
  .index-message__text {
    font-size: 5.3333333333vw;
    line-height: 2.8;
  }
}
.index-message__button {
  margin-top: 85px;
  text-align: center;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .index-message__button {
    margin-top: 18.6666666667vw;
  }
}
@media screen and (max-width: 767px) and (min-width: 600px) {
  .index-message__button {
    margin-top: 100px;
  }
}
.index-message__button .btn-text {
  color: #fff;
}
.index-message__button .btn-text::before, .index-message__button .btn-text::after {
  border-color: #fff;
}
.index-message__button .btn-text__line {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}
.index-message__button .btn-text__line::after {
  background-color: #fff;
}
.index-message__button .btn-text:hover::before {
  background-color: #fff;
}
.index-message__button .btn-text:hover::after {
  border-color: #325F96;
}

.index-contents__color {
  position: relative;
  z-index: 1;
  background-color: #fff;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
}
@supports (overflow-x: clip) {
  @media (orientation: landscape) {
    .index-contents__color {
      margin-top: 200vh;
    }
  }
  @media (orientation: portrait) {
    .index-contents__color {
      margin-top: 130vh;
    }
  }
}

.index-recommends {
  background-color: #fff;
  padding-top: 145px;
  padding-bottom: 160px;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-recommends {
    padding-top: 22.6666666667vw;
    padding-bottom: 34.6666666667vw;
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.index-recommends::before {
  content: "";
  width: calc(100% + 1260px);
  height: 8px;
  background-color: #F5F5F5;
  -webkit-mask-image: url(../images/common/bg_wave.svg);
          mask-image: url(../images/common/bg_wave.svg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  bottom: -2px;
  left: 0;
  -webkit-animation: wave 60s linear infinite;
          animation: wave 60s linear infinite;
}
.index-recommends__title {
  text-align: center;
}
.index-recommends__title .en {
  display: block;
  position: relative;
  font-size: 4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  padding-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .index-recommends__title .en {
    font-size: 8.5333333333vw;
    line-height: 1.40625;
    padding-bottom: 3.7333333333vw;
  }
}
.index-recommends__title .en::after {
  display: block;
  content: "";
  width: 102px;
  height: 6px;
  background-color: #333;
  -webkit-mask-image: url(../images/common/title_bg.svg);
          mask-image: url(../images/common/title_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .index-recommends__title .en::after {
    width: 27.2vw;
    height: 1.6vw;
  }
}
.index-recommends__title .ja {
  display: block;
  margin-top: 20px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  .index-recommends__title .ja {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
}
.index-recommends__wrap {
  margin: auto;
  max-width: 1200px;
}
.index-recommends .index-news__wrap-list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .index-recommends .index-news__wrap-list {
    margin-top: 16vw;
  }
}

.index-stories {
  background-color: #F5F5F5;
  padding-top: 145px;
  padding-bottom: 160px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-stories {
    padding-top: 22.6666666667vw;
    padding-bottom: 34.6666666667vw;
  }
}
.index-stories__title {
  font-size: 4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .index-stories__title {
    font-size: 8.5333333333vw;
    line-height: 1.40625;
  }
}
.index-stories__title::after {
  content: "";
  width: 102px;
  height: 6px;
  background-color: #333;
  -webkit-mask-image: url(../images/common/title_bg.svg);
          mask-image: url(../images/common/title_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 50%;
  bottom: -14px;
  margin-left: -51px;
}
@media screen and (max-width: 767px) {
  .index-stories__title::after {
    width: 27.2vw;
    height: 1.6vw;
    bottom: -3.7333333333vw;
    margin-left: -13.6vw;
  }
}
.index-stories__wrap {
  max-width: 1200px;
  margin: auto;
}
.index-stories__wrap-list {
  margin-top: 94px;
}
@media screen and (max-width: 767px) {
  .index-stories__wrap-list {
    margin-top: 19.7333333333vw;
  }
}
.index-stories__list ~ .index-stories__list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .index-stories__list ~ .index-stories__list {
    margin-top: 16vw;
  }
}
.index-stories__list:nth-child(even) .index-stories-item__picture {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  margin-left: -50px;
}
@media screen and (max-width: 767px) {
  .index-stories__list:nth-child(even) .index-stories-item__picture {
    margin-left: 0;
  }
}
.index-stories__list:nth-child(even) .index-stories-item__body {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0;
  background-color: #fff;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .index-stories__list:nth-child(even) .index-stories-item__body {
    margin-left: 0;
  }
}
.index-stories-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .index-stories-item {
    display: block;
  }
}
.index-stories-item__picture {
  width: 890px;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .index-stories-item__picture {
    width: 100%;
  }
}
.index-stories-item__picture img {
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.index-stories-item__body {
  background-color: #fff;
  height: 360px;
  width: 360px;
  margin-left: -50px;
  padding: 42px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .index-stories-item__body {
    position: relative;
    height: auto;
    width: 84vw;
    margin-left: auto;
    margin-top: -5.3333333333vw;
    padding: 5.3333333333vw 6.4vw;
  }
}
.index-stories-item__title-wrap {
  padding-left: 82px;
  padding-top: 2px;
  height: 63px;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap {
    padding-left: 18.6666666667vw;
    padding-top: 0.8vw;
    height: 12.8vw;
  }
}
.index-stories-item__title-wrap--sustainable {
  background: url(../images/common/icon_sustainable.png) no-repeat left center;
  background-size: 64px 63px;
  color: #40967B;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--sustainable {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--co-creation {
  background: url(../images/common/icon_co-creation.png) no-repeat left center;
  background-size: 64px 63px;
  color: #4F8CC6;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--co-creation {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--originality {
  background: url(../images/common/icon_originality.png) no-repeat left center;
  background-size: 64px 63px;
  color: #D3A81B;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--originality {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--diversity {
  background: url(../images/common/icon_diversity.png) no-repeat left center;
  background-size: 64px 63px;
  color: #7D629F;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--diversity {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--vision {
  background: url(../images/common/icon_vision.png) no-repeat left center;
  background-size: 64px 63px;
  color: #DB7E41;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--vision {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--learning {
  background: url(../images/common/icon_learning.png) no-repeat left center;
  background-size: 64px 63px;
  color: #D3768D;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--learning {
    background-size: 12.8vw;
  }
}
.index-stories-item__title-wrap--history {
  background: url(../images/common/icon_history.png) no-repeat left center;
  background-size: 64px 63px;
  color: #8E774E;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title-wrap--history {
    background-size: 12.8vw;
  }
}
.index-stories-item__title {
  font-family: "Poppins", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4583333333;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title {
    font-size: 4.8vw;
    line-height: 1.5555555556;
  }
}
.index-stories-item__title--ja {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .index-stories-item__title--ja {
    font-size: 3.2vw;
    line-height: 1.4166666667;
  }
}
.index-stories-item__text {
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.6666666667;
  margin-top: 16px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-stories-item__text {
    font-size: 4.2666666667vw;
    line-height: 1.75;
    margin-top: 2.6666666667vw;
  }
}
.index-stories-item-supports {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 2px solid #909090;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .index-stories-item-supports {
    margin-top: 3.7333333333vw;
    padding-top: 3.7333333333vw;
    border-top: 0.5333333333vw solid #909090;
  }
}
.index-stories-item-supports--sustainable {
  border-color: rgba(64, 150, 123, 0.3);
}
.index-stories-item-supports--co-creation {
  border-color: rgba(79, 140, 198, 0.3);
}
.index-stories-item-supports--originality {
  border-color: rgba(211, 168, 27, 0.3);
}
.index-stories-item-supports--diversity {
  border-color: rgba(125, 98, 159, 0.3);
}
.index-stories-item-supports--vision {
  border-color: rgba(219, 126, 65, 0.3);
}
.index-stories-item-supports--learning {
  border-color: rgba(211, 118, 141, 0.3);
}
.index-stories-item-supports--history {
  border-color: rgba(142, 119, 78, 0.3);
}
.index-stories-item-supports__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 17px;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-stories-item-supports__list {
    margin-right: 4.5333333333vw;
  }
}
.index-stories-item-supports__item {
  width: 31px;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .index-stories-item-supports__item {
    width: 8.2666666667vw;
    margin-right: 2.1333333333vw;
  }
}
.index-stories-item-supports__item:last-child {
  margin-right: 0;
}
.index-stories-item-supports__item img {
  border-radius: 50%;
}
.index-stories-item-supports__text {
  font-size: 1.4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-stories-item-supports__text {
    font-size: 3.7333333333vw;
  }
}
.index-stories-item-supports__count {
  margin-right: 0.5em;
}
@media screen and (min-width: 768px) {
  .index-stories-item:hover .index-stories-item__picture {
    -webkit-transform: scale(0.95, 0.95);
            transform: scale(0.95, 0.95);
  }
  .index-stories-item:hover .index-stories-item__picture img {
    -webkit-transform: scale(1.15, 1.15);
            transform: scale(1.15, 1.15);
  }
  .index-stories-item:hover .index-stories-item__title-wrap {
    opacity: 0.4;
  }
  .index-stories-item:hover .index-stories-item__text {
    opacity: 0.4;
  }
  .index-stories-item:hover .index-stories-item-supports__list {
    opacity: 0.4;
  }
  .index-stories-item:hover .index-stories-item-supports__text {
    opacity: 0.4;
  }
}
.index-stories__button {
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-stories__button {
    margin-top: 16vw;
  }
}

.stories__wrap-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 1200px;
  margin: 80px auto 0;
  gap: 64px 40px;
}
@media screen and (max-width: 767px) {
  .stories__wrap-list {
    margin-top: 12.5333333333vw;
    display: block;
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.stories__list {
  width: 270px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .stories__list {
    width: 100%;
  }
  .stories__list ~ .stories__list {
    margin-top: 12.5333333333vw;
  }
}
.stories-item {
  display: block;
}
.stories-item__picture {
  width: 100%;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  overflow: hidden;
  display: block;
}
@media screen and (max-width: 767px) {
  .stories-item__picture {
    width: 100%;
  }
}
.stories-item__picture img {
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.stories-item__body {
  padding: 16px 16px 20px 16px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .stories-item__body {
    padding: 4.2666666667vw 4.2666666667vw 5.3333333333vw 4.2666666667vw;
  }
}
.stories-item__title-wrap {
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
.stories-item__title-wrap--sustainable {
  color: #40967B;
}
.stories-item__title-wrap--co-creation {
  color: #4F8CC6;
}
.stories-item__title-wrap--originality {
  color: #D3A81B;
}
.stories-item__title-wrap--diversity {
  color: #7D629F;
}
.stories-item__title-wrap--vision {
  color: #DB7E41;
}
.stories-item__title-wrap--learning {
  color: #D3768D;
}
.stories-item__title-wrap--history {
  color: #8E774E;
}
.stories-item__title {
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3888888889;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .stories-item__title {
    font-size: 4.8vw;
    line-height: 1.3888888889;
  }
}
.stories-item__text {
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .stories-item__text {
    font-size: 4.2666666667vw;
    line-height: 1.5;
    margin-top: 2.1333333333vw;
    -webkit-line-clamp: 2;
  }
}
.stories-item-supports {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 2px solid #909090;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .stories-item-supports {
    margin-top: 2.6666666667vw;
    padding-top: 2.6666666667vw;
    border-top: 0.5333333333vw solid #909090;
  }
}
.stories-item-supports--sustainable {
  border-color: rgba(64, 150, 123, 0.3);
}
.stories-item-supports--co-creation {
  border-color: rgba(79, 140, 198, 0.3);
}
.stories-item-supports--originality {
  border-color: rgba(211, 168, 27, 0.3);
}
.stories-item-supports--diversity {
  border-color: rgba(125, 98, 159, 0.3);
}
.stories-item-supports--vision {
  border-color: rgba(219, 126, 65, 0.3);
}
.stories-item-supports--learning {
  border-color: rgba(211, 118, 141, 0.3);
}
.stories-item-supports--history {
  border-color: rgba(142, 119, 78, 0.3);
}
.stories-item-supports__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 12px;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .stories-item-supports__list {
    margin-right: 3.2vw;
  }
}
.stories-item-supports__item {
  width: 25px;
  margin-right: 6px;
}
@media screen and (max-width: 767px) {
  .stories-item-supports__item {
    width: 6.6666666667vw;
    margin-right: 1.6vw;
  }
}
.stories-item-supports__item:last-child {
  margin-right: 0;
}
.stories-item-supports__item img {
  border-radius: 50%;
}
.stories-item-supports__text {
  font-size: 1.4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .stories-item-supports__text {
    font-size: 3.7333333333vw;
  }
}
.stories-item-supports__count {
  margin-right: 0.5em;
}
@media screen and (min-width: 768px) {
  .stories-item:hover .stories-item__picture img {
    -webkit-transform: scale(1.1, 1.1);
            transform: scale(1.1, 1.1);
  }
  .stories-item:hover .stories-item__title-wrap {
    opacity: 0.4;
  }
  .stories-item:hover .stories-item__text {
    opacity: 0.4;
  }
  .stories-item:hover .stories-item-supports__list {
    opacity: 0.4;
  }
  .stories-item:hover .stories-item-supports__text {
    opacity: 0.4;
  }
}

.index-closeup {
  background-color: #8AA0BC;
  padding-top: 145px;
  padding-bottom: 160px;
  margin: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-closeup {
    padding-top: 22.6666666667vw;
    padding-bottom: 34.6666666667vw;
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.index-closeup::before {
  content: "";
  width: calc(100% + 1260px);
  height: 8px;
  background-color: #8AA0BC;
  -webkit-mask-image: url(../images/common/bg_wave.svg);
          mask-image: url(../images/common/bg_wave.svg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  top: -6px;
  left: 0;
  -webkit-animation: wave 60s linear infinite;
          animation: wave 60s linear infinite;
}
.index-closeup__title {
  text-align: center;
  color: #fff;
}
.index-closeup__title .en {
  display: block;
  position: relative;
  font-size: 4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  padding-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .index-closeup__title .en {
    font-size: 8.5333333333vw;
    line-height: 1.40625;
    padding-bottom: 3.7333333333vw;
  }
}
.index-closeup__title .en::after {
  display: block;
  content: "";
  width: 102px;
  height: 6px;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/title_bg.svg);
          mask-image: url(../images/common/title_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .index-closeup__title .en::after {
    width: 27.2vw;
    height: 1.6vw;
  }
}
.index-closeup__title .ja {
  display: block;
  margin-top: 20px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5555555556;
}
@media screen and (max-width: 767px) {
  .index-closeup__title .ja {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
}
.index-closeup__wrap {
  margin: auto;
  max-width: 1200px;
}
.index-closeup__wrap-list {
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .index-closeup__wrap-list {
    margin-top: 16vw;
    display: block;
  }
}
.index-closeup__list {
  width: 580px;
}
@media screen and (max-width: 767px) {
  .index-closeup__list {
    width: 100%;
  }
  .index-closeup__list ~ .index-closeup__list {
    margin-top: 16vw;
  }
}
.index-closeup__list:nth-child(odd) {
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .index-closeup__list:nth-child(odd) {
    margin-right: 0;
  }
}
.index-closeup__list:nth-child(n+3) {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .index-closeup__list:nth-child(n+3) {
    margin-top: 16vw;
  }
}
.index-closeup-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.index-closeup-item__picture {
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  overflow: hidden;
}
.index-closeup-item__picture img {
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.index-closeup-item__body {
  background-color: #fff;
  height: 137px;
  width: 478px;
  margin-top: -35px;
  padding: 24px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .index-closeup-item__body {
    height: auto;
    width: 78.6666666667vw;
    margin-top: -5.3333333333vw;
    padding: 5.3333333333vw;
  }
}
.index-closeup-item__title-wrap {
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.index-closeup-item__title-wrap--sustainable {
  color: #40967B;
}
.index-closeup-item__title-wrap--co-creation {
  color: #4F8CC6;
}
.index-closeup-item__title-wrap--originality {
  color: #D3A81B;
}
.index-closeup-item__title-wrap--diversity {
  color: #7D629F;
}
.index-closeup-item__title-wrap--vision {
  color: #DB7E41;
}
.index-closeup-item__title-wrap--learning {
  color: #D3768D;
}
.index-closeup-item__title-wrap--history {
  color: #8E774E;
}
.index-closeup-item__title {
  font-family: "Poppins", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.3888888889;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .index-closeup-item__title {
    font-size: 4.2666666667vw;
    line-height: 1.4375;
  }
}
.index-closeup-item__title--ja {
  font-family: YakuHanJP, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5714285714;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .index-closeup-item__title--ja {
    font-size: 3.2vw;
    line-height: 1.9166666667;
  }
}
.index-closeup-item__text {
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5555555556;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-closeup-item__text {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  .index-closeup-item:hover .index-closeup-item__picture {
    -webkit-transform: scale(0.95, 0.95);
            transform: scale(0.95, 0.95);
  }
  .index-closeup-item:hover .index-closeup-item__picture img {
    -webkit-transform: scale(1.15, 1.15);
            transform: scale(1.15, 1.15);
  }
  .index-closeup-item:hover .index-closeup-item__title-wrap {
    opacity: 0.4;
  }
  .index-closeup-item:hover .index-closeup-item__text {
    opacity: 0.4;
  }
}

.index-city {
  padding-top: 145px;
  padding-bottom: 160px;
  margin: auto;
  position: relative;
  background-color: #F5F5F5;
}
@media screen and (max-width: 767px) {
  .index-city {
    padding-top: 22.6666666667vw;
    padding-bottom: 34.6666666667vw;
  }
}
.index-city::before {
  content: "";
  width: calc(100% + 1260px);
  height: 8px;
  background-color: #F5F5F5;
  -webkit-mask-image: url(../images/common/bg_wave.svg);
          mask-image: url(../images/common/bg_wave.svg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  top: -6px;
  left: 0;
  -webkit-animation: wave 60s linear infinite;
          animation: wave 60s linear infinite;
}
.index-city__title {
  font-size: 4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .index-city__title {
    font-size: 8.5333333333vw;
    line-height: 1.40625;
  }
}
.index-city__title::after {
  content: "";
  width: 102px;
  height: 6px;
  background-color: #333;
  -webkit-mask-image: url(../images/common/title_bg.svg);
          mask-image: url(../images/common/title_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 50%;
  bottom: -14px;
  margin-left: -51px;
}
@media screen and (max-width: 767px) {
  .index-city__title::after {
    width: 27.2vw;
    height: 1.6vw;
    bottom: -3.7333333333vw;
    margin-left: -13.6vw;
  }
}

.index-news {
  padding-top: 145px;
  padding-bottom: 60px;
  margin: auto;
  position: relative;
  /*@include m.mq-down() {
  	&__list:nth-child(odd) {
  		margin-right: m.calcvw(20);
  	}
  	&__list:nth-child(n + 3) {
  		margin-top: m.calcvw(40);
  	}
  }*/
}
@media screen and (max-width: 767px) {
  .index-news {
    padding-top: 22.6666666667vw;
    padding-bottom: 8vw;
    padding-right: 5.3333333333vw;
    padding-left: 5.3333333333vw;
  }
}
.index-news::before {
  content: "";
  width: calc(100% + 1260px);
  height: 8px;
  background-color: #fff;
  -webkit-mask-image: url(../images/common/bg_wave.svg);
          mask-image: url(../images/common/bg_wave.svg);
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  top: -6px;
  left: 0;
  -webkit-animation: wave 60s linear infinite;
          animation: wave 60s linear infinite;
}
.index-news__title {
  font-size: 4rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  text-align: center;
  position: relative;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .index-news__title {
    font-size: 8.5333333333vw;
    line-height: 1.40625;
  }
}
.index-news__title::after {
  content: "";
  width: 102px;
  height: 6px;
  background-color: #333;
  -webkit-mask-image: url(../images/common/title_bg.svg);
          mask-image: url(../images/common/title_bg.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  position: absolute;
  left: 50%;
  bottom: -14px;
  margin-left: -51px;
}
@media screen and (max-width: 767px) {
  .index-news__title::after {
    width: 27.2vw;
    height: 1.6vw;
    bottom: -3.7333333333vw;
    margin-left: -13.6vw;
  }
}
.index-news__wrap {
  max-width: 1200px;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .index-news__wrap-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 64px 40px;
  }
}
@media screen and (max-width: 767px) {
  .index-news__wrap-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    gap: 10.6666666667vw 5.3333333333vw;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.index-news__area {
  margin-top: 94px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .index-news__area {
    margin-top: 19.7333333333vw;
    display: block;
  }
}
.index-news__container {
  width: 1200px;
}
@media screen and (max-width: 767px) {
  .index-news__container {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .index-news__list {
    padding-bottom: 0;
    border-bottom: none;
    width: calc(50% - 2.6666666667vw);
  }
}
.index-news-item {
  display: block;
  width: 100%;
}
.index-news-item__picture {
  display: block;
  overflow: hidden;
  position: relative;
  aspect-ratio: 1/1;
}
.index-news-item__picture::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid #DDDDDD;
  top: 0;
  left: 0;
}
.index-news-item__picture img {
  display: block;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .index-news-item__body {
    margin-top: 12px;
  }
}
@media screen and (max-width: 767px) {
  .index-news-item__body {
    width: 100%;
    margin-top: 3.2vw;
  }
}
.index-news-item__date {
  font-size: 1.4rem;
  font-weight: 500;
  color: #858585;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-news-item__date {
    font-size: 3.2vw;
    line-height: 1.4166666667;
  }
}
.index-news-item__text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}
@media screen and (max-width: 767px) {
  .index-news-item__text {
    font-size: 4vw;
    line-height: 1.6;
    margin-top: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .index-news-item:hover .index-news-item__picture img {
    -webkit-transform: scale(1.15, 1.15);
            transform: scale(1.15, 1.15);
  }
  .index-news-item:hover .index-news-item__date {
    opacity: 0.4;
  }
  .index-news-item:hover .index-news-item__text {
    opacity: 0.4;
  }
}
.index-news__button {
  margin-top: 80px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-news__button {
    margin-top: 16vw;
  }
}
.index-news-twitter {
  width: 270px;
  border: 1px solid #DDDDDD;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767px) {
  .index-news-twitter {
    width: 100%;
    margin-top: 26.6666666667vw;
  }
  .index-news-twitter__link {
    font-size: 3.7333333333vw;
  }
}
.index-news-twitter__title-wrap {
  padding: 0 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .index-news-twitter__title-wrap {
    padding: 5.3333333333vw 3.7333333333vw 5.3333333333vw;
  }
}
.index-news-twitter__title {
  font-size: 1.8rem;
  font-weight: 500;
  position: relative;
  padding-left: 31px;
}
@media screen and (max-width: 767px) {
  .index-news-twitter__title {
    font-size: 5.8666666667vw;
    padding-left: 8.2666666667vw;
  }
}
.index-news-twitter__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  background-color: #333;
  -webkit-mask-image: url("../images/common/icon_tw.svg");
          mask-image: url("../images/common/icon_tw.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  width: 21px;
  height: 17px;
}
@media screen and (max-width: 767px) {
  .index-news-twitter__title::before {
    top: 2.6666666667vw;
    -webkit-mask-size: contain;
            mask-size: contain;
    width: 6.6666666667vw;
    height: 5.6vw;
  }
}
.index-news-twitter__wrap {
  height: 840px;
  padding: 0 10px;
  overflow-y: scroll;
  -ms-overflow-style: none;
}
.index-news-twitter__wrap::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  .index-news-twitter__wrap {
    padding: 0 3.7333333333vw;
    height: 81.8666666667vw;
  }
}