
html{
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  color: #4D4D4D;
}
html *{box-sizing: border-box;}

/*---- common style ----*/
img{
  max-width: 100%;
  height: auto;
}
a,a:hover,a:focus,.btn:hover{
  color: inherit;
  text-decoration: none;
}
.underline-wrap a,
a.underline{
  text-decoration: underline;
  text-decoration-color: #e75480;
  color: #e75480;
}
ul,dl,dd{margin-bottom: 0;}
li{list-style: none;}

h2{margin: 0 0 20px 0;}

main{padding: 139px 0 0;}

.img-wrap{
  position: relative;
  width: 100%;
  display: block;
}
.img-wrap::before{
  content: '';
  display: block;
}
.img-wrap.img-wrap-product::before{
  padding-top: 116.875%;
}
.img-wrap.img-wrap-product img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: 'object-fit: contain;'
}
@media (max-width:767px){
  main{padding: 70px 0 0;}
}

/*---- font color ----*/
.cl-w{color: #fff;}
.cl-p{color: #f4cdd9;}
.cl-dp{color: #e9537d;}
.cl-gr{color: #4D4D4D;}

/*---- font family ----*/
.suravaram{font-family: 'suravaram', serif;}

/*---- background color ----*/
.bg-p{background-color: #f4cdd9;}

.form-required input {
  width: auto;
}
/*---- icon ----*/
.ico-org{
  width: 15px;
  height: auto;
}
.ico-txt{
  color: #fff;
  border-radius: 3px;
  text-align: center;
  font-size: 12px;
  display: inline-block;
  width: 58px;
}
.ico-p{background-color: #e9537d;}
.ico-reserve{background-color: #999671;}
.ico-order{background-color: #305059;}

/*---- btn ----*/
.btn-wrap{margin: 30px 0; }
.btn-metamo{
  border: 1px solid #f4cdd9;
  padding: 5px 10px;
  border-radius: 0;
  font-size: 21px;
  transition: .5s;
}
.btn-metamo:hover{background-color: #f4cdd9;}
.btn.cl-p:hover{color: #fff;}
.btn-vm{min-width: 250px;}

/*---- slider-icon ----*/
.carousel-control-prev-icon,.carousel-control-next-icon,
.swiper-button-prev,.swiper-button-next{
  width: 30px;
  height: 30px;
  background-size: contain;
}
.carousel-control-prev-icon,.swiper-button-prev{background-image: url(../images/ico_prev.png);}
.carousel-control-next-icon,.swiper-button-next{background-image: url(../images/ico_next.png);}

.carousel-control-prev, .carousel-control-next {
    color: #313131 !important;
    width: 10% !important;
}

/*===========================================================
layout
===========================================================*/
p{margin: 0;}
.w-container{
  width: 95%;
  margin: auto;
  padding-bottom: 5px;
}

/*===========================================================
header
===========================================================*/
/*---- special-news ----*/
.special-news{
  border-bottom: 1px solid #fff;
  padding: 12px 0;
}
/*---- header ----*/
.header{
  position: absolute;
  z-index: 99;
  width: 100%;
  background-color: #fff;
  transition: .5s;
}
.header.sticky{
  position: fixed;
  top: 0;
  transition:all 0.5s;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.header.sticky.scrDown{
  transition:all .5s;
  top:-140px;
}
/*---- upper-header ----*/
.upper-header{
  background-color: #f4cdd9;
  color: #fff;
  font-size:11px;
}
/*---- main-header ----*/
.main-header{
  font-size: 12px;
  margin: 8px auto 15px;
}
.main-header h1{
  margin:0 auto;
  z-index: 9;
}
.main-header h1 img{max-width: 100px;}
.header-left{
  top:0;
  left: 0;
  bottom: 0;
  right: auto;
  align-items: flex-start;
}
.header-left .fa-comment-dots{padding: 4px 2px 0 0;}
.header-right{
  top:0;
  left: auto;
  bottom: 0;
  right: 0;
}
.sub-menu a{margin: 0 0 0 10px;}
.header-right-lower{font-size: 16px;}
.header-right-lower .input-group{margin: 0 10px 0 0;}
.header-right-lower input,.header-right-lower .input-group .btn{
  border: 1px solid #f4cdd9;
  border-radius: 15px;
  padding: 0 10px;
  height: 30px;
}
.header-right-lower .input-group .btn{border-radius: 0 15px 15px 0;}
.header-sns a{margin: 0 0 0 5px;}

/*---- nav-online ----*/
.nav-online{
  border-top: 1px solid #f4cdd9;
  border-bottom: 1px solid #f4cdd9;
  position: relative;
}
.nav-online > ul{
  display: flex;
  justify-content: space-between;
}
.nav-online > ul > li{
  font-size: 18px;
  flex-grow: 1;
  transition: .8s ease;
}
.nav-online > ul > li > a{padding: 0px 0;}
.nav-online > ul > li:hover{
  color: #e9537d;
  font-weight: bold;
  border-bottom: 1px solid #f4cdd9;
  border-left:  1px solid #e9537d;
  border-right:  1px solid #e9537d;
}
.nav-online > ul > li:hover >*{
  color: inherit;
  font-weight: normal;
}
.nav-online .mega-menu{
  display: none;
  background: rgba(244,205,217,0.9);
  width: 100%;
  height: auto;
  padding: 30px 0 50px 0;
  position: absolute;
  left: 0;
  z-index: 99;
  margin: 0;
}
.nav-online .active .mega-menu{display: block;}
.nav-online .mega-menu .row{
  flex-wrap: nowrap;
  justify-content: space-between;
}
.nav-online .mega-menu h2{font-size:32px;}
.nav-online .mega-menu h2 span{
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  font-size:16px;
  margin: 0 0 0 15px;
}
.nav-online .mega-menu-inner-menu li{
  font-size: 14px;
  line-height: 1.8;
}
.nav-online .mega-menu-inner-menu li a{color: #fff;}
.nav-online .mega-menu-inner-menu li a:hover{
  color: #e9537d;
  border-bottom: 1px dotted #e9537d;
}
.nav-online .mega-menu-inner-menu li a:hover span{border-bottom:none;}
.nav-online .mega-menu-inner-menu li a span{margin: 0 0 0 20px;}
.nav-online .mega-menu-inner-menu li a span::before{content: '-';}
.nav-online .mega-menu-inner-left{
  max-width: 225px;
  font-size: 14px;
}
.nav-online .mega-menu-inner-left img{margin: 0 0 15px 0;}

@media (max-width: 767px){
  .main-header{margin: 0 auto 5px;}
  .main-header h1 img{max-width: 80px;}
  .hamburger{
    position: absolute;
    top:30px;
    left: 0;
    width: 35px;
    height: 35px;
  }
  .hamburger span,
  .hamburger::before,
  .hamburger::after{
    background: #fff;
    content: '';
    display: block;
    width: 22px;
    height: 2px;
    position: absolute;
    left: 7px;
  }
  .hamburger::before{top:8px;}
  .hamburger span{top:16px;}
  .hamburger::after{top:24px;}

  .hamburger.bg-p #hamburger {
      display:block;
      width:40px;
      height:40px;
  }

  .special-news{padding: 2px 0;}
  .upper-header{
    background: #fff;
    color:#f4cdd9;
  }
  .header-right{top:auto;}
  .header-right .header-right-upper i{
    font-size: 20px;
    color: #f4cdd9;
  }
}

/*---- mmenu ----*/
.mm-menu{
  background: #f4cdd9;
  color: #e9537d;
}
.mm-menu .mm-navbar-top i{font-size: 18px;}
.mm-navbar{border: none;}
.mm-panels{background: #fff;}
.mm-panels > .mm-panel{padding: 20px;}
.mm-listview > li {
  padding: 0 10px;
  transition: .5s ease;
}
.mm-listview > li.banner a{
  text-align: center;
  padding: 0;
}
.mm-listview > li.search{padding: 20px 10px;}
.mm-listview > li:hover{background: #f4cdd9;}
.mm-listview > li.search:hover,.mm-listview > li.banner:hover{background: #fff;}
.mm-menu form{margin: 5px auto 0;}
.mm-menu input{border-color: #f4cdd9;}
.mm-menu button{
  background: #f4cdd9;
  color: #fff;
}
/*===========================================================
TOP
===========================================================*/
/*-- loading --*/
.is-hide {
    display: none;
}
/* LOADING */
#loader-bg {
  background: #ffffff;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}
#loader {
  height: 120px;
  left: 50%;
  margin-left: -60px;
  margin-top: -60px;
  position: fixed;
  top: 50%;
  width: 120px;
}
#loader p {
    color: #454545;
    font-size: 10px;
    line-height: 1.4;
    text-align: center;
}
#loader p img {
    display: inline-block;
}
#loader-bg.is-hide + .mm-wrap{
  display: none;
}
#loader-bg .mm-wrap{
  display: block;
}
/*-- top-news --*/
.section{margin: 0 0 80px 0;}
.topslide{
  margin: 0 auto 50px;
  max-width: 1200px;
}
.carousel-control-prev,.carousel-control-next{
  width: 5%;
  opacity: 1;
}

/*-- online-news --*/
.online-news img{width: 100%;}

.online-news .swiper-pagination-bullet-active{background-color: #e9537d;}
.online-news.swiper-container{margin: 0 auto 20px;}
.online-news .swiper-slide .img-wrap:before{
  padding-top: 36.2%;
}
.online-news .swiper-slide img{
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}
.online-news .swiper-slide .news-caption{
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 10px 10px 20px;
  display: flex;
  align-items: flex-end;
  font-size: 16px;
  text-shadow:-1px 1px 4px rgba(233,83,125,0.8);
  background: -moz-linear-gradient(top,  rgba(244,205,217,0) 0%, rgba(244,205,217,0.7) 100%);
  background: -webkit-linear-gradient(top,  rgba(244,205,217,0) 0%,rgba(244,205,217,0.7) 100%);
  background: linear-gradient(to bottom,  rgba(244,205,217,0) 0%,rgba(244,205,217,0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f4cdd9', endColorstr='#ccf4cdd9',GradientType=0 );
  -webkit-transition: top 0.5s ease;
          transition: top 0.5s ease;
  color:#fff;
}
.online-news .swiper-slide:hover .news-caption{top: 0;}

/*series desktop*/
.series-desktopimg{width: 100%;}

.series-desktop .swiper-pagination-bullet-active{background-color: #e9537d;}
.series-desktop .swiper-container{margin: 0 auto 10px;}
.series-desktop .swiper-slide{
  position: relative;
  overflow: hidden;
}
.series-desktop .swiper-slide .news-caption{
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 10px 10px 20px;
  display: flex;
  align-items: flex-end;
  font-size: 16px;
  text-shadow:-1px 1px 4px rgba(233,83,125,0.8);
  background: -moz-linear-gradient(top,  rgba(244,205,217,0) 0%, rgba(244,205,217,0.7) 100%);
  background: -webkit-linear-gradient(top,  rgba(244,205,217,0) 0%,rgba(244,205,217,0.7) 100%);
  background: linear-gradient(to bottom,  rgba(244,205,217,0) 0%,rgba(244,205,217,0.7) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f4cdd9', endColorstr='#ccf4cdd9',GradientType=0 );
  -webkit-transition: top 0.5s ease;
          transition: top 0.5s ease;
  color:#fff;
}
.series-desktop .swiper-slide:hover .news-caption{top: 0;}
/*end of series desktop*/

.swiper-container-horizontal > .swiper-pagination-bullets {bottom: 2px;}


@media (max-width: 767px){
  .online-news .swiper-slide .news-caption{
    position: static;
    font-size: 14px;
    color: #f4cdd9;
    background: none;
    text-shadow: none;
    padding: 5px 0 10px 0;
  }
}

/*-- shop-news --*/
.shop-news .ico-txt{flex-shrink: 0;}
.shop-news dt{font-weight: normal;}
#top-page-news-text .ico-txt{width: fit-content;margin-right: 5px;}
#top-page-news-text p{margin-top:5px;margin-bottom:15px;text-align: right;}


/*-- product-list --*/
.product-list-wrap{margin: 50px 0;}
.product-list-wrap .section{margin: 0;}
.product-list .product{margin: 0 0 50px 0;}
.product-list .product img{margin: 0 auto 5px;}
.product-list .product .product-name{margin: 0 0 5px 0;}
.product-list .product .price-org{text-decoration: line-through;}
.product-list .product .price{font-size: 18px;}
.product-list .product .product-image{
  position: relative;
  margin: 0 auto 10px;
}
.product-list .product .product-image span{
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  z-index: 2;
  font-size: 26px;
  text-align: center;
}
.product-list .product .sold-out .product-image{
  background-color: rgba(246,211,211,0.8 );
}
.product-list .product .coming-soon .product-image span,
.product-list .product .sold-outcoming-soon .product-image span{
  background: none;
}
.product-list .product .coming-soon .product-image,
.product-list .product .sold-outcoming-soon .product-image{
  background-color: rgba(211,215,244,1.0 );
}
.product-list .product .sold-out .product-image img,
.product-list .product .coming-soon .product-image img,
.product-list .product .sold-outcoming-soon .product-image img{
  opacity: .45;
}

@media (max-width: 767px){
  .product-list .product{margin: 0 0 30px 0;}
}

/*-- coordinate-list --*/
.top-coordinate-list .coordinate{margin: 0 0 50px 0;}
.coordinate-item{font-size: 12px;}


/*===========================================================
Footer
===========================================================*/
.footer{
  padding: 0 0 10px 0;
  line-height: 2;
}
.footer .container{padding-top: 50px;}
.footer ul ul{margin: 0 0 0 15px;}
.footer ul ul.d-flex{margin: 0;}
.footer ul ul.d-flex li{margin: 0 5px 0 0;}
.footer-menu{margin: 0 0 50px 0;}
.footer-bottom-menu,.footer-bottom{font-size: 12px;}
.footer-bottom-menu li{
  padding: 0 10px;
  border-right: 1px solid #9d9a9a;
  margin: 0 0 20px 0;
}
.sp-footer > div{
  padding: .75rem 1.25rem;
  border-bottom: 1px solid rgba(0,0,0,.125);
}
.sp-footer a{width: 100%;}
.sp-footer a.right-arrow::after{
  content: '\f105';
  font-family: "FontAwesome";
}
.sp-footer  div.ac-btn + div{padding: 0;}
.sp-footer  div.ac-btn a::after{
  content: '\f106';
  font-family: "FontAwesome";
}
.sp-footer  div.ac-btn a.collapsed::after{
  content: '\f107';
  font-family: "FontAwesome";
}
.sp-footer  div.show li{
  display: flex;
  justify-content: space-between;
}
#acMenu2 dd {display: none;}
.footer-bottom-menu li:nth-last-of-type(1){border: none;}
.copyright{font-size: 10px;}
@media (max-width: 767px){
  .footer{
    margin: 80px 0 0 ;
  }
}
/*===========================================================
Instagram Feed Section
===========================================================*/
.container .suravaram a svg:not(:root).svg-inline--fa {
    overflow: visible;
}

.container .suravaram a .svg-inline--fa.fa-w-14 {
    width: .875em;
    margin-right: .5rem;
}

.container .suravaram a .svg-inline--fa {
    display: inline-block;
    font-size: inherit;
    height: 1em;
    overflow: visible;
    vertical-align: -.125em;
}
.instagram-feed-wrap{margin: 120px 0 60px;}
#block-instagramfeedtitle { margin-top: 5%; }
.instagram-feed {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.instagram_profile {
  text-align: center;
  background-color: rgba(157,154,154,0.1);
  border-top: 2px solid #4D4D4D;
  border-right: 2px solid #4D4D4D;
  border-left: 2px solid #4D4D4D;
  padding: 15px 10px;
}
.instagram_profile_image {
  border-radius: 10em;
  width: 15%;
  max-width: 100px;
  min-width: 50px;
}
.instagram_username { font-size: 1.2em; }
.instagram_username a {
  color: #e9537d;
  text-decoration: none;
}
.instagram_username a:hover{ color: #4D4D4D;}
.instagram_biography { font-size: 1em;}
.instagram_gallery {
  background-color: rgba(157,154,154,0.1);
  border-bottom: 2px solid #4D4D4D;
  border-right: 2px solid #4D4D4D;
  border-left: 2px solid #4D4D4D;
  padding: 15px 10px;
}
.instagram_gallery img { margin: 0.25% 0.25%;}

@media (max-width: 575px) {
  .instagram_gallery img { width: 49%;}
}
@media (min-width: 576px) {
  .instagram-feed { max-width: 540px;}
  .instagram_gallery img { width: 49%;}
}
@media (min-width: 768px) {
  .instagram-feed { max-width: 720px;}
  .instagram_gallery img { width: 24.5%;}
}
@media (min-width: 992px) {
  .instagram-feed { max-width: 960px;}
  .instagram_gallery img { width: 12%;}
}
@media (min-width: 1200px) {
  .instagram-feed { max-width: 1140px;}
  .instagram_gallery img { width: 12%;}
}
@media (max-width: 767px) {
  #block-instagramfeedtitle .container h2 a { font-size: 22px;}
}

/*===========================================================
Pickup tag in Product list
===========================================================*/
.pickup-icon-wrap .ico-txt{
  width: auto;
  padding: 0px 3px;
  display: none;
}
.pickup-icon-wrap .ico-txt.pickup-16{
  display: block !important;
  background-color: #e9537d;
}
.pickup-icon-wrap .ico-txt.pickup-17{
  display: block !important;
  background-color: #999671;
}
.pickup-icon-wrap .ico-txt.pickup-18{
  display: block !important;
  background-color: #305059;
}
.pickup-icon-wrap .ico-txt:nth-of-type(n+3){
  display: none;
}
.instagram_contents{
  display: block;
  width: 88%;
  text-align: center;
  padding: 20px 5px 10px 5px;
  margin-left: auto;
  margin-right: auto;
  background-color: #F8F8F8;
  border: 2px solid #666666;
}
/*===========================================================
Related products
===========================================================*/
.grey_con div.container {
    width: 100%;
    padding-right: 0px;
    padding-left: 0px;
}