* {
  font-family: 'Open Sans', sans-serif;
  color: #000;
}

html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

.hidden__sp {
  display: block;
}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .hidden__sp {
    display: none;
  }
}

/* end sp */
/*———————————————————————— */


.hidden__pc {
  display: none;
}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .hidden__pc {
    display: block;
  }
}

/* end sp */
/*———————————————————————— */

.flex__parent {
  display: flex;
}

.flex__between {
  justify-content: space-between;
}

.flex__around {
  justify-content: space-around;
}

.flex__center {
  justify-content: center;
}

.flex__wrap {
  flex-wrap: wrap;
}

.flex__star {
  justify-content: flex-start;
}

/* --------------------------------------------------------
  header-pc
----------------------------------------------------------- */

.header {
  position: fixed;
  width: 100%;
  height: 70px;
  background-color: #fff;
  box-sizing: border-box;
  z-index: 500;
}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .header {
    display: none;
  }
}

/* end sp */
/*———————————————————————— */


.header__inner {
  position: relative;
  width: 950px;
  height: 70px;
  margin: auto;
  box-sizing: border-box;
}

/* TOYOTA logo */
.header__toyota-logo__wrap {
  position: absolute;
  width: 190px;
  height: 36px;
  bottom: 15px;
  left: 0;
  box-sizing: border-box;
}

.header__toyota-logo__pc {
  width: 190px;
  height: 36px;
}


/* project logo */
.header__project-logo__wrap {
  position: absolute;
  width: 120px;
  height: 57.5px;
  top: 50%;
  right: 0;
  margin-top: -28.75px;
  box-sizing: border-box;
}

.header__project-logo__wrap img {
  width: 120px;
}

/* --------------------------------------------------------
  header-sp
----------------------------------------------------------- */

.header__sp {
  display: none;
}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .header__sp {
    display: block;
    position: fixed;
    width: 100vw;
    height: 16vw;
    background-color: #fff;
    box-sizing: border-box;
    z-index: 500;
  }
}

/* end sp */
/*———————————————————————— */


.header__toyota-logo__wrap__sp {
  display: none;
}

/*——————————————————————————————————————— */
/* sp */

@media screen and (max-width: 750px) {
  .header__toyota-logo__wrap__sp {
    display: block;
    position: absolute;
    width: 17vw;
    height: 14.5vw;
    top: 50%;
    left: 1vw;
    margin-top: -7.25vw;
    box-sizing: border-box;
    z-index: 10;
  }

  .header__toyota-logo__wrap__sp img {
    width: 17vw;
    height: 14.5vw;
  }
}

/* end sp */
/*———————————————————————— */


.header__project-logo__wrap__sp {
  display: none;
}

/*——————————————————————————————————————— */
/* sp */

@media screen and (max-width: 750px) {
  .header__project-logo__wrap__sp {
    display: block;
    position: absolute;
    width: 28vw;
    height: 14vw;
    top: 50%;
    left: 50%;
    margin-top: -7vw;
    margin-left: -14vw;
    box-sizing: border-box;
    z-index: 10;
  }

  .header__project-logo__wrap__sp img {
    width: 28vw;
    height: 14vw;
  }
}

/* end sp */
/*———————————————————————— */

.header__hvex__btn__wrap {
  position: absolute;
  width: 137px;
  right: 134px;
  top: 23px;
}


/* ----------------------menu-------------------------- */
/* icon */
.box {
  width: 1.5vw;
  height: 1.5vw;
  background: #000;
  margin: 0.5vw 0.5vw;
  display: inline-block;
  box-sizing: border-box;
}

.menu__wrapper {
  position: relative;
  width: 100vw;
  height: 16vw;
  z-index: 0;
}

.menu__item--bento {
  width: 7.5vw;
  height: 8vw;
  position: absolute;
  top: 50%;
  right: 5vw;
  margin-top: -4.5vw;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  cursor: pointer;
  box-sizing: border-box;
}

.menu__item--bento:hover,
.menu__item--bento:focus {
  outline: none;
}

.menu__item--bento:hover .box:nth-child(2),
.menu__item--bento:hover .box:nth-child(4),
.menu__item--bento:hover .box:nth-child(6),
.menu__item--bento:hover .box:nth-child(8),
.menu__item--bento:focus .box:nth-child(2),
.menu__item--bento:focus .box:nth-child(4),
.menu__item--bento:focus .box:nth-child(6),
.menu__item--bento:focus .box:nth-child(8) {
  opacity: 0;
}

/* contents */


.menu__contents__sp__hidden {
  display: none;
}

.menu__contents__sp {
  display: block;
  width: 100vw;
  height: 100%;
  overflow-y: scroll;
  position: fixed;
  background-color: #000;
  top: 0;
  right: -100vw;
  z-index: 5000;
}

.menu__contents__sp__active {
  animation: open 0.5s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.5s forwards;
  -webkit-animation: open 0.5s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.5s forwards;
}

@keyframes open {
  0% {
    right: -100vw;
  }

  100% {
    right: 0;
  }
}

@-webkit-keyframes open {
  0% {
    right: -100vw;
  }

  100% {
    right: 0;
  }
}

.menu__contents__sp__close {
  display: block;
  width: 100vw;
  height: 186.5vw;
  position: fixed;
  background-color: #000;
  top: 0;
  right: 0;
  z-index: 5000;
  animation: close 0.5s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.5s forwards;
  -webkit-animation: close 0.5s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.5s forwards;
}

@keyframes close {
  0% {
    right: 0;
  }

  100% {
    right: -100vw;
  }
}

@-webkit-keyframes close {
  0% {
    right: 0;
  }

  100% {
    right: -100vw;
  }
}

.close__btn {
  position: absolute;
  display: block;
  width: 6vw;
  height: 6vw;
  top: 5vw;
  right: 5.5vw;
  z-index: 5001;
  cursor: pointer;
}

.close__btn:before,
.close__btn:after {
  content: "";
  position: absolute;
  left: -1vw;
  top: 50%;
  width: 8vw;
  height: 0.3vw;
  background-color: #fff;
}

.close__btn:before {
  -moz-transform: rotateZ(-45deg);
  -webkit-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.close__btn:after {
  -moz-transform: rotateZ(45deg);
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.close__btn:hover {
  animation: rotate 0.2s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.1s forwards;
  -webkit-animation: rotate 0.2s cubic-bezier(0.445, -0.020, 0.000, 0.990) 0.1s forwards;
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(180deg);
  }
}

@-webkit-keyframes rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotateX(180deg);
  }
}


/* contents inner */


.sp-menu__ttl__wrap {
  position: absolute;
  width: 38.6vw;
  height: 3.7vw;
  top: 17vw;
  left: 50%;
  margin-left: -19.3vw;
  z-index: 500;
}

.sp-menu__ttl__wrap img {
  width: 38.6vw;
}

.sp-menu__list__wrap {
  position: relative;
  width: 92vw;
  height: 112vw;
  margin: auto;
  top: 25.5vw;
  box-sizing: border-box;
}

.sp-menu__list {
  width: 92vw;
  height: 48vw;
  list-style-type: none;
  box-sizing: border-box;
  border-top: 1px solid #323232;
  border-right: 1px solid #323232;
  border-left: 1px solid #323232;
}

.sp-menu__list a {
  color: #fff;
  width: 92vw;
  height: 16vw;
  text-decoration: none;
  font-size: 3.5vw;
  font-weight: 400;
  line-height: 16vw;
  letter-spacing: 0.1vw;
  padding-left: 6vw;
  display: block;
  cursor: pointer;
}

.sp-menu__list a:hover {
  color: #FFF;
  width: 92vw;
  height: 16vw;
  text-decoration: none;
  font-size: 3.5vw;
  font-weight: 400;
  line-height: 16vw;
  letter-spacing: 0.1vw;
  padding-left: 6vw;
  display: block;
  background-color: #eb0a1e;
  cursor: pointer;
}

.sp-menu__list li {
  position: relative;
  width: 92vw;
  height: 16vw;
  color: #fff;
  box-sizing: border-box;
  border-bottom: 1px solid #323232;
  display: flex;
  align-items: center;
}

.sp-menu__list li::before {
  position: absolute;
  content: "";
  width: 1.5vw;
  height: 2.8vw;
  top: 50%;
  right: 4vw;
  margin-top: -1.4vw;
  background-image: url(../image/common/sp/sp-menu__arrow--wt.png);
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  z-index: 1000;
}

.sp-menu__list li:first-child:before {
  position: absolute;
  content: "";
  width: 1.5vw;
  height: 2.8vw;
  top: 50%;
  right: 4vw;
  margin-top: -1.4vw;
  background-image: url(../image/common/sp/sp-menu__arrow--wt.png);
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  z-index: 1000;
}

.sp-manu__btn__image {
  width: 78.5vw;
  margin-left: 6vw;
  box-sizing: border-box;
}

.sp-menu__add-list__wrap {
  position: relative;
  width: 92vw;
  height: 32vw;
  margin: auto;
  top: 33.5vw;
  box-sizing: border-box;
  margin-bottom: 30vw;
}

.sp-menu__add-list {
  width: 92vw;
  height: 32vw;
  list-style-type: none;
  box-sizing: border-box;
  border-top: 1px solid #323232;
  border-right: 1px solid #323232;
  border-left: 1px solid #323232;
}

.sp-menu__add-list li {
  position: relative;
  width: 92vw;
  height: 16vw;
  color: #fff;
  box-sizing: border-box;
  border-bottom: 1px solid #323232;
  display: flex;
  align-items: center;
  color: #fff;
}

.sp-menu__add-list a {
  color: #fff;
  width: 92vw;
  height: 16vw;
  text-decoration: none;
  font-size: 3.5vw;
  font-weight: 400;
  line-height: 16vw;
  letter-spacing: 0.1vw;
  padding-left: 6vw;
  display: block;
  cursor: pointer;
}

.sp-menu__add-list a:hover {
  color: #FFF;
  width: 92vw;
  height: 16vw;
  text-decoration: none;
  font-size: 3.5vw;
  font-weight: 400;
  line-height: 16vw;
  letter-spacing: 0.1vw;
  padding-left: 6vw;
  display: block;
  background-color: #eb0a1e;
  cursor: pointer;
}

.sp-menu__add-list li::before {
  position: absolute;
  content: "";
  width: 1.5vw;
  height: 2.8vw;
  top: 50%;
  right: 4vw;
  margin-top: -1.4vw;
  background-image: url(../image/common/sp/sp-menu__arrow--wt.png);
  background-repeat: no-repeat;
  background-size: contain;
  box-sizing: border-box;
  z-index: 1000;
}

.menu {
  position: absolute;
  bottom: -55vw;
  color: transparent;
}

/* --------------------------------------------------------
  topback btn
----------------------------------------------------------- */
/* top button */
.top__btn__wrap {
  position: fixed;
  width: 60px;
  height: 120px;
  bottom: 80px;
  right: 0;
  z-index: 500;

}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .top__btn__wrap {
    display: none;

  }
}

/* end sp */
/*———————————————————————— */


.top__btn__wrap::before {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 4px #FFF;
  border-right: solid 4px #FFF;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 38px;
  right: 21px;
}

.top__btn__wrap:hover:before {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 4px #FFF;
  border-right: solid 4px #FFF;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 38px;
  right: 21px;
  animation: up 0.8s ease-in 0.01s infinite;
  -webkit-animation: up 0.8s ease-in 0.1s infinite;
}

@keyframes up {
  0% {
    top: 38px;
    opacity: 1:
  }

  100% {
    top: 23px;
    opacity: 0;
  }
}

@-webkit-keyframes up {
  0% {
    top: 38px;
    opacity: 1:
  }

  100% {
    top: 23px;
    opacity: 0;
  }
}

.top__btn__wrap img {
  width: 60px;
  height: 120px;
}

.top__btn__wrap__sp {
  display: none;
}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .top__btn__wrap__sp {
    display: block;
    position: fixed;
    width: 13.5vw;
    height: 13.5vw;
    z-index: 400;
    bottom: 7vw;
    right: 0;
    cursor: pointer;
    background-color: #000;
    box-sizing: border-box;
  }

  .top__btn__wrap__sp::before {
    content: '';
    width: 3vw;
    height: 3vw;
    border: 0px;
    border-top: solid 1vw #FFF;
    border-right: solid 1vw #FFF;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    right: 50%;
    margin-top: -1.5vw;
    margin-right: -1.5vw;

  }

  .top__btn__wrap__sp:hover:before {
    content: '';
    width: 3vw;
    height: 3vw;
    border: 0px;
    border-top: solid 1vw #FFF;
    border-right: solid 1vw #FFF;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    box-sizing: border-box;
    top: 50%;
    right: 50%;
    margin-top: -1.5vw;
    margin-right: -1.5vw;
    animation: up 0.8s ease-in 0.1s infinite;
    -webkit-animation: up 0.8s ease-in 0.1s infinite;
  }

  @keyframes up {
    0% {
      top: 7vw;
      opacity: 1:
    }

    100% {
      top: 4vw;
      opacity: 0;
    }
  }

  @-webkit-keyframes up {
    0% {
      top: 7vw;
      opacity: 1:
    }

    100% {
      top: 4vw;
      opacity: 0;
    }
  }

}

/* end sp */
/*———————————————————————— */




/* --------------------------------------------------------
  footer-pc
----------------------------------------------------------- */

.footer {
  width: 100%;
  height: 60px;
  background-color: #000;
}

/*——————————————————————————————————————— */
/* sp */

@media screen and (max-width: 750px) {
  .footer {
    width: 100vw;
    height: 21.3vw;
    background-color: #000;
  }
}

/* end sp */
/*———————————————————————— */


.footer__copy {
  font-size: 11.2px;
  color: #fff;
  line-height: 60px;
  text-align: center;

}

/*——————————————————————————————————————— */
/* sp */
@media screen and (max-width: 750px) {
  .footer__copy {
    font-size: 2.9vw;
    color: #fff;
    line-height: 4.5vw;
    text-align: center;
    padding-top: 6vw;

  }
}

/* end sp */
/*———————————————————————— */