@charset "UTF-8";


/* ---------------
   Typography
--------------- */
.huge {
  font-size: 10rem; }

h1, .h1 {
  font-size: 3.5rem; }

h2, .h2 {
  font-size: 4rem; }

h3, .h3 {
  font-size: 1.5rem; }

h4, .h4 {
  font-size: 1.4rem; }

h5, .h5 {
  font-size: 1.2rem; }

h6, .h6 {
  font-size: 1rem; }

/* ==========================================================================
   MV
========================================================================== */
#mv .txtBox {
  padding-right: 100px;
  padding-left: 100px;
}

/* ==========================================================================
   Intro
========================================================================== */
#intro .ttl {
  margin-bottom: -6.5rem;
}
#intro .sub_ttl {
  margin-top: -2.5rem;
}
#intro .sub_ttl h4 {
  margin-top: 12px;
}

/* ==========================================================================
   Product
========================================================================== */
#product .productList .txtBox .inner {
    padding: 140px 10vw 0;
}
#product .productList .txtBox h2 {
    top: -2rem;
    left: -4vw;
}
#product .productList .txtBox .detail {
    position: absolute;
    top: 3rem;
    left: -4vw;
}
#product .productList .txtBox .detail.lng  {
    top: 7rem;
}

#product .productList .txtBox .num {
    font-size: 1.4rem;
}
#product .productList .txtBox .size {
    font-size: 1.1rem;
    font-weight: 500;
    margin-top: .75em;
}
#product .productList .txtBox .price {
    font-size: 1.2rem;
    margin-top: .75em;
    line-height: 1.6;
}
#product .productList .slideBox {
    height: calc(100vh - 220px);
}

/* ==========================================================================
   Concept
========================================================================== */
@media only screen and (min-width: 1200px) {
  #concept .imgBox {
    padding-left: 46.66px;
  }
}
/* ==========================================================================
   Feature
========================================================================== */
#feature {
    margin-top: 0;
    margin-bottom: 180px;
    padding-top: 100px;
    padding-bottom: 100px;
}
#feature::before,
#feature::after {
  height: 200px;
}
#feature .content__header {
  margin-bottom: 50px;
}

#feature .container {
    padding-right: 40px;
    padding-left: 40px;
}
#feature .row {
    margin-right: -50px;
    margin-left: -50px;
}
#feature .row > .col,
#feature .row > [class*='col-'] {
  padding-right: 50px;
  padding-left: 50px;
}
#feature .txtBox h2 span {
  padding-left: 25px;
  margin-left: -25px;
    font-size: 3.5rem;
}
#feature .reverse .txtBox h2 span {
  display: inline-block;
  padding-right: 25px;
}
#feature .txtBox h2::before {
  content: '';
  display: block;
  width: calc(100% + 180px);
  height: 1px;
  background-color: currentColor;
  position: absolute;
  top: 50%;
  right: 0;
}
#feature .reverse .txtBox h2::before {
  left: 0;
}
#feature .imgBox img {
  width: 100%;
}

/* ==========================================================================
   Store List
========================================================================== */
#store-list .content__header .ttl {
  font-size: 3rem;
}
#store-list .storeList li.store{
  display: -ms-flexbox;
  display: flex;
  font-size: 1.3rem;
  line-height: 2rem;
}

#store-list .storeList li.store > div:nth-of-type(1){
  -ms-flex: 0 0 30%;
  flex: 0 0 30%;
  max-width: 30%;
    box-sizing: border-box;
    padding-right: 20px;
}
#store-list .storeList li.store > div:nth-of-type(2){
  -ms-flex: 0 0 55%;
  flex: 0 0 55%;
  max-width: 55%;
}
#store-list .storeList li.store > div:nth-of-type(3){
  -ms-flex: 0 0 15%;
  flex: 0 0 15%;
  max-width: 15%;
}

@media only screen and (max-width: 1199px) {
  #store-list .storeList li.store{
    letter-spacing: 0;
  }
}
/* ---------------
   EC
--------------- */
#ec::before {
  top: 300px;
}
#ec .content__header .ttl {
  font-size: 3rem;
}
#ec .ec-slider {
  overflow: hidden;
  margin-right: auto;
  margin-left: calc((100vw - 900px)/2);
}
#ec .slider {
  width: 900px;
}
#ec .slick-list{
  overflow: visible;
}
#ec .slide {
  padding-right: 50px;
}
#ec .slide figure {
  margin-bottom: 20px;
}
#ec .slide .num {
  font-size: 1.6rem;
}
#ec .slide .size {
  font-size: 1.1rem;
}
#ec .slide .price {
  font-size: 1.2rem;
}

@media only screen and (min-width: 1200px) {
  #ec .ec-slider {
    margin-left: calc((100vw - 1080px)/2);
  }
  #ec .slider {
    width: 1080px;
  }
}
@media only screen and (min-width: 1440px) {
  #ec .ec-slider {
    margin-left: calc((100vw - 1272px)/2);
  }
  #ec .slider {
    width: 1272px;
  }
}