@charset "UTF-8";
body {
  color: #353737;
  font-weight: 300;
}
h2,
h3 {
  font-weight: 300;
}
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
#main {
  margin-top: 0;
  margin-bottom: 0;
}
#main > .row {
  max-width: none;
}
#primary.column {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.t-sec-benefits {
  position: relative;
  z-index: 1;
}
/*-- j-scroll-effect --*/
.since1975 .j-scroll-effect {
  opacity: 0;
  transition: opacity 0.75s linear, transform 2.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.since1975 .j-scroll-left.j-scroll-effect {
  transform: translate3d(-50px, 0px, 0px);
}
.since1975 .j-scroll-right.j-scroll-effect {
  transform: translate3d(50px, 0px, 0px);
}
.since1975 .j-scroll-left.j-scroll-effect_start,
.since1975 .j-scroll-right.j-scroll-effect_start {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}

/*--contents --*/
.since1975 h2 {
  padding: 0;
  border: none;
  color: #898a8d;
  font-size: 26px;
  line-height: 1.6;
}
.since1975 .p-txt {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.7;
}
.since1975 .p-txt-last {
  margin-top: 75px;
}
.since1975 .p-txtLink {
  text-decoration: underline;
}
.since1975 .p-txtLink:hover {
  text-decoration: none;
}
.since1975 .year--contents-l-l {
  position: relative;
  max-width: 1300px;
  width: 92.857vw;
  margin: 0 auto 0 0;
  z-index: 1;
}
.since1975 .year--contents-l-r {
  position: relative;
  max-width: 1300px;
  width: 92.857vw;
  margin: 0 0 0 auto;
  z-index: 1;
}
.since1975 .year--contents-m {
  position: relative;
  max-width: 1200px;
  width: 85.714vw;
  margin: 0 auto;
  z-index: 1;
}
.since1975 .year--contents-flex {
  display: flex;
  flex-wrap: wrap;
}
.since1975 .p-started--year {
  position: absolute;
  top: -80px;
  width: 390px;
}
@media screen and (max-width: 767px) {
  .since1975 h2 {
    padding: 0;
    border: none;
    color: #898a8d;
    font-size: 20px;
    line-height: 1.6;
  }
  .since1975 .p-txt {
    margin-top: 3vw;
    font-size: 14px;
    line-height: 1.7;
  }
  .since1975 .p-txt-last {
    margin-top: 9.762vw;
  }
  .since1975 .p-txtLink {
    text-decoration: underline;
  }
  .since1975 .p-txtLink:hover {
    text-decoration: none;
  }
  .since1975 .year--contents-l-l {
    position: relative;
    max-width: initial;
    width: 100vw;
    margin: 0 auto 0 0;
    z-index: 1;
  }
  .since1975 .year--contents-l-r {
    position: relative;
    max-width: initial;
    width: 100vw;
    margin: 0 0 0 auto;
    z-index: 1;
  }
  .since1975 .year--contents-m {
    position: relative;
    max-width: initial;
    width: 100vw;
    margin: 0 auto;
    z-index: 1;
  }
  .since1975 .year--contents-flex {
    display: block;
  }
  .since1975 .p-started--year {
    position: absolute;
    top: -19.048vw;
    width: 66.667vw;
  }
}
/*--background --*/
.since1975 .bg-left,
.since1975 .bg-right {
  position: relative;
}
.since1975 .bg-left::after {
  position: absolute;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 88%;
  background: transparent linear-gradient(90deg, #ffffff 0%, #efedee 100%) 0% 0% no-repeat padding-box;
  transform: skewY(10deg);
}
.since1975 .bg-right::after {
  position: absolute;
  top: 0;
  content: "";
  display: block;
  width: 100%;
  height: 88%;
  background: transparent linear-gradient(270deg, #ffffff 0%, #efedee 100%) 0% 0% no-repeat padding-box;
  transform: skewY(-10deg);
}
/*-- kv --*/
.since1975 .kv {
  position: relative;
  text-align: center;
  margin-bottom: 200px;
}
.since1975 .kv--video {
  width: 100%;
}
.since1975 .kv--video video {
  width: 100%;
}
.since1975 .kv--scroll {
  position: absolute;
  bottom: 15px;
  left: 0;
  right: 0;
  width: 30px;
  margin: 0 auto;
  opacity: 0;
  animation: fadeIn 5s ease-in-out forwards;
}
.since1975 .kv--scroll img {
  width: 30px;
}
.since1975 .kv--content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 1;
}
.since1975 .kv h1 {
  color: #cbccce;
  font-size: 84px;
  font-weight: 300;
}
.since1975 .kv p {
  color: #fff;
  display: block;
  font-size: 20px;
  margin: 35px 0 0;
}
.since1975 .kv .kv--content.act h1 {
  opacity: 0;
  animation: fadeIn 3s ease-in-out forwards;
}
.since1975 .kv .kv--content.act p {
  opacity: 0;
  animation: fadeIn 3s ease-in-out 0.2s forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .since1975 .kv {
    margin-bottom: 20vw;
  }
  .since1975 .kv--content {
    transform: translate(-50%, -60%);
  }
  .since1975 .kv h1 {
    color: #cbccce;
    font-size: 36px;
    font-weight: 300;
    line-height: 1.6;
  }
  .since1975 .kv p {
    display: block;
    margin-top: 0;
    color: #fff;
    font-size: 18px;
  }
}

/*-- y-1975 --*/
.since1975 .y-1975 {
  margin-bottom: 400px;
}
.since1975 .y-1975 .year--contents-flex {
  position: relative;
  justify-content: space-between;
  padding-top: 170px;
}
.since1975 .y-1975 .p-started--year {
  right: 0;
}
.since1975 .y-1975 .y-1975--content {
  max-width: 600px;
  width: 46.154vw;
}
.since1975 .y-1975 .y-1975--img {
  max-width: 580px;
  width: 44.615vw;
}
.since1975 .y-1975 .y-1975--grid {
  max-width: 370px;
  width: 28.462vw;
  margin: 70px auto 0;
}
@media screen and (max-width: 767px) {
  .since1975 .y-1975 {
    margin-bottom: 30vw;
  }
  .since1975 .y-1975 .year--contents-flex {
    padding-top: 20vw;
  }
  .since1975 .y-1975 .p-started--year {
    right: 3vw;
  }
  .since1975 .y-1975 .y-1975--content {
    max-width: initial;
    width: 90.476vw;
    margin: 5vw auto 0;
  }
  .since1975 .y-1975 .y-1975--img {
    max-width: initial;
    width: 76.19vw;
  }
  .since1975 .y-1975 .y-1975--grid {
    max-width: initial;
    width: 63.333vw;
    margin: 8.095vw auto 0;
  }
}
/*-- y-1975 --*/

/*-- y-2002 --*/
.since1975 .y-2002 {
  margin-bottom: 400px;
}
.since1975 .y-2002 .year--contents-flex {
  position: relative;
  justify-content: space-between;
  padding-top: 170px;
}
.since1975 .y-2002 .p-started--year {
  left: 0;
}
.since1975 .y-2002--img {
  max-width: 580px;
  width: 44.615vw;
}
.since1975 .y-2002--content {
  max-width: 590px;
  width: 45.385vw;
}
.since1975 .y-2002--thum {
  max-width: 530px;
  width: 40.769vw;
  margin-top: 50px;
}
.since1975 .y-2002--note {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .since1975 .y-2002 {
    margin-bottom: 30vw;
  }
  .since1975 .y-2002 .year--contents-flex {
    padding-top: 20vw;
  }
  .since1975 .y-2002 .p-started--year {
    left: 8vw;
  }
  .since1975 .y-2002--img {
    max-width: initial;
    width: 76.19vw;
    margin: 0 0 0 auto;
  }
  .since1975 .y-2002--content {
    max-width: initial;
    width: 90.476vw;
    margin: 5vw auto 0;
  }
  .since1975 .y-2002--thum {
    max-width: initial;
    width: 82.143vw;
    margin: 15vw auto 0;
  }
  .since1975 .y-2002--note {
    width: 82.143vw;
    font-size: 12px;
    margin: 0 auto;
  }
}
/*-- philosophy --*/
.since1975 .philosophy {
  margin-bottom: 120px;
}
.since1975 .philosophy .year--contents-l-l {
  margin-top: -120px;
}
.since1975 .philosophy--img {
  flex: 0 0 auto;
  max-width: 911px;
  width: 70.077vw;
}
.since1975 .philosophy--content {
  position: absolute;
  top: 0;
  left: 645px;
  max-width: 585px;
  width: 45vw;
}
@media screen and (max-width: 767px) {
  .since1975 .philosophy.bg-right::after {
    height: 95%;
  }
  .since1975 .philosophy {
    margin-bottom: 20vw;
  }
  .since1975 .philosophy .year--contents-l-l {
    margin-top: 10vw;
  }
  .since1975 .philosophy--img {
    flex: 0 0 auto;
    max-width: initial;
    width: 82.857vw;
  }
  .since1975 .philosophy--content {
    position: static;
    max-width: initial;
    width: 90.476vw;
    margin: 5vw auto 0;
  }
}
/*-- aesthetics --*/
.since1975 .aesthetics {
  margin-bottom: 300px;
  background: #c9c9c9;
}
.since1975 .aesthetics .year--contents-m {
  padding: 60px 30px;
}
.since1975 .aesthetics .year--contents-flex {
  align-items: center;
}
.since1975 .aesthetics .aesthetic--content {
  max-width: 565px;
  width: 47.083vw;
}
.since1975 .aesthetics--img {
  max-width: 530px;
  width: 44.167vw;
  margin-right: 30px;
}
.since1975 .aesthetics h3 {
  border: none;
  font-size: 22px;
}
@media screen and (max-width: 767px) {
  .since1975 .aesthetics {
    margin-bottom: 30vw;
  }
  .since1975 .aesthetics .year--contents-m {
    padding: 10.476vw 4.762vw;
  }
  .since1975 .aesthetics .year--contents-flex {
    align-items: center;
  }
  .since1975 .aesthetics .aesthetic--content {
    max-width: initial;
    width: 90.476vw;
    margin: 5vw auto 0;
  }
  .since1975 .aesthetics--img {
    max-width: initial;
    width: 90.476vw;
    margin-right: 0;
  }
  .since1975 .p-aesthetics h3 {
    border: none;
    padding-top: 25px;
    font-size: 18px;
  }
}
/*-- 2025year --*/
.since1975 .y-2025 {
  margin-bottom: 145px;
}
.since1975 .y-2025 .year--contents-flex {
  position: relative;
  justify-content: space-between;
  padding-top: 170px;
}
.since1975 .y-2025--unit {
  max-width: 615px;
  width: 51.25vw;
}
.since1975 .y-2025--unit.en {
  margin-top: 35px;
}
.since1975 .y-2025--img {
  max-width: 500px;
  width: 41.667vw;
}
@media screen and (max-width: 767px) {
  .since1975 .y-2025 {
    margin-bottom: 30vw;
  }
  .since1975 .y-2025 h2 {
    letter-spacing: 0.01em;
  }
  .since1975 .y-2025 .year--contents-flex {
    padding-top: 20vw;
  }
  .since1975 .y-2025 .year--contents-flex.en {
    padding-top: 30vw;
  }
  .since1975 .y-2025 .p-started--year {
    left: 5.952vw;
  }
  .since1975 .y-2025--unit {
    max-width: initial;
    width: 90.476vw;
    margin: 5vw auto 0;
  }
  .since1975 .y-2025--img {
    max-width: initial;
    width: 76.19vw;
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 400px) {
  .since1975 .y-2025 h2 {
    font-size: 18px;
  }
}
