.tp-main .tp-main_item {
  position: relative;
}
.tp-main .tp-main_item::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,27,27,0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.tp-main .tp-main_head {
  position: absolute;
  color: #fff;
}
.tp-main .tp-main_title {
  font-family: Span-Light;
}
.tp-main .st-white_link {
  position: absolute;
}
.tp-items .tp-items_shop {
  position: relative;
}
.tp-items .tp-items_shop .st-js-hover::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,27,27,0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.tp-items .tp-items_shop .st-white_link {
  position: absolute;
}
.tp-items .tp-items_shop_head {
  position: absolute;
  color: #fff;
}
.tp-items .tp-items_shop_caption {
  font-family: 'Lato', sans-serif;
}
.tp-items .tp-items_shop_title {
  font-weight: lighter;
  line-height: 1.1;
  font-family: Span-Light;
}
.tp-items .tp-items_ec {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.tp-items .tp-items_ec .tp-items_ec_product {
  position: relative;
}
.tp-items .tp-items_ec .tp-items_ec_product:hover {
  transition: 0.4;
  opacity: 0.7;
}
.tp-items .tp-items_ec_name {
  color: #000;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  letter-spacing: 0.16em;
  font-family: 'Lato', sans-serif;
}
.tp-products .tp-products_item {
  position: relative;
}
.tp-products .tp-products_item.st-js-hover::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,27,27,0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.tp-products .tp-products_head {
  font-family: Span-Light;
  line-height: 1.1;
  color: #fff;
  position: absolute;
}
.tp-products .st-white_link {
  position: absolute;
}
.tp-story {
  position: relative;
}
.tp-story .st-js-hover::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,27,27,0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.tp-story .tp-story_head {
  color: #fff;
  position: absolute;
}
.tp-story .tp-story_caption {
  letter-spacing: 0.16em;
  font-family: 'Lato', sans-serif;
}
.tp-story .tp-story_title {
  font-family: Span-Light;
  line-height: 1.1;
}
.tp-story .st-white_link {
  position: absolute;
}
.tp-topics .tp-topics_title {
  font-weight: lighter;
  text-align: center;
  letter-spacing: 0.16em;
}
.tp-topics .tp-topics_list {
  display: flex;
}
.tp-topics .tp-topics_list .tp-topics_item .tp-topics_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; /*IE対策*/
}
.tp-topics .tp-topics_list .tp-topics_itemLink {
  display: block;
}
.tp-topics .tp-topics_text {
  display: inline;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border 0.4s;
  font-family: 'Lato', sans-serif;
}
.tp-topics .u-rollover:hover {
  border-bottom: none;
}
.tp-topics .u-rollover:hover .tp-topics_text {
  line-height: 1.5;
  border-bottom: 1px solid rgba(0,0,0,0.6);
}
.tp-topics .tp-topics_date {
  color: #a2a2a2;
  font-family: 'Lato', sans-serif;
}
.tp-stores {
  position: relative;
}
.tp-stores .st-js-hover::before {
  content: "";
  display: block;
  width: 100%;
  background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,27,27,0.6) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.tp-stores .tp-stores_head {
  color: #fff;
  position: absolute;
}
.tp-stores .tp-stores_caption {
  letter-spacing: 0.16em;
  font-family: 'Lato', sans-serif;
}
.tp-stores .tp-stores_title {
  font-family: Span-Light;
  line-height: 1.1;
}
.tp-stores .st-white_link {
  position: absolute;
}
@-webkit-keyframes topElm {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes topElm {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media print, screen and (min-width: 768px) {
  .tp-main .tp-main_item::before {
    height: calc(154 / 600 * 100%);
  }
  .tp-main .tp-main_head {
    width: calc(1000 / 1200 * 100%);
    bottom: calc(20 / 600 * 100%);
    left: calc(30 / 1200 * 100%);
  }
  .tp-main .tp-main_caption {
    font-size: 11px;
    margin-bottom: 7px;
    letter-spacing: 0.16em;
  }
  .tp-main .tp-main_title {
    font-weight: lighter;
    font-size: 32px;
    line-height: 1.1;
  }
  .tp-main .st-white_link {
    bottom: calc(23 / 600 * 100%);
    right: calc(23 / 1200 * 100%);
  }
  .tp-items {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 74px;
  }
  .tp-items .tp-items_shop {
    width: calc(580 / 1200 * 100%);
  }
  .tp-items .tp-items_shop .st-js-hover::before {
    height: calc(154 / 700 * 100%);
  }
  .tp-items .tp-items_shop .st-white_link {
    bottom: calc(25 / 700 * 100%);
    right: calc(25 / 580 * 100%);
  }
  .tp-items .tp-items_shop_head {
    width: calc(360 / 580 * 100%);
    bottom: calc(25 / 700 * 100%);
    left: calc(28 / 580 * 100%);
  }
  .tp-items .tp-items_shop_caption {
    font-size: 11px;
    margin-bottom: 5px;
    letter-spacing: 0.16em;
  }
  .tp-items .tp-items_shop_title {
    font-size: 32px;
  }
  .tp-items .tp-items_ec {
    width: calc(580 / 1200 * 100%);
  }
  .tp-items .tp-items_ec .tp-items_ec_product {
    width: calc(270 / 580 * 100%);
  }
  .tp-items .tp-items_ec .tp-items_ec_product:nth-child(3),
  .tp-items .tp-items_ec .tp-items_ec_product:nth-child(4) {
    margin-top: 6.9%;
  }
  .tp-items .tp-items_ec_name {
    font-size: 11px;
    bottom: calc(20 / 330 * 100%);
  }
  .tp-products {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
  }
  .tp-products .tp-products_item {
    width: calc(370 / 1200 * 100%);
  }
  .tp-products .tp-products_item.st-js-hover::before {
    height: calc(115 / 450 * 100%);
  }
  .tp-products .tp-products_head {
    width: calc(280 / 450 * 100%);
    font-size: 32px;
    font-weight: lighter;
    bottom: calc(13 / 450 * 100%);
    left: calc(20 / 370 * 100%);
  }
  .tp-products .st-white_link {
    font-weight: lighter;
    bottom: calc(20 / 450 * 100%);
    right: calc(20 / 370 * 100%);
  }
  .tp-story {
    margin-top: 100px;
  }
  .tp-story .st-js-hover::before {
    height: calc(154 / 600 * 100%);
  }
  .tp-story .tp-story_head {
    bottom: calc(20 / 600 * 100%);
    left: calc(30 / 1200 * 100%);
  }
  .tp-story .tp-story_caption {
    font-weight: bold;
    font-size: 11px;
    margin-bottom: 5px;
  }
  .tp-story .tp-story_title {
    font-weight: lighter;
    font-size: 32px;
  }
  .tp-story .st-white_link {
    bottom: calc(23 / 600 * 100%);
    right: calc(20 / 1200 * 100%);
  }
  .tp-topics {
    margin-top: 100px;
  }
  .tp-topics .tp-topics_title {
    font-size: 18px;
    margin-bottom: 50px;
  }
  .tp-topics .tp-topics_list {
    justify-content: space-between;
  }
  .tp-topics .tp-topics_list .tp-topics_item {
    width: calc(270 / 1200 * 100%);
  }
  .tp-topics .tp-topics_list .tp-topics_item:last-child {
    margin-right: 0;
  }
  .tp-topics .tp-topics_list .tp-topics_item .tp-topics_image_box {
    width: 100%;
    height: calc(184 / 1280 * 100vw);
    margin-bottom: 12px;
  }
  .tp-topics .tp-topics_text {
    font-size: 14px;
    line-height: 1.5;
  }
  .tp-topics .tp-topics_date {
    margin-top: 6px;
    font-size: 11px;
  }
  .tp-topics .tp-topics_link {
    text-align: center;
    margin-top: 45px;
  }
  .tp-stores {
    margin-top: 100px;
  }
  .tp-stores .st-js-hover::before {
    height: calc(154 / 600 * 100%);
  }
  .tp-stores .tp-stores_head {
    bottom: calc(20 / 600 * 100%);
    left: calc(30 / 1200 * 100%);
  }
  .tp-stores .tp-stores_caption {
    font-weight: bold;
    font-size: 11px;
    margin-bottom: 5px;
  }
  .tp-stores .tp-stores_title {
    font-weight: lighter;
    font-size: 32px;
  }
  .tp-stores .st-white_link {
    bottom: calc(23 / 600 * 100%);
    right: calc(20 / 1200 * 100%);
  }
}
@media screen and (max-width: 767px) {
  .tp-main .tp-main_item::before {
    height: calc(300 / 1000 * 100%);
  }
  .tp-main .tp-main_item .tp-main_image {
    width: 100%;
  }
  .tp-main .tp-main_head {
    bottom: 57px;
    left: 20px;
  }
  .tp-main .tp-main_caption {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .tp-main .tp-main_title {
    font-size: 20px;
    line-height: 1.2;
  }
  .tp-main .st-white_link {
    bottom: 20px;
    left: 20px;
  }
  .tp-items {
    margin-top: 25px;
  }
  .tp-items .tp-items_shop .st-js-hover::before {
    height: calc(272 / 700 * 100%);
  }
  .tp-items .tp-items_shop .st-white_link {
    bottom: 20px;
    left: 18px;
  }
  .tp-items .tp-items_shop_head {
    bottom: 45px;
    left: 18px;
  }
  .tp-items .tp-items_shop_caption {
    font-size: 10px;
    margin-bottom: 8px;
  }
  .tp-items .tp-items_shop_title {
    font-size: 20px;
  }
  .tp-items .tp-items_ec {
    margin-top: 15px;
  }
  .tp-items .tp-items_ec .tp-items_ec_product {
    width: calc(330 / 690 * 100%);
  }
  .tp-items .tp-items_ec .tp-items_ec_product:nth-child(3),
  .tp-items .tp-items_ec .tp-items_ec_product:nth-child(4) {
    margin-top: 15px;
  }
  .tp-items .tp-items_ec_name {
    font-size: 10px;
    bottom: 10px;
  }
  .tp-products {
    margin-top: 40px;
  }
  .tp-products .tp-products_item {
    padding: 0 7.5px;
  }
  .tp-products .tp-products_item.st-js-hover::before {
    height: calc(138 / 596 * 100%);
  }
  .tp-products .tp-products_head {
    font-size: 21px;
    font-weight: lighter;
    bottom: 45px;
    left: 22px;
  }
  .tp-products .st-white_link {
    bottom: 18px;
    left: 22px;
  }
  .tp-story {
    margin-top: 40px;
  }
  .tp-story .st-js-hover::before {
    height: calc(272 / 828 * 100%);
  }
  .tp-story .tp-story_head {
    bottom: 46px;
    left: 20px;
  }
  .tp-story .tp-story_caption {
    font-size: 10px;
    margin-bottom: 8px;
    line-height: 1;
  }
  .tp-story .tp-story_title {
    font-size: 19px;
  }
  .tp-story .st-white_link {
    bottom: 20px;
    left: 20px;
  }
  .tp-topics {
    margin-top: 38px;
  }
  .tp-topics .st-inner {
    padding: 0;
  }
  .tp-topics .tp-topics_title {
    font-size: 17px;
    margin-bottom: 36px;
  }
  .tp-topics .tp-topics_list {
    margin-left: 15px;
    overflow: scroll;
  }
  .tp-topics .tp-topics_list .tp-topics_item {
    min-width: 245px !important;
    margin-right: 15px;
  }
  .tp-topics .tp-topics_list .tp-topics_item .tp-topics_image_box {
    width: 100%;
    height: calc(346 / 750 * 100vw);
    margin-bottom: 10px;
  }
  .tp-topics .tp-topics_text {
    font-size: 12px;
    line-height: 1.3;
  }
  .tp-topics .tp-topics_date {
    font-size: 10px;
    margin-top: 5px;
  }
  .tp-stores {
    margin-top: 40px;
  }
  .tp-stores .st-js-hover::before {
    height: calc(272 / 828 * 100%);
  }
  .tp-stores .tp-stores_head {
    bottom: 46px;
    left: 20px;
  }
  .tp-stores .tp-stores_caption {
    font-size: 10px;
    margin-bottom: 8px;
    line-height: 1;
  }
  .tp-stores .tp-stores_title {
    font-size: 19px;
  }
  .tp-stores .st-white_link {
    bottom: 20px;
    left: 20px;
  }
}
