@charset "UTF-8";

*, ::after, ::before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}

body {
  margin: 0;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.6;
  color: #2A2A2A;
  font-family: 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  letter-spacing: 0.04em;
  /* min-width: 1200px; */
  width: 100%;
  height: 100%;
  background: #fff;
}

address, blockquote, dl, figure, form, iframe, p, pre, table {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: #2A2A2A;
  transition: 0.6s ease;
}

a:hover {
  opacity: 0.6;
}

img {
  vertical-align: top;
}

h1 {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1;
}

h2 {
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: 400;
}

h3 {
  font-size: 33px;
  font-size: 3.3rem;
}

p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}

.inner {
  /* width: 1050px; */
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}


/* =========================================================
	body
========================================================= */
body.lesmills {
  min-width: 1230px;
}


/* =========================================================
	パーツ
========================================================= */
.pc {
  display: block;
}

.sp {
  display: none;
}

.fade__in {
  opacity: 0;
  transform: translate(0, 50px);
  transition: 0.6s ease;
}

.fade__in.on {
  opacity: 1;
  transform: translate(0, 0);
}


/* =========================================================
	section
========================================================= */
section {
  text-align: center;
  padding: 4.8vw 0;
}


/* =========================================================
	#lesmills
========================================================= */
#lesmills {
  overflow: hidden;
      margin-bottom: 40px;
}


/* =========================================================
	#hero
========================================================= */
#hero {
  position: relative;
  background: #000 url(../../../img/lesmills/mv.png) 0 0 no-repeat;
  background-size: 100% auto;
  padding: 0;
  padding-bottom: calc(100%*800/1600);
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #hero {
    position: relative;
    background: #000 url(../../../img/lesmills/mv@2x.png) 0 0 no-repeat;
    background-size: 100% auto;
    padding: 0;
    padding-bottom: calc(100%*800/1600);
  }
}

#hero .mv_txt {
  position: absolute;
  top: 26.5%;
  left: 6.4%;
  transform: translateY(-50%);
  width: 33.25vw;
  min-width: 414px;
  z-index: 1;
  transition: 0.6s ease;
  transition-delay : 1s;
  opacity: 1;
}

#hero h1 {
  position: absolute;
  top: 48.2%;
  left: 0;
  transform: translateY(-50%);
  font-size: 7.19vw;
  font-size: max(7.19vw, 90px);
  color: #fff;
  font-weight: bold;
  text-align: justify;
  letter-spacing: normal;
  transition: 0.6s ease;
  transition-delay : 1s;
  opacity: 1;
  background: #030303;
  padding: 1% 2.55% .68% 6.3%;
  min-width: 717.6px;
  min-height: 158.7px;
  box-sizing: border-box;
}

#hero h1 span {
  display: block;
  font-size: 3.44vw;
  font-size: max(3.44vw, 43px);
  font-weight: bold;
  margin-bottom: .5vw;
  letter-spacing: normal;
  color: #E4007F;
}

#hero p {
  position: absolute;
  top: 62%;
  left: 6.25vw;
  font-size: 1.75vw;
  font-size: max(1.75vw, 21px);
  opacity: 1;
  color: #fff;
  font-weight: bold;
}



/* =========================================================
	#about
========================================================= */
#about {
  background-color:#000000;
  background-image: url(../../../img/lesmills/bg_about_top.png), url(../../../img/lesmills/bg_about_bottom.png);
  background-position: top left, bottom left;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  padding: 0;
  margin: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #about {
    background-color:#000000;
    background-image: url(../../../img/lesmills/bg_about_top@2x.png), url(../../../img/lesmills/bg_about_bottom@2x.png);
    background-position: top left, bottom left;
    background-size: 100% auto, 100% auto;
    background-repeat: no-repeat, no-repeat;
  }
}

#about .about_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 33.54vw;
  min-height: 417.5px;
}

#about .about_ttl h2 {
  font-size: 3.75vw;
  font-size: max(3.75vw, 47px);
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}

#about .about_ttl h2 span {
  font-size: 5.63vw;
  font-size: max(5.63vw, 70px);
  margin-top: 0;
  background: linear-gradient(transparent 80%, #E4007F 80%);
  padding: 0 0 0.3vw;
}

#about .about_ttl p {
  display: block;
  font-size: 1.56vw;
  font-size: max(1.56vw, 19.5px);
  font-weight: bold;
  color: #fff;
  line-height: 1.76;
  margin-top: 1%;
  background: none;
  padding: 0;
}

#about .about_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#about .about_inner a.about_innerBox {
  width: 50%;
  position: relative;
}

#about .about_inner a.about_innerBox:hover {
  opacity: .6;
}

#about .about_inner .about_innerBox img {
  width: 100%;
}

#about .about_inner .about_innerBox img.play {
  position: absolute;
  width: 9.38vw;
  min-width: 117px;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#about .about_inner .about_innerBox p {
  position: absolute;
  width: 100%;
  z-index: 2;
  bottom: 27%;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 2.19vw;
  font-size: max(2.19vw, 27px);
  font-weight: bold;
  line-height: 1.26;
}

#about .note {
  color: #fff;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  height: 14.06vw;
  min-height: 175px;
  width: 77.5vw;
  min-width: 965px;
  margin: auto;
  text-align: justify;
  padding-top: 2%;
  line-height: 1.63;
}


/* =========================================================
	#lineUp
========================================================= */
#lineUp {
  background-color:#2F2F2F;
  background-image: url(../../../img/lesmills/bg_lineUp_top.png), url(../../../img/lesmills/bg_lineUp_bottom.png);
  background-position: top left, bottom left;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  padding-bottom: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #lineUp {
    background-color:#2F2F2F;
    background-image: url(../../../img/lesmills/bg_lineUp_top@2x.png), url(../../../img/lesmills/bg_lineUp_bottom@2x.png);
    background-position: top left, bottom left;
    background-size: 100% auto, 100% auto;
    background-repeat: no-repeat, no-repeat;
    padding: 0;
  }
}

#lineUp h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 3.75vw;
  font-size: max(3.75vw, 47px);
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  height: 18.75vw;
  min-height: 233.4px;
  padding-top: 2%;
}

#lineUp h2:after {
  content: '';
  position: absolute;
  width: 19.06vw;
  min-width: 70px;
  height: .31vw;
  min-height: 5px;
  background: #EF444D;
  bottom: 25%;
  left: 50%;
  transform: translateX(-50%);
}

#lineUp .lineUp_inner_top, #lineUp .lineUp_inner_btm {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: top;
}

#lineUp .lineUp_inner .lineUp_innerBox {
  width: 25%;
  position: relative;
}

#lineUp .lineUp_inner .lineUp_innerBox img {
  width: 100%;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  background: #E89C21;
  height: 22vw;
  min-height: 243px;
  box-sizing: border-box;
  padding: 1.25vw 0;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(2) .lineUp_innerBox_txt {
  background: #E4007F;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(3) .lineUp_innerBox_txt {
  background: #EF444D;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(4) .lineUp_innerBox_txt {
  background: #191919;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(5) .lineUp_innerBox_txt {
  background: #929F5C;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(6) .lineUp_innerBox_txt {
  background: #767328;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(7) .lineUp_innerBox_txt {
  background: #E6541E;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(8) .lineUp_innerBox_txt {
  background: #22ADE4;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt h3 {
  color: #fff;
  font-size: 1.56vw;
  font-size: max(1.56vw, 19.4px);
  font-weight: bold;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt p {
  width: 20vw;
  min-width: 249px;
  min-height: 130.2px;
  height: 9.67vw;
  color: #fff;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: justify;
  margin: auto;
}


#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl {
  width: 20vw;
  min-width: 249px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div {
  width: 100%;
  text-align: justify;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div.plan_time { width: 100%; }


#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(1),
#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(2) {
  margin-bottom: 10px;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div dt {
  color: #000;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: center;
  display: inline-block;
  font-weight: normal;
  background: #fff;
  width: 4.25vw;
  min-width: 52.9px;
  height: 1.63vw;
  min-height: 20.3px;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div dd {
  color: #fff;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: justify;
  display: inline;
  margin-left: 10px;
}

#lineUp .lineUp_inner_other {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 23.33vw;
  min-height: 290.4px;
  width: 100%;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap {
  width: 65.63vw;
  min-width: 817px;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 6.56vw;
  min-height: 81.6px;
  color: #fff;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox + .lineUp_inner_otherBox {
  border-top: 1px solid #707070;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.56vw;
  font-size: max(1.56vw, 19.4px);
  font-weight: bold;
  width: 18.13vw;
  min-width: 226px;
  height: 5vw;
  min-height: 62.2px;
  background: #F467B5;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox:nth-child(2) h3 {
  background: #22ADE4;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox:nth-child(3) h3 {
  background: #1EC1A8;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 46.44vw;
  min-width: 578px;
  height: 5vw;
  min-height: 62.2px;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail p {
  width: 100%;
  color: #fff;
  font-size: 12.45px;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: justify;
  margin: auto;
  /* min-height: 90px; */
  letter-spacing: 0em;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl {
  width: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
  margin: auto;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div {
  text-align: justify;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div + div {
  margin-left: 3%;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div dt {
  color: #000;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: center;
  display: inline-block;
  font-weight: normal;
  background: #fff;
  width: 4.25vw;
  min-width: 52.9px;
  height: 1.63vw;
  min-height: 20.3px;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div dd {
  color: #fff;
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  line-height: 1.63;
  text-align: justify;
  display: inline;
  margin-left: 10px;
}


/* =========================================================
	#shop
========================================================= */
#shop {
  position: relative;
  background: #000 url(../../../img/lesmills/bg_shop.png) top left no-repeat;
  background-size: 100% auto;
  padding: 0;
  height: 34vw;
  min-height: 537px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #shop {
    position: relative;
  background: #000 url(../../../img/lesmills/bg_shop@2x.png) top left no-repeat;
  background-size: 100% auto;
  padding: 0;
  }
}

#shop h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 3.75vw;
  font-size: max(3.75vw, 47px);
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  height: 15.19vw;
  min-height: 189.1px;
  padding-top: 2%;
}

#shop h2:after {
  content: '';
  position: absolute;
  width: 19.06vw;
  min-width: 70px;
  height: .31vw;
  min-height: 5px;
  background: #EF444D;
  bottom: 19%;
  left: 50%;
  transform: translateX(-50%);
}

#shop .shop_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  height: 51.88vw;
  min-height: 645.9px;
}

#shop .shop_inner a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 66vw;
  min-width: 821.7px;
  height: 11.88vw;
  min-height: 147.9px;
  font-weight: bold;
  color: #000;
  background: #fff;
  margin: 0 auto;
  position: relative;
  border-radius: 36px;
  box-sizing: border-box;
  padding-right: 3vw;
}

#shop .shop_inner a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 3.2vw;
  width: 1.56vw;
  height: 1.56vw;
  border-top: .3vw solid #FF000D;
  border-right: .3vw solid #FF000D;
  transform: rotate(45deg) translateY(-65%);
}

#shop .shop_inner a:hover {
  opacity: .6;
}

#shop .shop_inner a h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 99%;
  font-size: 2.5vw;
  font-size: max(2.5vw, 31.1px);
  font-weight: bold;
  color: #FF000D;
  background: #fff;
  position: relative;
  box-sizing: border-box;
}

#shop .shop_inner a h3 span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.06vw;
  min-width: 163px;
  height: 2.5vw;
  min-height: 31.1px;
  font-size: 1.13vw;
  font-size: max(1.13vw, 14.1px);
  font-weight: bold;
  color: #fff;
  background: #FF000D;
  position: relative;
  line-height: 1;
  margin-right: 2%;
}

#shop .shop_inner a p {
  font-size: 1vw;
  font-size: max(1vw, 12.45px);
  font-weight: bold;
  line-height: 1.63;
  color: #000;
}

#shop .shop_inner a p span {
  color: #22ADE4;
}




@media only screen and (max-width: 768px) {

  html {
    min-width: 100%;
    width: 100%;
  }
  body {
    min-width: 100%;
    width: 100%;
  }

  body.lesmills #footer_brandlogos .inner {
    width: 100%;
    margin: 0 auto;
}

  main {
    display: block;
    padding-top: 14.67vw;
  }

  #wrap {
    padding-bottom: 17.33vw;
  }

  .inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
  }


  /* =========================================================
	body
========================================================= */
  body.lesmills {
    min-width: 100%;
  }


  /* =========================================================
	パーツ
========================================================= */
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }


  /* =========================================================
	  section
  ========================================================= */

  section {
    text-align: center;
    padding: 8vw 0;
  }


/* =========================================================
	#hero
========================================================= */
  #hero {
    position: relative;
    background: #000 url(../../../img/lesmills/mv_sp.png) 0 0 no-repeat;
    background-size: 100% auto;
    padding: 0;
    padding-bottom: calc(100%*436/375);
  }

  @media only screen and (-webkit-min-device-pixel-ratio: 2) {
    #hero {
      position: relative;
      background: #000 url(../../../img/lesmills/mv_sp@2x.png) 0 0 no-repeat;
      background-size: 100% auto;
      padding: 0;
      padding-bottom: calc(100%*436/375);
    }
  }


  #hero .mv_txt {
    position: absolute;
    top: 29.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64.53vw;
    min-width: auto;
    z-index: 1;
    transition: 0.6s ease;
    transition-delay: 1s;
    opacity: 1;
  }

  #hero h1 {
    position: absolute;
    width: 100%;
    top: 49.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 11.73vw;
    color: #fff;
    font-weight: bold;
    text-align: center;
    transition: 0.6s ease;
    transition-delay : 1s;
    opacity: 1;
    letter-spacing: normal;
    background: #030303;
    padding: 4vw 0;
    min-width: auto;
    min-height: auto;
    box-sizing: border-box;
  }

  #hero h1 span {
    display: block;
    font-size: 5.6vw;
    font-weight: bold;
    margin-bottom: 2.67vw;
    letter-spacing: -0.02em;
    letter-spacing: normal;
    color: #E4007F;
  }

  #hero p {
    position: absolute;
    top: 64%;
    left: 0;
    font-size: 4.8vw;
    opacity: 1;
    color: #fff;
    font-weight: bold;
    width: 100%;
    line-height: 1.39;
  }





  /* =========================================================
	#about
========================================================= */
#about {
  background-color:#000000;
  background-image: url(../../../img/lesmills/bg_about_top_sp.png), url(../../../img/lesmills/bg_about_bottom_sp.png);
  background-position: top left, bottom left;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  padding: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #about {
    background-color:#000000;
    background-image: url(../../../img/lesmills/bg_about_top_sp@2x.png), url(../../../img/lesmills/bg_about_bottom_sp@2x.png);
    background-position: top left, bottom left;
    background-size: 100% auto, 100% auto;
    background-repeat: no-repeat, no-repeat;
  }
}

#about .about_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: auto;
  min-height: auto;
  padding: 14.67vw 0;
}

#about .about_ttl h2 {
  font-size: 6.67vw;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.96;
}

#about .about_ttl h2 span {
  font-size: 10.13vw;
  margin-top: 0;
  background: linear-gradient(transparent 80%, #E4007F 80%);
  padding: 0 0 0.3vw;
  line-height: 1.29;
}

#about .about_ttl p {
  display: block;
  font-size: 3.73vw;
  font-weight: bold;
  color: #fff;
  line-height: 1.86;
  margin-top: 3vw;
  background: none;
  padding: 0;
  letter-spacing: 0em;
}

#about .about_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

#about .about_inner a.about_innerBox {
  width: 100%;
  position: relative;
}

#about .about_inner .about_innerBox + .about_innerBox {
  border-top: 1px solid #fff;
}

#about .about_inner .about_innerBox img {
  width: 100%;
}

#about .about_inner .about_innerBox img.play {
  position: absolute;
  width: 18.67vw;
  min-width: auto;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#about .about_inner .about_innerBox p {
  position: absolute;
  width: 100%;
  z-index: 2;
  bottom: 28%;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 4vw;
  font-weight: bold;
  line-height: 1.27;
}

#about .note {
  color: #fff;
  font-size: 3.73vw;
  height: auto;
  min-height: auto;
  width: 100%;
  min-width: auto;
  margin: auto;
  text-align: justify;
  padding-top: 2%;
  line-height: 1.86;
  padding: 6.67vw 5.33vw 16vw;
}


/* =========================================================
	#lineUp
========================================================= */
#lineUp {
  background-color:#2F2F2F;
  background-image: url(../../../img/lesmills/bg_lineUp_top_sp.png), url(../../../img/lesmills/bg_lineUp_bottom_sp.png);
  background-position: top left, bottom 9.2% left;
  background-size: 100% auto, 100% auto;
  background-repeat: no-repeat, no-repeat;
  padding-bottom: 0;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #lineUp {
    background-color:#2F2F2F;
    background-image: url(../../../img/lesmills/bg_lineUp_top_sp@2x.png), url(../../../img/lesmills/bg_lineUp_bottom_sp@2x.png);
    background-position: top left, bottom 9.2% left;
    background-size: 100% auto, 100% auto;
    background-repeat: no-repeat, no-repeat;
    padding: 0;
  }
}

#lineUp h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 6.67vw;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.44;
  height: auto;
  min-height: auto;
  padding: 14.67vw 0 16.67vw;
}

#lineUp h2:after {
  content: '';
  position: absolute;
  width: 12vw;
  min-width: auto;
  height: 2px;
  min-height: auto;
  background: #EF444D;
  bottom: 28%;
  left: 50%;
  transform: translateX(-50%);
}

#lineUp .lineUp_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: top;
}

#lineUp .lineUp_inner .lineUp_innerBox {
  width: 100%;
  position: relative;
}


#lineUp .lineUp_inner .lineUp_innerBox img {
  width: 100%;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: #E89C21;
  height: auto;
  min-height: auto;
  box-sizing: border-box;
  padding: 4vw 5.33vw 6.67vw;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(2) .lineUp_innerBox_txt {
  background: #E4007F;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(3) .lineUp_innerBox_txt {
  background: #EF444D;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(4) .lineUp_innerBox_txt {
  background: #191919;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(5) .lineUp_innerBox_txt {
  background: #929F5C;
  height: auto;
  min-height: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(6) .lineUp_innerBox_txt {
  background: #767328;
  height: auto;
  min-height: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(7) .lineUp_innerBox_txt {
  background: #E6541E;
  height: auto;
  min-height: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox:nth-child(8) .lineUp_innerBox_txt {
  background: #22ADE4;
  height: auto;
  min-height: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt h3 {
  color: #fff;
  font-size: 5.87vw;
  font-weight: bold;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt p {
  width: 100%;
  min-width: auto;
  min-height: auto;
  height: auto;
  color: #fff;
  font-size: 3.73vw;
  line-height: 1.71;
  text-align: justify;
  margin: auto;
  margin-top: 2.67vw;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl {
  width: 100%;
  min-width: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
  margin-top: 5vw;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div {
  width: 100%;
  text-align: justify;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(2),
#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(4) {
  width: 100%;
  text-align: justify;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(1),
#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div:nth-child(2) {
  margin-bottom: 2.67vw;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div dt {
  color: #000;
  font-size: 3.2vw;
  line-height: 1.63;
  text-align: center;
  display: inline-block;
  font-weight: normal;
  background: #fff;
  width: 16vw;
  min-width: auto;
  height: 5.33vw;
  min-height: auto;
}

#lineUp .lineUp_inner .lineUp_innerBox .lineUp_innerBox_txt .lineUp_innerBox_txt_detail dl div dd {
  color: #fff;
  font-size: 3.2vw;
  line-height: 1.63;
  text-align: justify;
  display: inline;
  margin-left: 2.67vw;
}

#lineUp .lineUp_inner_other {
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  min-height: auto;
  width: 100%;
  padding: 10.67vw 5.33vw;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap {
  width: auto;
  min-width: auto;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
  height: auto;
  min-height: auto;
  color: #fff;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox + .lineUp_inner_otherBox {
  border-top: none;
  margin-top: 8vw;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox h3 {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 5.87vw;
  font-weight: bold;
  width: 100%;
  min-width: auto;
  height: 10.67vw;
  min-height: auto;
  background: #F467B5;
  line-height: 1;
  margin-bottom: 3.67vw;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox:nth-child(2) h3 {
  background: #22ADE4;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox:nth-child(3) h3 {
  background: #1EC1A8;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  min-width: auto;
  height: auto;
  min-height: auto;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail p {
  width: 100%;
  color: #fff;
  font-size: 3.73vw;
  line-height: 1.63;
  text-align: justify;
  margin: 0 auto 4vw;
  letter-spacing: 0em;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl {
  width: 100%;
  display: flex;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
  margin: auto;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div {
  text-align: justify;
  width: 100%;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div:nth-child(1),
#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div:nth-child(2) {
  margin-bottom: 2.67vw;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div:nth-child(2),
#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div:nth-child(4) {
  text-align: justify;
  width: 100%;
}


#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div + div {
  margin-left: 0;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div dt {
  color: #000;
  font-size: 3.2vw;
  line-height: 1.63;
  text-align: center;
  display: inline-block;
  font-weight: normal;
  background: #fff;
  width: 16vw;
  min-width: auto;
  height: 5.33vw;
  min-height: auto;
  line-height: 1.63;
}

#lineUp .lineUp_inner_other .lineUp_inner_otherwrap .lineUp_inner_otherBox .lineUp_inner_otherBox_txt_detail dl div dd {
  color: #fff;
  font-size: 3.2vw;
  line-height: 1.63;
  text-align: justify;
  display: inline;
  margin-left: 2.67vw;
}


/* =========================================================
	#shop
========================================================= */
#shop {
  position: relative;
  background: #000 url(../../../img/lesmills/bg_shop_sp.png) top left no-repeat;
  background-size: 100% auto;
  padding: 0;
  height: auto;
  min-height: auto;
  padding-bottom: 10.67vw;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  #shop {
    position: relative;
  background: #000 url(../../../img/lesmills/bg_shop_sp@2x.png) top left no-repeat;
  background-size: 100% auto;
  padding-bottom: 10.67vw;
  }
}

#shop h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 6.67vw;
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 1.44;
  height: auto;
  min-height: auto;
  padding: 14.67vw 0 16.67vw;
}

#shop h2:after {
  content: '';
  position: absolute;
  width: 12vw;
  min-width: auto;
  height: 2px;
  min-height: auto;
  background: #EF444D;
  bottom: 28%;
  left: 50%;
  transform: translateX(-50%);
}

#shop .shop_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  height: auto;
  min-height: auto;
  padding: 0 5.33vw;
}

#shop .shop_inner a {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  min-width: auto;
  height: auto;
  min-height: auto;
  font-size: 2.19vw;
  font-weight: bold;
  color: #000;
  background: #fff;
  margin: 0 auto;
  position: relative;
  border-radius: 6px;
  box-sizing: border-box;
  padding: 4.8vw 7vw 4.8vw 4.3vw;
}

#shop .shop_inner a + a {
  margin-top: 2.67vw;
}

#shop .shop_inner a:after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 6vw;
  width: 3.75vw;
  height: 3.75vw;
  border-top: 1vw solid #FF000D;
  border-right: 1vw solid #FF000D;
  transform: rotate(45deg) translateY(-65%);
}

#shop .shop_inner a h3 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  width: 99%;
  font-size: 5.07vw;
  font-weight: bold;
  color: #FF000D;
  background: #fff;
  position: relative;
  box-sizing: border-box;
  letter-spacing: 0;
}

#shop .shop_inner a h3 span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37.67vw;
  min-width: auto;
  height: 5.33vw;
  min-height: auto;
  font-size: 3.2vw;
  font-weight: bold;
  color: #fff;
  background: #FF000D;
  position: relative;
  line-height: 1;
  margin: 0 0 2.67vw 0;
}

#shop .shop_inner a p {
  font-size: 2.93vw;
  font-weight: bold;
  line-height: 1.64;
  color: #000;
  text-align: left;
  letter-spacing: -.05em;
}

}


#lineUp .lineUp_inner .lineUp_inner_top .lineUp_innerBox { width: 33.33%; }
#lineUp .lineUp_inner .lineUp_inner_top .lineUp_innerBox .lineUp_innerBox_txt p { width: 90%; }

@media only screen and (max-width: 768px) {
    #lineUp .lineUp_inner .lineUp_inner_top .lineUp_innerBox { width: 100%; }
    #lineUp .lineUp_inner .lineUp_inner_top .lineUp_innerBox .lineUp_innerBox_txt p { width: 100%; }
}


/*--------------------------------

  movie

---------------------------------*/
#movielaryer { background-color: rgba(0, 0, 0, .8); position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; display: flex; align-items: center; justify-content: center; }
#movielaryer_inner { width: 80%; height: 0; padding-bottom: 56.25%; overflow: hidden; position: relative; }
#movielaryer_inner video { width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
#movie_btn_cls { width: 60px; height: 60px; display: block; position: fixed; top: 0; right: 0; z-index: 99999;  }
#movie_btn_cls:before, #movie_btn_cls:after { content: ""; width: 100%; height: 1px; display: block; background-color: #fff; position: absolute; top: 50%; left: 0; }
#movie_btn_cls:before { transform: rotate(45deg); }
#movie_btn_cls:after { transform: rotate(-45deg); }