@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500&display=swap');



/**
 * Top Page Style
 * ================================================================================
 * Table of Contents:
 *
 * Basic Structure
 * Parts Settings
 * Content Settings
 * ================================================================================
 */






/**
 * ================================================================================
 * Basic Structure
 * ================================================================================
 */


/* -- Layout-- */
.header {
  background-color: #fff;
  position: relative;
  z-index: 500;
  }
#headerNavArea {
  position: relative;
  z-index: 499;
  }
.dirpath { margin-top: 0; }
.footer { margin-top: 0 !important; }

#productsSpTop {
  background-color: #000;
  display: block;
  position: relative;
  z-index: 1;
  overflow: hidden;
  color: #fff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }

  #productsSpTop *,
  #productsSpTop *::before,
  #productsSpTop *::after { box-sizing: border-box; }

  #productsSpTop #loader {
    background-color: #000;
    background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_loader.png");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 35px auto;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 102;
    }

#productsSpTop img { width: 100%; }

#productsSpTop a {
  display: inline-block;
  opacity: 1;
  color: #bb9c5c;
  transition: opacity 0.2s ease-in;
  text-decoration: underline;
  }

#productsSpTop a:hover { opacity: 0.6; }






/**
 * ================================================================================
 * Parts Settings
 * ================================================================================
 */


/**
 * Wrapper
 * -------------------------------
 */

#productsSpTop .p-wrapper {
  width: 1100px;
  margin: 0 auto;
  position: relative;
  }



/**
 * Column
 * -------------------------------
 */

#productsSpTop .p-cols {
  list-style: none;
  letter-spacing: -.40em;
  }

  #productsSpTop .p-cols .p-col {
    display: inline-block;
    letter-spacing: normal;
    vertical-align: top;
    }



/**
 * Lists / Comments
 * -------------------------------
 */

#productsSpTop .p-lists,
#productsSpTop .p-comments { list-style: none; }

  #productsSpTop .p-lists > li,
  #productsSpTop .p-comments > li {
    padding-left: 1em;
    text-indent: -1em;
    }



/**
 * Title
 * -------------------------------
 */

#productsSpTop .p-secTtl01 {
  margin-bottom: 80px;
  text-align: center;
  }

  #productsSpTop .p-secTtl01 > span {
    display: block;
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1;
    }

  #productsSpTop .p-secTtl01 > span.c-ffRobotoCond {
    margin-bottom: 20px;
    font-size: 10.0rem;
    font-weight: 300;
    letter-spacing: -0.04em;
    }

    #productsSpTop .p-secTtl01 > span.c-ffRobotoCond > strong {
      color: #bb9c5c;
      font-weight: 700;
      }



/**
 * Button
 * -------------------------------
 */

#productsSpTop .p-btns {
  margin: -20px 0 0 -20px;
  list-style: none;
  letter-spacing: -.40em;
  text-align: center;
  }

  #productsSpTop .p-btns .p-btn { padding: 20px 0 0 20px; }


#productsSpTop .p-btn {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
  }

  #productsSpTop .p-btn > * {
    display: block;
    min-width: 450px;
    padding: 15px;
    border: 2px solid #bb9c5c;
    color: #fff;
    text-align: center;
    border-radius: 10px;
    }

    #productsSpTop .p-btn > * > span {
      display: inline-block;
      padding: 0 15px;
      position: relative;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.4;
      }

      #productsSpTop .p-btn > * > span::after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: 1px solid #bb9c5c;
        border-right: 1px solid #bb9c5c;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%) rotate(45deg);
        }



/**
 * Link
 * -------------------------------
 */

#productsSpTop .p-linkYoutube { text-align: center; }

  #productsSpTop .p-linkYoutube > a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    }

  #productsSpTop .p-linkYoutube dl {
    display: inline-block;
    padding-left: 100px;
    position: relative;
    text-align: left;
    line-height: 1.4;
    }

    #productsSpTop .p-linkYoutube dl:before {
      content: "";
      background-image: url("/files/cdb/ZZ/products/d-mirror/top/2210/zz_products_d-mirror_top_icon-youtube.svg");
      background-repeat: no-repeat;
      background-size: 100% auto;
      width: 80px;
      height: 80px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      }

    #productsSpTop .p-linkYoutube dl > dt {
      display: block;
      margin-bottom: 7px;
      font-size: 13px;
      }

    #productsSpTop .p-linkYoutube dl > dd {}

      #productsSpTop .p-linkYoutube dl > dd > p {
        font-size: 14px;
        font-weight: 700;
        }

      #productsSpTop .p-linkYoutube dl > dd > p > * {
        color: #ed0038;
        font-size: 18px;
        font-weight: 700;
        text-decoration: underline;
        }



/**
 * More
 * -------------------------------
 */

#productsSpTop .p-more { display: inline-block; }

  #productsSpTop .p-more > * {
    display: block;
    color: #fff;
    }

    #productsSpTop .p-more > * > span {
      display: inline-block;
      padding-right: 15px;
      position: relative;
      font-size: 1.5rem;
      font-weight: 500;
      line-height: 1.4;
      }

      #productsSpTop .p-more> * > span::after {
        content: "";
        width: 8px;
        height: 8px;
        border-top: 1px solid #bb9c5c;
        border-right: 1px solid #bb9c5c;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%) rotate(45deg);
        }

    




/**
 * ================================================================================
 * Content Settings
 * ================================================================================
 */


/**
 * UCL
 * -------------------------------
 */

#productsSpTop #ucl {
  background-color: #333;
  display: flex;
  height: 73px;
  align-items: center;
  justify-content: center;
  text-align: center;
  }

  #productsSpTop #ucl > dl {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    }

    #productsSpTop #ucl > dl > dt { display: block; }

      #productsSpTop #ucl > dl > dt img { width: 264px; }

    #productsSpTop #ucl > dl > dd {
      padding-left: 25px;
      margin-left: 25px;
      position: relative;
      color: #fff;
      font-size: 17px;
      font-weight: 700;
      }

      #productsSpTop #ucl > dl > dd:before {
        content: "";
        background-color: #fff;
        width: 2px;
        height: 20px;
        position: absolute;
        left: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        }


  
/**
 * Main Visual
 * -------------------------------
 */

#productsSpTop #mv { position: relative; }

  #productsSpTop #mv .mvInner {
    background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_mv-bg.jpg");
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: 100% auto;
    position: relative;
    z-index: 1;
    }

  #productsSpTop #mv .mvTtl {
    width: calc(100vw * (600 / 1700));
    margin-left: calc(100vw * (45 / 1700));
    position: absolute;
    top: calc(100vw * (185 / 1700));
    left: 50%;
    z-index: 2;
    }

    #productsSpTop #mv .mvTtl > span {
      display: block;
      text-align: center;
      }

    #productsSpTop #mv .mvTtl > span:nth-of-type(1) {
      margin-bottom: calc(100vw * (50 / 1700));
      line-height: 1;
      }

      #productsSpTop #mv .mvTtl > span:nth-of-type(1) img { width: calc(100vw * (160 / 1700)); }

    #productsSpTop #mv .mvTtl > span:nth-of-type(2) {
      margin-bottom: calc(100vw * (50 / 1700));
      font-size: calc(100vw * (87 / 1700));
      font-weight: 700;
      letter-spacing: -0.04em;
      line-height: 0.9;
      }

      #productsSpTop #mv .mvTtl > span:nth-of-type(2) > strong { color: #bb9c5c; }

    #productsSpTop #mv .mvTtl > span:nth-of-type(3) {
      font-size: calc(100vw * (21 / 1700));
      font-weight: 700;
      line-height: 1.4;
      }

  #productsSpTop #mv .mvImg {
    position: relative;
    z-index: 1;
    }

    #productsSpTop #mv .mvImg > div {
      width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      line-height: 1;
      }
    #productsSpTop #mv .mvImg > div:nth-of-type(1) { position: relative; }

  #productsSpTop #mv .mvMovie {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    }

    #productsSpTop #mv .mvMovie video { width: 100%; }



/**
 * Lead
 * -------------------------------
 */

#productsSpTop #lead {
  margin-bottom: 300px;
  position: relative;
  z-index: 2;
  text-align: center;
  }

  #productsSpTop #lead .p-linkYoutube {
    margin-top: calc(100vw * (120 / 1700));
    margin-bottom: 250px;
    position: relative;
    z-index: 2;
    }

  #productsSpTop #lead .leadBanner {
    margin-top: calc(100vw * (105 / 1700));
    margin-bottom: 240px;
    position: relative;
    z-index: 2;
    }

    #productsSpTop #lead .leadBanner > li { margin-top: 70px; }
    #productsSpTop #lead .leadBanner > li:nth-of-type(1) { margin-top: 0; }

      #productsSpTop #lead .leadBanner > li > a {
        display: block;
        color: #0082ff;
        text-decoration: none;
        }

    #productsSpTop #lead .leadBanner dl { text-align: center; }

      #productsSpTop #lead .leadBanner dl > dt {
        display: block;
        margin-bottom: 10px;
        }

      #productsSpTop #lead .leadBanner dl > dd { font-size: 1.8rem; }

  #productsSpTop #lead .leadTtl {
    position: relative;
    z-index: 2;
    }

    #productsSpTop #lead .leadTtl > span {
      font-size: 5.0rem;
      font-weight: 900;
      line-height: 1;
      }

  #productsSpTop #lead .leadInner {
    padding-top: 560px;
    position: relative;
    z-index: 1;
    text-align: center;
    }

    #productsSpTop #lead .leadInner > dt {
      width: 1700px;
      position: absolute;
      top: -180px;
      left: 50%;
      z-index: -1;
      transform: translateX(-50%);
      }

    #productsSpTop #lead .leadInner > dd {}

      #productsSpTop #lead .leadInner > dd > a {
        display: inline-block;
        width: 976px;
        padding-top: 50px;
        padding-bottom: 50px;
        position: relative;
        z-index: 1;
        }

        #productsSpTop #lead .leadInner > dd > a::before {
          content: "";
          background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_lead-link-bg.png");
          background-repeat: no-repeat;
          background-size: 100% auto;
          width: 424px;
          height: 54px;
          position: absolute;
          left: 50%;
          top: -27px;
          transform: translateX(-50%);
          }

        #productsSpTop #lead .leadInner > dd > a > span { display: block; }

          #productsSpTop #lead .leadInner > dd > a > span::before,
          #productsSpTop #lead .leadInner > dd > a > span::after {
            content: "";
            background: linear-gradient(90deg, rgba(187,156,92,0) 0%, rgba(187,156,92,1) 20%, rgba(187,156,92,1) 50%, rgba(187,156,92,1) 80%, rgba(187,156,92,0) 100%);
            width: 100%;
            height: 1px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            }
          #productsSpTop #lead .leadInner > dd > a > span::before { top: 0; }
          #productsSpTop #lead .leadInner > dd > a > span::after { bottom: 0; }

          #productsSpTop #lead .leadInner > dd > a > span img { width: 555px; }



/**
 * Lineup
 * -------------------------------
 */

#productsSpTop #lineup {
  position: relative;
  z-index: 2;
  }

  #productsSpTop #lineup .p-secTtl01 { margin-bottom: 130px; }

  #productsSpTop #lineup .lineupListsTtl {
    margin-bottom: 50px;
    position: relative;
    z-index: 1;
    }

    #productsSpTop #lineup .lineupListsTtl::before {
      content: "";
      background-repeat: no-repeat;
      background-position: right 0;
      background-size: auto 100%;
      width: 100%;
      height: 51px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      }

    #productsSpTop #lineup .lineupListsTtl > span {
      display: block;
      font-size: 2.0rem;
      font-weight: 700;
      line-height: 1.4;
      }

    #productsSpTop #lineup .lineupListsTtl > span.c-ffRobotoCond {
      margin-bottom: 15px;
      font-size: 4.0rem;
      font-weight: 400;
      line-height: 1.2;
      }

      #productsSpTop #lineup .lineupListsTtl > span.c-ffRobotoCond > strong {
        color: #bb9c5c;
        font-weight: 400;
        }

  #productsSpTop #lineup .lineupListsBanner {}

    #productsSpTop #lineup .lineupListsBanner > li { margin-top: 30px; }
    #productsSpTop #lineup .lineupListsBanner > li:nth-of-type(1) { margin-top: 0; }

  #productsSpTop #lineup .lineupLists01 {
    padding-bottom: 85px;
    margin-bottom: 60px;
    border-bottom: 1px solid #4d4d4d;
    }

    #productsSpTop #lineup .lineupLists01 .lineupListsTtl { margin-bottom: 10px; }

      #productsSpTop #lineup .lineupLists01 .lineupListsTtl::before { background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_lineuplists01-logos.png"); }

    #productsSpTop #lineup .lineupLists01 .lineupLists01Products {
      margin: 0 -20px;
      letter-spacing: -.40em;
      text-align: center;
      }

      #productsSpTop #lineup .lineupLists01 .lineupLists01Products > li {
        display: inline-block;
        width: 25%;
        letter-spacing: normal;
        vertical-align: top;
        }

        #productsSpTop #lineup .lineupLists01 .lineupLists01Products > li > * {
          display: block;
          color: #fff;
          }

      #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsInner > dt {
        display: block;
        margin-bottom: 30px;
        }

      #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsInner > dd { display: inline-block; }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsInner > dd > * { text-align: left; }

      #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsNew { margin-bottom: 5px; }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsNew > span {
          background-color: #bb9c5c;
          display: inline-block;
          padding: 2px 10px;
          color: #000;
          font-size: 1.5rem;
          font-weight: 700;
          line-height: 1;
          border-radius: 4px;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsRelease {
          margin-bottom: 10px;
          color: #bb9c5c;
          font-size: 1.3rem;
          line-height: 1.4;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsName {
          margin-bottom: 10px;
          font-size: 4.3rem;
          line-height: 1;
          letter-spacing: -0.06em;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsTxt {
          color: #aaa;
          font-size: 1.7rem;
          line-height: 1.4;
          }

    #productsSpTop #lineup .lineupLists01 .p-btns { padding-top: 80px; }

  #productsSpTop #lineup .lineupLists02 { padding-bottom: 160px; }

    #productsSpTop #lineup .lineupLists02 .lineupListsTtl::before { background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_lineuplists02-logos.png"); }

    #productsSpTop #lineup .lineupLists02 .lineupLists01Products > li > * {
      display: block;
      color: #fff;
      }

    #productsSpTop #lineup .lineupLists02 .lineupLists02ProductsInner { position: relative; }

      #productsSpTop #lineup .lineupLists02 .lineupLists02ProductsInner > dt {
        display: block;
        line-height: 1;
        position: relative;
        z-index: 1;
        }

      #productsSpTop #lineup .lineupLists02 .lineupLists02ProductsInner > dd {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        }

      #productsSpTop #lineup .lineupLists02 .lineupLists02ProductsName {
        padding-left: 80px;
        color: #aaa;
        font-size: 2.0rem;
        font-weight: 500;
        line-height: 1.4;
        }

      #productsSpTop #lineup .lineupLists02 .p-more {
        position: absolute;
        right: 20px;
        bottom: 15px;
        }

  #productsSpTop #lineup .lineupLists03 {
    padding: 100px 0 90px 0;
    position: relative;
    z-index: 1;
    }

    #productsSpTop #lineup .lineupLists03::before {
      content: "";
      background-color: #1a1a1a;
      width: 100vw;
      height: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      z-index: -1;
      transform: translateX(-50%);
      }

    #productsSpTop #lineup .lineupLists03 h3.lineupListsTtl {
      margin-top: -120px;
      margin-bottom: 100px;
      }

    #productsSpTop #lineup .lineupLists03 h4.lineupListsTtl { margin-bottom: 30px; }

      #productsSpTop #lineup .lineupLists03 .lineupListsTtl > span.c-ffRobotoCond { color: #aaa; }

    #productsSpTop #lineup .lineupLists03 .lineupLists03Products {
      margin-left: -85px;
      margin-top: -85px;
      padding: 140px 100px 0 100px;
      letter-spacing: -.40em;
      text-align: center;
      }

      #productsSpTop #lineup .lineupLists03 .lineupLists03Products > li {
        display: inline-block;
        width: 50%;
        padding-left: 85px;
        padding-top: 85px;
        letter-spacing: normal;
        vertical-align: top;
        }

        #productsSpTop #lineup .lineupLists03 .lineupLists03Products > li > * {
          display: block;
          color: #fff;
          text-decoration: none;
          }
        #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner {
          display: flex;
          align-items: center;
          margin-left: -85px;
          }

          #productsSpTop #lineup .lineupLists03 .lineupLists03ProductsInner > dt {
            display: block;
            line-height: 1;
            position: relative;
            z-index: 1;
            }

          #productsSpTop #lineup .lineupLists03 .lineupLists03ProductsInner > dd {
            margin-top: 20px;
            position: relative;
            text-align: left;
            }
      
          #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner > dt {
            width: 50%;
            padding-left: 85px;
            }

          #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner > dd {
            width: 50%;
            padding-left: 45px;
            margin-top: 0;
            }

          #productsSpTop #lineup .lineupLists03 .lineupLists03ProductsName {
            color: #aaa;
            font-size: 1.8rem;
            line-height: 1.4;
            }

          #productsSpTop #lineup .lineupLists03 .p-more {
            position: absolute;
            right: 0;
            top: 0;
            }

          #productsSpTop #lineup .lineupLists03 .c-w100Per .p-more {
            position: static;
            margin-top: 10px;
            }

  #productsSpTop #lineup .lineupBtn { padding-top: 110px; }

    #productsSpTop #lineup .lineupBtn .p-btn > * { border: 2px solid #666; }



/**
 * Bottom
 * -------------------------------
 */

#productsSpTop #bottom {
  padding-bottom: 120px;
  position: relative;
  z-index: 3;
  text-align: center;
  }

  #productsSpTop #bottom .bottomTtl {
    display: inline-block;
    margin-bottom: 80px;
    text-align: left;
    }

    #productsSpTop #bottom .bottomTtl > span {
      display: block;
      line-height: 0.8;
      }

    #productsSpTop #bottom .bottomTtl > span:nth-of-type(1) {
      margin-left: -5px;
      color: #bb9c5c;
      font-size: 14.4rem;
      font-weight: 700;
      letter-spacing: -0.04em;
      }

    #productsSpTop #bottom .bottomTtl > span:nth-of-type(2) {
      margin-top: 15px;
      font-size: 3.7rem;
      letter-spacing: -0.03em;
      }

  #productsSpTop #bottom .bottomLogo {}

    #productsSpTop #bottom .bottomLogo img { width: 160px; }



/**
 * Floating
 * -------------------------------
 */

#productsSpTop #m-floating > ul { margin-top: -10px; }

  #productsSpTop #m-floating > ul > li {
    display: block;
    margin-top: 10px;
    }


/* -- .sp-m-floatingYoutube -- */
#productsSpTop .sp-m-floatingYoutube {
  background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_floating-youtube-bg.svg");
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: 100% auto;
  }

  #productsSpTop .sp-m-floatingYoutube > a {
    display: block;
    height: 150px;
    position: relative;
    }

    #productsSpTop .sp-m-floatingYoutube > a > span { padding: 0 10px; }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) {
        display: flex;
        align-items: center;
        align-content: center;
        justify-content: center;
        flex-wrap: wrap;
        height: 75px;
        margin: 0;
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        }

        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong {
          display: block;
          margin-top: 2px;
          font-size: 18px;
          font-weight: 900;
          line-height: 1;
          }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > span { display: inline-block; }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > .c-ffRobotoCond {
            color: #ed0038;
            font-size: 24px;
            font-weight: 700;
            }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > span:nth-of-type(2) {
            font-size: 14px;
            font-weight: 700;
            }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > span:nth-of-type(3) {
            font-size: 18px;
            font-weight: 900;
            }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(2) { display: none; }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) {
        display: flex;
        align-items: center;
        align-content: center;
        flex-wrap: wrap;
        height: 75px;
        padding-right: 45px;
        
        text-align: left;
        }

        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span {
          font-size: 17px;
          font-weight: 700;
          line-height: 1.2;
          position: relative;
          }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span:after {
            content: "";
            background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_floating-icon_arrow01.svg");
            background-repeat: no-repeat;
            background-position: 50% 0;
            background-size: 100% auto;
            display: inline-block;
            width: 25px;
            height: 25px;
            position: absolute;
            bottom: -3px;
            right: 7px;
            }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span > span {
            display: inline;
            font-size: 10px;
            font-weight: 700;
            }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(4) {
        width: 47px;
        height: 66px;
        margin: 0;
        padding: 0;
        position: absolute;
        right: 5px;
        bottom: 2px;
        }

        #productsSpTop .da-m-floatingWebinar > a > span > span:nth-of-type(4):before,
        #productsSpTop .da-m-floatingWebinar > a > span > span:nth-of-type(4):after { display: none; }

        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(4) img { width: 100%; }







/**
 * ================================================================================
 * Other Settings
 * ================================================================================
 */
  

/* -- Font Family -- */
.c-ffRobotoCond { font-family: "Roboto Condensed", sans-serif !important; }
.c-ffRoboto { font-family: "Roboto", sans-serif !important; }








@media only screen and (min-width: 768px) and (max-width: 1279px) {
  
  
/**
 * ================================================================================
 * Top Settings
 * ================================================================================
 */
  
  
/**
 * Main Visual
 * -------------------------------
 */

#productsSpTop #mv .mvTtl {
  width: calc(1280px * (600 / 1700));
  margin-left: calc(1280px * (45 / 1700));
  top: calc(1280px * (185 / 1700));
  }

  #productsSpTop #mv .mvTtl > span:nth-of-type(1) { margin-bottom: calc(1280px * (50 / 1700)); }

    #productsSpTop #mv .mvTtl > span:nth-of-type(1) img { width: calc(1280px * (160 / 1700)); }

  #productsSpTop #mv .mvTtl > span:nth-of-type(2) {
    margin-bottom: calc(1280px * (50 / 1700));
    font-size: calc(1280px * (87 / 1700));
    }

  #productsSpTop #mv .mvTtl > span:nth-of-type(3) { font-size: calc(1280px * (21 / 1700)); }
  
  
  
/**
 * Lead
 * -------------------------------
 */
  
#productsSpTop #lead .p-linkYoutube { margin-top: calc(1280px * (120 / 1700)); }
  
#productsSpTop #lead .leadBanner { margin-top: calc(1280px * (105 / 1700)); }
  
  
  
/**
 * Lineup
 * -------------------------------
 */
  
#productsSpTop #lineup .lineupLists03::before { width: 1280px; }
  
  
}








@media only screen and (min-width: 0px) and (max-width: 767px) { 
  
  
/**
 * ================================================================================
 * Basic Structure
 * ================================================================================
 */ 
    
#headerNavArea {
  position: absolute;
  z-index: 500;
  }

#productsSpTop { font-size: 12px; }
  
  #productsSpTop #loader { background-size: 30px auto; }
  

 /* -- Link -- */
#productsSpTop a:hover,
#productsSpTop a:hover img { opacity: 1; } 
  

/* -- Image -- */
#productsSpTop img { width: 100%; }
  
  
  
  
  
  
/**
 * ================================================================================
 * Common Settings
 * ================================================================================
 */


/**
 * Wrapper
 * -------------------------------
 */

#productsSpTop .p-wrapper {
  width: 100%;
  padding: 0 15px;
  }

  

/**
 * Lists / Comments
 * -------------------------------
 */

#productsSpTop .p-lists,
#productsSpTop .p-comments {}
  
  
  
/**
 * Title
 * -------------------------------
 */

/* -- .p-secTtl01 -- */
#productsSpTop .p-secTtl01 { margin-bottom: 40px; }

  #productsSpTop .p-secTtl01 > span { font-size: 1.2rem; }

  #productsSpTop .p-secTtl01 > span.c-ffRobotoCond {
    margin-bottom: 8px;
    font-size: 4.2rem;
    }
  
  

/**
 * Button
 * -------------------------------
 */

#productsSpTop .p-btns { margin: -10px 0 0 -10px; }

  #productsSpTop .p-btns .p-btn { padding: 10px 0 0 10px; }


#productsSpTop .p-btn {}

  #productsSpTop .p-btn > * {
    min-width: 80vw;
    padding: 10px;
    border: 1px solid #bb9c5c;
    border-radius: 5px;
    }

    #productsSpTop .p-btn > * > span {
      padding: 0 10px;
      font-size: 1.2rem;
      }

      #productsSpTop .p-btn > * > span::after {
        width: 6px;
        height: 6px;
        }
  
  
  
/**
 * Link
 * -------------------------------
 */
  
#productsSpTop .p-linkYoutube {}
  
  #productsSpTop .p-linkYoutube dl { padding-left: 70px; }

    #productsSpTop .p-linkYoutube dl:before {
      width: 55px;
      height: 55px;
      }

    #productsSpTop .p-linkYoutube dl > dt {
      margin-bottom: 5px;
      font-size: 10px;
      }

    #productsSpTop .p-linkYoutube dl > dd {}

      #productsSpTop .p-linkYoutube dl > dd > p { font-size: 11px; }

      #productsSpTop .p-linkYoutube dl > dd > p > * { font-size: 13px; }



/**
 * More
 * -------------------------------
 */

#productsSpTop .p-more {}

  #productsSpTop .p-more > * > span {
    padding-right: 10px;
    font-size: 1.1rem;
    }

    #productsSpTop .p-more > * > span::after {
      width: 6px;
      height: 6px;
      }

  
  
  
  
  
/**
 * ================================================================================
 * Content Settings
 * ================================================================================
 */
  
  
/**
 * UCL
 * -------------------------------
 */

#productsSpTop #ucl {
  display: block;
  height: auto;
  padding: 5px 10px 10px 10px;
  }

  #productsSpTop #ucl > dl { display: block; }

    #productsSpTop #ucl > dl > dt {}

      #productsSpTop #ucl > dl > dt img { width: 60%; }

    #productsSpTop #ucl > dl > dd {
      padding-left: 0;
      margin-left: 0;
      padding-top: 10px;
      font-size: 12px;
      }

      #productsSpTop #ucl > dl > dd:before {
        width: 20px;
        height: 1px;
        left: 50%;
        top: 0;
        -webkit-transform: translate(-50%, 0);
        transform: translate(-50%, 0);
        }


  
/**
 * Main Visual
 * -------------------------------
 */

#productsSpTop #mv { padding-bottom: calc(100vw * (400 / 640)) }

  #productsSpTop #mv .mvInner { background-image: url("/files/cdb/ZZ/products/speaker/top/2405/zz_products_speaker_top_mv-bg-sp.jpg"); }

  #productsSpTop #mv .mvTtl {
    width: 100%;
    margin-left: 0;
    top: calc(100vw * (185 /640) * 2.2);
    transform: translateX(-50%);
    }

    #productsSpTop #mv .mvTtl > span:nth-of-type(1) { margin-bottom: calc(100vw * (50 / 640) * 0.8); }

      #productsSpTop #mv .mvTtl > span:nth-of-type(1) img { width: calc(100vw * (160 / 640) * 0.8); }

    #productsSpTop #mv .mvTtl > span:nth-of-type(2) {
      margin-bottom: calc(100vw * (50 / 640) * 0.8);
      font-size: calc(100vw * (87 / 640) * 0.8);
      }

    #productsSpTop #mv .mvTtl > span:nth-of-type(3) { font-size: calc(100vw * (21 / 640) * 0.8); }

  #productsSpTop #mv .mvMovie { display: none; }



/**
 * Lead
 * -------------------------------
 */

#productsSpTop #lead { margin-bottom: 80px; }

  #productsSpTop #lead .p-linkYoutube {
    margin-top: calc(100vw * (120 / 640) * 0.8);
    margin-bottom: 20px;
    }
  
  #productsSpTop #lead .leadBanner {
    margin-top: calc(100vw * (105 / 640) * 0.8);
    margin-bottom: 70px;
    }
  
    #productsSpTop #lead .leadBanner > li { margin-top: 15px; }

    #productsSpTop #lead .leadBanner dl > dt { margin-bottom: 5px; }

    #productsSpTop #lead .leadBanner dl > dd { font-size: 1.2rem; }

  #productsSpTop #lead .leadTtl {}

    #productsSpTop #lead .leadTtl > span { font-size: 2.2rem; }

  #productsSpTop #lead .leadInner { padding-top: calc(100vw * (560 / 640) * 0.7); }

    #productsSpTop #lead .leadInner > dt {
      width: calc(100vw * (1700 / 640) * 0.8);
      top: calc(100vw * (-180 / 640) * 0.9);
      }

    #productsSpTop #lead .leadInner > dd {}
  
      #productsSpTop #lead .leadInner > dd > a {
        width: 100%;
        padding-top: 20px;
        padding-bottom: 20px;
        }

        #productsSpTop #lead .leadInner > dd > a::before {
          width: calc(424px * 0.5);
          height: calc(54px * 0.5);
          top: calc(-27px * 0.5);
          }

          #productsSpTop #lead .leadInner > dd > a > span img { width: calc(555px * 0.5); }

  
  
/**
 * Lineup
 * -------------------------------
 */

#productsSpTop #lineup {}

  #productsSpTop #lineup::before {
    height: calc(100vw * (600 / 640));
    top: -50px;
    }

  #productsSpTop #lineup .p-secTtl01 { margin-bottom: 50px; }

  #productsSpTop #lineup .lineupListsTtl { margin-bottom: 25px; }

    #productsSpTop #lineup .lineupListsTtl::before { height: calc(51px * 0.5); }

    #productsSpTop #lineup .lineupListsTtl > span { font-size: 1.3rem; }

    #productsSpTop #lineup .lineupListsTtl > span.c-ffRobotoCond {
      margin-bottom: 10px;
      font-size: 2.4rem;
      }
  
  #productsSpTop #lineup .lineupListsBanner {}

    #productsSpTop #lineup .lineupListsBanner > li { margin-top: 15px; }

  #productsSpTop #lineup .lineupLists01 {
    padding-bottom: 35px;
    margin-bottom: 30px;
    }

    #productsSpTop #lineup .lineupLists01 .lineupListsTtl { margin-bottom: 0; }

    #productsSpTop #lineup .lineupLists01 .lineupLists01Products { margin: -25px -10px 0 -10px;  }

      #productsSpTop #lineup .lineupLists01 .lineupLists01Products > li {
        width: 50%;
        padding-top: 5px;
        }
  
      #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsInner > dt { margin-bottom: 5px; }

      #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsNew { margin-bottom: 3px; }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsNew > span {
          padding: 1px 5px;
          font-size: 1.0rem;
          border-radius: 2px;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsRelease {
          margin-bottom: 5px;
          font-size: 1.1rem;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsName {
          margin-bottom: 5px;
          font-size: 2.4rem;
          }

        #productsSpTop #lineup .lineupLists01 .lineupLists01ProductsTxt { font-size: 1.2rem; }

    #productsSpTop #lineup .lineupLists01 .p-btns { padding-top: 30px; }

  #productsSpTop #lineup .lineupLists02 { padding-bottom: 50px; }

      #productsSpTop #lineup .lineupLists02 .lineupLists02ProductsName {
        padding-left: 20px;
        font-size: 1.3rem;
        }

      #productsSpTop #lineup .lineupLists02 .p-more {
        right: 10px;
        bottom: 5px;
        }

  #productsSpTop #lineup .lineupLists03 { padding: 40px 0 30px 0; }

    #productsSpTop #lineup .lineupLists03 h3.lineupListsTtl {
      margin-top: -55px;
      margin-bottom: 30px;
      }
  
    #productsSpTop #lineup .lineupLists03 h4.lineupListsTtl { margin-bottom: 20px; }

    #productsSpTop #lineup .lineupLists03 .lineupLists03Products {
      margin-left: -10px;
      margin-top: -30px;
      padding: 60px 0 0 0;
      }

      #productsSpTop #lineup .lineupLists03 .lineupLists03Products > li {
        width: 50%;
        padding-left: 10px;
        padding-top: 30px;
        }

        #productsSpTop #lineup .lineupLists03 .lineupLists03Products > li > * {
          display: block;
          color: #fff;
          text-decoration: none;
          }
  
        #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner { margin-left: -10px; }
  
          #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner > dt { padding-left: 10px; }

          #productsSpTop #lineup .lineupLists03 .lineupLists03ProductsInner > dd {
            margin-top: 10px;
            padding: 0 5px;
            }

          #productsSpTop #lineup .lineupLists03 .c-w100Per .lineupLists03ProductsInner > dd {
            padding-left: 10px;
            margin-top: 0;
            }

      #productsSpTop #lineup .lineupLists03 .lineupLists03ProductsName { font-size: 1.2rem; }

      #productsSpTop #lineup .lineupLists03 .p-more {
        width: 100%;
        margin-top: 3px;
        position: static;
        }
  
      #productsSpTop #lineup .lineupLists03 .c-w100Per .p-more { margin-top: 3px; }

  #productsSpTop #lineup .lineupBtn { padding-top: 40px; }

    #productsSpTop #lineup .lineupBtn .p-btn > * { border: 1px solid #666; }


  
  
/**
 * Floating
 * -------------------------------
 */
  
#productsSpTop #m-floating > ul {
  display: flex;
  align-items: stretch;
  margin-top: 0;
  }

  #productsSpTop #m-floating > ul > li {
    display: inline-block;
    width: 50%;
    margin-top: 0;
    border-left: 1px solid #000;
    }
  
  #productsSpTop #m-floating > ul > li:nth-of-type(1) { border-left: none; }
  
    #productsSpTop #m-floating > ul > li > a { height: 100px; }


/* -- .sp-m-floatingYoutube -- */
#productsSpTop .sp-m-floatingYoutube {
  background-image: none;
  background-color: #ed0038;
  }

  #productsSpTop .sp-m-floatingYoutube > a { height: auto; }
  
    #productsSpTop .sp-m-floatingYoutube > a > span { padding: 0; }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) {
        background-color: #1a1a1a;
        height: 50px;
        padding: 8px 5px;
        color: #fff;
        font-size: 11px;
        }
  
        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong {
          margin-top: 3px;
          font-size: 13px;
          }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > .c-ffRobotoCond { font-size: 20px; }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > span:nth-of-type(2) { font-size: 10px; }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(1) > strong > span:nth-of-type(3) {
            font-size: 15px;
            font-weight: 900;
            }

      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) {
        display: flex;
        justify-content: center;
        height: 50px;
        padding: 8px 30px 8px 5px;
        text-align: center;
        }
  
        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span {
          font-size: 14px;
          line-height: 1.3;
          }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span:after {
            width: calc(20px * 0.8);
            height: calc(20px * 0.8);
            position: relative;
            top: 3px;
            right: -5px;
            }

          #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(3) > span > span {
            display: inline;
            font-size: 11px;
            font-weight: 700;
            }
  
      #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(4) {
        width: calc(47px * 0.6);
        height: calc(66px * 0.6);
        right: 3px;
        bottom: 0;
        }
  
        #productsSpTop .sp-m-floatingYoutube > a > span > span:nth-of-type(4) img {
          width: auto;
          height: 100%;
          position: absolute;
          bottom: 0;
          right: 0;
          }
  

}