._hide {
  display: none !important;
}
.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mb35 {
  margin-bottom: 35px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.mb45 {
  margin-bottom: 45px !important; }

.mb50 {
  margin-bottom: 50px !important; }

body {
  overflow-y: scroll; }

#wrapper {
  width: 100%;
  height: 100%;
  margin-top: 0px;
  overflow: hidden; }

.pageHeader {
  background-color: transparent;
}
.pageHeader .pageHeader__logo,
.pageHeader .pageHeader__btn__store,
.pageHeader .pageHeader__btn__corporations {
  opacity: 0;
  filter: alpha(opacity=0);
}

/*
header #logo {
  opacity: 0;
  filter: alpha(opacity=0); }
*/

#zoomup {
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 999;
  background-color: blue; }

#content {
  width: 100%;
  position: relative;
  left: 0px;
  top: 0px;
  z-index: 0;
  opacity: 0;
  filter: alpha(opacity=0); }

#showcase {
  position: relative;
  left: 0px;
  top: 0px;
  z-index: 0; }

#showcase .scrollbtn {
  margin-left: -20px;
  position: absolute;
  left: 50%;
  bottom: 38px;
  z-index: 9999;
  cursor: pointer; }

#showcase .indicator {
  position: absolute;
  left: 40px;
  bottom: 38px;
  z-index: 9999; }

#showcase .indicator .indi {
  width: 12px;
  height: 12px;
  margin-top: 10px;
  overflow: hidden;
  cursor: pointer; }

#showcase .indicator .indi img {
  margin-left: -12px;
  vertical-align: top; }

#showcase .page {
  display: none;
  opacity: 0;
  filter: alpha(opacity=0);
  width: 100%;
  min-width: 980px;
  height: 100%;
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 0; }

#showcase .page .left, #showcase .page .right {
  width: 50%;
  min-width: 490px;
  height: 100%;
  float: left; }

#showcase .page .left {
  display: table;
  background-color: white; }

#showcase .page .left .left-inwrap {
  display: table-cell;
  text-align: center;
  vertical-align: middle; }

#showcase .page .left .left-inwrap p.text {
  display: inline-block;
  text-align: left;
  line-height: 3em;
  letter-spacing: 0.2em;
  font-size: 19px;
  font-size: 1.1875rem;
  font-family: serif;
  color: #001842; }

#showcase .page .right {
  overflow: hidden; }

#topics {
  width: 100%;
  min-width: 980px;
  margin-bottom: 80px;
  padding-top: 100px; }

#topics:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.topic {
  display: table;
  float: left;
  overflow: hidden;
  position: relative;
  z-index: 2;
  font-family: serif;
  table-layout: fixed;
  opacity: 0;
  filter: alpha(opacity=0); }

.topic .text {
  display: table-cell;
  width: 100%;
  height: 100%;
  text-align: center;
  vertical-align: middle;
  position: relative;
  z-index: 1; }

.topic .text .text-inwrap {
  display: inline-block;
  text-align: center; }

.topic .text .text-inwrap p {
  text-align: left; }

.topic .text.story {
  color: #001842;
  opacity: 0;
  filter: alpha(opacity=0); }


.topic__box .topic__box__item {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.topic__box .topic__box__item img {
  display: block;
  width: 100%;
  height: 100%;
}


.topic__box .topic__box__item:first-child {
  transition: opacity .5s ease;
  z-index: 2;
}
.topic__box:hover .topic__box__item:first-child {
  opacity: 0;
}

.topic .text.story .text-inwrap p {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  text-align: center;
  font-size: 25px;
  font-size: 1.5625rem;
  letter-spacing: 0.2em; }

.topic .text.story .text-inwrap p.num {
  display: inline;
  height: 28px;
  margin-bottom: 30px;
  padding: 10px;
  border: 1px solid #001842;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
  line-height: 1.4em; }

.topic .text.product {
  color: #001842;
  opacity: 0;
  filter: alpha(opacity=0); }

.topic .text.product .text-inwrap {
  width: 405px; }

.topic.topic__special .text.product .text-inwrap {
  max-width: 496px; }
.topic.topic__special .text.product .text-inwrap img {
  width: 100%;
}
.topic.topic__shoplist .text.product .text-inwrap p.name {
  margin-bottom: 0;
  text-align: center;
}

.topic .text.product .text-inwrap p.name {
  margin-bottom: 20px;
  font-size: 25px;
  font-size: 1.5625rem; }

.topic .text.product .text-inwrap p.detail {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8em;
  letter-spacing: 0.1em; }

.topic .img {
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 0;
  overflow: hidden; }

.topic .img img {
  vertical-align: top; }

.topic .img img.new {
  position: absolute;
  left: 0px;
  top: 0px;
  z-index: 1; }

.ie8 .topic, .ie9 .topic {
  margin-top: -100px;
  opacity: 1;
  filter: alpha(opacity=100); }

.topic.topic__col3 {
  width: calc(100% / 3) !important;
  height: 19vw !important;
  min-width: 326px;/*468px*/
  min-height: 185px;/*266px*/
}
.topic.topic__col3 .img,
.topic.topic__col3 .img img {
  width: 100% !important;
  height: 100% !important;
}


/* -------------------------------------------
   2列バナー（.topic__col2）のレイアウト改善策
------------------------------------------- */

/* 1. 親要素の固定高さをやめて、ブロック要素にする */
.topic.topic__col2 {
  width: calc(100% / 2) !important;
  height: auto !important;
  display: block !important; /* display: table; を解除 */
  min-width: 468px;
}

/* 2. 画像を絶対配置から相対配置に戻し、要素の高さを出させる */
.topic.topic__col2 .img {
  position: relative !important; 
  width: 100% !important;
  height: auto !important;
}

/* 3. 画像本来の比率を維持して表示する */
.topic.topic__col2 .img img {
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* 4. テキスト領域を絶対配置にして画像の上に重ね、Flexboxでど真ん中に配置する */
.topic.topic__col2 .text {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex !important; /* display: table-cell; を解除 */
  flex-direction: column;
  justify-content: center; /* 縦の中央揃え */
  align-items: center; /* 横の中央揃え */
  z-index: 1;
}

@media screen and (max-width: 1320px) {
  .topic.topic__gift .text.product .text-inwrap,
  .topic.topic__special .text.product .text-inwrap,
  .topic.topic__shoplist .text.product .text-inwrap {
    width: 95%;
  }
}


#facebook {
  width: 100%;
  min-width: 980px;
  padding-bottom: 120px;
  position: relative;
  background-image: url(../images/top/bg_product_pattern.png);
  color: white; }

#facebook #facebook-inwrap {
  width: 100%;
  min-width: 980px;
  height: 365px;
  background-color: #001842;
  position: relative; }

#facebook #facebook-inwrap .title {
  width: 100%;
  min-width: 980px;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }

#facebook #facebook-inwrap h2 {
  margin-bottom: 55px;
  padding-top: 40px;
  font-size: 30px;
  font-size: 1.875rem;
  letter-spacing: 0.1em;
  font-weight: normal;
  text-align: center; }

#facebook #facebook-inwrap .btn-wrap {
  position: absolute;
  right: 40px;
  top: 40px; }

#facebook #facebook-inwrap .btn{
  color: #fff;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  display: block;
  margin-bottom: 5px;
  letter-spacing: 0.1em;
}
#facebook #facebook-inwrap .btn:last-child{
  margin-bottom: 0;
}
#facebook #facebook-inwrap .btn::after {
  content: "";
  background-image: url(../images/common/outlink_white.png);
  background-repeat: no-repeat;
  background-size: 100%;
  display: inline-block;
  width: 9px;
  height: 7px;
  margin-left: 7px;
  margin-bottom: 2px;
}

#facebook #facebook-inwrap .btn p, #facebook #facebook-inwrap .btn img {
  float: left; }

#facebook #facebook-inwrap .btn p {
  margin-right: 10px;
  letter-spacing: 0.05em; }

#facebook #facebook-inwrap .btn img {
  margin-top: 5px; }

#facebook #facebook-inwrap #feeds {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto; }

#facebook #facebook-inwrap #feeds:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

#facebook #facebook-inwrap #feeds .feed {
  width: 20%;
  height: 200px;
  padding-top: 26px;
  float: left;
  border-top: 1px solid white;
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 2em; }

#facebook #facebook-inwrap #feeds .feed a, #facebook #facebook-inwrap #feeds .feed a:link, #facebook #facebook-inwrap #feeds .feed a:visited, #facebook #facebook-inwrap #feeds .feed a:hover, #facebook #facebook-inwrap #feeds .feed a:active {
  color: white; }

#facebook #facebook-inwrap #feeds .feed.last {
  margin-right: 0%; }

.snsBanners {
  width: 981px;
  /*width: 1200px;*/
  margin: 60px auto;
}
.snsBanners > ul {
  display: flex;
}
.snsBanners > ul li {
  padding-left: 20px;
  list-style-type: none;
}
.snsBanners > ul li:first-child {
  padding-left: 0px;
}
.snsBanners > ul li a {
  transition: .3s opacity linear;
}
.snsBanners > ul li a:hover {
  opacity: .8;
}

#topics .slider{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#topics .slider .sliderItem{
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}