/* 共通パーツ */
/* .c-cat.-news_worldwing {
  background: #F1BE3A;
}
.c-cat.-news_lifestyle_footwear {
  background: #3265D6;
}
.c-cat.-news_eco_energy {
  background: #636E85;
}
.c-title .ja::before {
  background: #419BB6;
} */

/* .c-btn:hover .txt {
  background: linear-gradient(to right, #419BB6, #CADEF3);
  -webkit-background-clip: text;
}
.c-btn .arw::before {
  background: linear-gradient(to bottom, #CADEF3, #419BB6);
} */

#header .sec-lang {
  color: #fff;
}

/*  */
#mv {
  position: relative;
  /* padding-top: 320px; */
  padding-bottom: 60px;
}
#mv::before {
  /* content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 45.31vw;
  aspect-ratio: 870/194;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22870%22%20height%3D%22194%22%20viewBox%3D%220%200%20870%20194%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M870%200L0%20194V0H870Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E') left top/contain no-repeat;
  z-index: 2; */
}
#mv .sec-bg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1920px;
  /* height: 100%; */
  height: 3241px;
  max-height: 100%;
  transform: translateX(-50%);
  z-index: -1;
}
#mv .sec-bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  background: url(../img/100th/mv-bg.png) center/cover repeat-y;
  mix-blend-mode: multiply;
  transform: translateX(-50%);
}
#mv .sec-bg::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100vw;
  height: 230px;
  background: linear-gradient(to bottom, transparent, #fff) center/100% no-repeat;
  transform: translateX(-50%);
  z-index: 2;
}
#mv .sec-bg .logo {
  position: absolute;
  top: 620px;
  right: 22px;
  width: 110.8rem;
  z-index: 2;
  opacity: .07;
}
#mv .sec-bg .img-1 {
  position: absolute;
  top: 105px;
  /* right: 19rem; */
  right: -12.5rem;
  width: 85.3rem;
  z-index: -2;
}
#mv .sec-bg .img-2 {
  position: absolute;
  top: 1236px;
  right: 0;
  width: calc(100% + 3.5rem);
  z-index: -2;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #mv {
    /* padding-top: 200px; */
  }
  #mv::before {
    content: none;
  }
  #mv .sec-bg .logo {
    width: 60vw;
    top: 150px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #mv {
    padding-bottom: 30px;
  }
  #mv .sec-bg .img-2 {
    top: 45%;
  }
}

/* intro-1 */
#intro-1 {
  position: relative;
  padding-bottom: 11rem;
}
#intro-1 .sec-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: calc(100lvh - 150px);
  max-width: 1586px;
  margin: 0 auto;
  color: #fff;
  font-size: 74px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .2em;
}
#intro-1 .sec-text span {
  display: inline;
  background: linear-gradient(to top, #ffffff99 0px, rgba(255,255,255.6) 3px, transparent 3px) left bottom/100% 1.6em repeat-y;
}
#intro-1 .sec-img img{
  display: block;
  width: 1441px;
  margin: 0 auto;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #intro-1 {
    margin-bottom: 30px;
  }
  #intro-1 .sec-text {
    height: calc(100lvh - 10vw);
    /* margin-bottom: 180px; */
    font-size: 6.5vw;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #intro-1 .sec-text {
    /* margin-bottom: 120px; */
    font-size: 8vw;
  }
}

/* intro-2 */
#intro-2 {
  position: relative;
}
#intro-2 .sec-slide .slick-slide {
  /* width: 28.38vw; */
  width: 545px;
  margin: 0 2.5rem;
}
#intro-2 .sec-texts {
  margin: 110px auto 65px;
  color: #fff;
  font-weight: 500;
  text-align: center;
}
#intro-2 .sec-texts .top {
	width: fit-content;
	margin: 0 auto 1em;
  font-family: var(--ff-eb);
  font-size: 30px;
  /* font-weight: bold; */
  line-height: 1.2;
  mix-blend-mode: overlay;
	text-align: left;
}
#intro-2 .sec-texts .top span {
  color: #93e2ff;
}
#intro-2 .sec-texts .title {
  margin-bottom: 1.25em;
  font-size: 40px;
  line-height: 2;
  letter-spacing: 0.05em;
}
#intro-2 .sec-texts .num {
  display: inline-block;
  width: 2.7em;
  height: 1.25em;
  margin: 0 3px;
  background: url(../img/100th/intro-100.svg) center/contain no-repeat;
  color: transparent;
  vertical-align: middle;
  transform: translateY(-15%);
}
#intro-2 .sec-texts .catch {
  margin-bottom: 1em;
  font-size: 26px;
}
#intro-2 .sec-texts .text {
  font-size: 20px;
  line-height: 2.3;
  letter-spacing: .23em;
}
#intro-2 .sec-movie {
  position: relative;
  max-width: 1260px;
  aspect-ratio: 1400/788;
  margin: 0 auto;
}
#intro-2 .sec-movie > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#intro-2 .sec-movie .inner {
  transform-origin: top;
}
#intro-2 .sec-movie .icon {
  position: absolute;
  top: calc(50% - 11rem);
  left: calc(50% - 11rem);
  width: 22rem;
  height: 22rem;
  border: 3px solid #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
	cursor: pointer;
}
#intro-2 .sec-movie .icon::before {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 20px solid #ffffff;
  border-right: 0;
}
#intro-2 .sec-movie .text {
  position: absolute;
  top: 79.64%;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 0 .76em;
  width: 100%;
  color: #fff;
  font-family: var(--ff-en);
  font-weight: 300;
  font-size: 10rem;
  text-align: center;
  letter-spacing: .14em;
}
#intro-2 .sec-movie .text span {
  display: inline-block;
}
#intro-2 .sec-movie .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #intro-2 .sec-slide .slick-slide {
    width: 53.22vw;
  }
  #intro-2 .sec-texts .title {
    font-size: 32px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #intro-2 .sec-slide .slick-slide {
    width: 90vw;
    margin: 0 5vw;
  }
  #intro-2 .sec-texts {
    margin-top: 50px;
  }
  #intro-2 .sec-texts .top {
    mix-blend-mode: normal;
  }
  #intro-2 .sec-texts .title {
    font-size: 6vw;
    line-height: 1.5;
  }
  #intro-2 .sec-texts .title > span:first-child {
    font-size: 4.5vw;
  }
  #intro-2 .sec-texts .num {
    margin-top: 1em;
    transform: translateY(calc(25% - 1em));
  }
  #intro-2 .sec-texts .catch {
    font-size: 5vw;
  }
  #intro-2 .sec-texts .text {
    font-size: 4vw;
    line-height: 2;
  }
  #intro-2 .sec-movie .icon::before {
    top: calc(50% - 2vw);
    left: calc(50% - 1vw);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 2vw solid transparent;
    border-bottom: 2vw solid transparent;
    border-left: 3.5vw solid #ffffff;
  }
}

/* Message */
#message {
  position: relative;
  overflow: hidden;
}
#message::before {
  content: "";
  /* position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221920%22%20height%3D%221057%22%20viewBox%3D%220%200%201920%201057%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20opacity%3D%220.7%22%20d%3D%22M0%20711.5L1920%200L1919.98%20787L0%201057V711.5Z%22%20fill%3D%22%23EBF6FF%22%2F%3E%3C%2Fsvg%3E') bottom/contain no-repeat;
  z-index: -1; */
}
#message .sec-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 120px;
}
#message .sec-title {
  margin-bottom: 70px;
}
#message .sec-img {
  max-width: 660px;
  margin: 0 auto 70px;
  background: #EBF6FF;
}
#message .sec-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  height: 69px;
  margin-bottom: 60px;
}
#message .sec-logo img {
  height: 100%;
}
#message .sec-catch {
  margin-bottom: .76em;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: .05em;
}
#message .sec-text {
  margin-bottom: 24px;
  font-size: 18px;
  font-weight: 500;
  line-height: 2.2;
}
#message .sec-sign {
  font-size: 18px;
  font-weight: 500;
  text-align: right;
}
#message .sec-sign .name {
  display: inline-block;
  margin-left: 1.6em;
  margin-bottom: 50px;
  font-size: 1.55em;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #message::before {
    width: 1920px;
  }
  #message .sec-title {
    margin-bottom: 40px;
  }
  #message .sec-img {
    max-width: 300px;
    margin-bottom: 30px;
  }
  #message .sec-logo {
    height: 10vw;
    max-height: 50px;
  }
  #message .sec-catch {
    font-size: 25px;
  }
  #message .sec-text,
  #message .sec-sign {
    font-size: 17px;
  }
  #message .sec-btn {
    margin-top: 50px;
  }
}
/* SP */
@media screen and (max-width: 768px) {
  #message .sec-catch {
    font-size: 20px;
  }
  #message .sec-text,
  #message .sec-sign {
    font-size: 16px;
  }
}

/* History */
#history {
  position: relative;
  margin-top: 40px;
  padding-top: 110px;
  z-index: -1;
}
#history::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80vw;
  min-height: calc(100% - 127px);
  background: url(../img/100th/history-bg.jpg) center/cover no-repeat;
  z-index: -1;
}
#history .sec-title {
  position: relative;
  max-width: 1630px;
  margin: 0 auto;
  padding-bottom: 260px;
  z-index: 2;
}
#history .sec-title::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 10px;
  width: 818px;
  max-width: 100%;
  height: 100%;
  background: url(../img/100th/history-text.svg) left bottom/contain no-repeat;
  z-index: -1;
}
#history .sec-slide {
  position: relative;
  margin-bottom: 60px;
  overflow: clip visible;
}
#history .sec-slide::before
/*, #history .sec-slide::after*/ {
  content: "";
  position: absolute;
  width: 110rem;
  aspect-ratio: 1100/433;
  background: url(../img/common/logo-rio-white.svg) center/contain no-repeat;
  z-index: -1;
  /* mix-blend-mode: multiply; */
  opacity: 0.2;
}
#history .sec-slide::before {
  /* bottom: 12.7rem; */
  top: -9rem;
  right: -22.5rem;
}
/* #history .sec-slide::after {
  top: -22rem;
  right: -31.7rem;
} */
#history .sec-slide .item {
  display: flex;
  flex-direction: column;
  width: 350px;
  height: 940px;
}
#history .sec-slide .item img {
  max-width: 1000px;
}
#history .sec-slide .item-1 {
  margin-left: 50px;
}
#history .sec-slide .item-1 img {
  /* width: 410px; */
  width: 117.14%;
  margin-top: 177px;
}
#history .sec-slide .item-2 img {
  /* width: 318px; */
  width: 90.85%;
  margin-left: 196px;
}
#history .sec-slide .item-3 {
  justify-content: flex-end;
}
#history .sec-slide .item-3 img {
  /* width: 316px; */
  width: 90.28%;
  margin-left: -65px;
  margin-bottom: 80px;
}
#history .sec-slide .item-4 img {
  /* width: 416px; */
  width: 118.85%;
  margin-top: 96px;
  margin-left: 53px;
}
#history .sec-slide .item-5 img {
  /* width: 317px; */
  width: 90.57%;
  margin-top: 40px;
  margin-left: 271px;
}
#history .sec-slide .item-6 {
  justify-content: flex-end;
}
#history .sec-slide .item-6 img {
  /* width: 507px; */
  width: 144.85%;
}
#history .sec-slide .item-7 img {
  /* width: 331px; */
  /* width: 94.57%; */
  width: 75.14%;
  margin-top: 96px;
  margin-left: -8px;
}
#history .sec-btn {
  margin-top: 18px;
}
/* TAB */
@media screen and (max-width: 1024px) {
  #history .sec-title {
    padding-bottom: 100px;
  }
  #history .sec-title::before {
    width: 400px;
  }
  #history .sec-slide .item {
    width: 30vw;
    height: 90vw;
  }
  #history .sec-slide .item-1 {
    justify-content: center;
    margin-left: 10vw;
  }
  #history .sec-slide .item-1 img {
    width: 140%;
    margin-top: 0;
  }
  #history .sec-slide .item-2 img {
    width: 109%;
    margin-left: 20vw;
  }
  #history .sec-slide .item-3 img {
    width: 108%;
    margin-bottom: 3vw;
    margin-left: -3vw;
  }
  #history .sec-slide .item-4 img {
    width: 142%;
    margin-top: 5vw;
    margin-left: 6vw;
  }
  #history .sec-slide .item-5 img {
    width: 108%;
    margin-top: 2vw;
    margin-left: 24vw;
  }
  #history .sec-slide .item-6 img {
    width: 173%;
  }
  #history .sec-slide .item-7 img {
    /* width: 113%; */
    width: 89%;
    margin-top: 5vw;
    margin-left: 20px;
  }
}

/* News */
#news {
  padding-top: 30px;
  padding-bottom: 130px;
}
#news .sec-inner {
  padding-top: 70px;
}
/* #news .sec-cats .item::before {
  background: #E2ECFF;
}
/* #news .sec-list .arw {
  background: linear-gradient(to right, #484848, #9F9F9F);
}
#news .sec-list .arw::before {
  background: linear-gradient(to bottom, #2563EB, #153885);
} */
/* SP */
@media screen and (max-width: 768px) {
  #news {
    padding-top: 0;
    padding-bottom: 80px;
  }
}