main.concept {
  color: #666058;
  font-weight: 500;
  line-height: 1.8;
  overflow: hidden;
}
@media (min-width: 769px) {
  main.concept {
    padding-top: 62px;
  }
}
@media (max-width: 768px) {
  main.concept {
    padding-top: 60px;
  }
}

@media (min-width: 769px) {
  .concept__container {
    padding: 80px 0 158px;
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .concept__container {
    padding: 50px 0;
    font-size: 14px;
  }
}
.concept__container .main__ttl {
  font-weight: 700;
  text-align: center;
}
@media (min-width: 769px) {
  .concept__container .main__ttl {
    font-size: 60px;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .concept__container .main__ttl {
    font-size: 40px;
  }
}
@media (min-width: 769px) {
  .concept__container .concept__cnt {
    margin-bottom: 150px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__cnt {
    margin-bottom: 80px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__cnt.logo {
    margin-bottom: 0;
  }
}
@media (min-width: 769px) {
  .concept__container .concept__cnt.logo .main__ttl {
    margin: 0 auto 70px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__cnt.logo .main__ttl {
    margin: 0 auto 60px;
  }
}
@media (min-width: 769px) {
  .concept__container .concept__cnt.logo .concept__img {
    max-width: 374px;
    margin: 0 auto 70px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__cnt.logo .concept__img {
    width: 223px;
    margin: 0 auto 60px;
  }
}
.concept__container .concept__img {
  width: 100%;
}
@media (min-width: 769px) {
  .concept__container .concept__img {
    margin-bottom: 60px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__img {
    margin-bottom: 20px;
  }
}
@media (min-width: 769px) {
  .concept__container .concept__img.type--1 {
    margin-bottom: 80px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__img.type--1 {
    -webkit-transform: translateY(-55px);
            transform: translateY(-55px);
    margin-bottom: -35px;
  }
}
.concept__container .concept__item {
  margin: auto;
}
@media (min-width: 769px) {
  .concept__container .concept__item {
    max-width: 1000px;
    padding: 0 150px;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__item {
    width: 100%;
    padding: 0 18px;
  }
}
.concept__container .item__ttl {
  font-weight: 700;
  margin-bottom: 30px;
}
@media (min-width: 769px) {
  .concept__container .item__ttl {
    font-size: 35px;
  }
}
@media (max-width: 768px) {
  .concept__container .item__ttl {
    font-size: 24px;
  }
}
.concept__container .color--g {
  color: #009F56;
}
.concept__container .color--p {
  color: #6C52B6;
}
.concept__container .color--b {
  color: #1D69B3;
}
.concept__container .color--pink {
  color: #E10098;
}
.concept__container .item__info {
  line-height: 2;
}
@media (max-width: 768px) {
  .concept__container .item__info {
    padding-right: 24px;
  }
}
.concept__container .concept__btn {
  border: 1px solid #666058;
  border-radius: 80px;
  background: #fff;
  color: #666058;
  font-weight: 700;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
@media (min-width: 769px) {
  .concept__container .concept__btn {
    max-width: 270px;
    height: 70px;
    margin: 50px auto 0;
    font-size: 22px;
    margin-left: auto;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__btn {
    width: 200px;
    height: 50px;
    margin: 30px auto 0;
    font-size: 16px;
  }
}
.concept__container .concept__btn:hover {
  background: #666058;
  color: #fff;
}
.concept__container .concept__btn > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
.concept__container .concept__movie {
  cursor: pointer;
}
@media (min-width: 769px) {
  .concept__container .concept__movie {
    max-width: 600px;
    margin: 80px auto 0;
  }
}
@media (max-width: 768px) {
  .concept__container .concept__movie {
    width: 100%;
    padding: 0 18px;
    margin: 30px auto 0;
  }
}
.concept__container .concept__movie .movie {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.concept__container .concept__movie .movie > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.concept__container .concept__movie .movie .movie__wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}