@charset "utf-8";

/* ======================================================
 * pensam.css
 * ------------------------------------------------------
 * @media print, screen and (min-width: 768px)
 * PC Media Queries
 * @media only screen and (max-width: 767px)
 * SP Media Queries
 * Print
====================================================== */

/**
 * Noto Sans CJK JP: https://www.google.com/get/noto/#sans-jpan
 * Noto Sans JP: https://fonts.google.com/earlyaccess#Noto+Sans+JP
 */
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 100;
  src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.otf) format('opentype');
}
@font-face {
  font-family: 'Noto Sans CJK JP';
  font-style: normal;
  font-weight: 300;
  src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 400;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans CJK JP';
   font-style: normal;
   font-weight: 900;
   src: url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format('opentype');
}


/* ======================================================
 * PC
====================================================== */
@media print, screen and (min-width: 768px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */
  /* .pensam-gallery-layout .gallery_thumb_title {
    font-family: "Noto Sans", "Noto Sans CJK JP", Verdana, Arial, Helvetica, sans-serif;
  } */
  .pensam-gallery-layout .prd_num02 {
    font-family: "Noto Sans", "Noto Sans CJK JP", Verdana, Arial, Helvetica, sans-serif;
  }
  .hero-layout-v5 .hero_visual .hero_text,
  .pensam-gallery-layout .gallery_visual_title,
  .pensam-gallery-layout .gallery_thumb_title,
  .heading-lv2 .heading_title {
    font-family: Lato;
  }
 
  /* ----- opacity ----- */
  .pensam-gallery-layout a .gallery_thumb_title {
    opacity: 0;
  }
  .pensam-gallery-layout .gallery_thumb_item > a:not(.is-active):hover,
  .pensam-product-index-layout > a:hover .index_image img {
    opacity: .8;
  }
  .pensam-gallery-layout a.is-active .gallery_thumb_title {
    opacity: 1;
  }
  
  /* ----- transition ----- */
  .pensam-gallery-layout .block .gallery_thumb_title {
    -webkit-transition: all .2s ease-out 0s;
    transition: all .2s ease-out 0s;
  }
  .pensam-gallery-layout a.is-active .gallery_thumb_title,
  .pensam-product-index-layout > a .index_image img {
    -webkit-transition: opacity .2s ease-out 0s;
    transition: opacity .2s ease-out 0s;
  }
  
  /* ----- hero-layout-v5 ----- */
  .hero-layout-v5 .hero_visual {
    position: relative;
  }
  .hero-layout-v5 .hero_visual .hero_text {
    position: absolute;
    left: 10%;
    bottom: 27.7%;
    text-align: center;
    color: #000;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 1px;
  }
  .hero-layout-v5 .hero_visual .hero_text span {
    color: #666;
  }
  
  /* ----- pensam-gallery-layout ----- */
  .pensam-gallery-layout {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin-top: 2em;
  }
  .pensam-gallery-layout .gallery_visual {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    justify-content: center;
    width: calc((100% - 20px) / 2);
    border: 3px solid #222;
    background-color: #fff;
    text-align: center;
  }
  .pensam-gallery-layout .gallery_visual_item {
    display: none;
    position: relative;
    -webkit-flex: 1;
    flex: 1;
  }
  .pensam-gallery-layout .gallery_visual_title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 53%;
    height: 31.5%;
    margin: 0;
    padding: 5px 5px 10px 4%;
    font-size: 2.7rem;
    font-weight: 900;
    text-align: left;
    color: #fff;
    line-height: 1.1;
    letter-spacing: 1px;
  }
  .pensam-gallery-layout .gallery_visual_title .prd_type {
    font-size: 2rem;
  }
  .pensam-gallery-layout .gallery_visual_title .prd_num {
    display:  inline-block;
    line-height: 1.7;
    font-size: 1.8rem;
  }
  .pensam-gallery-layout .prd_num02 {
    position: absolute;
    top: 33%;
    left: 5%;
    font-size: 4rem;
    font-weight: 900;
    color: #fff;
    opacity: 0.8;
  }
  .pensam-gallery-layout .gallery_visual_detail {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 18px;
    background-color: rgba(250,250,250,0.8);
    text-align: left;
  }
  .pensam-gallery-layout .gallery_thumb {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-align-content: flex-start;
    align-content: flex-start;
    width: calc((100% - 20px) / 2);
  }
  .pensam-gallery-layout .gallery_thumb_item {
    width: calc((100% - 20px) / 2);
    margin: 18px 0 0 20px;
  }
  [data-browser="ie11"] .pensam-gallery-layout .gallery_thumb_item { width: calc(((100% - 20px) / 2) - 0.1px); }
  [data-browser="edge"] .pensam-gallery-layout .gallery_thumb_item { width: calc(((100% - 20px) / 2) - 0.1px); }
  .pensam-gallery-layout .gallery_thumb_item:nth-child(-n+2) {
    margin-top: 0 !important;
  }
  .pensam-gallery-layout .gallery_thumb_item:nth-child(2n+1) {
    margin-left: 0 !important;
  }
  .pensam-gallery-layout .gallery_thumb_item > .block {
    position: relative;
    border-bottom: 1px solid #ddd;
  }
  .pensam-gallery-layout .gallery_thumb_item > a.is-active {
    border-bottom: none;
  }
  .pensam-gallery-layout .gallery_thumb_title {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 12px;
    border: 3px solid transparent;
    background-color: rgba(238,238,238,0.8);
    border-color: #222;
    font-size: 1.7rem;
    font-weight: 900;
    text-align: center;
    line-height: 1.4;
  }
  .pensam-gallery-layout .gallery_thumb_title .gallery_thumb_label {
    display: inline-block;
  }
  .pensam-gallery-layout a .gallery_thumb_title .gallery_thumb_label {
  }
  .pensam-gallery-layout a .gallery_thumb_title .gallery_thumb_label::after {
    position: absolute;
    top: 50%;
    left: 6%;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    content: "";
  }

  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}


/* ======================================================
 * SP
====================================================== */
@media only screen and (max-width: 767px) {
  /* ------------------------------------------------------
   * Common
  ------------------------------------------------------ */
  /* ----- font ----- */
  /* .pensam-gallery-layout .gallery_thumb_title {
    font-family: "Noto Sans", "Noto Sans CJK JP", Verdana, Arial, Helvetica, sans-serif;
  } */
  .pensam-gallery-layout .prd_num02 {
    font-family: "Noto Sans", "Noto Sans CJK JP", Verdana, Arial, Helvetica, sans-serif;
  }
  .hero-layout-v5 .hero_visual .hero_text,
  .pensam-gallery-layout .gallery_visual_title,
  .pensam-gallery-layout .gallery_thumb_title,
  .heading-lv2 .heading_title {
    font-family: Lato;
  }
 
  /* ----- transition ----- */
  .pensam-gallery-layout .gallery_thumb_item .gallery_thumb_image::before {
    -webkit-transition: background-color .2s ease-out 0s;
    transition: background-color .2s ease-out 0s;
  }
  .pensam-gallery-layout .gallery_thumb_item .gallery_thumb_image::after {
    -webkit-transition: border-color .2s ease-out 0s;
    transition: border-color .2s ease-out 0s;
  }
  
  /* ----- hero-layout-v5 ----- */
  .hero-layout-v5 .hero_visual {
    position: relative;
  }
  .hero-layout-v5 .hero_visual .hero_text {
    position: absolute;
    width: 100%;
    left: 0%;
    bottom: 8%;
    text-align: center;
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
  }
  .hero-layout-v5 .hero_visual .hero_text span {
    color: #666;
  }
  
  /* ----- pensam-gallery-layout ----- */
  .pensam-gallery-layout {
    margin-top: 2em;
  }
  .pensam-gallery-layout .gallery_visual {
    border: 3px solid #222;
    background-color: #fff;
    text-align: center;
  }
  .pensam-gallery-layout .gallery_visual_item {
    position: relative;
    display: none;
  }
  .pensam-gallery-layout .gallery_visual_title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 55%;
    height: 32%;
    margin: 0;
    padding: 2px 10px 5px 4%;
    font-size: 1.7rem;
    font-weight: 900;
    text-align: left;
    color: #fff;
    line-height: 1.1;
  }
  .pensam-gallery-layout .gallery_visual_title .prd_type {
    font-size: 1.4rem;
  }
  .pensam-gallery-layout .gallery_visual_title .prd_num {
    display:  inline-block;
    line-height: 1.7;
    font-size: 1.2rem;
  }
  .pensam-gallery-layout .prd_num02 {
    position: absolute;
    top: 33%;
    left: 4%;
    font-size: 2.4rem;
    font-weight: 900;
    color: #fff;
    opacity: 0.8;
  }
  .pensam-gallery-layout .gallery_visual_detail {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px;
    background-color: rgba(250,250,250,0.8);
    text-align: left;
  }
  .pensam-gallery-layout .gallery_thumb {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row nowrap;
    flex-flow: row nowrap;
    width: 100vw;
    margin: 1.5em 0 0 calc(50% - 50vw);
    padding: 0 15px 15px;
    overflow-x: auto;
  }
  .pensam-gallery-layout .gallery_thumb_item {
    -webkit-flex: 0 0 120px;
    flex: 0 0 120px;
    margin-right: 10px;
  }
  .pensam-gallery-layout .gallery_thumb_item:last-child {
    -webkit-flex-basis: 135px;
    flex-basis: 135px;
    margin-right: 0;
    padding-right: 15px;
  }
  .pensam-gallery-layout .gallery_thumb_item > .block {
  }
  .pensam-gallery-layout .gallery_thumb_item .gallery_thumb_image {
    position: relative;
  }
  .pensam-gallery-layout .gallery_thumb_item > a .gallery_thumb_image::before,
  .pensam-gallery-layout .gallery_thumb_item > a .gallery_thumb_image::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
  }
  .pensam-gallery-layout .gallery_thumb_item > a .gallery_thumb_image::before {
    background-color: transparent;
  }
  .pensam-gallery-layout .gallery_thumb_item > a .gallery_thumb_image::after {
    border: 3px solid transparent;
  }
  .pensam-gallery-layout .gallery_thumb_item > a.is-active .gallery_thumb_image::before {
    background-color: rgba(238,238,238,0.8);
  }
  .pensam-gallery-layout .gallery_thumb_item > a.is-active .gallery_thumb_image::after {
    border-color: #222;
  }
  .pensam-gallery-layout .gallery_thumb_title {
    margin-top: .5em;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.25;
  } 
  .pensam-gallery-layout a.is-active .gallery_thumb_title {
    font-weight: 700;
  }

  /* ------------------------------------------------------
   * Clearfix
  ------------------------------------------------------ */
  .clearfix::after {
    display: block;
    clear: both;
    content: "";
  }
}