@charset "utf-8";
/* BRANDページ下でletter-spacingをNormalize */
.contentBody {
  letter-spacing: normal;
  min-height: initial;
}

/*============================
 * BRAND一覧
 *============================*/

.category.brand {
  font-size: 7vw;
  font-weight: bold;
  width: 92vw;
  margin: 0 auto;
  padding-top: 50px;
  line-height: 1.0;
  font-family: Arial, Helvetica, 'Roboto', 'Noto Sans JP', sans-serif;
}

.index-brand {
  display: flex;
  width: 92vw;
  margin: 5.2vw auto 6.25vw;
  -webkit-justify-content: left;
  justify-content: left;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.index-brand:not(.second) {
  margin-bottom: 0;
}
.index-brand li {
  width: 45vw;
  margin: 0 0.5vw 1.4vw;
}

.index-brand img {
  display: block;
}
.index-brand div {
  width: 45vw;
  height: calc( 45vw * 345 / 656 );
  overflow: hidden;
}
.index-brand .thumb {
  width: 45vw;
  height: calc( 45vw * 345 / 656 );
  object-fit: cover;
  object-position: 50% 50%;
  font-family: 'object-fit: cover; object-position:50% 50%;';
}

.index-brand .logo {
  margin-left: 1.25vw;
  width: auto;
  height: 100px;
}

@media screen and (max-width: 768px ){
  .category.brand {
    font-size: 11.36vw;
    width: 86vw;
    margin: 0 auto;
    padding-top: 10vw;
  }
  .index-brand {
    width: 86vw;
    margin: 9vw auto 13.5vw;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
    .index-brand li {
    width: 86vw;
    margin: 0 0 5.6vw;
  }

  .index-brand div {
    width: 86vw;
    height: calc( 86vw * 345 / 656 );
  }
  .index-brand .thumb {
    width: 86vw;
    height: calc( 86vw * 345 / 656 );
  }
  
  .index-brand .logo {
    margin-left: 2.7vw;
    height: 75px;
  }
}

/*============================
 * BRAND
 *============================*/
 .brand .contentBody { margin-top: 0;}
 .icons .contentBody { margin-top: 0; padding-top: 150px;}
.hero {
  position: relative;
  width: 100%;
  height: 50vw;
  margin-bottom:8vw;
  background-color: #fff;
  overflow: hidden;
}
.icons .hero {
  height: 725px;
  min-height: 50vw;
  margin-bottom: 5vw;
}

.lead {
  box-sizing: border-box;
  font-weight: normal;
  line-height: 1.75;
  text-align: left;
  color: #848484;
}

.description {
  box-sizing: border-box;
  border-bottom: 1px solid #cccccc;
}

.description p {
  font-weight: normal;
  text-align: justify;
  letter-spacing: 1px;
  color: #333333;
}

.description .columns {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.description figure {
  display: block;
  width: 100%;
}
  .description .columns figure {
    width: 44vw;
  }
.description figure img {
  width: 100%;
  height: auto;
}
.description figcaption p {
  text-align: left;
  color: #333333;
}


@media screen and (max-width: 768px) {
/* 
 * SP HERO
 */
 .brand:not(.icons) .contentBody { margin-top: 0; padding-top: 30.3vw; }

  .hero {
    padding-top: 9.3vw;
    height: auto;
    background-color: #fff;
  }
    .icons .hero {
      padding-top:0;
      height: auto;
    }
  .hero .img-wrapper {
    width: 100vw;
    height: 77vw;
  }
  .icons .hero .img-wrapper {
    width: 92vw;
    height: 92vw;
    margin: 13.5vw auto 0;

  }

  .hero .category {
    position: absolute;
    top: 144.2vw;
    right: 20vw;
    font-size:12vw;
    font-weight: bold;
    color: #000;
    transform-origin: right top;
    transform: rotate(-90deg);
  }

  .hero .brandlogo {
    height: 15vw;
    text-align:left;
  }

  .titles {
    /* position: absolute; */
    margin: 23vw auto 0 8vw;
    width: 68vw;
    text-align:left;
  }
  .icons .titles {
    position: static;
    width: 77vw;
    margin-top: 3.5vw;
    margin-left: 7vw;
  }
  .hero-category {
    font-size: 5.8vw;
    font-weight: bold;
    text-align: left;
    color: #000;
  }

  .titles>div {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
  }
  .titles h2 {
    font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
    font-size: 3.2vw;
    font-weight: bold;
    width: 100%;
    margin-bottom: 3.2vw;
  }
  .titles p {
    text-align: left;
  }
    .icons .titles p {
      font-size: 2.8vw;
      width: 80vw;
      margin-left: auto;
      margin-right: auto;
      line-height: 2.0;
    }
  .titles .title  {
    font-size: 3.86vw;
    font-weight: bold;
    line-height: 2.0;
  }
  .titles .title span {
    display: block;
    font-size: 3.86vw;

  }
  /*
   * RELATED ITEM/PRODUCTS
   */
  .related {
    box-sizing: border-box;
    width: 100vw;
    text-align: left;
  }
    .icons .brand.related {
      padding-bottom: 19.3vw;
    }
  .related h2 span:lang(en) {
    display: inline-block;
    padding-left: 3.4vw;
    font-size: 11.3vw;
    text-align: left;
    line-height: 1.66;
    font-weight: bold;
    color: #000;
  }
    .brand.icons .icons.related h2 span:lang(en) {
      display: inline-block;
      padding-left: 3.4vw;
      font-size: 5.8vw;
      text-align: left;
      line-height: 1.66;
      font-weight: bold;
      color: #000;
      border-bottom: 1px solid #000;
    }
    .brand.icons .icons.related h2 span:lang(ja) {
      display: block;
      padding-top: 1vw;
      padding-left: 3.4vw;
      font-size: 2.9vw;
      text-align: left;
      line-height: 2.0;
      font-weight: bold;
      color: #000;
    }

 /*
  * STORY SEE MORE
  */
  .seemore {
    display: block;
    position: relative;
    box-sizing: border-box;
    margin:3vw 0 19vw auto;
    padding: 3vw 4vw;
    width: 100vw;
    height: 27vw;
    font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
    font-size: 7.2vw;
    font-weight: bold;
    background-color: #ecebeb; 
  }
  
  .seemore span {
    display: inline-block;
    font-size: 3.6vw;
    line-height:1.0;
    padding-bottom:2vw;
  }

  .back.seemore span {
    position:absolute;
    right: 5vw;
    bottom: 0;
    display: block;
    width: auto;
    height: 14.5vw;
  }
  .back.seemore span img {
    height: 100%;
  }
  .seemore::after {
    content:"";
    padding-left: 3.6vw;
    font-size: 5.4vw;
    width: 5vw;
    height: 4vw;
    font-size: 1.5rem;
    background:  url(../gs-images/common/arrow-pager.svg) no-repeat center bottom;
    background-size: 3vw auto;
    font-weight: normal;
    color: #4d4c4c;
  }
  

  .related-item ul {
    display: -webkit-flex;
    display: flex;
    width: 92vw;
    margin:6.5vw auto 11.5vw;
    -webkit-justify-content: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .related-item ul.list-items li {
    display: block;
    margin: 1vw 0.5vw 7vw;
    width: 45vw;
    text-align: left;
  }

  .related-item li p {
    text-align: left;
    color: #000;
  }
  .related-item img {
    display: block;
    margin-bottom: 3vw;
  }
  .related-item .target {
    font-size:2.415vw;
    line-height: 1.0;
    font-weight: bold;
  }
  .related-item .name {
    font-size:4.825vw;
    font-weight: bold;
  }
  .related-item .linktext {
    font-size:2.9vw;
    font-weight: normal;
  }
  section.icons { margin-bottom: 20vw; }
  .icons .wrap-search-list ul.list-items > li {
    margin: 0 auto 2.8vw;
    width: 92vw;
  }
  .icons .wrap-search-list ul.list-items > li img {
    width: 100%;
  }

.seemore::after {
  content:"";
  display: inline-block;
  margin-left: 2vw;
  width: 5vw;
  height: 4vw;
  font-size: 1.5rem;
  background:  url(../gs-images/common/arrow-pager.svg) no-repeat center bottom;
  background-size: 3vw auto;
}

@media screen and (max-width: 768px) {
  .seemore {
    display: block;
    position: relative;
    box-sizing: border-box;
    margin:3vw 0 19vw auto;
    padding: 3vw 4vw;
    width: 100vw;
    height: 27vw;
    font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
    font-size: 7.2vw;
    font-weight: bold;
    background-color: #ecebeb; 
  }
  
  .seemore span {
    display: inline-block;
    font-size: 3.6vw;
    line-height:1.0;
    padding-bottom:2vw;
  }
}





  #sec-category {
    position: relative;
    width: 100vw;
    box-sizing: border-box;
    padding: 12.8vw 4.3vw 16vw;
    background-color: #ecebeb;
  }

  #sec-category h2 {
    font-family: Arial, Helvetica, 'Roboto', 'Noto Sans JP', sans-serif;
    margin-bottom: 12vw;
    font-size: 12vw;
    font-weight: bold;
    text-align: left;
  }
  #sec-category .cat-logo {
    position: absolute;
    top: 15.8vw;
    right: 0vw;
    width: 25vw;
    height: 15.7vw;
    overflow: hidden;
  }
  #sec-category .cat-logo img {
    width: auto;
    height: 100%;
  }

  #sec-category ul {
    font-weight: bold;
    text-align: left;
  }
  #sec-category ul li {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    line-height: 2.8;
  }
  #sec-category ul li li {
    padding-left: 4.35vw;
  }
  #sec-category ul li li a {
    color: #a3a3a3;
  }
}



@media screen and (min-width: 769px) {
  .hero .img-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
  }
  .icons .hero .img-wrapper {
    top: 0;
    left: 40px; 
    width: calc( 50% - 40px );
    height: 100%;
  } 

  .hero .category {
    position: absolute;
    bottom: calc( 20px - 6.25rem );
    right: -6.25rem;
    font-size:6.25rem;
    font-weight: bold;
    line-height: 1.0;
    color: #fff;
    transform-origin: left top;
    transform: rotate(-90deg);
  }
  .titles {
    display: table;
    width: 100%;
    height: 100%;
  }
  .titles>div {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    padding-left: 53vw;
  }
  .hero .brandlogo {
    height: 5.3vw;
    text-align:left;
  }
  .hero .title {
    width: 40vw;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0.5rem;
    line-height: 1.5;
    text-align: left;
    color: #000;
  }

  .hero p {
    width: 36vw;
    font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
    font-size: 1.125rem;
    font-weight: light;
    text-align: left;
    letter-spacing: normal;
    line-height: 1.5;
    color: #333333;
  }
  @media screen and (max-width: 850px ) {
    .hero p {
      width: 45vw;
    }
  }
    .hero h2 {
      width: 40vw;
      margin-bottom: 1.25rem;
      font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
      font-size: 1.25rem;
      font-weight: bold;
      text-align: left;
      letter-spacing: normal;
      line-height: 1.5;
      color: #333333;
      }
    .icons .hero .title span {
      display: block;
      font-size: 1.38vw;
    }
 /*
  * STORY SEE MORE
  */
.seemore {
  position :relative;
  display: block;
  box-sizing: border-box;
  margin:1vw 0 0 auto;
  padding: 0.5vw 0.8vw 3.8vw;
  width: 49vw;
  height: 8.3vw;
  font-family: -apple-system,  Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
  font-size: 2.2vw;
  font-weight: bold;
  background-color: #ecebeb; 
}

.seemore span {
  display: inline-block;
  font-size: 1.1vw;
  line-height: 1.0;
  padding-bottom: 5px;
}
.back.seemore {
  padding-top: 1vw;
}
.back.seemore span {
  position:absolute;
  right: 3.5vw;
  bottom: 0;
  display: block;
  width: auto;
  height: 5.5vw;
}
.back.seemore span img {
  height: 100%;
}

.seemore::after {
  content:"";
  display: inline-block;
  margin-left: 0.5vw;
  width: 0.8vw;
  height: 1.2vw;
  font-size: 1.5rem;
  background:  url(../gs-images/common/arrow-pager.svg) no-repeat center bottom;
  background-size: 0.8vw auto;
}

  /*
   * RELATED ITEM/PRODUCTS
   */
   .related {
    box-sizing: border-box;
    width: 100%;
    padding-bottom: 11.1vw;
    text-align: left;
  }
  .icons.related {
    padding-bottom: 8.4vw;
  }
  .related h2 span:lang(en) {
    display: inline-block;
    margin-top: 0;
    margin-bottom:1.5vw;
    padding-left: 3.3vw;
    font-size: 6.9vw;
    text-align: left;
    line-height: 1.0;
    font-weight: bold;
    color: #000;

  }
  .brand.icons .icons.related h2 span:lang(en) {
    display: inline-block;
    padding-left: 5.5vw;
    margin-bottom: 0;
    font-size: 1.6vw;
    text-align: left;
    line-height: 1.66;
    font-weight: bold;
    color: #000;
    border-bottom: 1px solid #000;
  }

  .brand.icons .icons.related h2 span:lang(ja) {
    display: block;
    padding-top: 0.5vw;
    padding-left: 5.5vw;
    font-size: 0.8vw;
    text-align: left;
    line-height: 2.0;
    font-weight: bold;
    color: #000;
  }

  .wrap-search-list ul.list-items {
    margin-top: 4.1vw;
  
  }
  .icons .list-items img {
    width: 100%;
  }

  .related-item ul {
    display: -webkit-flex;
    display: flex;
    width: 90vw;
    margin:30px auto;
    -webkit-justify-content: left;
    justify-content: left;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .related-item ul.list-items li {
    display: block;
    width: calc(( 90vw - 50px) / 4) ;
    text-align: left;
    margin: 20px 5px 20px 6px;
  }
  ul.list-items > li .ph {
    height: calc(( 90vw - 50px) / 4) ;
  }
  .related-item li p {
    text-align: left;
    color: #000;
  }
  .related-item img {
    display: block;
    margin-bottom: 10px;
    width: 100%;
  }
  .related-item .target {
    font-size: 0.66rem;
    line-height: 1.0;
    font-weight: bold;
  }
  .related-item .name {
    font-size:1.3rem;
    font-weight: bold;
  }
  .related-item .linktext {
    font-size:0.75rem;
    font-weight: normal;
  }

  #sec-category {
    position: relative;
    width: 92vw;
    min-height: 28.2vw;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 4.1vw 3.2vw;
    background-color: #ecebeb;
  }

  #sec-category h2 {
    position: absolute;
    font-family: Arial, Helvetica, 'Roboto', 'Noto Sans JP', sans-serif;
    top: 4.1vw;
    right: 3.5vw;
    font-size: 6.9vw;
    font-weight: bold;
    text-align: left;
  }
  #sec-category .cat-logo {
    position: absolute;
    overflow: hidden;
    top: 15.8vw;
    right: 3.5vw;
    width: 20vw;
    height: 10vw;
    text-align: right;
  }

  #sec-category .cat-logo img {
    max-width: initial;
    width: auto;
    height: 100%;
  }

  #sec-category ul {
    font-weight: bold;
    text-align: left;
  }
  #sec-category ul li {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
    line-height: 2.8;
  }
  #sec-category ul li li {
    padding-left: 18px;
  }
  #sec-category ul li li a {
    color: #a3a3a3;
  }
}

.brand .icons.related .list-items {
  width: 92vw;
}

.brand .icons.related .list-items li:not(.story) {
  width: calc((92vw - 50px)/3);
  height: calc((92vw - 50px)/3);
  overflow: hidden;
}
.icons.related .list-items li a {
  position: relative;
  width: 100%;
  height: 100%;
}
.icons.related .list-items li img {
  display: block;
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
}
.icons.related .list-items li p {
  position: absolute;
  left: 20px;
  color:#000;
  letter-spacing: normal;
}
.icons.related .list-items li p.first {
  top: 2vw;
  font-size: 1.58vw;
}
.icons.related .list-items li p.second {
  top: 4.2vw;
  font-size: 1vw;
}

@media screen and (max-width: 768px ){
  .brand .icons.related .list-items li:not(.story) {
    width: 92vw;
    height: 92vw;
  }

  .icons.related .list-items li p.first {
    left: 4vw;
    top: 4vw;
    font-size: 4.8vw;
  }
  .icons.related .list-items li p.second {
    left: 4vw;
    top: 11vw;
    font-size: 2.9vw;
  }
}
