@charset "UTF-8";

.section {
    margin-top: 100px;
    margin-bottom: 100px;
}
.section-padding {
    padding-bottom: 100px;
}
/* ---------------
   Typography
--------------- */
.huge {
  font-size: 6rem; }

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

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

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

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

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

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

/* ==========================================================================
   Intro
========================================================================== */
#intro .ttl {
  margin-bottom: -3.75rem;
}
#intro .sub_ttl {
  margin-top: -1.5rem;
}
#intro .sub_ttl h3 {
  font-size: 2.4rem;
}
#intro .sub_ttl h4 {
  font-size: 1.2rem;
  margin-top: 10px;
}
/* ==========================================================================
   Product
========================================================================== */

#product .productList .txtBox .inner {
    padding: 17.5vh 40px 0;
}
#product .productList .txtBox h2 {
    top: -2rem;
    left: -10px;
    font-size: 3.6rem;
}
#product .productList .txtBox .detail {
    margin-top: 2rem;
}
#product .productList .txtBox .num {
    font-size: 1.6rem;
}
#product .productList .txtBox .size {
    font-size: 1.0rem;
    font-weight: 500;
    margin-top: .5em;
}
#product .productList .txtBox .price {
    font-size: 1.1rem;
    margin-top: .75em;
    line-height: 1.6;
}
#product .productList .slideBox {
    height: 65vh;
    max-height: 120vw;
}

@media only screen and (max-width: 767px) {
  #product .productList .imgBox {
      height: 150vw;
  }
}
@media only screen and (min-width: 768px) {
  #product .productList .slideBox {
      max-height: 60vw;
  }
}
/* ==========================================================================
   Concept
========================================================================== */
#concept .huge {
  font-size: 10rem;
  margin: 0; 
}
#concept .imgBox {
  margin-top: 50px;
}
#concept h2 {
    font-size: 3rem;
}
/* ==========================================================================
   Feature
========================================================================== */
#feature {
  margin-top: 0;
  padding-top: 60px;
  padding-bottom: 60px;
}
#feature::before {
  height: 100px;
}
#feature .txtBox {
  padding-bottom: 40px;
}
#feature .txtBox h2 {
  line-height: 1;
  padding-top: 10px;
    font-size: 3rem;
}
#feature .txtBox h2::before {
  content: '';
  display: block;
  height: 100px;
  width: 1px;
  background-color: currentColor;
  position: absolute;
  bottom: 100%;
  left: 20px;
}
#feature .txtBox h3 {
  font-size: 1.6rem;
  line-height: 2;
}

@media only screen and (max-width: 767px) {
  #feature .imgBox {
    padding-left: 0;
    margin-top: 44px;
    margin-bottom: 50px;
  }
}

@media only screen and (min-width: 768px) {
  #feature .content__header {
    position: absolute;
    top: 0;
    transform: translateY(-80%);
  }
  #feature .txtBox h2 span {
    padding-left: 25px;
    margin-left: -25px;
  }
  #feature .reverse .txtBox h2 span {
    display: inline-block;
    padding-right: 25px;
  }
  #feature .txtBox h2::before {
    content: '';
    display: block;
    width: calc(100% + 100px);
    height: 1px;
    background-color: currentColor;
    position: absolute;
    top: 50%;
    right: 0;
    left: auto;
  }
  #feature .reverse .txtBox h2::before {
    left: 0;
  }
  #feature .txtBox h3 {
    line-height: 1.5;
  }
  #feature .txtBox p {
    margin-top: 15px;
  }
}
/* ==========================================================================
   Store List
========================================================================== */
#store-list .storeList li.store > div{
  font-size: 1.1rem;
  padding: 0.45rem 0;
}
#store-list .storeList li.store > div.name{
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.4rem 0 1rem;
}
@media only screen and (max-width: 575px) {
  #store-list .storeList {
    margin-right: -20px;
    margin-left: -20px;
  }
}

/* ---------------
   EC
--------------- */
#ec .slide figure {
  margin-bottom: 15px;
}
#ec .slide .size {
  font-size: .9rem;
}
#ec .slide .price {
  font-size: 1rem;
}

@media only screen and (max-width: 767px) {
  #ec::before {
    top: 200px;
  }
    #ec .slider {
      display: flex;
      flex-wrap: wrap;
      padding: 10px;
  }
  #ec .slide {
      display: block;
      float: none;
      flex: 0 0 50%;
      padding: 0 10px 25px;
  }
  #ec .slide:nth-last-of-type(-n+2) {
      padding-bottom: 0;
  }
  #ec .slider-controls-wrap {
    display: none;
  }
  #ec .more {
    margin-top: 50px;
  }
}

@media only screen and (min-width: 768px) {
  #ec::before {
    top: 200px;
  }
  #ec .ec-slider {
    overflow: hidden;
    margin-right: auto;
    margin-left: calc((100vw - 660px)/2);
  }
  #ec .slider {
    width: 660px;
  }
  #ec .slick-list{
    overflow: visible;
  }
  #ec .slide {
    padding-right: 30px;
  }
}