@charset "utf-8";

/* (CSS) FFFTP > itembox > item > style.css   */

/* base style
=====================================================================*/
html {
  overflow-x: hidden;
}
body{
  width: 100%;
  background: #FFF;
  font-size: 14px;
  /* overflow-x: hidden; */
}
body,
input,
textarea,
button{
  font-family: 'Noto Sans JP',"メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #222222;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  letter-spacing: 0.08em;
}
p {
  letter-spacing: 0.08em;
  margin: 0 0 20px 0;
}
@media only screen and (max-width: 767px){
  body {
    font-size: 13px;
  }
}
::-moz-selection {
  background: #222222;
  color: #fff;
}
::selection {
  background: #222222;
  color: #fff;
}
img{
  width: auto;
  height:auto;
}
span {
  font-weight: inherit;
}
strong {
  font-weight: bold !important;
}
strong span{
  font-weight: bold;
}

.l_contents{
  width: 100%;
  padding: 60px 0 0 0;
  overflow: hidden;
}
.paragraph p {
  margin-bottom: 38px;
}
.paragraph p.btn {
  margin-bottom: auto;
}

.secwrap{
  width: 100%;
  margin: 0 auto 50px;
}
.secwrap_btop {
  padding: 60px 15px 80px 15px;
  border-top: #EFEFEF 4px solid;
  width: 100%;
}
.secwrap_bg {
  padding: 70px 0;
  background: #EFEFEF;
}

.secwrap::after ,
.secwrap_btop::after{
  content: '';
  clear: both;
  display: block;
}

a:hover {
  text-decoration: none;
}
.border_top {
  border-top: #DDD 1px solid;
}
@media only screen and (max-width: 1200px){
  .l_inner {
    width: 100%;
    padding: 33px 0 60px;
  }
  .l_contents{
    width: 100%;
    padding: 40px 0;
    margin: 0 auto;
  }
  .paragraph p {
    margin-bottom: 24px;
  }
  .paragraph p br {
    display: none;
  }
  .secwrap{
    margin-bottom: 40px;
  }
  .secwrap_btop{
      padding-top: 60px;
      padding-bottom: 80px;
  }
}
@media only screen and (max-width: 1100px){
  .secwrap_btop{
      padding-bottom: 80px;
  }
}
@media only screen and (max-width: 767px){
  .l_contents{
    padding: 30px 0 0 0;
  }
  .secwrap_btop{
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .secwrap{
    margin-bottom: 30px;
  }
  .secwrap_bg {
    padding: 40px 15px;
  }
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 20px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ttl_style
=====================================================================*/
.ttl_big {
  min-width: 200px;
  font-family: "Noto Serif JP",serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 20px;
}
.ttl_big span {
  border-bottom: 1px solid #EFEFEF;
  padding:0 2px 10px;
  position: relative;
  font-weight: normal;
}
.ttl_big span::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  z-index: 2;
  content: '';
  width: 40px;
  height: 1px;
  margin-left: -20px;
  background-color: #C22047;
}
.fs-c-heading.ttl_big {
  font-family: 'Noto Sans JP',"メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.ttl_normal{
  width: 100%;
  min-height: 26px;
  border-left: 2px solid #C22047;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  color: #222;
  letter-spacing: 1.4px;
  margin: 0 0 20px 0;
  text-align: left;
}
.ttl_small {
  font-family: 'Noto Sans JP';
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.8px;
  border-bottom: solid 1px #D6D6D6;
  padding-bottom: 12px;
  margin-bottom: 12px;
  position: relative;
}
.ttl_small::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  z-index: 2;
  content: '';
  width: 40px;
  height: 1px;
  background-color: #C22047;
  transition: 0.5s all ease;
}
a:hover .ttl_small::after {
  width: 100%;
}
.ttl_mizuhiki {
  font-family: "Noto Serif JP",serif;
  font-weight: 600;
  font-size: 20px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin-bottom: 20px;
}
.ttl_mizuhiki::after {
  content: '';
  display: block;
  width: 89px;
  height: 16px;
  background: url(../img/common/icon_mizuhiki.png) no-repeat center center;
  background-size: 89px 16px;
  margin: 12px auto 0;
}
.ttl_fs_20 {
  font-size: 20px;
  font-size: 20px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 20px;
}
@media only screen and (max-width: 767px){
  .ttl_big {
    min-width: auto;
    font-size: 16px;
    letter-spacing: 1.6px;
    margin: 0 auto 16px;
  }
  .ttl_big span {
    padding:0 2px 8px;
  }
  .ttl_big span::after {
    width: 42px;
    margin-left: -21px;
  }
  .ttl_big + p {
    font-size: 10px;
    margin-bottom: 32px;
  }
  .ttl_small {
    font-size: 11px;
    padding-bottom: 8px;
    margin-bottom: 8px;
  }
  .ttl_small::after {
    width: 50px;
  }
  .ttl_mizuhiki {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .ttl_fs_20 {
    font-size: 14px;
    letter-spacing: 1.6px;
    margin: 0 auto 16px;
  }
}
/* font_style
=====================================================================*/
.font_mincho {
  font-family: "Noto Serif JP",serif;
}
.font_mincho.medium {
  font-weight: 500;
}

.text_center,
.center {
  text-align: center !important;
}
.text_right {
  text-align: right !important;
}
.text_left {
  text-align: left !important;
}
@media screen and (min-width:768px){
  .pc_center {
    text-align: center;
  }
}

@media only screen and (max-width: 767px){
  .sp_text_left {
    text-align: left!important;
  }
}

/* list_style
=====================================================================*/
ul li,
ol li {
  letter-spacing: 0.8px;
}

ol li{
  list-style: decimal outside;
}
.disc {
  margin-bottom: 28px;
}
.disc li{
  list-style:disc outside;
  line-height: 1.9;
  margin-left:18px;
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px){
  ul li,
  ol li {
  }
  .disc li{
    margin-left:18px;
    line-height: 2.2;
  }
}
/* link, btn
=====================================================================*/
a {
  color: #212121;
  backface-visibility: hidden;
  text-decoration: underline;
  transition:.4s;
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
}
.btn a {
  display: inline-block;
  line-height: 1.5;
  text-align: center;
  font-weight: 400;
  text-decoration: none;
  padding: 21px 50px 21px;
}
.btn_white a {
  color: #FFF;
  border: solid 1px #FFF;
  background: url(../img/common/icon_arrow_01.png) no-repeat 95% 50%;
}
.btn_black a {
  color: #FFF;
  border: solid 1px #333333;
  padding: 15px 50px 15px;
  background: url(../img/common/icon_arrow_01.png) no-repeat 95% 50% #333333;
}
.btn_gray a {
  padding: 8px 50px 8px;
  font-size: 13px;
  border: solid 1px #EFEFEF;
  background: url(../img/common/icon_arrow_01_gray.png) no-repeat 95% 50% #EFEFEF;
}
@media screen and (min-width:768px){
  .btn_white a:hover,
  .btn_black a:hover,
  .btn_gray a:hover {
    color: #212121;
    background: #FFF url(../img/common/icon_arrow_01_red.png) no-repeat 95% 50%  ;
  }
  .btn_black a:hover,
  .btn_gray a:hover {
    border: solid 1px #333333;
  }
}

.btn_area {
  padding: 0;
}
.btn_list {
  display: flex;
  justify-content: center;
}
.btn_list .btn a {
  margin: 0 10px;
}
.btn_list_wrap{
  width: 100%;
  margin: 10px auto 30px;
}
.btn_list_img{
  width: 540px;
  margin: 0 30px;
}
.btn_list_img a{
  display: block;
  width: 100%;
  text-decoration: none;
}
.btn_list_img a img{
    transition: .5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
}
.btn_list_img a:hover img{
  opacity: 0.5;
}
.btn_list_img p{
  margin-bottom: 10px;
}
.btn_list_txt{
  color: #333;
  font-size: 14px;
  line-height: 1.8;
  padding-bottom: 22px;
  border-bottom: 1px solid #D6D6D6;
}
.btn_list_link{
  font-size: 12px;
  padding-right: 30px;
   background: url(../img/common/icon_arrow_01_gray.png) no-repeat 100% 50%;
   text-align: right;
    transition: .5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
}
a:hover .btn_list_link{
  color: #C22047;
   background: url(../img/common/icon_arrow_01_red.png) no-repeat 100% 50%;
}


@media only screen and (max-width: 1200px){
  .btn_list_img{
    width: 48%;
    margin: 0 20px;
  }
  .btn_list_img img{
    width: 100%;
  }
  .btn_list_txt{
    font-size: 13px;
  }
}


@media only screen and (max-width: 767px){
  .btn a {
    width: 100%;
  }
  .btn_white a,
  .btn_black a {
    font-weight: 400;
  }
  .btn_list {
    display: block;
    justify-content: auto;
  }
  .btn_list .btn a {
    margin: 0;
    margin-bottom: 3%;
  }
  .btn_list_wrap{
    padding-top: 20px;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
  }
  .btn_list_img{
   width: 90.2%;
   margin: 0 auto 14px;
  }
  .btn_list_img:last-child{
    margin-bottom: 0;
  }
  .btn_list_txt{
    border: none;
    padding-bottom: 8px;
    min-height: auto;
  }
  .btn_list_link{
    display: none;
  }
}
/* flex style
=====================================================================*/
.columns{
  display:flex;
}
.sp_no_columns{
  display:flex;
}
.flex_wrap /* 折り返す */ {
  flex-wrap:wrap;
}
.flex_down /* 上から下に垂直方向1カラムで並べる */ {
  flex-direction: column;
}
.space_between /* 最初と最後のアイテムは左右端・間隔は均等に配置 */ {
  justify-content: space-between;
}
.flex_start /* 左に詰める */ {
  justify-content: flex-start;
}
.flex_center /* 中央に寄せる */ {
  justify-content: center;
}
.space_around /* 全アイテムの間隔が均等 */ {
  justify-content: space-around;
}
.vertical_center /* 高さを中央に揃える */ {
  align-items: center;
}
.vertical_bottom /* 高さをボトムに揃える */ {
  align-items: flex-end;
}
.flex_reverse /* 並び順を逆に */{
  flex-direction: row-reverse;
}
@media only screen and (max-width: 767px){
  .sp_no_columns /* スマホ表示ではflexしない */ {
    display:block;
  }
  .sp_no_columns_wrap{
    display:block;
  }
}
/* header
=====================================================================*/
header,
article,
.wrap,
.wrap_top,
.under_wrap {
  position: relative;
  overflow: hidden;
}
.wrap_top {
  transition: 0.4s opacity ease;
}
.wrap {
  top: 100px;
  margin: 0 0 80px 0;
}
.wrap_top .wrap {
  top: 137px;
}
.under_wrap {
  top: 91px;
  margin: 0 auto;
  overflow: visible;
}
.fs-l-main,
.fs-c-breadcrumb{
  padding-top: 91px;
  position: relative;
}
.fs-c-breadcrumb + .fs-l-main{
  padding-top: 0px;
}
@media screen and (max-width:1100px){
  .wrap,
  .wrap_top .wrap,
  .under_wrap {
    top: 65px;
  }
  .fs-l-main,
  .fs-c-breadcrumb{
    padding-top: 0px;
  }
}
@media screen and (max-width:767px){
  .wrap,
  .wrap_top .wrap,
  .under_wrap {
    top: 0;
  }
}


.header_wrap {
  width: 100%;
  height: 91px;
  background-color: #FFF;
  padding: 0 0px 0 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  border-bottom: #F5F5F5 1px solid;
  transition: 0.15s height ease;
}

.header_wrap * {
  letter-spacing: 1.0px;
}
.header_logo img {
  width: 111px;
  height: 72px;
  transition: 0.15s all ease;
}
.header_navi_inner{
  display: flex;
  align-items: flex-end;
}
.header_navi_group{
  display: flex;
  flex-direction: column-reverse;
  background-color: #F3F3F3;
}
.header_navi_menu {
  font-family: "Noto Serif JP",serif;
  font-weight: 500;
  font-size: 0;
  margin-top: 0;
  display: flex;
}
.header_navi_menu > li {
  font-size: 13px;
  height: 50px;
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 0 18px 0 18px;
  position: relative;
}
.header_navi_menu > li:last-child {
  padding-right: 30px;
}
.header_navi_menu > li.gnavi_dropdown{
  padding: 0 36px 0 18px;
}
.header_navi_menu > li.header_navi_news{
  padding-right: 54px;
}
.header_navi_menu > li.header_navi_news a::before{
  right: 36px;
}
.header_navi_menu > li.header_navi_product{
  padding-left: 36px;
}

@media only screen and (max-width: 1250px){
  .h_subnavi li{
    padding: 0 15px 0 0;
  }
  .h_subnavi_menu{
    min-width: auto;
  }
  .header_navi_menu > li.gnavi_dropdown{
    padding: 0 30px 0 15px;
  }
  .header_navi_menu > li.header_navi_news{
    padding-right: 48px;
  }
  .header_navi_menu > li.header_navi_news a::before{
    right: 30px;
  }
  .header_navi_menu > li.header_navi_product{
    padding-left: 30px;
  }
}

.header_navi li.bg_gray{
  background: #F3F3F3;
}
.header_navi a {
  color: #222222;
  text-decoration: none;
}
@media screen and (min-width:768px){
  .header_navi a:hover {
    color: #C22047;
  }
}
.header_navi .cart {
  background: url(../img/common/gnavi_line.gif) no-repeat 0 0;
  padding-left: 30px;
}
.header_navi .cart a {
  background:url(../img/common/icon_cart.svg) no-repeat 0 10px;
  background-size: 17px 18px;
}
.header_navi .cart span {
  padding-left: 28px;
}
.header_navi .header_contact_txt {
  display: none;
}
.header_navi .header_contact_img{
  padding-right: 14px;
}
.header_navi .header_contact_img a{
  display: block;
  padding: 8px 12px 18px;
}
.header_navi .header_contact_img a::after{
  display: none;
}
.header_navi .header_fb ,
.header_navi .header_insta  {
  padding: 0 3px;
}
.header_navi .header_fb a,
.header_navi .header_insta a {
  display: block;
  padding: 8px 6px 14px;
}
.header_fb img,
.header_insta img {
  width: 22px;
}
.header_navi .header_fb a::after,
.header_navi .header_insta a::after {
  display: none;
}


.header_navi .header_search_btn {
  position: relative;
}
.header_navi .header_search_btn span {
  display: inline-block;
  cursor: pointer;
  padding: 8px 20px 18px;
}
.header_navi .header_search_btn img {
  vertical-align: bottom;
}
.header_navi a::after {
  content: '';
  width: 0;
  transition: width 0.5s ease;
  border-bottom: 1px solid #C22047;
  display: none;
  transform: translate(0 , 15px);
}
@media screen and (min-width:768px){
  .header_navi a:hover::after {
    width: 100%;
    border-bottom: 1px solid #C22047;
  }
}
.iOS .header_navi a:hover::after {
  display: none;
}

.sp_menu_wrap {
  display: none;
}

/*ログインログアウトの表示切り替えを行うCSS*/
.logout.my-false { display: none; }
.login.my-true { display: none; }

/* カートカウント */
.fs-client-cart-count{
  position: absolute;
  top:2px;
  left:50%;
  background: #C22047;
  color: #FFF;
  width: 17px;
  height: 17px;
  font-size: 10px;
  text-align: center;
  border-radius: 50%;
}
.fs-client-cart-count--0{
  display: none;
}
@media screen and (min-width:1100px){
  .fs-client-cart-count{
    left:10px;
  }
}

/* dropdown_menu
=====================================================================*/
.ddmenu,
.sub-ddmenu {
  position: absolute;
  top: 50px;
  left: 0;
  z-index: 1000;
  opacity:0;
  /* マウス外してもすぐに消えない */
  transform:scale(0);
  -webkit-transform:scale(0);
  -moz-transform:scale(0);
  -ms-transform:scale(0);
  -o-transform:scale(0);
  transition:opacity 0.2s ease 0.3s, transform 0s ease 0.5s;
  -webkit-transition:opacity 0.2s ease 0.3s, -webkit-transform 0s ease 0.5s;
  -moz-transition:opacity 0.2s ease 0.3s, -moz-transform 0s ease 0.5s;
  -ms-transition:opacity 0.2s ease 0.3s, -ms-transform 0s ease 0.5s;
  -o-transition:opacity 0.2s ease 0.3s, -o-transform 0s ease 0.5s;
}
.sub-ddmenu{
  top: 0;
  left: 240px;
}

@media screen and (min-width:768px){
  .gnavi_dropdown > a::before{
    content: '';
    width: 5px;
    height: 5px;
    border-top: solid 1px #222222;
    border-right: solid 1px #222222;
    position: absolute;
    right: 18px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: rotate(135deg);
    transition: 0.2s ease-out;
  }
  .gnavi_dropdown:hover > .ddmenu,
  .gnavi_sub_dropdown:hover > .sub-ddmenu {
    z-index: 1100;
    opacity:1;
    transform:scale(1);
    -webkit-transform:scale(1);
    -moz-transform:scale(1);
    -ms-transform:scale(1);
    -o-transform:scale(1);
    transition:opacity 0.6s ease 0s, transform 0s ease 0s;
    -webkit-transition:opacity 0.6s ease 0s, -webkit-transform 0s ease 0s;
    -moz-transition:opacity 0.6s ease 0s, -moz-transform 0s ease 0s;
    -ms-transition:opacity 0.6s ease 0s, -ms-transform 0s ease 0s;
    -o-transition:opacity 0.6s ease 0s, -o-transform 0s ease 0s;
  }
  .sub-ddmenu li{
    border-left: 1px solid #FFF;
  }

}
.ddmenu ul * {
  font-family: 'Noto Sans JP';
  font-weight: 300;
}
.ddmenu li {
  margin: 0;
}
.ddmenu li a {
  display: block;
  min-width: 240px;
  font-size: 13px;
  color: #FFFFFF;
  border-bottom: solid 1px #9D9D9D;
  background: url(../img/common/icon_arrow_01.png) no-repeat 90% 50% #333;
  padding: 18px 20px;
}
@media screen and (min-width:768px){
  .ddmenu li a:hover {
    color: #CCC;
    background: url(../img/common/icon_arrow_01.png) no-repeat 94% 50% #333;
  }
  .ddmenu.long_menu li a {
    min-width: 300px;
  }
  .sub-ddmenu.long_menu li a {
    min-width: 280px;
  }
  .ddmenu .sub-ddmenu .sub-ddmenu li a {
    min-width: 280px;
  }
}
.ddmenu li a::after {
  border-bottom: none;
  display: none;
  margin-top: 0;
}
.ddmenu li:last-child a {
  border-bottom: none;
}
.header_search_area {
  display: none;
  position: absolute;
  right: 50px;
  top: 80px;
  background: #FFF;
  padding: 15px;
  z-index: 200;
  box-shadow: 0 0 3px rgba(0,0,0,0.3);
}
.header_search_area.active {
  display: block;
}
.fixed .header_search_area {
  top: 51px;
}
input.header_search_kw {
  width: 280px;
  height: 42px;
  border: #CCC 1px solid;
  padding: 10px;
  margin: 0 5px 0 0;
  -webkit-appearance: none;
}
.header_search_submit {
  width: 65px;
  height: 42px;
  padding: 0;
  background: #333;
  border: #333 1px solid;
  color: #FFF;
  text-align: center;
  cursor: pointer;
  transition: 0.3s all ease;
  -webkit-appearance: none;
}
.header_search_submit:hover {
  background: #FFF;
  color: #222;
}
.header_search_area .search_popular_keyword_list{
  display: flex;
}
.header_search_area .search_popular_keyword_title{
  font-size: 12px;
  margin:10px 0 11px;
}
.header_search_area .search_popular_keyword_list li{
  margin-right: 10px;
}
.header_search_area .search_popular_keyword_list a{
  text-decoration: none;
  padding: 4px 10px;
  border-radius: 2px;
  font-size: 12px;
  background: #EFEFEF;
}
@media only screen and (max-width: 1100px){
  .header_search_area {
    display: block;
    position: relative;
    left: 0;
    right: auto;
    top: 0;
    width: 100%;
    background: none;
    padding: 20px 15px;
    z-index: 200;
    box-shadow: none;
  }
  .fixed .header_search_area {
    top: 0;
  }
  input.header_search_kw {
    width: calc(100% - 80px);
    height: 42px;
    padding: 10px 10px 10px 35px;
    margin: 0 5px 0 0;
    background: #FFF url(../img/common/icon_search.png) no-repeat 10px 50%;
    background-size: 12px;
    font-size: 16px;
  }
  .header_search_submit {
    width: 65px;
    height: 42px;
    background: #000;
    color: #FFF;
    border: #CCC 1px solid;
  }
}
@media screen and (max-width:1100px){
  .header_wrap,
  .header_wrap.fixed {
    height: 66px;
    padding: 0 20px;
  }
  .header_logo img,
  .fixed .header_logo img {
    width: 65px;
    height: 42px;
  }
  .lock {
    overflow: hidden;
  }
  .sp_gnavi {
    display: none;
  }
  .header_wrap,
  .header_wrap.fixed {
    position: relative;
  }
  .footer_popup_menu{
    background-color: #EFEFEF;
  }
  .footer_popup_menu li.border >  p{
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    position: relative;
  }
  .footer_popup_menu li.popup_child_menu_wrap_ttl_top >  p{
    border-bottom: 1px solid #DDDDDD;
    position: relative;
  }
  .footer_popup_menu li.border >  p::before{
    content: "";
    display: none;
    position: absolute;
    top: calc(50% - 2px);
    right: 10px;
    width: 10px;
    height: 10px;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat;
    background-size: 5px;
    transition: 0.4s;
    transform: rotate(90deg);
  }
  .footer_popup_menu li.contact a{
    background: url("../img/common/icon_contact_01.svg") no-repeat left 20px center;
    background-size: auto 22px;
    padding-left: 52px;
  }
  .footer_popup_menu li.wrapping a{
    background: url(../img/common/icon_wrapping_sp.png) no-repeat left 20px center;
    background-size: 18px auto;
    padding-left: 45px;
  }
  .footer_popup_menu .popup_child_menu_wrap_ttl{
    margin: 0;
    padding: 17px 5px 18px;
  }
  .popup_child_menu_wrap{
    width: calc(100% - 18px);
    margin: 0 0 0 18px;
  }
  .popup_child_menu_wrap li:last-child a,
  .popup_child_menu_wrap .popup_child_menu{
    border-bottom: none;
  }
  .popup_child_menu_wrap li a{
    display: block;
    padding: 17px 5px 18px 0;
    border-bottom: 1px solid #DDDDDD;
    position: relative;
  }
  .popup_child_menu_wrap li a.toggle_menu_ttl{
    border-bottom: 1px solid #FFF;
  }
  .popup_child_menu_wrap li a.toggle_menu_ttl.active{
    border-bottom: 1px solid #DDDDDD;
  }
  .popup_child_menu{
    background-color: #FFFFFF;
  }
  .popup_child_menu a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 5px;
    width: 10px;
    height: 10px;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat;
    background-size: 5px;
    transition: 0.4s;
  }
  .popup_child_menu_wrap a.toggle_menu_ttl::before {
    content: "";
    display: block;
    position: absolute;
    transition: 0.4s;
    right: 9px;
    width: 10px;
    height: 1px;
    background: #C22047;
    top: 50%;
  }
  .popup_child_menu_wrap a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 5px;
    width: 10px;
    height: 10px;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat;
    background-size: 5px;
    transition: 0.4s;
  }
  .popup_child_menu_wrap .popup_child_menu a{
      border-bottom: none;
      padding: 10px 8px 9px;
  }
  .ddmenu .gnavi_sub_dropdown:hover a{
    background: url(../img/common/icon_arrow_01.png) no-repeat 98% 50% #333;
  }
  .ddmenu .gnavi_sub_dropdown .sub-ddmenu li a {
    background: url(../img/common/icon_arrow_01.png) no-repeat 90% 50% #333;
  }
  .ddmenu .gnavi_sub_dropdown .sub-ddmenu li:hover a {
    background: url(../img/common/icon_arrow_01.png) no-repeat 98% 50% #333;
  }
}



/* footer
====================================*/
.under_wrap + footer{
  margin-top: 136px;
}
.footer_area {
  width: 100%;
  border-top: 1px solid #DDD;
  padding: 50px 0 0 0;
  position: relative;
}
.wrap_top .footer_area {
  padding: 90px 0 0 0;
}

.pagetop {
  width: 27px;
  height: 50px;
  position: fixed;
  bottom: 60px;
  right: 40px;
  z-index: 100;
  transition: .4s;
}
.pagetop:hover {
  cursor: pointer;
  bottom: 64px;
}
.footer_wrap {
  width: 1200px;
  border-bottom: solid 1px #DDDDDD;
  margin: 0 auto;
  padding-bottom: 38px;
  display: flex;
  justify-content: space-between;
}
.footer_navi {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer_navi ul {
  vertical-align: top;
}
.footer_navi li a,
.footer_navi li ul li a {
  display: block;
  font-size: 13px;
  margin-bottom: 20px;
  background: url(../img/common/icon_line_red.gif) no-repeat 0 center;
  background-size: 10px 1px;
  padding-left: 22px;
  text-decoration: none;
}
@media screen and (max-width:1100px){
  .under_wrap + footer{
    margin-top: 65px;
  }
  .wrap + footer{
  margin-top: -16px;
  }
  .footer_navi li a,
  .footer_navi li ul li a {
    font-size: 12px;
  }

}
@media screen and (min-width:768px){
  .footer_navi li a:hover,
  .footer_navi li ul li a:hover {
    color: #C22047;
  }
}
.footer_navi span {
  display: none;
}
.footer_navi li.cart a {
  background:url(../img/common/icon_cart.svg) no-repeat 0 center;
  background-size: 17px 18px;
  padding-left: 22px;
}
.footer_navi li.loginout a {
  background:url(../img/common/icon_login_red.svg) no-repeat 3px center;
  background-size: 12px auto;
  padding-left: 22px;
}
.footer_bnr {
  width: 15%;
}
.footer_bnr li {
  display: table;
  width: 100%;
  height: 48px;
  border: solid 1px #DDDDDD;
  margin-bottom: 10px;
}
.footer_bnr * {
  vertical-align: middle;
}
.footer_bnr a {
  display: table-cell;
  text-decoration: none;
}
@media screen and (min-width:768px){
  .footer_bnr a:hover {
    opacity: 0.6;
  }
}
.footer_bnr img {
  width: 24px;
  height: 24px;
  margin-right: 12px;
}
.footer_bnr a{
  padding-left: 22px;
}
.bnr_gd {
  text-align: center;
}
.bnr_gd img {
  width: 129px;
  height: 22px;
  margin: 0;
  padding-left: 0;
}
.bnr_gd a {
  padding: 0;
}
.footer_logo {
  width: 1200px;
  text-align: center;
  margin: 0 auto;
  padding: 40px 0;
  position: relative;
}
.footer_logo p{
  margin-bottom: 0;
}
.footer_logo img {
  width: 159px;
  height: 102px;
}
.footer_copy {
  width: 100%;
  background-color: #333333;
}
.footer_copy p {
  color: #FFF;
  font-size: 12px;
  font-weight: 300;
  text-align: center;
  line-height: 1.0;
  padding: 12px 0;
  margin: 0;
}

.footer_bnr {
  display: none;
}
.footer_sp_shop_area {
  display: none;
}
.footer_sp_contact_btn{
  display: none;
}
.footer_pc_contact_btn .btn_contact{
  margin-bottom: 35px;
}
.footer_pc_contact_btn .btn_contact a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  color: #FFF;
  font-size: 13px;
  border: solid 1px #EFEFEF;
  background: url(../img/common/icon_arrow_01.png) no-repeat 95% 50% #333333;
}
.footer_pc_contact_btn .btn_contact a::before{
  content: "";
  display: block;
  width: 27px;
  height: 21px;
  margin-right: 7px;
  background-color: #FFF;
  mask-image: url(../img/common/icon_contact_01.svg);
  transition: .4s;
  -webkit-transition: .4s;
}
.footer_pc_contact_btn .btn_contact a:hover{
  color: #212121;
  background: #FFF url(../img/common/icon_arrow_01_red.png) no-repeat 95% 50%;
  border: solid 1px #333333;
}
.footer_pc_contact_btn .btn_contact a:hover::before{
  background-color: #C11F46;
}

.footer_shop_area {
  width: 380px;
  flex-basis: 380px;
}
.footer_pc_copy {
  margin-bottom: 5px;
  font-size: 12px;
  text-align: left;
  color: #d6003a;
  letter-spacing: 0.08em;
  text-indent: 40px;
}
.footer_shop_wrap {
  overflow: hidden;
  margin-bottom: 10px;
}
.footer_shop_thumb {
  width: 190px;
  float: left;
}
.footer_shop_thumb img {
  width: 190px;
}
.footer_shop_text {
  width: 180px;
  float: right;
  font-size: 12px;
}
.footer_shop_name {
  display: inline-block !important;
  font-size: 13px;
  font-weight: bold;
}
.li_indent {
  margin-left: 15px;
}
.footer_shop_btn a {
  width: 100%;
}
.footer_policy_link {
  position: absolute;
  left: 0;
  bottom: 50px;
}
.footer_policy_link li {
  display: inline-block;
  vertical-align: top;
  font-size: 11px;
  text-align: left;
  margin: 0 10px 0 0;
  padding: 0 10px 0 0;
  border-right: #EFEFEF 1px solid;
}
.footer_policy_link li:last-child {
  border: none;
}
.footer_policy_link a {
  text-decoration: none;
}
/* Cookie 設定 */
.footer_policy_link #ot-sdk-btn.ot-sdk-show-settings{
  border: none;
  padding: 0;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  background: none;
}
.footer_policy_link #ot-sdk-btn.ot-sdk-show-settings:hover{
  color: inherit;
  background: none;
}
.footer_pc_sns {
  width: 450px;
  position: absolute;
  right: 0;
  bottom: 50px;
  text-align: right;
}
.footer_pc_sns li {
  display: inline-block;
  vertical-align: top;
  width: auto;
  border: none;
  margin-left: 10px;
}
.footer_pc_sns * {
  vertical-align: middle;
}
.footer_pc_sns a {
  display: table-cell;
  text-decoration: none;
}
.footer_pc_sns img {
  width: 24px;
  height: 24px;
  margin-right: 12px;
}
.footer_pc_sns a{
  font-size: 12px;
  padding-left: 22px;
}
.footer_pc_sns li.bnr_gd {
  text-align: center;
  border-left: #EFEFEF 1px solid;
  padding: 0 ;
}
.footer_pc_sns li.bnr_gd img {
  width: auto;
  height: 24px;
  margin: 0;
  padding-left: 0;
}
@media only screen and (max-width: 1200px){
  .footer_wrap {
    width: calc(100% - 30px);
    flex-wrap:wrap;
    justify-content: unset;
  }
  .footer_navi {
    width: 100%;
    margin-bottom: 0px;
  }
  .footer_bnr {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .footer_bnr li {
    width: 32%;
    float: left;
    margin: 0 0.5%;
  }
  .footer_sp_contact_btn{
    display: block;
    width: calc(100% - 30px);
    margin: 0 auto;
  }
  .footer_sp_contact_btn{
    padding-bottom: 28px;
  }
  .footer_sp_contact_btn .btn{
    max-width: 400px;
    margin: 0 auto;
  }
  .footer_sp_contact_btn a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    color: #FFF;
    font-size: 13px;
    border: solid 1px #EFEFEF;
    background: url(../img/common/icon_arrow_01.png) no-repeat 95% 50% #333333;
  }
  .footer_sp_contact_btn a::before{
    content: "";
    display: block;
    width: 27px;
    height: 21px;
    margin-right: 7px;
    background-color: #FFF;
    mask-image: url(../img/common/icon_contact_01.svg);
    transition: .4s;
    -webkit-transition: .4s;
  }
  .footer_logo {
    width: calc(100% - 30px);
  }
  .footer_pc_sns {
    display: none;
  }
  .footer_shop_area {
    display: block;
    width: 400px;
    flex-basis: 400px;
    margin: 30px auto 30px auto;
  }
  .footer_shop_wrap {
    overflow: hidden;
    margin-bottom: 10px;
  }
  .footer_shop_thumb {
    width: 190px;
    float: left;
  }
  .footer_shop_thumb img {
    width: 190px;
  }
  .footer_shop_text {
    width: 180px;
    float: right;
    font-size: 12px;
  }
  .footer_shop_name {
    display: inline-block !important;
    font-size: 13px;
    font-weight: bold;
  }
  .footer_shop_text p {
    margin-bottom: 0;
  }
  .footer_shop_btn p{
    margin-bottom: 0;
  }
  .footer_shop_btn a {
    width: 100%;
  }
  .footer_pc_contact_btn{
    display: none;
  }
  .footer_sp_copy {
    margin-bottom: 5px;
    font-size: 12px;
    text-align: center;
    color: #d6003a;
    letter-spacing: 0.08em;
    line-height: 1.6;
  }
  
}
@media only screen and (max-width: 767px){
  .pagetop {
    width: 37px;
    height: 37px;
    position: absolute;
    bottom: 42px;
    right: 10px;
    z-index: 10;
  }
  .pagetop:hover {
    bottom: 42px;
  }
  .pagetop img {
    width: 37px;
    height: 37px;
  }
  .footer_area {
    position: relative;
    padding: 28px 0 0;
  }
  .wrap_top .footer_area {
    padding: 50px 0 0;
  }
  .footer_wrap {
    width: 100%;
    flex-wrap:wrap-reverse;
    border-bottom: none;
    padding: 0;
  }
  .footer_navi {
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    background-color: #EFEFEF;
  }
  .footer_navi * {
    font-size: 12px!important;
  }
  .footer_navi ul {
    display: block;
    width: 100%;
  }
  .footer_navi li {
    border-bottom: solid 1px #FFF;
  }
  .footer_navi li.cart a {
    background-image: url(../img/common/icon_arrow_02_red.svg) , url(../img/common/icon_cart.svg);
    background-position: 98% 50%,0 center;
    background-repeat: no-repeat;
    background-size: 8px 13px,17px 18px;
    padding-left: 22px;
  }
  .footer_navi li.loginout a {
    background-image: url(../img/common/icon_arrow_02_red.svg) , url(../img/common/icon_login_red.svg);
    background-position: 98% 50%,3px center;
    background-repeat: no-repeat;
    background-size: 8px 13px,12px auto;
    padding-left: 22px;
  }

  .footer_navi li a,
  .footer_navi li ul li a,
  .footer_navi span {
    display: block;
    margin-bottom: 0px;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat 98% 50%;
    background-size: 8px 13px;
    padding: 18px 0;
  }
  /* Cookie 設定 */
  .footer_navi #ot-sdk-btn.ot-sdk-show-settings{
    border: none;
    padding: 0;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat 98% 50%;
    background-size: 8px 13px;
    padding: 18px 0;
  }
  .footer_navi #ot-sdk-btn.ot-sdk-show-settings:hover{
    color: inherit;
    background: none;
  }
  .footer_navi span {
    cursor: pointer;
  }
  .footer_navi_sp span.close {
    background: url(../img/common/icon_plus_red.svg) no-repeat 98% 50%;
    background-size: 12px 12px;
  }
  .footer_navi_sp span.open {
    background: url(../img/common/icon_minus_red.svg) no-repeat 98% 50%;
    background-size: 12px 1px;
  }
  .footer_ddmenu {
    display: none;
  }
  .footer_ddmenu.active {
    display: block;
  }
  .footer_ddmenu li {
    padding-left: 10px;
    border: none;
    border-top: solid 1px #DDDDDD;
    background-color: #F2F2F2;
  }
  .footer_sp_contact_btn{
    border-bottom: 0;
    padding-bottom: 50px;
  }
  .footer_bnr {
    text-align: center;
    padding-bottom: 28px;
  }
  .footer_bnr li {
    display: inline-block;
    width: auto;
    height: auto;
    border: none;
    float: none;
    margin: 0 8px 8px;
    padding: 0;
  }
  .footer_bnr span {
    display: none;
  }
  .footer_bnr img {
    width: 22px;
    height: 22px;
    margin-right: 0;
  }
  .footer_bnr a {
    display: block;
    padding: 0;
  }
  li.bnr_gd{
    display: block;
  }
  .bnr_gd img {
    display: block;
    width: 127px;
    height: 22px;
    margin: 10px auto 0;
  }
  .footer_logo {
    width: 100%;
    padding: 30px 0;
  }
  .footer_logo img {
    width: 101px;
    height: 65px;
  }
  .footer_copy p {
    font-size: 10px;
    padding: 10px 0;
    margin-bottom: 56px;
  }
  .footer_policy_link {
    display: none;
  }
  .footer_shop_area {
    display: block;
    width: 100%;
    padding: 40px 0;
  }
  .footer_shop_wrap {
    margin-bottom: 15px;
    display: flex;
  }
  .footer_shop_thumb {
    width: 140px;
    margin-right: 15px;
  }
  .footer_shop_thumb img {
    width: 140px;
  }
  .footer_navi .footer_shop_name {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 0;
  }
  .footer_shop_text {
    width: 100%;
    font-size: 11px;
  }
  .footer_shop_text p{
    margin-bottom: 0;
  }
  .footer_shop_btn p{
    margin-bottom: 0;
  }
  .footer_shop_btn a{
    padding: 8px;
    background-color: #FFF;
  }
  .footer_sp_copy {
    margin-bottom: 10px;
  }
  .footer_pc_contact_btn{
    display: none;
  }
}

/* Preview
=====================================================================*/
.fs-preview-header{
  /* display: none!important; */
  position: absolute;
  z-index: 9999;
}
/* top
=====================================================================*/
.head_news {
  width: 100%;
  position: relative;
  padding: 6px 20px 6px 44px;
  background: #F2F2F2;
}
.head_news p {
  margin: 0;
  text-align: left;
  font-size: 13px;
}

.top_movie {
  width: 100%;
  position: relative;
  text-align: center;
}
.bg_movie {
  width: 100%;
  background-size: cover;
  position: relative;
  z-index:0;
}

/* トップページカルーセル */
.top_slider .fs-pt-carousel{
  margin: 0 0 100px;
}
.top_slider .fs-pt-carousel__slide{
  margin: 0;
}
.top_slider .fs-c-slick .slick-prev,
.top_slider .fs-c-slick .slick-next{
  background: none;
}
.top_slider .fs-c-slick .slick-prev{
  left: 18px;
}
.top_slider .fs-c-slick .slick-next{
  right: 18px;
}
.top_slider .fs-c-slick .slick-prev:before,
.top_slider .fs-c-slick .slick-next:before{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 37px;
  width: 11px;
}
.top_slider .fs-c-slick .slick-prev:before {
  background: url(../img/common/slider_prev.png) center no-repeat;
  background-size: contain;
  left: 0;
}
.top_slider .fs-c-slick .slick-next:before {
  background: url(../img/common/slider_next.png) center no-repeat;
  background-size: contain;
  right: 0;
}
.top_slider .fs-c-slick .slick-dots{
  position: absolute;
  bottom: 10px;
  left: 0;
  right: 0;
  margin: auto;
}
.top_slider .fs-c-slick .slick-dots li button:before{
  width: 8px;
  height: 8px;
  font-size: 6px;
  opacity: 1;
  color: #505050;
}
.top_slider .fs-c-slick .slick-dots li.slick-active button:before {
  font-size: 10px;
  opacity: 1;
  color: #505050;
}

/* MV画像を複数枚表示 */
.top_slider .fs-pt-carousel__slide img{
  max-width:1200px;
}
.top_slider .fs-pt-carousel__slide a{
  text-decoration: none;
}
.top_slider .fs-pt-carousel__slide__caption {
  position: relative;
}
.top_slider .fs-c-slick .slick-dots{ 
  bottom: 40px!important;
}
.top_slider.sp_hide .fs-c-slick .slick-prev{
  left: calc(50vw - 600px)!important;
}
.top_slider.sp_hide .fs-c-slick .slick-next{
  right: calc(50vw - 600px)!important;
}

@media only screen and (max-width: 767px){
  .top_slider .fs-pt-carousel{
    margin: 0 0 50px;
  }
  .top_slider .fs-c-slick .slick-prev{
    left: 10px;
  }
  .top_slider .fs-c-slick .slick-next{
    right: 10px;
  }
  .top_slider .fs-c-slick .slick-prev:before,
  .top_slider .fs-c-slick .slick-next:before {
      height: 32px;
      width: 8px;
  }
}
/* 新バナー */
.fs-p-bannerGroup {
  margin: 0 auto 100px;
  padding: 0 30px;
  max-width: 1200px;
  justify-content: center;
  align-items: center;
  gap: 20px;
  display:grid;
  grid-template-columns: repeat(2, 400px);
}
.fs-p-banner{
  max-width: 400px;
}
.fs-p-banner img {
  max-width: 100%;
}
@media only screen and (min-width: 1100px){
  .fs-p-banner img {
    transition: all 0.3s ease;
  }
  .fs-p-banner a:hover img {
    opacity: 0.8;
  }
}
@media screen and (max-width:767px){
  .fs-p-bannerGroup {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    margin: 0 auto 40px;
    padding: 0 15px;
  }
  .fs-p-banner{
    max-width: 100%;
  }
  .fs-p-bannerGroup {
    gap: 7px;
  }
}

/* 任意商品表示 */
@media screen and (max-width:767px){
  .fs-c-productListCarousel__list .slick-slide > div{
    width: calc(50vw - 15px);
    padding: 0 8px;
  }
  .fs-c-productListCarousel{
    position: relative;
    display: block;
  }
  .fs-c-productListCarousel__ctrl{
    position: static;
  }
  .fs-c-button--carousel--prev,
  .fs-c-button--carousel--next{
    position: absolute;
    z-index: 999;
    display: block;
    height: 40px;
    width: 40px;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
  }
  .fs-c-button--carousel--prev{
    left: -10px;
  }
  .fs-c-button--carousel--next{
    right: -10px;
  }
  .fs-c-button--carousel--prev:before,
  .fs-c-button--carousel--next:before {
    content: "";
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 32px;
    width: 8px;
  }
}
/* 任意商品カルーセル調整 */
@media only screen and (max-width: 767px){
  .fs-c-productListCarousel .slick-slide > div{
    width: calc(45vw - 15px)!important;
  }
  .fs-c-productListCarousel__ctrl.slick-disabled{
    opacity: 1!important;
  }
  .fs-c-productListCarousel .fs-c-button--carousel--prev,
  .fs-c-productListCarousel .fs-c-button--carousel--next{
    top: 20%;
    background-color: rgba(255,255,255,0.8);
    border: 1px solid #EEE;
  }
  .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--prev,
  .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--next{
    background-color: rgba(255,255,255,0.3);
    border: 1px solid rgba(238,238,238,0.3);
  }
  .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--prev::before,
  .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--next::before{
    opacity: 0.3;
  }
  .fs-c-productListCarousel .fs-c-button--carousel--prev{
    left: -10px;
  }
  .fs-c-productListCarousel .fs-c-button--carousel--prev::before{
    left: 14px;
  }
  .fs-c-productListCarousel .fs-c-button--carousel--next{
    right: -10px;
  }
  .fs-c-productListCarousel .fs-c-button--carousel--next::before{
    right: 14px;
  } 
}
@media screen and (min-width:768px){
  /* スライドを解除してグリッド表示 */
  .fs-c-productListCarousel.fs-c-slick {
    display: block;
  }
  span.fs-c-productListCarousel__ctrl {
    display: none !important;
  }
  .fs-c-productListCarousel__list {
    display: block;
  }
  .fs-c-productListCarousel.fs-c-slick div.slick-track {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr !important;
    grid-gap: 25px;
    width: 100% !important;
    transform: none !important;
  }
  .fs-c-productListCarousel.fs-c-slick div.slick-track::before {
    content: none !important;
  }
  .fs-c-productListCarousel.fs-c-slick article.fs-c-productListCarousel__list__item.fs-c-productListItem {
    min-width: 100%;
    margin: 0;
  }
}

/* ギフトにおすすめ */
.top_recommend_wrap{
  max-width: 1200px;
  margin: 0 auto 30px auto;
  overflow: hidden;
}
.top_recommend_wrap .ttl_big{
  margin-bottom: 50px;
}
.top_recommend .fs-c-productListItem__control,
.top_recommend .fs-c-productPrice__main__label{
  display:none;
}
.top_recommend .fs-c-productListItem__productName{
  margin-bottom: 16px;
  font-size: 12px;
}
.top_recommend .fs-c-productMark{
  display: none;
}
.top_recommend .fs-c-productPrice{
  display:flex;
}
.top_recommend .fs-c-price{
  justify-content:start;
  font-size: 13px;
  font-weight: bold;
}
.top_recommend .fs-c-productPrice__addon{
  font-size: 11px;
}
.top_recommend a{
  text-decoration: none;
}
.top_recommend a:hover{
  text-decoration: underline;
}
@media screen and (max-width:1100px){
  .top_recommend_wrap{
    padding: 0 15px;
  }
}
@media only screen and (max-width: 767px){
  .top_recommend{
    margin: 0 -15px 0 0;
  }
  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel--next{
    right: 5px;
  }
}

/* 今治謹製について */
.top_about{
  margin-bottom: 120px;
}
.top_about .ttl_big{
  margin-bottom: 50px;
}
.top_about_inner{
  max-width: 950px;
  margin: 0 auto 0;
}
.top_about_contents{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 70px;
}
.top_about_text_wrap{
  display: flex;
  align-items: center;
}
.top_about_text > p{
  line-height: 2;
  margin-bottom: 2em;
  font-size: 13px;
}
.top_about_text_title{
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.2;
  margin-bottom: 40px;
}
.top_about_text .last{
  margin-bottom: 50px;
}
.top_about_text .btn_black{
  margin-bottom: 0; 
}

.top_about .fs-pt-carousel__slide{
  margin: 0;
}
.top_about .fs-c-slick .slick-prev,
.top_about .fs-c-slick .slick-next{
  display: none!important;
} 
.top_about .fs-c-slick .slick-dots{
  position: absolute;
  bottom: 15px;
  right: 15px;
  margin: auto;
}
.top_about .fs-c-slick .slick-dots li button:before{
  width: 8px;
  height: 8px;
  font-size: 6px;
  opacity: 1;
  color: #FFFFFF;
}
.top_about .fs-c-slick .slick-dots li.slick-active button:before {
  font-size: 10px;
  opacity: 1;
  color: #FFFFFF;
}
.top_about .fs-c-slick .slick-slide img{
  max-width: 440px;
}
@media screen and (max-width:1100px){
  .top_about_inner{
    padding: 0 15px;
  }
  .top_about_contents{
    grid-gap: 35px;
  }
}

@media screen and (max-width:767px){
  .top_about{
    margin-bottom: 70px;
  }
  .top_about_inner{ 
    padding: 0 15px;
  }
  .top_about .ttl_big{
    margin-bottom: 30px;
  }
  .top_about_contents{
    display: block;
  }
  .top_about_slider_wrap{
    margin-bottom: 40px;
    position: relative;
  }
  .top_about_slider_wrap img{
    width: 100%;
  }
  .top_about_text_title{
    font-size: 20px;
    margin-bottom: 24px;
  }
  .top_about_text .last{
    margin-bottom: 30px;
  }
  .top_about_text .btn_area{
    text-align: center;
  }
  
  .top_about_text .btn_black a{
    width: 250px;
  }
  .top_about .fs-c-slick .slick-slide > div{
    max-width: calc(100svw - 30px);
    padding-right: 15px;
  }
  .top_about .fs-c-slick .slick-slide img{
    max-width: 100%;
  }
}

/* TOP pickup */
.wrap_top .h_recommend {
  display: none !important;
}
.ttl_big {
  margin-bottom: 50px;
}
.top_pickup {
  margin: 0px auto 120px auto;
}
.top_pickup_inner{
  max-width: 1200px;
  margin: 0 auto;
}
.top_pickup_contents {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.pickup3 {
  flex-basis: 33.3%;
  border:#DDDDDD 1px solid;
}
.pickup3:nth-child(2),
.pickup3:nth-child(3),
.pickup3:nth-child(5),
.pickup3:nth-child(6) {
  border-left: none;
}
.pickup3:nth-child(n + 4){
  border-top: none;
}
.pickup3 a {
  display: block;
  height: 100%;
  background: #FFF;
  color: #333;
  text-decoration: none;
  transition: 0.3s background-color ease;
  padding: 0 0 30px 0;
}
.pickup3_thumb {
}
.pickup3_thumb img {
  width: 100%;
}
.pickup3 p {
  font-size: 12px;
  line-height: 1.5;
  padding: 0 20px;
  letter-spacing: 0.08em;
}
.pickup3 .tag_pickup3 {
  font-size: 11px;
  line-height: 1.5;
  color: #919191;
  padding: 0 20px;
  display: flex;
  margin-bottom: 20px;
}
.pickup3 .tag_pickup3 li{
  margin-right: 15px;
}
.pickup3 .tag_pickup3 li::before{
  content: '#';
}
.h_pickup3 {
  margin: 23px 0 15px 0;
  padding: 0;
  background: none;
  text-align: center;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: #222;
  text-decoration: none;
  transition: 0.3s color ease;
  position: relative;
}
.link_pickup3 {
  margin: 0 20px 0 0;
  font-size: 13px !important;
  padding-right: 30px !important;
  background: url(../img/common/icon_arrow_01_gray.png) no-repeat 100% 50%;
  text-align: right;
  transition: .5s;
  color: #333;
  transition: 0.3s color ease;
}
.top_pickup_btnarea .btn_black{
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px){
  .pickup3 a:hover {
    background: #F5F5F5;
    color: #333;
    text-decoration: none;
  }
  a:hover .h_pickup3 {
    color: #C11F46;
  }
  a:hover .link_pickup3 {
    color: #C11F46;
    background: url(../img/common/icon_arrow_01_red.png) no-repeat 100% 50%;
  }
}

@media only screen and (max-width: 767px){
  .top_pickup {
    margin: 0 auto 70px auto;
  }
  .top_pickup_inner{
    padding: 0 15px;
  }
  .top_pickup_contents {
    display: block;
    margin-bottom: 40px;
  }
  .pickup3 {
    display: block;
    width: 100%;
    margin: 0 auto 25px auto;
    border:#DDDDDD 1px solid!important;
  }
  .pickup3 a {
    position: relative;
    padding: 0 ;
  }
  .pickup3_thumb {
    position: relative;
    z-index: 1;
  }
  .pickup3 p {
    line-height: 1.8;
    margin-bottom: 15px;
  }
  .h_pickup3{
    font-size: 16px;
  }
  .top_pickup_btnarea .btn_black{
    text-align: center;
  }
  .top_pickup_btnarea .btn_black a{
    width: 250px;
  }
}

/* アイテムから探す */
.top_find_item{
  padding: 80px 0 100px;
  background-color: #EFEFEF;
}
.top_find_item .ttl_big span{
  border-color: #FFF;
}
.top_find_item_inner{
  max-width: 1200px;
  margin: 0 auto;
}
.top_find_item_list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
.top_find_item_list .item a{
  display: flex;
  align-items: center;
  background-color: #FFF;
  padding: 5px 10px;
  text-decoration: none;
}
.top_find_item_list .item a:hover{
  color: #C22047;
}
.top_find_item_list .item_img{
  width: 70px;
  height: 70px;
}
.top_find_item_list .item_name{
  margin: 0 15px;
  letter-spacing: 0.05em;
  width: calc(100% - 85px);
}
@media only screen and (max-width: 1100px){
  .top_find_item_inner{
    padding: 0 15px;
  }
  .top_find_item_list{
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 767px){
  .top_find_item{
    padding: 70px 0 60px;
  }
  .top_find_item_list{
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .top_find_item_list .item a{
    padding: 10px;
  }
  .top_find_item_list .item_img{
    width: 45px;
    height: 45px;
  }
  .top_find_item_list .item_name{
    margin: 0 0 0 10px;
    font-size: 12px;
    width: calc(100% - 55px);
  }
}

/* ご自宅用タオル */
.top_unboxed{
  margin-bottom: 120px;
}
.top_unboxed .ttl_big{
  margin-bottom: 50px;
}
.top_unboxed_inner{
  max-width: 950px;
  margin: 0 auto 0;
}
.top_unboxed_contents{
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 70px;
  margin-bottom: 50px;
}
.top_unboxed_text_wrap{
  display: flex;
  align-items: center;
}
.top_unboxed_text > p{
  line-height: 2;
  margin-bottom: 2em;
  font-size: 13px;
}
.top_unboxed_text .last{
  margin-bottom: 0px;
}
.top_unboxed_btnarea{
  text-align: center;
}
.top_unboxed_btnarea .btn_black{
  margin-bottom: 0; 
  text-align: center;
}
@media screen and (max-width:1100px){
  .top_unboxed_inner{
    padding: 0 15px;
  }
  .top_unboxed_contents{
    grid-gap: 35px;
  }
}

@media screen and (max-width:767px){
  .top_unboxed{
    margin-bottom: 70px;
  }
  .top_unboxed_inner{ 
    padding: 0 15px;
  }
  .top_unboxed .ttl_big{
    margin-bottom: 30px;
  }
  .top_unboxed_contents{
    display: block;
    margin-bottom: 0;
  }
  .top_unboxed_img{
    margin-bottom: 30px;
  }
  .top_unboxed_img img{
    width: 100%;
  }
  .top_unboxed_text .last{
    margin-bottom: 30px;
  }
  .top_unboxed_btnarea .btn_black a{
    width: 250px;
  }

}

/* ギフトから探す */
.top_find_gift{
  padding: 80px 0 100px;
  background-color: #FFF;
  border-bottom: 1px solid #EFEFEF;
}
.top_find_gift_text{
  text-align: center;
  margin-bottom: 40px;
}
.top_find_gift_inner{
  max-width: 1020px;
  margin: 0 auto;
}
.top_find_gift_contents{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 40px;
}
.top_find_gift_group{
  background-color: #EFEFEF;
  padding: 20px 25px;
}
.top_find_gift_title{
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  min-height: 28px;
  margin-bottom: 20px;
}
.top_find_gift_title .icon{
  margin-right: 12px;
}
.top_find_gift_btnarea .btn_black{
  text-align: center;
  margin-bottom: 0;
}
.top_find_gift_list li{
  margin-bottom: 15px;
}
.top_find_gift_list li:last-child{
  margin-bottom: 0;
}
.top_find_gift_list .btn{
  margin-bottom: 0;
}
.top_find_gift_list .btn a{
  color: #222222;
  width: 100%;
  text-align: left;
  padding: 17px 45px 18px 20px;
  background: url(../img/common/icon_arrow_01_gray.png) no-repeat 95% 50% #FFF;
}
@media only screen and (min-width: 768px){
  .top_find_gift_list .btn a:hover{
    color:#C22047;
    background: url(../img/common/icon_arrow_01_red.png) no-repeat 95% 50% #FFF;
  }
}
@media only screen and (max-width: 1100px){
  .top_find_gift_inner{
    padding: 0 15px;
  }
}
@media only screen and (max-width: 767px){
  .top_find_gift{
    padding: 60px 0 70px;
    background-color: #FFF;
  }
  .top_find_gift .ttl_big{
    margin-bottom: 30px;
  }
  .top_find_gift_contents{
    display: block;
  }
  .top_find_gift_group{
    margin-bottom: 15px;
  }
  .top_find_gift_text{
    text-align: left;
    margin-bottom: 30px;
  }
  .top_find_gift_btnarea .btn_black a{
    width: 250px;
    padding: 15px 45px 15px;
  }
}

/* ギフトシーンから探す リンク */
.top_find_gift_link .btn{
  margin-bottom: 0;
}
.top_find_gift_link li{
  margin-bottom: 10px;
}
.top_find_gift_link li:last-child{
  margin-bottom: 0;
}
.top_find_gift_link .btn{
  margin-bottom: 0;
}
.top_find_gift_link .btn a{
  color:#222222;
  text-align: left;
  padding: 15px 45px 16px 20px;
  background: url(https://imabarikinsei.itembox.design/item/img/common/icon_arrow_01_gray.png) no-repeat 95% 50% #FFF;
  border:1px solid #EFEFEF;
}
@media only screen and (min-width: 768px){
  .top_find_gift_link .btn a:hover{
    color: #C22047;
    background: url(https://imabarikinsei.itembox.design/item/img/common/icon_arrow_01_red.png) no-repeat 95% 50% #FFF;
  }
}

/* タオルソムリエのおすすめ特集 */
.top_sommelier{
  margin: 80px auto 100px;
  max-width: 1200px;
  background-color: #FFF;
}
.top_sommelier .ttl_big span{
  display: inline-block;
}
.top_sommelier .ttl_big br{
  line-height: 0;
  height: 0;
}
.top_sommelier_list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 27px;
}
.top_sommelier_list a{
  text-decoration: none;
}
.top_sommelier_list .fs-pt-column__image{
  display: block;
  margin-bottom: 15px;
}
.top_sommelier_list .fs-pt-column__image img{
  width: 100%;
}
.top_sommelier_list .fs-pt-column__heading{
  font-size: 13px;
  margin-bottom: 0;
}
@media only screen and (max-width: 1100px){
  .top_sommelier{
    padding: 0 15px;
  }
  .top_sommelier_list{
    gap: 15px;
  }
}
@media only screen and (max-width: 767px){
  .top_sommelier{
    margin: 60px 0 70px;
  }
  .top_sommelier .ttl_big{
    margin-bottom: 40px;
  }
  .top_sommelier_list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13.5px;
    row-gap: 30px;
  }
  .top_sommelier_list .fs-pt-column__heading{
    font-size: 12px;
  }
}

/* オンラインショップからのお知らせ */
.top_news{
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0 100px;
  background-color: #FFF;
}
.top_news .ttl_big span{
  display: inline-block;
}
.top_news_list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 27px;
  margin-bottom: 40px;
}
.top_news_list a{
  text-decoration: none;
}
.top_news_list .fs-pt-column__image{
  display: block;
  margin-bottom: 15px;
}
.top_news_list .fs-pt-column__image img{
  width: 100%;
}
.top_news_list .fs-pt-column__heading{
  font-size: 13px;
  margin-bottom: 0;
}
.top_news_btnarea .btn_black{
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 1100px){
  .top_news{
    padding: 80px 15px 100px;
  }
  .top_news_list{
    gap: 15px;
  }
}
@media only screen and (max-width: 767px){
  .top_news{
    padding: 60px 15px 70px;
  }
  .top_news .ttl_big{
    margin-bottom: 40px;
  }
  .top_news_list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13.5px;
    row-gap: 30px;
  }
  .top_news_list .fs-pt-column__heading{
    font-size: 12px;
    margin-bottom: 0;
  }
  .top_news_btnarea .btn_black a{
    width: 250px;
  }
}

/* 法人のお客様向けサービス */
.top_business{
  padding: 60px 30px;
  background: url(../img/top/houjin_2000x555.jpg) no-repeat center;
  background-size: cover;
}
.top_business_inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 25px 60px;
  background-color: rgba(255, 255, 255, 0.9);
}
.top_business_text{
  text-align: center;
  margin-bottom: 40px;
}
.top_business_btnarea .btn_black{
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 767px){
  .top_business{
    padding: 60px 20px;
  }
  .top_business .ttl_big{
    margin-bottom: 40px;
  }
  .top_business_text{
    text-align: left;
    margin-bottom: 30px;
  }
  .top_business_inner{
    padding: 40px 25px 50px;
  }
  .top_business_btnarea .btn_black a{
    width: 250px;
  }
}
/* TOP旗艦店 */
.top_flagship_store_wrap{
  margin: 80px 0 120px;
}
.top_flagship_store {
  max-width: 960px;
  margin: 0 auto;
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-size: 13px;
}
.top_flagship_store p {
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.top_flagship_store_thumb {
  margin-bottom: 20px;
}
.top_flagship_store_text{
  margin-bottom: 40px;
}
.top_flagship_store_info_box {
  border: #EFEFEF 6px solid;
  padding: 30px 60px;
  margin: 0 auto 40px auto;
  background-color: #FFF;
  overflow: hidden;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.top_flagship_store_logo {
  flex-basis: 230px;
  width: 230px;
  padding-right: 50px;
  border-right: #EFEFEF 1px solid;
  text-align: center;
}
.top_flagship_store_logo img {
  width: 180px;
}
.top_flagship_store_info {
  padding-left: 50px;
  flex-basis: calc(100% - 230px);
  width: calc(100% - 230px);
}
.top_flagship_store_info p {
  margin-bottom: 10px;
  font-size: 13px;
}
.top_flagship_store_name {
  font-size: 15px;
  font-weight: bold;
}
.top_flagship_store_info p.top_flagship_store_insta {
  font-size: 12px;
  margin: 0;
}
.top_flagship_store .btn_black{
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 1100px){
  .top_flagship_store_wrap{
    padding: 0 15px;
  }
}
@media only screen and (max-width: 767px){
  .top_flagship_store_wrap{
    margin: 60px 0 100px;
  }
  .top_flagship_store_wrap .ttl_big{
    margin-bottom: 40px;
  }
  .top_flagship_store {
    width: 100%;
  }
  .top_flagship_store_text {
    font-size: 13px;
    margin-bottom: 40px;
  }
  .top_flagship_store_info_box {
    padding: 25px;
    margin: 0 auto 40px auto;
    overflow: hidden;
    display: block;
  }
  .top_flagship_store_logo {
    width: 100%;
    padding:0;
    margin: 0 0 20px;
    border: none;
    border:0;
    text-align: center;
  }
  .top_flagship_store_thumb img {
    width: 100%;
  }
  .top_flagship_store_logo img {
    width: 136px;
  }
  .top_flagship_store_info {
    width: 100%;
    padding:0;
  }
  .top_flagship_store_info p {
    font-size: 12px;
    margin-bottom: 10px;
  }
  .top_flagship_store_name {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
    display: block;
    text-align: center;
  }
  .top_flagship_store_insta {
    font-size: 12px;
    margin: 0;
  }
  .top_flagship_store .btn_black a{
    max-width: 250px;
  }

}

/* 今治謹製STORIES */
.top_stories{
  background-color: #EFEFEF;
  padding: 80px 0 100px;
  position: relative;
}
.top_stories .wave{
  position:sticky;
  top: 300px;
  height:300px;
}
.top_stories .wave canvas{
  position: absolute;
  bottom: 0;
  left:0;
  width: 100%;
}
.top_stories_inner{
  max-width: 1020px;
  margin: -300px auto 0;
  position: relative;
  z-index: 1;
}
.top_stories .ttl_big{
  margin-bottom: 40px;
}
.top_stories .ttl_big span{
  border-color: #FFF;
}
.top_stories_intro p{
  text-align: center;
  line-height: 2;
  font-size: 13px;
  margin-bottom: 70px;
}
.top_stories_contents{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 70px;
}
.top_stories .fs-pt-column__item{
  display: block;
  max-width: 450px;
}
.top_stories .fs-pt-column__item:nth-child(2),
.top_stories .fs-pt-column__item:nth-child(4){
  margin-top: 190px;
}
.top_stories .fs-pt-column__image{
  display: block;
  margin-bottom: 20px;
}
.top_stories .fs-pt-column__heading{
  display: block;
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 10px;
}
.top_stories .fs-pt-column__description{
  display: block;
  font-size: 12px;
}
.top_stories a.fs-pt-column__item{
  transition: all 0.3s ease;
  text-decoration: none;
}
.top_stories a.fs-pt-column__item:hover{
  opacity: 0.8;
}
.top_stories_btnarea .btn_black{
  text-align: center;
  margin-bottom: 0;
}
@media only screen and (max-width: 1100px){
  .top_stories .fs-pt-column__item{
    max-width: calc(50% - 15px);
  }
  .top_stories_inner{
    margin: -300px 35px 0;
  }
}
@media screen and (max-width:767px){
  .top_stories{
    padding: 64px 0 80px;
    position: relative;
  }
  .top_stories .wave{
    position:sticky;
    top: 300px;
    height:300px;
  }
   .top_stories .wave canvas{
    position: absolute;
    bottom: 0;
    top: 0;
    left:0;
     margin: auto;
    width: 100%;
  }
  .top_stories_inner{
    position: relative;
    z-index: 1;
  }
  .top_stories .ttl_big{
    margin-bottom: 30px;
  }
  .top_stories_intro p{
    margin-bottom: 50px;
  }
  .top_stories_contents{
    display: block;
    margin-bottom: 40px;
  }
  .top_stories .fs-pt-column__item{
    width: 100%;
    max-width: 100%;
  }
  .top_stories .fs-pt-column__image img{
    width: 100%;
  }
  .top_stories .fs-pt-column__heading{
    font-size: 14px;
  }
  .top_stories .fs-pt-column__item,
  .top_stories .fs-pt-column__item:nth-child(2),
  .top_stories .fs-pt-column__item:nth-child(4){
    margin-top: 40px;
  }
  .top_stories_btnarea .btn_black a{
    width: 250px;
  }
}


.icon_scroll{
  width: 100%;
  display: inline-block;
  position: fixed;
  bottom: 30px;
  left: 0;
  right: 0;
  margin: auto;
}
.icon_scroll img{
  width: 56px;
  height: auto;
}
@media only screen and (max-width: 1100px){
  .icon_scroll{
    display: none;
  }
}
@media only screen and (max-width: 767px){
  .head_news {
    padding: 6px 20px;
  }
  .head_news p {
    margin: 0;
    text-align: left;
    font-size: 12px;
  }
}

.top_vis {
  width: 100%;
  height: calc(100vh - 130px);
  background: url(../img/top/main_pc.jpg) no-repeat center 50%;
  background-size: cover;
}
@media screen and (max-width:767px){
  .top_vis {
    width: 100vw;
    height: 98.96vw;
    background: url(../img/top/main_sp.jpg) no-repeat center 50%;
    background-size: cover;
  }
}


/* top brand_area
=====================================================================*/
.brand_area {
  width: 100%;
  padding: 68px 0 80px;
  position: relative;
}
.brand_area_head {
  max-width: 1200px;
  padding: 0 0 40px 0;
  margin: 0 auto 40px auto;
  border-bottom: #F3EFE3 1px solid;
  text-align: center;
}
.brand_area_head .text-sub {
  font-size: 16px;
  text-align: center;
  line-height: 1.6;
  margin: 0 0 3px 0;
}
.brand_area_head .text-main {
  font-size: 26px;
  text-align: center;
  line-height: 1.6;
  margin: 0;
}

#loop_slide * {
  transition:.4s;
  -webkit-transition: .4s;
  -moz-transition: .4s;
  -o-transition: .4s;
}
#loop_slide {
  margin-bottom: 46px;
}
@media screen and (min-width:768px){
  #loop_slide img:hover {
    opacity: 0.6;
  }
}
@media only screen and (max-width: 767px){
  .brand_area {
    padding: 34px 0 60px;
  }
  .brand_area_head {
    padding: 0 0 20px 0;
    margin: 0 15px 20px 15px;
  }
  .brand_area_head .text-sub {
    font-size: 12px;
    margin: 0 0 3px 0;
  }
  .brand_area_head .text-main {
    font-size: 19px;
  }
  #loop_slide {
    margin-bottom: 38px;
  }
  .swiper_wrap {
    overflow: hidden;
  }
  .swiper-container{
    text-align: center;
    margin-bottom: 40px!important;
  }
  .swiper-slide img {
    max-width: 100%;
    height: auto;
  }
}
/* top topics_area
=====================================================================*/
.topics_area {
  width: 100%;
  background: url(../img/top/bg_topics.jpg) no-repeat center center;
  background-size: cover;
  padding: 68px 15px 98px 15px;
}
.topics_area p {
  line-height: 1.5;
}
.topics_wrap {
  width: 1232px;
  margin: 0 auto 40px;
}
.topics_wrap a {
  display: block;
  width: 308px;
  font-weight: 300;
  padding: 14px;
  transition:.8s;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  position: relative;
  text-decoration: none;
}
.topics_wrap img {
  transition: 0.4s all ease;
}
@media screen and (min-width:768px){
  .topics_wrap a:hover img {
    -webkit-filter: brightness(1.1);
    filter: brightness(1.1);
  }
}
.topics_box * {
  color: #FFF;
  font-weight: 300;
}
.topics_box img {
  margin-bottom: 14px;
}
.topics_box .object_fit_img {
  width: 280px;
  height: 280px;
  object-fit: cover;
  font-family: 'object-fit: cover;'
}
.topics_txt {
  border-top: solid 1px #ADA9A9;
  padding-top: 6px;
  position: relative;
}
.topics_txt::before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #C22047;
  position: absolute;
  top: -1px;
  left: 0;
  transition: 0.4s all ease;
}
@media screen and (min-width:768px){
  .topics_wrap a:hover .topics_txt::before {
    width: 100%;
  }
}
@media only screen and (max-width: 1248px){
  .topics_wrap {
    width: 100%;
    justify-content: center;
  }
  .topics_wrap a {
    margin: 0 25px 25px 25px;
  }
}
@media only screen and (max-width: 767px){
  .topics_area p {
    line-height: 1.8;
  }
  .topics_wrap {
    justify-content: space-between;
    margin: 0 auto;
  }
  .topics_wrap a {
    width: 46.5%;
    padding: 0;
    margin: 0 0 28px 0;
  }
  .topics_wrap a:hover {
    background: none;
  }
  .topics_box * {
    font-weight: 400;
  }
  .topics_txt {
    margin-top: 14px;
    font-size: 11px;
  }
  .topics_image {
  /* 画像エリアのアスペクト比固定 */
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .topics_image::before {
    content:"";
    display: block;
    padding-top: 100%; /* 画像エリアの高さを横幅の100%に固定 */
  }
  .topics_box .object_fit_img {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
/* top story_area
=====================================================================*/
.story_area {
  width: 100%;
  background-color: #FFF;
  padding: 68px 0 90px;
}
.story_wrap {
  width: 100%;
  display:flex;
  flex-wrap:wrap;
  margin-bottom: 56px;
}
.story_wrap a {
  display: block;
  width: 25%;
  border-right:solid 1px #FFF;
  border-bottom: solid 1px #FFF;
  text-decoration: none;
}
.story_wrap a * {
  color: #FFF;
  transition:.8s;
  -webkit-transition: .8s;
  -moz-transition: .8s;
  -o-transition: .8s;
}
.story_box {
  /* エリアのアスペクト比固定 */
  position: relative;
  width: 100%;
  overflow: hidden;
}
.story_box::before {
  content:"";
  display: block;
  padding-top: 100%; /* エリアの高さを横幅の100%に固定 */
}
.story_box .object_fit_img {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 10;
}
.story_txt {
  display: flex;
  position: absolute;
  z-index: 20;
  bottom: 0;
  width: 100%;
  height: auto;
  background-color: rgba(0,0,0,0.8);
  padding: 15px 15px 20px 15px;
}
.story_box img {
  transition: 0.5s all ease;
}
a:hover .story_box img {
  opacity: 0.8;
}
.story_txt p {
  font-size: 13px;
  margin: 0;
}
.story_txt div {
  width: 100%;
}
.story_link {
  display: none;
}
/*
.story_link {
  opacity: 0;
  text-align: center;
  margin-top: 28px;
  transition: 0.4s all ease;
}
.story_link span {
  background: url(img/common/icon_arrow_01_red.png) no-repeat right center;
  background-size: 25px 4px;
  padding-right: 40px;
}
.story_wrap a:hover .story_link {
  opacity: 1;
}
*/
.paragraph.top {
  margin-right: auto;
  margin-left: auto;
  line-height: 1.8!important;
  padding: 0 30px;
}
.paragraph.scene {
  padding: 0 15px;
}
.top_use_list {
  text-align: center;
  margin: -10px auto 40px auto;
}
.top_use_list li {
  display: inline-block;
  vertical-align: top;
  position: relative;
  margin: 0 15px 0 0;
  padding: 0 20px 0 0;
}
.top_use_list li::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 4px;
  width: 1px;
  height: 20px;
  background: #333;
  transform: rotate(35deg);
}
.top_use_list li:last-child {
  margin: 0;
  padding:0;
}
.top_use_list li:last-child::after {
  display: none;
}


.top_use_list a {
  color: #C22047;
}

@media only screen and (max-width: 1200px){
  .story_wrap a {
    width: 33.333%;
  }
}
@media only screen and (max-width: 1100px){
  .story_area {
    padding: 34px 0 60px;
  }
  .story_wrap {
    width: calc(100% - 30px);
    display: block;
    flex-wrap: none;
    margin: 0 auto 28px;
  }
  .story_wrap a {
    width: 100%;
    border: none;
  }
  .story_wrap a * {
    color: #222222;
  }
  .story_box {
    overflow: visible;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    border-top: solid 1px #DDDDDD;
    border-bottom: solid 1px #DDDDDD;
    padding: 9px 0;
    margin-top: -1px;
  }
  .story_box::before {
    content:"";
    display: none;
    padding-top: 0;
  }
  .story_image {
    /* エリアのアスペクト比固定 */
    position: relative;
    width: 34.4%;
    overflow: hidden;
  }
  .story_image::before {
    content:"";
    display: block;
    padding-top: 100%; /* エリアの高さを横幅の100%に固定 */
  }
  .story_txt {
    display: block;
    position: relative;
    top: auto;
    width: 60.3%;
    height: auto;
    background: none;
    padding: 0;
  }
  .story_wrap a:hover .story_txt {
    top: auto;
  }
  .story_wrap .story_link {
    display: none;
  }
  .story_wrap a:hover .story_image img{
    transform: none;
  }
  .paragraph.top {
    width: 100%;
    padding: 0 30px;
    line-height: 1.8;
    margin-right: auto;
    margin-left: auto;
  }
  .paragraph.scene {
    padding: 0 15px;
  }
  .paragraph.scene .btn_area{
    padding: 0 15px;
  }
}

@media only screen and (max-width: 767px){
  .top_use_list {
    overflow: hidden;
    margin-bottom: 20px;
  }
  .top_use_list li {
    display: block;
    float: left;
    width: calc(50% - 15px);
    margin: 0 0 15px 0;
    padding: 0 0 0 0;
    text-align: center;
  }
  .top_use_list li:last-child {
    margin: 0 0 15px 0;
    padding: 0 0 0 0;
  }
  .top_use_list li:nth-child(2n)::after,
  .top_use_list li:last-child::after {
    display: none;
  }
}



/*下層
=====================================================================*/
.h_subnavi{
  font-family: "Noto Serif JP",serif;
  font-size: 12px;
  padding:0;
  letter-spacing: 0.08em;
  transition: 0.15s height ease;
  display: flex;
  justify-content: flex-end;
  height: 40px;
}
.h_subnavi_inner::after{
  display: block;
  content: "";
  z-index: -1;
  background: #F3F3F3;
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
}
.h_subnavi_inner{
  width:fit-content;
  display: flex;
  position: relative;
}
.h_subnavi_menu{
  display: flex;
  justify-content: space-between;
  padding:0 20px 0 30px;
  /* min-width: 505px; */
  min-width: 519px;
}
.h_subnavi li{
  padding: 0 20px 0 0;
  position: relative;
}
.h_subnavi li:last-child{
  padding-right: 0;
}
.h_subnavi a{
  text-decoration: none;
}
.h_subnavi a:hover{
  color: #C22047;
}
.h_subnavi::after,
.h_subnavi ul::after {
  content: '';
  clear: both;
  display: block;
}
.h_subnavi_online a{
  display: flex;
  align-items: center;
  padding: 0 20px 0 30px;
  height: 40px;
  position: relative;
  font-size: 11px;
  font-family: "Noto Sans JP",sans-serif;
}
.h_subnavi_online span{
  position: relative;
  z-index: 1;
}
.h_subnavi_online a::before{
  content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	background: #FBFBFB;
	transform: scaleY(1.3) perspective(.6em) rotateX(-2deg);
	transform-origin: bottom left;
}
.h_subnavi_menu a{
  display: flex;
  align-items: center;
  height: 40px;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 10px;
  letter-spacing: 0.08em;
}
.h_subnavi_menu button{
  display: flex;
  align-items: center;
  height: 40px;
  border: 0;
  padding: 0;
  background: none;
  appearance: none;
  -webkit-appearance: none;
  color: #212121;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 10px;
  cursor: pointer;
}
.h_subnavi_menu button:hover{
  color: #C22047;
}
.h_subnavi_menu a::before,
.h_subnavi_menu button::before{
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  margin-right: 7px;
  background-color: #212121;
}
.h_subnavi_menu a:hover::before,
.h_subnavi_menu button:hover::before{
  background-color: #C22047;
}
.h_subnavi_menu .h_state a::before{
  mask-image: url("../img/common/icon_login_01.svg");
}
.h_subnavi_menu .icon_mypage a::before{
  mask-image: url("../img/common/icon_member_01.svg");
}
.h_subnavi_menu .header_search_btn button::before{
  mask-image: url("../img/common/icon_search_01.svg");
}
.h_subnavi_menu .header_contact a::before{
  mask-image: url("../img/common/icon_contact_01.svg");
  width: 27px;
}
.h_subnavi_menu .header_cart a::before{
  mask-image: url("../img/common/icon_cart_01.svg");
}
.sales_guide a{
    background: url(../img/common/icon_guide.png) no-repeat 0 10px;
    background-size: 16px;
    padding-left: 20px;
}
li.login_message {
  position: absolute;
  left: 44px;
  top: 8px;
  font-family: "Noto Sans JP";
}
.h_subnavi_menu .h_state .loginButton{
  
}
@media screen and (max-width: 1100px){
  li.login_message {
    display: none !important;
  }
}


@media only screen and (max-width: 1100px){
  .h_subnavi {
      width: calc(100% - 30px);
      margin: 0 auto;
  }
  .header_wrap.fixed .h_subnavi{
    top: 0;
  }

}



/*見出し
=====================================================================*/
.ttl_main{
  font-family: "Noto Serif JP",serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 60px;
  position: relative;
}
h2.ttl_main{
  font-size: 20px;
}
h3.ttl_main{
  font-size: 18px;
}

.ttl_main::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  z-index: 2;
  content: '';
  width: 40px;
  height: 1px;
  margin-left: -20px;
  background-color: #C22047;
}

.ttl_sub{
  font-family: "Noto Serif JP",serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 60px;
  position: relative;
}
.ttl_sub::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  z-index: 2;
  content: '';
  width: 40px;
  height: 1px;
  margin-left: -20px;
  background-color: #C22047;
}
.faq_cate_h{
    width: 100%;
    color: #333;
    font-size: 18px;
    padding-bottom: 18px;
    border-bottom: 1px #D6D6D6 solid;
    margin-bottom: 30px;
    position: relative;
    letter-spacing: 1.4px;
}
.faq_cate_h::before {
    content: "";
    width: 40px;
    height: 1px;
    position: absolute;
    background: #C22047;
    bottom: -1px;
}
.h_left {
    font-family: "Noto Sans JP";
    width: 100%;
    color: #333;
    font-size: 16px;
    padding-bottom: 18px;
    border-bottom: 1px #D6D6D6 solid;
    margin-bottom: 18px;
    position: relative;
    letter-spacing: 1.4px;
}
.h_left::before {
    content: "";
    width: 40px;
    height: 1px;
    position: absolute;
    background: #C22047;
    bottom: -1px;
}
.CrossHead {
  width: 100%;
  min-height: 26px;
  border-left: 2px #C22047 solid;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
  margin: 0 0 20px 0;
  text-align: left;
  font-weight: bold;
}
.Definition {
  font-size: 14px;
  line-height: 20px;
  text-align: left;
  letter-spacing: 0.04em;
  margin: 30px 0 15px 0;
  padding: 0 0 10px 0;
  border-bottom: #D6D6D6 1px dotted;
  font-weight: bold;
}
.Definition::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 8px;
  height: 8px;
  margin: 0 10px 0 0;
  background: #C22047;
}
@media only screen and (max-width: 1200px){
  .faq_cate_h{
    padding-bottom: 16px;
      font-size: 16px;
  }
}
@media only screen and (max-width: 767px){
  .inner_wrap h2.ttl_main{
    width: 100%;
  }
  .ttl_main {
    font-size: 18px;
    margin: 0 auto 40px auto;
  }
  .ttl_main::after {
    bottom: -15px;
  }
  h2.ttl_main{
    font-family: "Noto Sans JP";
    width: 100%;
    color: #333;
    border-bottom: 1px #D6D6D6 solid;
    font-size: 16px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    position: relative;
    letter-spacing: 1.4px;
    text-align: left;
  }
  h3.ttl_main{
    font-family: "Noto Sans JP";
    width: calc(100% - 30px);
    color: #333;
    border-bottom: 1px #D6D6D6 solid;
    font-size: 15px;
    margin-bottom: 14px;
    padding-bottom: 8px;
    position: relative;
    letter-spacing: 1.4px;
    text-align: left;
  }
  h2.ttl_main::before,
  h3.ttl_main::before {
    content: "";
    width: 40px;
    height: 1px;
    position: absolute;
    background: #C22047;
    bottom: -1px;
  }
  h2.ttl_main::after,
  h3.ttl_main::after{
    display: none;
  }
  .fs-c-heading.ttl_main{
    margin-bottom: 30px;
  }
  .faq_cate_h{
      font-size: 16px;
      padding-bottom: 10px;
      margin-bottom: 22px;
  }
  .h_left {
      font-size: 15px;
      padding-bottom: 10px;
      margin-bottom: 15px;
  }
}

/*ぱんくず
=====================================================================*/
.fs-c-breadcrumb__list{
  width: 100%;
  margin: 0 auto 40px;
  padding: 6px 30px;
  text-align: left;
  border-bottom: 1px solid #EEE;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}
.fs-c-breadcrumb li {
  display: flex;
  margin: 0;
  font-size: 11px;
  line-height: 1.8;
  color: #1F1F1F;
}
.fs-c-breadcrumb li a {
  font-size: 11px;
  line-height: 1.8;
  color: #1F1F1F;
  text-decoration: underline;
}
.fs-c-breadcrumb li a:hover {
  text-decoration: none;
}
.fs-c-breadcrumb__listItem + .fs-c-breadcrumb__listItem::before{
  color: #666;
  display: block;
  padding: 0 5px;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fs-c-breadcrumb li:last-child::after {
  display: none;
}
.fs-c-breadcrumb ::-webkit-scrollbar{
  width: 10px;
  height: 6px;
}
.fs-c-breadcrumb ::-webkit-scrollbar-track{
  background: #fff;
  border-left: solid 1px #ececec;
}
.fs-c-breadcrumb ::-webkit-scrollbar-thumb{
  background: #ccc;
  border-radius: 10px;
  box-shadow: inset 0 0 0 2px #fff;
}
@media screen and (max-width: 1100px) {
  .fs-c-breadcrumb li,
  .fs-c-breadcrumb li a{
    padding: 0;
    color: #545454;
    text-decoration: none;
  }
  .fs-c-breadcrumb li::after{
    display: inline-block;
    float: none;
  }
  .fs-c-breadcrumb li{
    display: flex;
    float: none;
    position: relative;
  }
  .fs-c-breadcrumb__list{
    width: auto;
    margin: 0 auto 30px;
    padding: 8px 15px 5px 15px;
    overflow-x: scroll!important;
    -webkit-overflow-scrolling: touch;
  }
  .fs-body-product .fs-c-breadcrumb__list{
    margin: 0 auto;
  }
  .fs-c-breadcrumb{
    width: 100%;
    margin: 0;
    padding: 0;
    white-space: nowrap;
  }
}



/* 商品グループ (商品一覧)
=====================================================================*/
@media only screen and (max-width: 1200px){
  .productList-wrap.fs-l-pageMain{
    padding: 0 15px;
  }
}
.fs-body-category .fs-c-breadcrumb__list{
  margin-bottom: 0;
}
/* 独自コメント対応 */
.wp_gallery{
  overflow: hidden;
}
/* 並び替え・ページャー */
.fs-c-productList__controller{
  padding: 5px 0;
  margin: 20px 0;
  border: none;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.fs-c-productList__controller .fs-c-pagination{
  display: none;
}
/* 下部ページャー */
.fs-c-productList__list + .fs-c-productList__controller{
  justify-content: center;
}
.fs-c-productList__list + .fs-c-productList__controller .fs-c-pagination{
  display: flex;
  column-gap: 10px;
}
.fs-c-productList__list + .fs-c-productList__controller .fs-c-sortItems{
  display: none;
}
.fs-c-productList__list + .fs-c-productList__controller .fs-c-listControl__status{
  display: none;
}

.fs-c-productList__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.fs-c-productListItem__productName{
  display: block;
  font-size: 13px;
  line-height: 18px;
  text-align: left;
  font-weight: normal;
  border-top: none;
  letter-spacing: 0.08em;
}
.fs-c-productListItem__productName a{
  text-decoration: none;
}
.fs-c-productListItem__productName a:hover{
  text-decoration: underline;
}
.fs-c-button--viewProductDetail,
.fs-c-button--addToCart--list{
  display: none!important;
}
@media screen and (max-width: 1100px) {
  .fs-c-productList__list{
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .fs-c-productList__list{
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
/* 商品情報 */
.fs-c-productList__list__item .fs-c-productName__copy{
  display: none;
}
.fs-c-productList__list__item .fs-c-productListItem__productName{
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
  border-bottom: #D6D6D6 1px solid;
}
.fs-c-productList__list__item .fs-c-productMarks{
  margin: 0 0 10px 0;
}
.fs-c-productList__list__item .fs-c-productMark__item{
  margin: 0 2px 2px 0;
}
.fs-c-productList__list__item .fs-c-productListItem__prices{
  padding: 5px 0 10px 0;
  margin: 0 0 10px 0;
  border-bottom: #D6D6D6 1px solid;
}
.fs-c-productList__list__item .fs-c-button--addToWishList--icon,
.fs-c-productList__list__item .fs-c-button--removeFromWishList--icon{
  font-size: 11px;
  line-height: 15px;
}
.fs-c-productList__list__item .fs-c-productPrice__addon{
  font-weight: normal;
  padding-left: 10px;
}
.fs-c-productList__list__item .fs-c-productPrice__addon__label{
  font-weight: normal;
}


/* 会社概要
=====================================================================*/
.profile_table {
  width: 960px;
  margin: 0 auto 20px auto;
  border: none;
  border-collapse: collapse;
}
.profile_table th {
  background: #F5F5F5;
  display: table-cell;
  vertical-align: middle;
  border: none;
  border-top: #DDD 1px solid;
  border-bottom: #DDD 1px solid;
  padding: 25px 25px;
  line-height: 1.6;
  font-weight: normal;
  text-align: right;
}
.profile_table td {
  display: table-cell;
  vertical-align: middle;
  border: none;
  border-top: #DDD 1px solid;
  border-bottom: #DDD 1px solid;
  line-height: 1.6;
  padding: 25px 25px;
  text-align: left;
}
@media screen and (max-width: 1200px) {
  .profile_table {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .profile_table th {
    padding: 15px 10px;
    white-space: nowrap;
  }
  .profile_table td {
    padding: 15px 10px;
  }
}

/* 取扱店舗
=====================================================================*/
.gmap {
  margin-bottom: 20px;
}
.gmap iframe {
  width: 100%;
  height: 500px;
}
.store_table {
  width: 100%;
  margin: 0 auto 20px auto;
  border: none;
  border-collapse: collapse;
}
.store_table th {
  background: #F5F5F5;
  display: table-cell;
  vertical-align: middle;
  border: none;
  border-top: #DDD 1px solid;
  border-bottom: #DDD 1px solid;
  padding: 10px 25px;
  line-height: 1.6;
  font-weight: normal;
  text-align: left;
}
.store_table td {
  display: table-cell;
  vertical-align: middle;
  border: none;
  border-top: #DDD 1px solid;
  border-bottom: #DDD 1px solid;
  line-height: 1.6;
  padding: 25px 25px;
  text-align: left;
}
.store_attention {
  text-align: center;
  font-size: 12px;
  color: #333;
}
@media screen and (max-width: 767px) {
  .gmap iframe {
    width: 100%;
    height: 400px;
  }
  .store_table,
  .store_table tbody,
  .store_table tr {
    display: block;
    width: 100%;
  }
  .store_table {
    border-top: #DDD 1px solid;
  }
  .store_table tr {
    border-bottom: #DDD 1px solid;
    padding: 0 0 15px 0;
  }
  .store_table thead {
    display: none;
  }
  .store_table td {
    display: block;
    width: 100%;
    padding: 5px 10px 5px 15px;
    border: none;
  }
  .store_table tr td:first-child {
    display: block;
    width: 100%;
    padding: 10px 10px;
    margin-bottom: 10px;
    background: #F5F5F5;
  }
  .store_attention {
    text-align: left;
    font-size: 11px;
  }
  .store_image img{
    max-width: 100%;
    height: auto;
  }
}



/* のし・ラッピング
=====================================================================*/
/* 見出し */
.crosshead {
  width: 100%;
  color: #333;
  font-size: 18px;
  padding-bottom: 18px;
  border-bottom: 1px #D6D6D6 solid;
  margin-bottom: 18px;
  position: relative;
  letter-spacing: 1.4px;
  text-align: left;
}
.crosshead::before {
  content: "";
  width: 40px;
  height: 1px;
  position: absolute;
  background: #C22047;
  bottom: -1px;
}
.subhead {
  width: 100%;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  border-left: 2px #C22047 solid;
  padding: 0 0 0 12px;
  letter-spacing: 1.4px;
  margin-bottom: 18px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .crosshead {
    width: 100%;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    min-height: 2px;
    border: none;
    border-left: 2px #C22047 solid;
    padding-left: 12px;
    padding: 0 0 0 12px;
    letter-spacing: 1.4px;
    margin-bottom: 15px;
  }
  .crosshead::before {
    display: none;
  }
  .subhead {
    width: 100%;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 12px;
    position: relative;
    letter-spacing: 1.4px;
    padding-left: 18px;
    border: none;
  }
  .subhead::before{
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    top: 8px;
    left: 0;
    background: #C22047;
  }
}

.wrapping_col2_wrap {
  letter-spacing: -0.4em;
  text-align: left;
  margin: 0 auto 30px auto;
}
.wrapping_col2 {
  display: inline-block;
  width: calc(50% - 20px);
  padding: 30px;
  margin: 0 40px 30px 0;
  text-align: center;
  background: #F4F4F4;
  vertical-align: top;
  letter-spacing: 0.08em;
  text-align: left;
}
.wrapping_col2:nth-child(2n) {
  margin: 0 0 30px 0;
}
.wrapping_col2 .image {
  text-align:  center;
  margin: 0 0 15px 0;
}
.wrapping_col2 .image img {
  max-width: 100%;
}

.col3_wrap {
  letter-spacing: -0.4em;
  text-align: left;
}
.col3_box {
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0.1em;
  font-size: 13px;
  width: 31.25%;
  margin: 0 3.125% 30px 0;
}
.col3_box:nth-child(3n) {
  margin: 0 0 30px 0;
}
.col3_box .thumb {
  text-align: center;
  margin: 0 0 15px 0;
}
.col3_box .thumb img {
  max-width: 100%;
}
.col3_box p {
  font-size: 13px;
}
.col3_box .brand_sub_h {
  margin: 0 0 10px 0;
}
@media screen and (max-width:1200px){
  .wrapping_col2 {
    display: inline-block;
    width: calc(50% - 10px);
    padding: 15px;
    margin: 0 20px 30px 0;
  }
  .wrapping_col2:nth-child(2n) {
    margin: 0 0 30px 0;
  }
  .col3_box .subhead {
    font-size: 14px;
  }
}
@media screen and (max-width:767px){
  .wrapping_col2 {
    display: block;
    width: 100%;
    padding: 15px;
    margin: 0 0 15px 0;
  }
  .wrapping_col2:nth-child(2n) {
    margin: 0 0 15px 0;
  }
  .scroll {
    width: auto;
    overflow-x: scroll !important;
  }
  .scroll ::-webkit-scrollbar{
    width: 10px;
    height: 6px;
  }
  .scroll ::-webkit-scrollbar-track{
    background: #fff;
    border-left: solid 1px #ececec;
  }
  .scroll ::-webkit-scrollbar-thumb{
    background: #ccc;
    border-radius: 10px;
    box-shadow: inset 0 0 0 2px #fff;
  }

  .col3_box {
    display: block;
    letter-spacing: 0.1em;
    font-size: 12px;
    width: 100%;
    margin: 0 auto 20px auto;
    padding: 0;
    border-bottom: #DDD 1px dotted;
    float: none;
  }
  .col3_box img {
    max-width: 100%;
  }
  .col3_box:nth-child(3n) {
    margin: 0 auto 20px auto;
  }
  .col3_box .subhead {
    font-size: 13px;
  }
}


.inner {
  overflow: hidden;
}
.image_l {
  float: left;
  width: 42%;
  text-align: center;
}
.image_l img {
  max-width: 100%;
}
.text_r {
  float: right;
  width: 54%;
}
@media screen and (max-width:767px){
  .image_l {
    float: none;
    width: 100%;
    margin: 0 0 20px 0;
  }
  .text_r {
    float: none;
    width: 100%;
  }
}
.noshi_inner {
  overflow: hidden;
  max-width: 1230px;
  padding: 0 15px;
  margin: 0 auto;
}
.noshi_type {
  width: 50%;
  float: left;
  padding: 10px 30px 10px 0;
  overflow: hidden;
}
.noshi_type:nth-of-type(2n) {
  padding: 10px 30px 10px 5px;
}
.noshi_type .noshi_image {
  width: 160px;
  float: left;
}
.noshi_type .noshi_text {
  width: calc(100% - 190px);
  float: right;
}
.noshi_type .noshi_image img {
  max-width: 100%;
}
@media screen and (max-width:1200px){
  .noshi_inner {
    width: 100%;
  }
  .noshi_type .noshi_image {
    width: 120px;
    float: left;
  }
  .noshi_type .noshi_text {
    width: calc(100% - 150px);
    float: right;
  }
}
@media screen and (max-width:767px){
  .noshi_type {
    width: 100%;
    float: none;
    padding: 0 0 10px 0;
    overflow: hidden;
  }
  .noshi_type:nth-of-type(2n) {
    padding: 0 0 10px 0;
  }
  .noshi_type .noshi_image {
    width: 100px;
    float: left;
  }
  .noshi_type .noshi_text {
    width: calc(100% - 130px);
    float: right;
  }
}

.noshi_box_wrap {
  max-width: 1230px;
  padding: 0 15px;
  margin: 0 auto 40px auto;
  letter-spacing: -0.4em;
  text-align: left;
}
.noshi_box {
  display: inline-block;
  width: calc(50% - 5px);
  padding: 20px;
  margin: 0 10px 10px 0;
  text-align: center;
  background: #FFF;
  vertical-align: top;
  letter-spacing: 0.08em;
  text-align: center;
}
.noshi_box:nth-child(2n) {
  margin: 0 0 10px 0;
}
.noshi_box img {
  max-width: 100%;
}
.noshi_box_h {
  font-size: 18px;
  line-height: 30px;
  padding: 5px 0;
  text-align: left;
  color: #222222;
  vertical-align: top;
}
.noshi_box_h .number {
  display: inline-block;
  vertical-align: middle;
  padding: 2px 7px;
  line-height: 26px;
  margin: 0 10px 0 0;
  font-size: 14px;
  border-radius: 2px;
  background: #222222;
  color: #FFF;
  text-align: center;
  font-weight: bold;
}
.noshi_box_h .sub_h {
  display: inline-block;
  font-size: 16px;
  line-height: 30px;
  margin: 0 0 0 12px;
  vertical-align: top;
}
.musubikiri_red {
  color: #E55939;
}
.chomusubi_red {
  color: #E55939;
}
.musubikiri_black {
  color: #666666;
}
.musubikiri_yellow {
  color: #A58500;
}
.noshi_attention {
  border: #D70039 1px solid;
  background: #FFF;
  padding: 15px 20px;
  margin: 0 auto 40px auto;
  max-width: 1200px;
}
.noshi_attention p:last-child {
  margin: 0;
}
@media screen and (max-width:1200px){
  .noshi_box {
    padding: 15px;
  }
  .noshi_box_h {
    font-size: 15px;
    line-height: 22px;
    padding: 5px 0;
  }
  .noshi_box_h .number {
    font-size: 12px;
    margin: 0 10px 0 0;
  }
  .noshi_box_h .sub_h {
    font-size: 13px;
    line-height: 24px;
    margin: 0 0 0 10px;
  }
  .noshi_attention {
    margin: 0 15px 40px 15px;
  }
}
@media screen and (max-width:767px){
  .noshi_box {
    display: block;
    width: 100%;
    padding: 15px 10px;
    margin: 0 0 10px 0;
  }
  .noshi_box:nth-child(2n) {
    margin: 0 0 10px 0;
  }
  .noshi_box img {
    max-width: 100%;
  }
  .noshi_box_h {
    font-size: 13px;
    line-height: 18px;
    padding: 5px 20px 5px 0;
    position: relative;
    cursor: pointer;
  }
  .noshi_box_h::before {
    content: "";
    display: block;
    width: 11px;
    height: 1px;
    background: #000;
    right: 0;
    top: 14px;
    position: absolute;
  }
  .noshi_box_h::after {
    content: "";
    display: block;
    width: 1px;
    height: 11px;
    background: #000;
    right: 5px;
    top: 9px;
    position: absolute;
    visibility: visible;
  }
  .active .noshi_box_h::after {
    display: none;
  }
  .noshi_box_h .number {
    margin: 0 3px 0 0;
    padding: 2px 4px;
    font-size: 12px;
    line-height: 18px;
  }
  .noshi_box_h .sub_h {
    font-size: 12px;
    line-height: 18px;
    margin: 0 0 0 5px;
  }
  .noshi_attention {
    font-size: 13px;
  }

  .noshi_box_contents {
    display: none;
  }
  .noshi_box_contents img {
    margin: 15px 0 0 0;
  }

}
#about_howto img {
  max-width: 100%;
}

/* 共通
=====================================================================*/
.graybg_area,
.whitebg_area{
  width: 100%;
  margin: 0 auto;
  background: #EFEFEF;
  padding: 60px 0 20px 0;
  overflow: hidden;
}
.whitebg_area{
  background: #FFF;
}
.whitebg_area::after,
.graybg_area::after{
  content: '';
  clear: both;
  display: block;
}
.graybg_area .inner {
  max-width: 1230px;
  padding: 0 15px;
  margin: 0 auto;
}
.wide_imagearea{
  width: 100%;
  margin: 0 auto 50px auto;
  text-align: center;
}
.wide_imagearea img{
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.f_left{
  float: left;
}
.f_right{
  float: right;
}
.w140{
  width: 140px;
}
.w240{
  width: 240px;
}
.w346{
  width: 346px;
}
.w573{
  width: 573px;
}
.pt0{
  padding-top: 0;
}
.col_wrap{
  overflow: hidden;
}
.col_wrap::after{
  content: '';
  clear: both;
  display: block;
}
.w960_wrap{
  width: 960px;
  margin: 0 auto;
}
.w900_wrap{
  width: 900px;
  margin: 0 auto;
}

.w346 img,
.w573 img{
  max-width: 100%;
}

@media screen and (max-width: 1200px) {
  .w346{
    width: 38%;
  }
  .w573{
    width: 59%;
  }
  .graybg_area,
  .whitebg_area {
      width: 100%;
      padding: 40px 0;
      margin: 0 auto;
    }
    .wide_imagearea{
      width: 100%;
      text-align: center;
     margin: 0 auto 4%;
    }
    .w960_wrap{
      text-align: center;
    }
  .under1200_pb0{
    padding-bottom: 0;
  }
  .sp_pt0{
    padding-top: 0;
  }
}
@media screen and (max-width: 960px) {
  .w960_wrap{
    width: 100%;
  }
}
@media screen and (max-width: 900px) {
  .w900_wrap{
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .graybg_area,
  .whitebg_area {
      padding: 30px 0;
    }
    .wide_imagearea{
      width: calc(100% - 30px);
      margin-bottom: 0;
    }
    .inner_txt{
      width: 100%;
      margin-top: 10px;
      margin-bottom: 30px;
    }
    .inner_txt p{
      text-align: left;
    }
}

/* =========================================================
INVIEW
========================================================= */

.inview {
  opacity: 0;
  -webkit-transform: translateY(40px);
  transform: translateY(40px);
  transition-property: transform, -webkit-transform, opacity;
  transition-timing-function: ease;
  transition-duration: 1s;
  transition-delay: .1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media screen and (max-width: 767px) {
  .inview {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    transition-duration: 1s;
    transition-delay: .1s;
  }
}
.inview.delay01 {
  transition-delay: 0.2s;
}
.inview.delay02 {
  transition-delay: 0.4s;
}
.inview.delay03 {
  transition-delay: 0.6s;
}
.inview.delay04 {
  transition-delay: 0.8s;
}
.inview.delay05 {
  transition-delay: 1.0s;
}
.inview.delay06 {
  transition-delay: 1.2s;
}
@media screen and (max-width: 767px) {
  .inview.delay01,
  .inview.delay02,
  .inview.delay03,
  .inview.delay04,
  .inview.delay05,
  .inview.delay06 {
    transition-delay: 0.2s;
  }
}
.inview.inview_on {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* print style
=====================================================================*/
@media print {
  html {
    transform: scale(0.8);
    transform-origin: 0 0;
    height: 100% !important;
  }
  body {
    width: 1300px !important;
    height: auto !important;
    min-width: 100% !important;
    height:auto !important;
    overflow: auto !important;
  }
  .header_wrap {
    position: relative !important;
  }
  .pagetop_wrap {
    display: none !important;
    opacity: 0 !important;
  }
  .under_wrap {
      top: 0;
  }
}


/* スマホナビゲーション
=====================================================================*/

.sp_navi_wrap,
.sp_login_menu {
  display: none;
}

@media only screen and (max-width: 1100px){
  .sp_login_menu {
    display: flex;
    align-items: center;
  }
  .sp_login_menu a {
    width: 59px;
    position: relative;
    text-decoration: none;
    text-align: center;
    font-size: 10px;
    height: 42px;
    padding: 25px 0 0;
    display: inline-block;
  }
  .sp_login_menu a.noshiButton {
    width: auto;
    height: auto;
    font-size: 10px;
    margin: 0 4px 0 0;
    padding: 5px;
    line-height: 20px;
    border: #CCC 1px solid;
  }
  .sp_login_menu a.login {
    background: url("../img/common/icon_login_01.svg") no-repeat;
    background-size: 20px;
    background-position: top 5px center;
  }
  .sp_login_menu a.logout {
    background: url("../img/common/icon_login_01.svg") no-repeat;
    background-size: 20px;
    background-position: top 5px center;
  }
  .sp_login_menu a.member {
    background: url("../img/common/icon_member_01.svg") no-repeat;
    background-size: 20px;
    background-position: top 5px center;
  }

  .sp_menu_wrap {
    display: none;
  }
  .sp_navi_wrap {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1100;
    background: #F1F1F1;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .sp_footer_navi {
    border-top: 1px solid #DDDDDD;
    display: flex;
    background: #FFF;
  }
  .sp_footer_navi > li {
    width: 25%;
    position: relative;
  }
  .sp_footer_navi > li::after{
    content: "";
    width: 1px;
    height: calc(100% - 20px);
    position: absolute;
    top:10px;
    right: 0;
    background-color: #DDDDDD;
  }
  .sp_footer_navi > li:last-child::after{
    display: none;
  }
  .sp_footer_navi a {
    text-decoration: none;
    position: relative;
  }
  .sp_footer_navi a.icon {
    display: block;
    color: #000;
    font-size: 9px;
    text-align: center;
    height: 56px;
    position: relative;
    letter-spacing: 0;
    padding-top: 34px;
  }
  .sp_footer_navi a.icon.active {
    background: #DDD;
  }
  .sp_footer_navi a.icon .close {
    display: none;
  }
  .sp_footer_navi a.icon.active .open {
    display: none;
  }
  .sp_footer_navi a.icon.active .close {
    display: block;
  }
  .sp_footer_navi a.icon::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 30px;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position: top 9px center;
  }
  .sp_footer_navi a.guide::before {
    background-image: url(../img/common/icon_guide_black.png);
    background-size: 21px;
  }
  .sp_footer_navi a.favorite::before {
    background-image: url(../img/common/icon_favorite_black.png);
    background-size: 21px;
  }
  .sp_footer_navi a.noshi::before {
    background-image: url(../img/common/icon_wrapping_sp.png);
    background-size: 18px;
  }
  .sp_footer_navi a.search::before {
    background-image: url(../img/common/icon_search_sp.png);
    background-size: 21px;
  }
  .sp_footer_navi a.cart::before {
    background-image: url(../img/common/icon_cart_black.svg);
    background-size: 21px;
  }
  .sp_footer_navi a.menu::before {
    background-image: url(../img/common/icon_more.png);
    background-size: 21px;
  }
  .sp_footer_navi a.icon.active::before {
    background-image: url(../img/common/icon_close.png);
    background-size: 21px;
  }
  .footer_popup {
    position: fixed;
    top: 0;
    width: 100%;
    left: 0;
    text-align: left;
    background: #FFF;
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    height: calc(100% - 56px);
    font-size: 12px;
    margin-top: 100vh;
    transition: 0.8s ease;
    padding-bottom: 60px;
    z-index: -1;
    visibility: hidden;
  }
  .footer_popup.active {
    margin: 0;
    visibility: visible;
  }
  .search_keyword_form_area {
    padding: 13px 15px 20px;
  }
  .search_keyword_form_area .search_ttl {
    margin-bottom: 11px;
  }
  .search_keyword_form {
    width: 100%;
    position: relative;
    margin-bottom: 15px;
  }
  input.keyword_input {
    border: 1px solid #DDDDDD;
    width: 100%;
    padding: 4px 45px 5px 8px;
    height: 43px;
    font-size: 16px;
    border-radius: 0px;
    -webkit-appearance: none;
  }
  button.search_btn {
    border: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 42px;
    height: 100%;
    background: none;
  }
  .search_btn img {
    width: 18px;
  }
  .search_popular_keyword_list{
    display: flex;
  }
  .search_popular_keyword_title{
    font-size: 12px;
    margin-bottom: 11px;
  }
  .search_popular_keyword_list li{
    margin-right: 10px;
  }
  .search_popular_keyword_list a{
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 2px;
    font-size: 12px;
    background: #EFEFEF;
  }
  .footer_popup .logo {
    border-bottom: 1px solid #DDDDDD;
    padding: 17px 15px 16px;
    text-align: left;
  }
  .footer_popup .logo a {
    display: inline-block;
  }
  .footer_popup .logo img {
    display: block;
    margin: auto;
    width: 80px;
  }
  .footer_popup_sns {
    position: absolute;
    top: 30px;
    right: 25px;
    text-align: right;
  }
  .footer_popup_sns li {
    display: inline-block;
    margin: 0 10px;
  }
  .footer_popup_sns li img {
    width: 24px;
  }
  .footer_popup .menu_ttl {
    font-size: 11px;
    font-weight: bold;
    background: #F1F1F1;
    height: 43px;
    padding: 12px 15px;
  }
  .footer_popup_menu {
    padding: 0;
  }
  .footer_popup_menu li.border > a {
    border-top: 1px solid #FFFFFF;
  }
  .footer_popup_menu > li{
    border-bottom: 1px solid #FFFFFF;
  }
  .footer_popup_menu > li.separator_title{
    padding: 17px 20px 18px;
    background: #484848;
    color: #FFF;
  }
  .footer_popup_menu > li > a {
    display: block;
    padding: 17px 20px 18px;
    position: relative;
  }
  .footer_popup_menu > li > a::before,
  .popup_child_menu a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    width: 10px;
    height: 10px;
    background: url(../img/common/icon_arrow_02_red.svg) no-repeat;
    background-size: 5px;
    transition: 0.4s;
  }
  .footer_popup_menu > li > a::before{
    right: 35px;
  }
  .popup_child_menu a {
    display: block;
    padding: 10px 15px;
  }
  .popup_child_menu {
    padding: 7px 0 7px;
    margin: 0 20px 20px;
    display: none;
  }
  .popup_grandchild_menu {
    margin: 0;
  }
  .popup_grandchild_menu a{
    padding-left: 35px;
  }
  .popup_grandchild_menu a::after {
    content: "";
    display: block;
    position: absolute;
    top:0;
    bottom: 0;
    margin: auto;
    left: 15px;
    width: 10px;
    height: 1px;
    background: #DDDDDD;
    transition: 0.4s;
  }
  .footer_popup_menu a.toggle_menu_ttl::before{
    display: none;
  }
  .footer_popup_menu button.toggle_menu_ttl_icon{
    -webkit-appearance: none; /* iOSのデフォルトスタイルを無効化 */
    padding: 0;
    border: none;
    border-radius: 2px;
    background: #C22047;
    cursor: pointer;
    outline: none;
    position: absolute;
    bottom: 0;
    top:0;
    right: 35px;
    margin: auto;
    width: 18px;
    height: 18px;
  }
  .popup_child_menu button.toggle_menu_ttl_icon{
    right: 15px;
  }
  .footer_popup_menu .toggle_menu_ttl_icon::before,
  .footer_popup_menu .toggle_menu_ttl_icon::after{
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: 0;
    top:0;
    bottom: 0;
    margin: auto;
    width: 9px;
    height: 1px;
    transition: 0.4s;
    background: #FFF;
  }
  .footer_popup_menu .toggle_menu_ttl_icon::after {
    transform: rotate(90deg);
  }
  .footer_popup_menu a.toggle_menu_ttl.active .toggle_menu_ttl_icon::after {
    transform: rotate(0deg);
  }
  
  
  .popup_child_menu.active {
    display: block;
  }
}
.sp_only {
  display: none;
}
@media screen and (max-width:767px){
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
}
.brand_movie {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 15px 30px 15px;
  overflow: hidden;
  background: none;
}

/* テキストリンク色変更 ストーリー関連、選ばれる理由 */
.text_link_color a {
  color: #0645AD;
  text-decoration: underline;
}
.text_link_color a:hover {
  text-decoration: none;
}


/* 商品一覧導線 */
.item_list_nav {
  width: 100%;
  max-width: 1200px;
  margin: -30px auto 60px auto;
  text-align: center;
}
.item_list_nav.mt40 {
  margin: 40px auto 10px auto !important;
}
.item_list_nav li {
  display: inline-block;
  width: 30%;
  margin: 0 10px;
}
.item_list_nav li a {
  display: block;
  text-decoration: none;
  padding: 20px 0;
  position: relative;
  border: #DDD 1px solid;
  background: #FFF;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}
.item_list_nav li a:hover {
  color: #D70039;
  text-decoration: none;
}
.item_list_nav li a::after {
  display: inline-block;
  margin: 0 0 0 10px;
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 28px;
  right: 15px;
  border-top: 1px solid #D70039;
  border-right: 1px solid #D70039;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: none;
}
@media screen and (max-width:767px){
  .item_list_nav {
    width: 100%;
    padding: 0 15px;
  }
  .brand_sec .item_list_nav {
    padding: 0;
  }
  .item_list_nav li {
    display: block;
    width: 100%;
    margin: 0 0 10px 0;
  }
  .item_list_nav li a {
    padding: 15px;
    font-size: 14px;
  }
  .item_list_nav li a::after {
    display: inline-block;
    margin: 0 0 0 10px;
    content: "";
    width: 6px;
    height: 6px;
    position: absolute;
    top: 22px;
    right: 15px;
  }
}



/* 20231113 footer お支払い/返品交換/内部リンク */
.footer_pay-re {
  width: 1200px;
  border-bottom: solid 1px #DDDDDD;
  margin: 0px auto 50px auto;
  padding-top: 30px;
  padding-bottom: 58px;
}
.footer_pay-re_grp {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: 30px;
  margin: 0px auto;
}
.f_pay-re_box {
  display: block;
}
.footer_pay-re_ttl,
.footer_pay-re_txt, 
.footer_pay-re_link{
  width: 100%;
}
.footer_pay-re_ttl {
  font-weight: bold;
  font-size: 13px;
  margin-bottom: 15px;
}
.footer_pay-re_ttl.icon{
  padding: 0 0 10px;
  border-bottom:1px solid #DEDEDE;
  margin-bottom: 30px;
  display: flex;
  gap: 10px;
  width: 100%;
}
.footer_pay-re_ttl.icon::before{
  content: "";
  display: block;
}
.footer_pay-re_ttl.wrapping::before{
  background: url(../img/common/icon_gift_red.svg) no-repeat center;
  width: 23px;
  height: 23px;
}
.footer_pay-re_ttl.payment::before{
  background: url(../img/common/icon_payment_red.svg) no-repeat center;
  width: 22px;
  height: 16.35px;
}
.footer_pay-re_ttl.delivery::before{
  background: url(../img/common/icon_delivery_red.svg) no-repeat center;
  width: 23px;
  height: 18px;
}
.footer_pay-re_txt, 
.footer_pay-re_link {
  font-size: 13px;
}
.footer_pay-re_link {
  margin-bottom: 0;
}
.footer_pay-re_txt{
  margin-bottom: 15px;
}
.footer_pay-re_txt.small{
  font-size: 12px;
}
.footer_pay-re_link + .footer_pay-re_ttl,
.footer_pay-re_txt + .footer_pay-re_ttl{
  margin-top: 30px;
}
.footer_pay-re_link{
  width: 100%;
}

.footer_cat {
  width: 1200px;
  border-bottom: solid 1px #DDDDDD;
  padding-bottom: 35px;
  margin: 0px auto 50px auto;
}
.footer_cat_ttl {
  display: flex;
  font-weight: bold;
  min-width: 200px;
  font-size: 13px;
  margin-bottom: 0;
}
.footer_cat_box {
  display: flex;
  margin-bottom: 25px;
}
.footer_cat_box:last-child{
  margin-bottom: 0;
}
.footer_cat_box ul {
  display: flex;
  flex-wrap: wrap;
}
.footer_cat_box li {
  margin-right: 40px;
  margin-bottom: 15px;
}
.footer_cat_box li:last-child {
  margin-right: 0;
}
.footer_cat_box li a {
  display: block;
  font-size: 13px;
  letter-spacing: 0.08em;
  background: url(../img/common/icon_line_red.gif) no-repeat 0 center;
  background-size: 10px 1px;
  padding-left: 22px;
  text-decoration: none;
}
@media only screen and (max-width: 1200px) {
  .footer_pay-re {
    width: calc(100% - 30px);
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
  .footer_pay-re_grp {
    width: 100%;
  }

  .footer_cat {
    width: calc(100% - 30px);
  }
  .footer_cat_grp {
    width: 100%;
    margin: 0px auto;
  }
  .footer_cat_box li {
    width: auto;
  }
  .footer_cat_box li:not(:nth-of-type(4n)) {
    margin-right: 8%;
  }
  .footer_cat_box li:nth-of-type(4n) {
    text-align: unset;
    margin:  0px 8% 0px 0px;
  }
}
@media only screen and (max-width: 767px) {
  .footer_pay-re{
    padding-bottom: 10px;
  }
  .footer_pay-re_grp {
    display: block;
  }
  .footer_pay-re_ttl.icon{
    padding: 0 0 17px;
    border-bottom:1px solid #DEDEDE;
    margin-bottom: 25px;
    display: flex;
    gap: 10px;
    width: 100%;
  }
  .f_pay-re_box {
    width: 100%;
    max-width: none;
    margin-bottom: 50px;
  }
  .footer_pay-re_link{
    text-align: right;
    font-size: 11px;
  }
  .footer_cat {
    margin: 0 auto 50px auto;
  }
  .footer_cat_box{
    display: block;
  }
  .footer_cat_ttl{
    margin-bottom: 25px;
  }
  .footer_cat_box ul {
    display: flex;
  }
  .footer_cat_box li{
    margin-bottom: 20px;
  }
  .footer_cat_box_item {
    margin-bottom: 40px;
  }
}
/* エラー
=====================================================================*/
.fs-c-panelContainer{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fs-c-panel--error{
  width: fit-content;
}
/* カート画面
=====================================================================*/
/*　カート画面：STEP1～STEP5　*/
.orderFlow {
  margin: 0 auto 20px auto;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .orderFlow {
    display: none;
  }
}

/* カート おすすめ商品 スライドを解除してグリッド表示 */
.fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel.fs-c-slick {
  display: block;
}
.fs-body-cart .fs-c-featuredProduct span.fs-c-productListCarousel__ctrl {
  display: none !important;
}
.fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel__list {
  display: block;
}
.fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel.fs-c-slick div.slick-track {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr)!important;
  grid-column-gap: 20px;
  grid-row-gap: 30px;
  width: 100% !important;
  transform: none !important;
}
.fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel.fs-c-slick div.slick-track::before {
  content: none !important;
}
.fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel.fs-c-slick article.fs-c-productListCarousel__list__item.fs-c-productListItem {
  min-width: 100%;
  margin: 0;
}
@media screen and (min-width:768px){
  .fs-body-cart .fs-c-featuredProduct .fs-c-productListCarousel.fs-c-slick div.slick-track {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr !important;
    grid-gap: 25px;
  }
}

/*　ショッピングカート　*/
.fs-body-cart .fs-l-cart__contentsArea .ttl_normal{
  margin-bottom: 20px!important;
}
.cart-contents-caption{
  padding: 10px 0;
  margin: 0!important;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  background: #EFEFEF;
  border: none;
}
.cart_upper_comment{
  display:flex;
  justify-content: space-between;
  align-items: flex-end;
  text-align: center;
  margin: 0 0 25px;
}
.fs-c-cartTable__productName__name a{
  text-decoration: none;
}
.fs-c-button--cancel--cart{
  padding: 8px 10px;
  margin: 0 auto;
  background: #EFEFEF;
  border: #DDD 1px solid;
  border-radius: 0;
  color: #222;
  text-align: center;
  line-height: 1;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  max-width: 100px;
}
.fs-c-buttonContainer--loginAndPurchase{
  margin-bottom: 15px;
}
@media only screen and (max-width: 767px) {
  .cart-contents-caption{
    font-size: 12px;
    padding: 8px 0;
  }
  .fs-c-cartTable__unitPrice{
    padding: 5px 0;
    display: flex;
    justify-content: flex-end;
    align-items: baseline;
    font-size: 1.8rem;
  }
  .fs-c-cartTable__unitPrice::before{
    content: "単価";
    font-weight: bold;
    font-size: 0.8rem;
    margin-right: 8px;
    min-width: 2em;
  }
  .fs-c-cartTable__unitPrice .fs-c-productPrice,
  .fs-c-cartTable__unitPrice .fs-c-productPrice span{
    font-weight: normal!important;
  }
  .fs-c-cartTable__unitPrice .fs-c-productPrice__addon{
    display: none;
  }
  .fs-c-cartPayment__button .fs-c-button--loginAndPurchase,
  .fs-c-cartPayment__button .fs-c-button--unregisteredUserPurchase{
    width: 100%;
  }
  .fs-c-cartDiscountInfo__info{
    font-size: 1.3rem;
    padding: 10px;
    border: 1px solid #D70039;
    text-align: center;
    justify-content: center;
  }
  .fs-c-button--buyItLater{
    padding: 8px 10px;
    margin: 0 auto;
    background: #FFF;
    border: #DDD 1px solid;
    border-radius: 0;
    color: #222;
    text-align: center;
    line-height: 1;
    text-decoration: none;
    text-shadow: none;
    box-shadow: none;
    max-width: 100px;
  }
}
@media only screen and (min-width: 768px) {
  .fs-c-button--buyItLater{
    background: none;
    border: none;
    padding: 0;
    text-decoration: underline;
  }
  .fs-c-button--buyItLater:hover{
    text-decoration: none;
  }
}
#fs-cartTotals-container{
  display: flex;
  justify-content: center;
  max-width: 360px;
  width: 50%;
  float: right;
  margin-bottom: 30px;
}
.fs-c-cartDiscountInfo{
  float: left;
}
.fs-c-orderTotalTable{
  width: 100%;
}
.selectCheckoutService_area{
  clear: both;
  margin: 40px 0 20px;
  padding: 10px;
  border: 5px solid #eee;
}
.fs-c-purchaseHere__message{
  text-align: center;
  margin: 0 0 15px;
}
.fs-c-payWithAmazon__message{
  text-align: center;
  margin: 0 0 15px;
}
.fs-c-payWithAmazon__message .FS2_Divider_labelText{
  font-size: 1.4rem;
}
.fs-c-continueShopping{
  text-align: center;
  margin: 0 0 15px;
}
.fs-c-featuredProduct{
  margin-bottom: 50px;
}
@media only screen and (max-width: 767px) {
  .cart_upper_comment{
    display: block;
  }
  #fs-cartTotals-container{
    float: none;
    max-width: 100%;
    width: 100%;
  }
  .fs-c-cartDiscountInfo{
    float: none;
  }
  .fs-c-payWithAmazon__message{
    text-align: left;
  }
}
/*　ご注文手続き　*/
.fs-c-checkout-customerInfo > li{
  margin:0 0 0.5rem;
}
.fs-c-checkout-destination__list > li {
  margin:0 0 0.5rem;
}
.fs-c-checkout-destination__destination{
  align-items: flex-start;
}
.fs-c-checkout-addresseeSettingList .fs-c-radio__radioLabelText {
  font-size: 1.6rem;
  font-weight: bold;
}
.fs-c-checkout-addresseeSettingList .fs-c-radio__label{
  padding: 10px 0;
}
.fs-c-checkout-paymentMethodList .fs-c-radio__radioLabelText {
  font-size: 1.6rem;
  font-weight: bold;
}
.fs-c-checkout-paymentMethodList .fs-c-radio__label{
  padding: 10px 0;
}
.fs-c-checkout-deliveryMethod .fs-c-radio__radioLabelText {
  font-size: 1.6rem;
  font-weight: bold;
}
.fs-c-checkout-deliveryMethod .fs-c-radio__label{
  padding: 10px 0;
}
.fs-c-cartTable__productName a{
  text-decoration: none;
}
.fs-c-cartTable__productName a:hover{
  text-decoration: underline;
}
.fs-c-confirmOrder{
  padding: 15px;
  text-align: center;
}
.fs-c-confirmOrder p{
  margin: 10px 0 0;
}
.fs-c-buttonContainer--changeSmall .fs-c-button--change--small,
.fs-c-checkout-destination__button .fs-c-button--standard,
.fs-c-checkout-addresseeList .fs-c-button--standard{
  padding: 12px 17px 12px;
}
@media only screen and (min-width: 768px) {
  .fs-c-checkout-paymentMethod__body{
    padding: 0 15px;
  }
  .fs-c-checkout-paymentMethod__body > *{
    margin: 15px 0;
  }
  .fs-c-checkout-delivery__method{
    padding: 15px;
  }
}

/* モーダル */
.fs-c-modal__contents .fs-c-inputInformation__field{
  margin: 0;
}
.fs-c-modal__close::before{
  font-size: 1em;
  line-height: 1.5;
}
.fs-c-checkout-deliveryMethodList > li{
  margin-bottom: 16px;
}

/* ご注文完了 */
@media only screen and (min-width: 768px) {
  .fs-c-checkoutSuccess h2{
    font-size: 1.6rem;
    margin: 0 0 15px;
  }
  .fs-c-checkoutSuccess{
    text-align: center;
    line-height: 2;
  }
}

/* お客様情報入力
=====================================================================*/
.fs-c-inputField__explanation p{
  margin: 10px 0 0;
}
.fs-c-agreementConfirmationArea {
  padding: 30px 0 0 0;
  border-top: #DDD 1px solid;
}
.fs-c-agreementConfirmationArea__message {
  width: 100%;
  min-height: 26px;
  border-left: 2px solid #C22047;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  color: #222;
  letter-spacing: 1.4px;
  margin: 0 0 20px 0;
  text-align: left;
}
.fs-c-agreementConfirmation__message {
  margin-bottom: 20px;
  padding: 0;
  border: none;
  font-size: 14px;
  line-height: 26px;
  font-weight: bold;
  text-align: left;
}
.fs-p-listWithCheckmark {
  margin: 15px 0;
}
.fs-p-listWithCheckmark li {
  margin: 0 0 8px 0;
  list-style: none;
  padding: 0 0 0 20px;
  background: url(../img/common/icon_check.svg) no-repeat 0 2px;
  background-size: 14px;
  font-size: 13px;
  line-height: 20px;
  text-align: left;
  font-weight: normal;
}
.fs-p-listWithCheckmark li::before {
  display: none;
}
.fs-c-agreementConfirmation__checkbox {
  display: block;
  padding: 10px 15px;
  margin: 0 0 20px 0;
  background: #F5F5F5;
  text-align: left;
}
.fs-c-agreementConfirmation__checkbox {
  text-align: left;
  line-height: 2;
}
.fs-c-agreementConfirmation__checkbox .fs-c-checkbox__label {
  display: inline-block;
}
.fs-c-agreementConfirmation__checkbox .fs-c-checkbox__checkMark {
  display: inline-block;
  vertical-align: middle;
}
.fs-c-checkbox__labelText {
  text-align: left;
}
.fs-c-agreementConfirmation__addon__message {
  text-align: left;
  margin-bottom: 5px;
}
.fs-c-agreementField .fs-c-agreementConfirmation__addon {
  margin: 0 auto 20px auto;
}
/*
#fs_registerAndContinue {
  display: block !important;
  text-align: center;
}
*/
.fs-c-privacyPolicyAgreeField.fs-c-additionalCheckField {
  margin-bottom: 20px;
}
/* 依頼主（贈り主）様の郵便番号 */
#fs_input_additionalItemadditional13{
  flex-basis: 8em;
  min-width: 8em;
  max-width: 8em;
}
@media screen and (max-width:767px) {
  .fs-c-agreementConfirmationArea {
  }
  .fs-c-agreementConfirmationArea__message {
    margin: 0 0 20px 0;
    padding: 0 0 0 16px;
    font-size: 14px;
  }
  .fs-c-agreementConfirmationArea__message::before {
    content: "";
    width: 10px;
    top: 10px;
  }
  .fs-c-agreementConfirmation__message {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 20px;
  }
  .fs-p-listWithCheckmark {
    margin: 15px 0;
  }
  .fs-p-listWithCheckmark li {
  }
  .fs-c-agreementConfirmation__checkbox {
  }
  .fs-c-agreementConfirmation__checkbox {
    text-align: left;
  }
  .fs-c-agreementConfirmation__checkbox .fs-c-checkbox__checkMark {
    display: inline-block;
    vertical-align: middle;
  }
  .fs-c-checkbox__labelText {
    text-align: left;
  }
  .fs-c-agreementConfirmation__addon__message {
    text-align: left;
    margin-bottom: 5px;
  }
  .fs-c-agreementField .fs-c-agreementConfirmation__addon {
    max-width: 600px;
    margin: 0 auto 20px auto;
  }
  .fs_registerAndContinue {
    text-align: center;
  }
}

/* 新規会員登録
=====================================================================*/
.fs-body-register .fs-c-memberInfoField{
  margin: 0 0 30px;
}

/* マイページ
=====================================================================*/
.fs-c-buttonContainer--myPageTop{
  text-align: center;
}
.fs-c-button--myPageTop {
  background: #FFF;
  border: 1px solid #333;
  border-radius: 0px;
  color: #222222;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  padding: 17px 17px 18px;
  box-shadow: none;
  min-width: 240px;
}
@media only screen and (min-width: 768px){
  .fs-c-button--myPageTop:hover {
    opacity: 0.8;
  }
}
.fs-c-button--myPageTop:hover, .fs-c-button--myPageTop:visited, .fs-c-button--myPageTop:active {
  color: #222222;
  text-decoration: none;
}
.fs-c-accountService__page--accountDelete{
  height: auto;
  justify-content: center;
  margin: 30px 0 100px;
}
.fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink{
  background: #FFF;
  border: 1px solid #333;
  border-radius: 0px;
  color: #222222;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  padding: 17px 17px 18px;
  box-shadow: none;
  min-width: 240px;
}
@media only screen and (min-width: 768px){
  .fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink:hover {
    opacity: 0.8;
  }
}
.fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink:hover,
.fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink:visited,
.fs-c-accountService__page--accountDelete .fs-c-accountService__pageLink:active {
  color: #222222;
  text-decoration: none;
}
/* アドレス帳
=====================================================================*/
.fs-c-checkout-addressee__control {
  
}

/* お気に入り
=====================================================================*/
.fs-c-wishlistProduct__viewAllProducts {
  background: #FFF;
  border: 1px solid #333;
  border-radius: 0px;
  color: #222222;
  cursor: pointer;
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  padding: 17px 17px 18px;
  box-shadow: none;
  min-width: 240px;
}
@media only screen and (min-width: 768px){
  .fs-c-wishlistProduct__viewAllProducts:hover {
    opacity: 0.8;
  }
}
.fs-c-wishlistProduct__viewAllProducts:hover, .fs-c-wishlistProduct__viewAllProducts:visited, .fs-c-wishlistProduct__viewAllProducts:active {
  color: #222222;
  text-decoration: none;
}

/* 注文履歴
=====================================================================*/
.fs-c-history__termCtrl .fs-c-dropdown__menu{
  background: #FFF;
}
.fs-c-orderHistoryItem__button .fs-c-button--addReview--detail{
  width: 150px;
}
.fs-c-orderHistoryItem__header .fs-c-button--viewOrderHistoryDetail{
  background: #333;
  border:1px solid #333;
  color: #FFF;
  padding: 8px;
}
/* 注文履歴詳細
=====================================================================*/
.fs-c-orderDetail .fs-c-heading--section{
  width: 100%;
  min-height: 26px;
  border-left: 2px #C22047 solid;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
  margin: 0 0 20px 0;
  text-align: left;
}
.fs-c-orderDetail .fs-c-cartTable__headerCell{
  border-top: #DDD 1px solid;
}
.fs-c-cartTable__dataCell--review .fs-c-button--addReview--detail{
  width: 150px;
}
@media screen and (max-width:767px) {
  .fs-c-orderDetail .fs-c-heading--section{
    font-size: 14px;
  }
}

/* 会員規約
=====================================================================*/
.fs-p-memberAgreement .fs-c-orderedList > li p {
  display: inline;
}
.fs-p-memberAgreement .fs-c-documentColumn__content{
  gap: 0px;
}

/* メンテナンス
=====================================================================*/
.maintenance {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
  padding: 25px 15px;
}
.maintenance__heading {
  display: block;
  width: 100%!important;
}
.maintenance p{
  margin: 0 0 20px;
}
@media screen and (max-width:767px) {
  .maintenance {
    text-align: left;
  }
}

/* 商品詳細
=====================================================================*/
/*
.fs-l-productLayout {
  padding: 0 0 50px 0;
  margin: 0 0 50px 0;
  border-bottom: #DDDDDD 1px solid;
}*/

@media screen and (min-width: 960px) {
  .fs-l-product2 .fs-l-productLayout {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    gap: 0;
  }
  .fs-l-product2 .fs-c-productActionButton .fs-c-button--primary,
  .fs-l-product2 .fs-c-productActionButton .fs-c-button--secondary {
    min-width: 100%;
  }
  .item-detail-image {
    max-width: 540px;
    margin-right: 60px;
    width: calc(50% - 60px);
  }
  .item-detail-contents {
    max-width: 600px;
    width: 50%;
  }
  .fs-c-productCarouselMainImage__carousel img {
    max-width: 540px;
  }
}
.item-html {
  position: relative;
  clear: both;
  width: 100%;
  font-size: 14px;
  padding: 0 0 70px;
}
.fs-p-productDescription--full {
  margin-top: 30px;
  padding-top: 30px;
  border-top:1px solid #DDD;
}
@media screen and (max-width:767px) {
  .fs-l-productLayout{
    grid-row-gap: 0px;
  }
  .item-detail-wrap {
    width: 100%;
    padding: 0 0 60px 0;
    margin: 0 auto;
    position: relative;
  }
  .item-detail-image {
    width: 100%;
    float: none;
    margin: 0 0 20px 0;
  }
  .item-detail-contents {
    width: 100%;
    float: none;
    margin: 0 0 40px 0;
    position: static;
  }
  .item-html {
    position: relative;
    width: 100%;
    padding: 0 0 40px;
    font-size: 12px;
  }
}
.fs-c-productNameHeading__copy{
  display: block;
}
.fs-c-productNameHeading {
  margin: 0 0 20px 0;
  padding: 0 0 20px;
  border-bottom: #DDDDDD 1px solid;
  text-align: left;
}
.fs-c-productNameHeading__name {
  font-size: 15px;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #222222;
  margin:0 0 10px 0;
}
.fs-c-productNumber {
  margin: 0 0 10px 0;
  font-size: 12px;
  color: #919191;
}
.fs-c-productNumber__label {
  margin-right: 5px;
}
.fs-c-productMark__item{
  margin:0 10px 0 0;
}
.fs-c-productMark__item img{
  max-height: 21px;
  width: auto;
}
.item-detail-prices {
  margin: 15px 0;
  overflow: hidden;
}

.fs-c-productPrice--member {
  margin-top: 15px;
}
.fs-c-productPrices--productDetail {
  display: inline-block;
}
.fs-c-productPrices--productDetail .fs-c-productPrice__main__label {
  display: inline-block;
  font-size: 13px;
  margin-right: 15px;
  font-weight: normal;
}
.fs-c-productSalesPeriod {
  background: #F3F3F3;
  padding: 5px;
  font-size: 12px;
  text-align: center
}
.fs-c-productPrice__main__price {
  text-align: left;
  font-weight: bold;
}
.fs-c-productPrices--productDetail .fs-c-price__value {
  font-size: 21px;
}
.fs-c-productPrices--productDetail .fs-c-price__currencyMark {
  font-size: 21px;
}
.fs-c-productPrices--productDetail .fs-c-productPrice__addon{
  margin-left: 4px;
}
.fs-c-productPrices--productDetail .fs-c-productPrice__addon__label {
  font-size: 13px;
  font-weight: bold;
  vertical-align: baseline;
}
.fs-c-productOption .fs-c-radioGroup{
  display: block;
  border: 1px solid #DDDDDD;
  padding: 0 20px;
}
.fs-c-productOption .fs-c-radio{
  display: block;
  border-bottom:1px solid #DDD ;
  padding: 20px 0;
}
.fs-c-productOption .fs-c-radio:last-child{
  border-bottom:0;
}
@media screen and (max-width:767px) {
  .fs-c-productPrices--productDetail .fs-c-productPrice__main__label {
    font-size: 11px;
  }
  .fs-c-productPrices--productDetail .fs-c-price__value {
    font-size: 18px;
  }
  .fs-c-productPrices--productDetail .fs-c-price__currencyMark {
    font-size: 18px;
  }
  .fs-c-productPrices--productDetail .fs-c-productPrice__addon__label {
    font-size: 11px;
  }
  .fs-c-productOption .fs-c-radioGroup{
    padding: 5px 20px;
  }
  .fs-c-productOption .fs-c-radio{
    padding: 15px 0;
  }
}
.fs-c-productPointDisplay {
  display: inline-block;
  font-size: 12px;
  line-height: 24px;
}
.item-detail-entry-link {
  display: inline-block;
  float: right;
  font-size: 11px;
  font-weight: bold;
  line-height: 24px;
}
.item-detail-cart-wrap {
  border: #DDDDDD 1px solid;
  padding: 25px;
  margin: 10px 0;
}
/*
.item-detail-wrapping-select {
  padding: 0 0 10px 0;
  margin: 0 0 15px 0;
  border-bottom: #DDDDDD 1px solid;
}
*/
.item-detail-cart-wrap::after,
.item-detail-wrapping-select::after {
  content: "";
  display: block;
  clear: both;
}
.item-detail-wrapping-link {
  padding: 0 0 25px 0;
  margin: 0 0 25px 0;
  border-bottom: #DDDDDD 1px solid;
}
.item-detail-wrapping-link a {
  display: inline-block;
  padding: 0 0 0 18px;
  font-size: 12px;
  position: relative;
  color: #C22047;
}
.item-detail-wrapping-link a::before {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #C22047;
  border-right: solid 1px #C22047;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.item-detail-wrapping-button{
  background: #EFEFEF;
  padding: 25px;
  margin-top: 70px;
}
.item-detail-wrapping-button-text{
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #C22047;
}
.item-detail-wrapping-button .btn{
  display: block;
  text-align: center;
  color: #222222;
  font-size: 12px;
  width: 300px;
  padding: 17px 45px 18px 20px;
  background: url(../img/common/icon_arrow_01_gray.png) no-repeat 95% 50% #FFF;
  border: 1px solid #333333;
  text-decoration: none;
}
@media screen and (max-width:1100px) {
  .item-detail-wrapping-button{
    text-align: center;
    margin-top: 0;
  }
  .item-detail-wrapping-button .btn{
    display: inline-block;
  }
}
@media screen and (max-width:767px) {
  .item-detail-cart-wrap {
    border: #DDDDDD 1px solid;
    padding: 30px 20px;
    margin: 10px 0;
  }
  .item-detail-wrapping-select {
    padding: 0;
    margin: 0 0 30px 0;
    border-bottom: 0;
  }
  .item-detail-wrapping-button .btn{
    width: 100%;
  }
}
@media only screen and (min-width: 768px){
  .item-detail-wrapping-button .btn:hover{
    color:#C22047;
    background: url(../img/common/icon_arrow_01_red.png) no-repeat 95% 50% #FFF;
  }
}
.item-detail-wrapping-select .fs-c-productSelection {
  width: 66.42%;
  float: left;
  margin: 0;
}
.noshi_none .item-detail-wrapping-select .fs-c-productSelection {
  width: 100%;
}
.wrapping-selected-images {
  width: 25%;
  float: right;
  text-align: center;
}
.fs-c-productSelection__name {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 10px;
  position: relative;
}
.fs-c-productSelection__name .fs-c-requiredMark {
  color: #C22047;
  margin-left: 5px;
  vertical-align: top;
}
.fs-c-productSelection__selection {
  margin: 0 0 20px 0;
}
.fs-c-productSelection__name label {
  pointer-events: none;
}
.item-detail-cart-wrap .fs-c-radio__radioLabelText {
  font-weight:normal;
  font-size: 12px;
}
.selected-noshi {
  max-width: 100%;
  margin: 0 0 20px 0;
}
.selected-wrapping {
  max-width: 100%;
  margin: 0 0 10px 0;
}
.selected-noshi.active,
.selected-wrapping.active {
  border: none;
  min-height: auto;
}

.item-detail-paperbag {
  clear: both;
  margin: 0;
  font-size: 12px;
}
.item-detail-paperbag a{
  display: inline-block;
  padding: 0 0 0 18px;
  font-size: 12px;
  position: relative;
  color: #C22047;
}
.item-detail-paperbag a::before {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #C22047;
  border-right: solid 1px #C22047;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 6px;
}

.paperbag-link {
  display: inline-block;
  margin: 0 0 0 15px;
  padding: 0 0 0 18px;
  position: relative;
}
.paperbag-link::before {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #222222;
  border-right: solid 1px #222222;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media screen and (max-width:767px) {
  .item-detail-paperbag + .fs-c-productOption{
    margin: 30px 0 0;
  }
  .paperbag-link {
    margin: 5px 0 0 0;
    padding: 0 0 0 18px;
    position: relative;
  }
}
.fs-c-productQuantityAndWishlist__wishlist{
  justify-content: end;
  margin: 0 0 10px;
}
.fs-c-button--addToWishList--detail {
  font-size: 12px;
  border: none;
  box-shadow: none;
  background: none;
}
/* 商品バリエーションありの時の数量ボックス */
.fs-c-productQuantity{
  display: block;
  min-width: 120px;
  max-width: initial;
  float: left;
  text-align: left;
}
.fs-c-productQuantity__quantity{
  display: inline;
}
.fs-c-productQuantity__quantity::before{
  content: "数量";
  line-height: 52px;
  font-weight: bold;
  font-size: 12px;
}
.fs-c-productQuantity__quantity .fs-c-quantity__select {
  width: 75px;
  height: 52px;
}
/* 商品バリエーションなしの時の数量ボックス */
.fs-c-productQuantityAndWishlist__quantity::before{
  content: "数量";
  line-height: 52px;
  font-weight: bold;
  font-size: 12px;
}
.fs-c-productQuantityAndWishlist__quantity {
  min-width: 120px;
  max-width: initial;
  float: left;
  text-align: left;
}
.fs-c-productQuantityAndWishlist__quantity .fs-c-quantity__select {
  width: 75px;
  height: 52px;
}
.fs-c-productActionButton {
  float: right;
  width: calc(100% - 120px);
}
.fs-c-button--addToCart--detail {
  display: inline-block;
  width: 100%;
  padding: 15px;
  border: #333333 1px solid;
  border-radius: 0px;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  background: #333333;
  line-height: 24px;
  font-size: 12px;
  letter-spacing: 0.08em;
  transition: color 0.3s ease, border-color 0.3s ease, background-color 0.3s ease;
}
.fs-c-button--addToCart--detail .fs-c-button__label{
  display: flex;
  justify-content: center;
  align-items: center;
}
.fs-c-button--addToCart--detail .fs-c-button__label::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 18px;
  height: 18px;
  margin: 0 15px 0 0;
  background: url(../img/common/icon_cart_white.svg) no-repeat left 50%;
  background-size: 18px;
}
.fs-c-inquiryAboutProduct {
  text-align: right;
  margin: 0;
}
@media screen and (max-width:767px) {
  .fs-c-inquiryAboutProduct {
    margin: 0 0 10px;
  }
}
.fs-c-button--inquiryAboutProduct {
  border: none;
  background: none;
  color: #263139;
  padding: 2px 0 2px 30px;
  min-height: 18px;
  background: url(../img/common/icon_contact_01.svg) no-repeat left center;
  background-size: 24px;
  font-size: 12px;
  text-decoration: underline;
}
.fs-c-variationCart--withImage > li {
  padding: 0 0 10px 0;
  margin: 0 0 10px 0;
  border-bottom: #DDDDDD 1px dotted;
  -ms-grid-columns: 60px 130px 150px 110px;
  grid-template-columns: 60px 130px 150px 110px;
  position: relative;
}
.fs-c-variationCart--withImage > li:last-child {
  padding: 0;
  margin: 0;
  border-bottom: none;
}
.fs-c-variationAndActions{
  padding: 0 0 30px;
  margin: 0px 0 30px;
  border-bottom: 1px solid #DDDDDD;
}
.fs-c-variationAndActions__variationLabel {
  display: block;
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 10px;
  position: relative;
}
.fs-c-variationAndActions__stockSignLegend{
  margin: 10px 0 10px;
}
.fs-c-variationCart--withImage .fs-c-variationCart__image > img {
  max-width: 60px;
  border: #DDDDDD 1px solid;
}
.fs-c-variationList__item__cart .fs-c-variationCart__wishlist {
  position: absolute;
  right: 0;
  top: 0;
  bottom:0;
  margin: auto;
}
.fs-c-variationCart__cartButton {
  text-align: center;
}
.fs-c-variationCart__cartButton > button {
  -webkit-appearance: none;
  font-size: 12px;
  width: 100%;
}
.fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon,
.fs-c-variationCart__wishlist .fs-c-button--removeFromWishList--icon {
  width: auto;
  height: auto;
  text-decoration: underline;
}
.fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon .fs-c-button__label,
.fs-c-variationCart__wishlist .fs-c-button--removeFromWishList--icon .fs-c-button__label {
  display: block;
}
.fs-c-variationCart__cartButton .fs-c-button--primary {
  min-width: initial;
  padding: 6px 10px;
  margin: 0;
  font-size: 13px;
}
.fs-c-variationCart {
  padding: 0;
}
.fs-c-variationCart__variationName__shippingDate, .fs-c-variationCart__variationName__stock {
  font-size: inherit;
}

.fs-p-snsArea {
  text-align: right;
}
#fb-root {
  display: inline-block;
}
.fs-p-snsArea .line-it-button,
.fs-p-snsArea .twitter-share-button,
.fs-p-snsArea .fb_iframe_widget_fluid,
.fs-p-snsArea .fb_iframe_widget {
  display: inline-block;
  vertical-align: top;
}
@media screen and (min-width:768px) {
  .fs-c-button--addToCart--detail:hover {
    color: #333333;
    text-decoration: none;
    background: #FFF;
  }
  .fs-c-button--addToCart--detail:hover .fs-c-button__label::before {
    background: url(../img/common/icon_cart_black.svg) no-repeat left 50%;
    background-size: 18px;
  }
  .fs-c-button--addToCart--variation:hover .fs-c-button__label::before {
    background: url(../img/common/icon_cart_black.svg) no-repeat left 50%;
    background-size: 18px;
  }
  .fs-c-button--inquiryAboutProduct:hover {
    text-decoration: none;
  }
}
@media screen and (max-width:767px) {
  .fs-c-productNameHeading__name {
    font-size: 14px;
  }
  .fs-c-productNumber {
    font-size: 10px;
  }
  .fs-c-productPrices--productDetail .fs-c-price__currencyMark,
  .fs-c-productPrices--productDetail .fs-c-price__value {
    font-size: 15px;
  }
  .fs-c-productPrices--productDetail .fs-c-productPrice__addon__label {
    font-size: 15px;
  }
  .fs-c-productPointDisplay {
    display: inline-block;
    font-size: 11px;
    float: right;
  }
  .item-detail-entry-link {
    display: block;
    clear: both;
    float: none;
    text-align: right;
  }
  .fs-c-slick .slick-prev {
    left: 0;
  }
  .fs-c-slick .slick-next {
    right: 0;
  }
  .item-detail-wrapping-select .fs-c-productSelection {
    width: 100%;
    float: none;
  }
  .wrapping-selected-images {
    width: 100%;
    float: none;
    display: flex;
    justify-content: space-between;
  }

  .fs-c-productQuantityAndWishlist__wishlist {
    width: 100%;
    display: block;
    text-align: right;
    margin: 0 0 10px 0;
  }
  .fs-c-productQuantity,
  .fs-c-productQuantityAndWishlist__quantity{
    width: 100%;
    display: block;
    max-width: initial;
    float: none;
    text-align: right;
    margin: 0 0 20px 0;
  }
  .fs-c-productQuantity__quantity .fs-c-quantity__select,
  .fs-c-productQuantityAndWishlist__quantity .fs-c-quantity__select {
    width: 100px;
  }
  .fs-c-productActionButton {
    float: none;
    width: 100%;
  }
  .fs-c-button--addToCart--detail {
    display: inline-block;
    width: 100%;
  }

  .selected-noshi {
    display: block;
    vertical-align: top;
    margin: 0;
    max-width: calc(50% - 10px);
    width: calc(50% - 10px);
  }
  .selected-wrapping {
    display: block;
    vertical-align: top;
    margin: 0;
    max-width: calc(50% - 10px);
    width: calc(50% - 10px);
  }
  .selected-noshi img,
  .selected-wrapping img{
    margin: 10px 0 30px;
  }
  .fs-c-variationCart--withImage > li {
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: #DDDDDD 1px dotted;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    align-items: stretch;
  }
  .fs-c-variationCart--withImage > li:last-child {
    padding: 0;
    margin: 0;
    border-bottom: none;
  }
  .fs-c-variationCart__image {
    flex-basis: 60px;
    margin: 0 15px 10px 0;
  }
  .fs-c-variationCart__variationName {
    width: calc(100% - 75px);
    margin: 0 0 10px 0;
  }
  .fs-c-variationAndActions__variationLabel {
    margin: 0 0 15px 0;
    font-size: 12px;
  }
  .fs-c-variationList__item__cart .fs-c-variationCart__wishlist {
    position: relative;
    flex-basis: 120px;
    width: 120px;
    text-align: left;
    margin: 0 15px 0 0;
  }
  .fs-c-variationCart__cartButton {
    flex-basis: calc(100% - 135px);
    text-align: center;
  }
  .fs-c-variationCart__cartButton > button {
    -webkit-appearance: none;
    font-size: 12px;
    width: 100%;
  }
  .fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon,
  .fs-c-variationCart__wishlist .fs-c-button--removeFromWishList--icon {
    width: auto;
    height: auto;
    text-decoration: underline;
  }
  .fs-c-variationCart__wishlist .fs-c-button--addToWishList--icon .fs-c-button__label,
  .fs-c-variationCart__wishlist .fs-c-button--removeFromWishList--icon .fs-c-button__label {
    display: block;
  }
  .fs-c-variationCart__cartButton .fs-c-button--primary {
    min-width: initial;
    padding: 6px;
    font-size: 12px;
  }
}


/* 商品画像（slick） */

.fs-c-productCarouselMainImage__expandButton {
  display: none;
}
.fs-c-slick .slick-prev,
.fs-c-slick .slick-next {
  background: none;
}
.fs-c-productCarouselMainImage__thumbnailList {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  overflow-x: visible;
  padding: 0;
  margin: 10px 0 0;
}
.fs-c-productCarouselMainImage__thumbnailList > li {
  flex-basis: 70px;
  flex-shrink: 0;
  margin: 0 8px 8px 0;
  cursor: pointer;
  text-align: center;
  font-size: 10px;
  letter-spacing: normal;
}
.fs-c-productCarouselMainImage__thumbnail__img {
  max-width: 70px;
  display: block;
  border: #DDDDDD 1px solid;
}
.slick-active .fs-c-productCarouselMainImage__thumbnail__img {
  border: #21476D 1px solid;
}
.fs-c-productCarouselMainImage__thumbnailList > li:nth-child(7n) {
  margin: 0 0 8px 0;
}

.fs-c-button--carousel--prev .fs-c-button__label,
.fs-c-button--carousel--next .fs-c-button__label {
  display: none;
}

.item-detail-image .fs-c-slick .slick-prev,
.item-detail-image .fs-c-slick .slick-next{
  background: none;
}
.item-detail-image .fs-c-slick .slick-prev{
  left: 18px;
}
.item-detail-image .fs-c-slick .slick-next{
  right: 18px;
}
.item-detail-image .fs-c-slick .slick-prev:before,
.item-detail-image .fs-c-slick .slick-next:before{
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  height: 37px;
  width: 11px;
}
.item-detail-image .fs-c-slick .slick-prev:before {
  background: url(../img/common/slider_prev.png) center no-repeat;
  background-size: contain;
  left: 0;
}
.item-detail-image .fs-c-slick .slick-next:before {
  background: url(../img/common/slider_next.png) center no-repeat;
  background-size: contain;
  right: 0;
}

@media screen and (max-width:767px) {
  .fs-c-productCarouselMainImage__carousel {
    padding: 0;
  }
  .fs-c-productCarouselMainImage img {
    max-width: 100vw;
  }
  .fs-c-productCarouselMainImage__image > img {
    max-width: calc(100vw - 30px);
  }
  .fs-c-productCarouselMainImage__thumbnailList > li {
    flex-basis: 50px;
  }
  .fs-c-productCarouselMainImage__thumbnail__img {
    max-width: 50px;
  }
  .fs-c-productCarouselMainImage__thumbnailList img {
    max-width: 50px !important;
  }
  .fs-c-productCarouselMainImage__thumbnailList {
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    overflow-x: scroll;
    padding: 0;
    margin: 10px 0 0;
  }
  .fs-c-productCarouselMainImage__thumbnailList > li:nth-child(8n) {
    margin: 0 8px 8px 0;
  }
  .item-detail-image .fs-c-slick .slick-prev{
    left: 10px;
  }
  .item-detail-image .fs-c-slick .slick-next{
    right: 10px;
  }
  .item-detail-image .fs-c-slick .slick-prev:before,
  .item-detail-image .fs-c-slick .slick-next:before {
      height: 32px;
      width: 8px;
  }
}

/* 独自コメント1 youtube */
.item-detail-image iframe{
  width: 100%!important;
  margin: 40px 0 0;
}
@media screen and (max-width:767px) {
  .item-detail-image iframe{
    margin: 20px 0 20px;
  }
}

.fs-c-quantity__select {
  background: url(../img/common/icon_down.svg) no-repeat;
  background-size: 6px auto;
  background-position: calc(100% - 5px) 50%;
  padding: 10px 10px;
  font-size: 1.6rem;
}
.item-detail-inquiry-wrap{
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px;
}
.fs-c-button--viewAllReviews{
  width: 330px;
  padding: 15px;
  border: #333333 1px solid;
  border-radius: 0px;
  color: #FFF;
  text-decoration: none;
  text-align: center;
  background: #333333;
  font-size: 12px;
}
.fs-c-button--addReview--detail{
  width: 330px;
  padding: 15px;
  border: #333333 1px solid;
  border-radius: 0px;
  color: #222222;
  text-decoration: none;
  text-align: center;
  background: #FFF;
  font-size: 12px;
}
.fs-c-button--addReview--detail .fs-c-button__label{
  display: flex;
  justify-content: center;
  align-items: center;
}
.fs-c-button--addReview--detail .fs-c-button__label::before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 11px;
  height: 11px;
  margin: 0 7px 0 0;
  background: url(../img/common/icon_write_review.svg) no-repeat left 50%;
  background-size: 11px;
}
@media only screen and (min-width: 768px){
  .fs-c-button--viewAllReviews:hover{
    border: #333333 1px solid;
    color: #333333;
    background: #FFF;
    text-decoration: none;
    opacity: 1;
  }
  .fs-c-button--addReview--detail:hover{
    border: #333333 1px solid;
    color: #FFF;
    background: #333333;
    text-decoration: none;
    opacity: 1;
  }
  .fs-c-button--addReview--detail:hover .fs-c-button__label::before{
    background: url(../img/common/icon_write_review_white.svg) no-repeat left 50%;
    background-size: 11px;
  }
}
@media screen and (max-width:767px) {
  .fs-c-quantity__select {
    padding: 5px 8px;
  }
  .fs-c-button--viewAllReviews{
    width: 100%;
  }
  .fs-c-button--addReview--detail{
    width: 100%;
  }
  .item-detail-inquiry-wrap{
    display: flex;
    justify-content: end;
    flex-direction: column-reverse;
    align-items: end;
    margin-bottom: 40px;
  }
  .item-detail-review-wrap .fs-c-productReview__addReview{
    justify-content: center;
  }
}

/* のし設定のない商品はのし表示を非表示にする */
.is-noshi-hide .item-detail-wrapping-link{
  display: none;
}
.is-noshi-hide .item-detail-wrapping-button{
  display: none;
}
/*
.is-noshi-hide .item-detail-paperbag{
  display: none;
}
*/
.is-noshi-hide .wrapping-selected-images{
  display: none;
}


/* のし選択JS */
.fs-c-dropdown::after {
  background: transparent;
  border-left: 1px solid transparent;
}
@media screen and (max-width:767px) {
  .fs-c-dropdown::after {
    width: 16px;
  }
}
.fs-c-productSelection__label {
  cursor: default;
  font-weight: bold;
}
.noshi-selector,
.wrapping-selector {
  display: block;
  cursor: pointer;
}
.noshi-selector .fs-c-dropdown__menu,
.wrapping-selector .fs-c-dropdown__menu {
  padding: 16px 10px !important;
  border: #DDDDDD 1px solid !important;
  background: #EFEFEF !important;
  cursor: pointer !important;
  text-align: center !important;
  color: #222222 !important;
  font-size: 12px !important;
  font-weight: bold !important;
  pointer-events: none;
}
.noshi-selector select:disabled,
.wrapping-selector select:disabled {
  opacity: 1;
}
input:disabled {
  background-color: #DDD;
}
.noshi-selector::after,
.wrapping-selector::after {
  display: none;
}
.item-select-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: -1;
}
.item-select-popup.active {
  display: block;
  z-index: 1101;
}
.item-select-popup-box {
  max-width: 1100px;
  width: 90%;
  height: 90%;
  background: #FFF;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow-y: scroll;
}
.item-select-popup-header {
  width: 100%;
  height: 70px;
  background: #EFEFEF;
  text-align: center;
  font-size: 16px;
  line-height: 70px;
}
.item-select-popup-body {
  padding: 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: calc(100% - 70px);
}
.item-select-noshi-list,
.item-select-wrapping-list {
  display: flex;
  flex-wrap: wrap;
}
.item-select-noshi-list li{
  flex-basis: 150px;
  width: 150px;
  text-align: center;
  font-size: 13px;
  margin: 0 10px 20px 10px;
  cursor: pointer;
}
.item-select-wrapping-list{
  max-width: 760px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.item-select-wrapping-list li {
  flex-basis: 360px;
  width: 360px;
  text-align: center;
  font-size: 13px;
  margin: 0;
  cursor: pointer;
}
.item-select-name {
  text-align: left;
  white-space: normal;
}
.item-select-name .note{
  color: #C22047;
  font-size: 0.9em;
  font-weight: bold;
  display: inline-block;
}
.item-select-noshi-list li:hover,
.item-select-wrapping-list li:hover {
  text-decoration: underline;
}
.item-select-noshi-list li:first-child ,
.item-select-wrapping-list li:first-child {
  display: none;
}
.item-select-noshi-list .item-select-thumb {
  width: 150px;
  margin: 0 auto 8px auto;
  text-align: center;
}
.item-select-noshi-list .item-select-thumb img {
  display: block;
  width: 150px;
  margin: 0 auto;
}
.item-select-wrapping-list .item-select-thumb {
  width: 100%;
  margin: 0 auto 8px auto;
  text-align: center;
}
.item-select-wrapping-list .item-select-thumb img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.popup-close {
  display: block;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 5%;
  left: calc(50% + 560px);
  background: rgba(0,0,0,0.5);
  cursor: pointer;
  border-radius: 50%;
}
.popup-close::before {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background: #FFF;
  transform: rotate(45deg);
  position: absolute;
  top: 15px;
  left: 8px;
}
.popup-close::after {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background: #FFF;
  transform: rotate(-45deg);
  position: absolute;
  top: 15px;
  left: 8px;
}
@media screen and (max-width:767px) {
  .item-select-popup-box {
    width: calc(100% - 30px);
    height: calc(100% - 60px);
  }
  .item-select-popup-header {
    width: 100%;
    height: auto;
    padding: 20px;
    text-align: center;
    font-size: 14px;
    line-height: 22.4px;
  }
  .item-select-popup-body {
    width: 100%;
    padding: 15px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .item-select-noshi-list,
  .item-select-wrapping-list {
    text-align: left;
  }
  .item-select-noshi-list li,
  .item-select-wrapping-list li {
    flex-basis: 46%;
    width: 46%;
    text-align: center;
    font-size: 12px;
    margin: 0 2% 20px 2%;
    cursor: pointer;
  }
  .item-select-wrapping-list{
    max-width: 760px;
    display: flex;
    gap: 0px;
  }
  .item-select-wrapping-list li {
    flex-basis: 100%;
    width: 100%;
  }
  .item-select-noshi-list li:first-child ,
  .item-select-wrapping-list li:first-child {
    display: none;
  }
  .item-select-noshi-list .item-select-thumb {
    width: 100%;
    margin: 0 auto 8px auto;
    text-align: center;
  }
  .item-select-noshi-list .item-select-thumb img {
    width: 100%;
  }
  .item-select-wrapping-list .item-select-thumb {
    width: 100%;
    margin: 0 auto 8px auto;
    text-align: center;
  }
  .item-select-wrapping-list .item-select-thumb img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
  .popup-close {
    position: fixed;
    top: 15px;
    left: auto;
    right: 5px;
  }
}

/* のしの記入例 ポップアップ */
.item-detail-wrapping-example a {
  display: inline-block;
  padding: 0 0 0 18px;
  margin: 0 0 20px;
  font-size: 12px;
  position: relative;
  color: #C22047;
}
.item-detail-wrapping-example a::before {
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #C22047;
  border-right: solid 1px #C22047;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 6px;
}
.item-wrapping-example-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: -1;
}
.item-wrapping-example-popup.active {
  display: block;
  z-index: 1101;
}
.item-wrapping-example-popup-box {
  max-width: 1100px;
  width: 90%;
  height: 90%;
  max-width: 600px;
  background: #FFF;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow-y: scroll;
}
.item-wrapping-example-popup-body {
  padding: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.item-wrapping-example-popup-close {
  display: block;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 5%;
  left: calc(50% + 300px);
  background: rgba(0,0,0,0.5);
  cursor: pointer;
  border-radius: 50%;
}
.item-wrapping-example-popup-close::before {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background: #FFF;
  transform: rotate(45deg);
  position: absolute;
  top: 15px;
  left: 8px;
}
.item-wrapping-example-popup-close::after {
  content: "";
  display: block;
  width: 16px;
  height: 3px;
  background: #FFF;
  transform: rotate(-45deg);
  position: absolute;
  top: 15px;
  left: 8px;
}
@media screen and (max-width:767px) {
  .item-wrapping-example-popup-box {
    width: calc(100% - 30px);
    height: calc(100% - 60px);
  }
  .item-wrapping-example-popup-body {
    width: 100%;
    padding: 15px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .item-wrapping-example-popup-close {
    position: fixed;
    top: 15px;
    left: auto;
    right: 5px;
  }
}

/* のしの記入例 ポップアップ @end */

.ex-noshi-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  display: none;
  z-index: -1;
}
.ex-noshi-popup.active {
  display: block;
  z-index: 20;
}
.ex-noshi-popup-box {
  width: 1100px;
  height: 90%;
  background: #FFF;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  overflow-y: scroll;
}
.ex-noshi-popup-header {
  width: 100%;
  height: 50px;
  background: #F6F6F2;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  line-height: 50px;
}
.ex-noshi-popup-body {
  padding: 25px;
}
.ex-noshi-noshi-list,
.ex-noshi-wrapping-list {
  display: flex;
  flex-wrap: wrap;
}
.ex-noshi-noshi-list li,
.ex-noshi-wrapping-list li {
  flex-basis: 150px;
  width: 150px;
  text-align: center;
  font-size: 13px;
  margin: 0 10px 20px 10px;
}
.ex-noshi-name {
  text-align: left;
  white-space: normal;
}
.ex-noshi-noshi-list .ex-noshi-thumb {
  width: 150px;
  margin: 0 auto 8px auto;
  text-align: center;
}
.ex-noshi-noshi-list .ex-noshi-thumb img {
  display: block;
  width: 150px;
  margin: 0 auto;
}
.ex-noshi-wrapping-list .ex-noshi-thumb {
  width: 150px;
  margin: 0 auto 8px auto;
  text-align: center;
}
.ex-noshi-wrapping-list .ex-noshi-thumb img {
  display: block;
  width: 150px;
  margin: 0 auto;
}
@media screen and (max-width:767px) {
  .ex-noshi-popup-box {
    width: calc(100% - 30px);
    height: calc(100% - 60px);
  }
  .ex-noshi-popup-header {
    width: 100%;
    padding: 8px 10px;
    text-align: center;
    font-size: 12px;
    line-height: 16px;
  }
  .ex-noshi-popup-body {
    width: 100%;
    padding: 15px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .ex-noshi-noshi-list,
  .ex-noshi-wrapping-list {
    text-align: left;
  }
  .ex-noshi-noshi-list li,
  .ex-noshi-wrapping-list li {
    flex-basis: 46%;
    width: 46%;
    text-align: center;
    font-size: 12px;
    margin: 0 2% 20px 2%;
    cursor: pointer;
  }
  .ex-noshi-noshi-list .ex-noshi-thumb {
    width: 100%;
    margin: 0 auto 8px auto;
    text-align: center;
  }
  .ex-noshi-noshi-list .ex-noshi-thumb img {
    width: 100%;
  }
  .ex-noshi-wrapping-list .ex-noshi-thumb {
    width: 100%;
    margin: 0 auto 8px auto;
    text-align: center;
  }
  .ex-noshi-wrapping-list .ex-noshi-thumb img {
    display: block;
    width: 100%;
    margin: 0 auto;
  }
}

/* 商品詳細 独自コメント
=====================================================================*/
.item_detail_sec {
  width: 100%;
  margin: 0 auto 60px auto;
  padding: 0;
}
.item_detail_sec::after {
  content: "";
  display: block;
  clear: both;
}
.item_detail_sec_bg p{
  text-align: center;
}
.item_detail_image {
  width: 50%;
}
.item_detail_text {
  width: calc(50% - 40px);
  line-height: 1.8;
}

.item_detail_sec:nth-child(odd) .item_detail_text{
  float: left;
}
.item_detail_sec:nth-child(odd) .item_detail_image{
  float: right;
}
.item_detail_sec:nth-child(even) .item_detail_text{
  float: right;
}
.item_detail_sec:nth-child(even) .item_detail_image{
  float: left;
}

.item_detail_text.float_r {
  float: right!important;
}
.item_detail_image.float_r {
  float: right!important;
}
.item_detail_text.float_l {
  float: left!important;
}
.item_detail_image.float_l {
  float: left!important;
}
.item_detail_text_head {
  font-family: "Noto Sans JP";
  width: 100%;
  color: #333;
  font-size: 16px;
  padding-bottom: 18px;
  border-bottom: 1px #D6D6D6 solid;
  margin-bottom: 18px;
  position: relative;
  letter-spacing: 1.4px;
  font-weight: bold;
}
.item_detail_text_head::before {
  content: "";
  width: 40px;
  height: 1px;
  position: absolute;
  background: #C22047;
  bottom: -1px;
}

.logo_descript{
  max-width: 960px;
  margin: 0 auto;
  padding: 28px 34px;
  border:10px solid #F4F4F4;
  display: flex;
  align-items: center;
}
.logo_descript_image{
  width: 270px;
  padding-right: 48px;
  position: relative;
  margin-right: 42px;
}
.logo_descript_image img{
  width: 100%;
}
.logo_descript_image::after{
  content:"";
  position: absolute;
  display: block;
  width: 1px;
  height: 150px;
  background: #D6D6D6;
  right: 0;
  top: calc(50% - 75px);
}
.logo_descript_image_txt{
  float: right;
}
.logo_descript_txt{
  width: 560px;
}
.logo_descript_txt p{
  font-size: 14px;
  color: #1F1F1F;
  line-height: 1.8;
  margin-bottom: 14px;
}
.logo_descript_txt p:last-child{
  margin-bottom: 0;
}
.logo_descript::after{
  content: '';
  clear: both;
  display: block;
}

@media screen and (max-width:767px) {
  .FS2_lower_comment.FS2_SeniorDesign_comment {
    margin: 30px 0 0 0;
  }
  .item_detail_sec {
    width: 100%;
    margin: 0 auto 30px auto;
    padding: 0;
    overflow: hidden;
    font-size: 13px;
  }
  .item_detail_image {
    width: 100%;
    margin-bottom: 15px;
  }
  .item_detail_image img{
    width: 100%;
  }
  .item_detail_text {
    width: 100%;
    line-height: 1.8;
  }
  .item_detail_text_head {
    font-family: "Noto Sans JP";
    width: 100%;
    color: #333;
    font-size: 15px;
    padding-bottom: 10px;
    border-bottom: 1px #D6D6D6 solid;
    margin-bottom: 15px;
    position: relative;
    letter-spacing: 1.4px;
  }
  .item_detail_text_head::before {
    content: "";
    width: 40px;
    height: 1px;
    position: absolute;
    background: #C22047;
    bottom: -1px;
  }
  .logo_descript{
    display: block;
    width: 100%;
    padding: 4%;
    border:10px solid #F4F4F4;
  }
  .logo_descript_image{
    width: 100%;
    text-align: center;
    margin: 0 auto 3%;
    padding: 0 0 3%;
    border-bottom: 1px solid #D6D6D6;
  }
  .logo_descript_image::after{
    display: none;
  }
  .logo_descript_image img{
    width: 50%;
    margin: 0 auto;
  }
  .logo_descript_image_txt{
    float: right;
  }
  .logo_descript_txt{
    width: 100%;
    float: none;
  }
  .logo_descript_txt p{
    font-size: 13px;
    color: #1F1F1F;
    line-height: 1.8;
    margin-bottom: 14px;
  }
  .logo_descript_txt p:last-child{
    margin-bottom: 0;
  }
  .logo_descript::after{
    content: '';
    clear: both;
    display: block;
  }
  .FS2_lower_comment.FS2_SeniorDesign_comment {
    margin: 30px 0 0 0;
  }
  .item_detail_sec {
    width: 100%;
    margin: 0 auto 30px auto;
    padding: 0;
    overflow: hidden;
    font-size: 13px;
  }
  .item_detail_image {
    width: 100%;
    margin-bottom: 15px;
  }
  .item_detail_text {
    width: 100%;
    line-height: 1.8;
  }
  .item_detail_text_head {
    font-family: "Noto Sans JP";
    width: 100%;
    color: #333;
    font-size: 15px;
    padding-bottom: 10px;
    border-bottom: 1px #D6D6D6 solid;
    margin-bottom: 15px;
    position: relative;
    letter-spacing: 1.4px;
  }
  .item_detail_text_head::before {
    content: "";
    width: 40px;
    height: 1px;
    position: absolute;
    background: #C22047;
    bottom: -1px;
  }
  
}

/* グッドデザイン */
.good_design {
  max-width: 1100px;
  display: table;
  border-collapse: separate;
  padding: 40px;
  margin: 0 auto;
  position: relative;
  background: none;
  border: #E7CCCB 1px solid;
}
.good_design::before {
  display: block;
  content: "";
  z-index: 1;
  width: 100%;
  height: 100%;
  top: -10px;
  left: -10px;
  position: absolute;
  border: #E7CCCB 1px solid;
}
.good_design_logo {
  display: table-cell;
  width: 45%;
  padding: 20px 50px 20px 10px;
  border-right: #E7CCCB 1px solid;
  vertical-align: middle;
}
.good_design_logo img {
  width: 100%;
  -webkit-backface-visibility: hidden;
}
.good_design_text {
  display: table-cell;
  width: 55%;
  padding: 20px 50px;
  vertical-align: middle;
  line-height: 1.8;
}
.good_design_text p:last-child {
  margin: 0;
}
/* 今治ロゴ */
.imabari_brand {
  max-width: 1010px;
  display: table;
  border-collapse: separate;
  padding: 20px 0;
  margin: 0 auto;
  position: relative;
  background: #FFF;
  border: #DDD 1px solid;
}
.imabari_logo {
  display: table-cell;
  width: 28%;
  padding: 0;
  border-right: #DDD 1px solid;
  vertical-align: middle;
}
.imabari_logo img {
  width: 100%;
  -webkit-backface-visibility: hidden;
}
.imabari_text {
  display: table-cell;
  width: 72%;
  padding: 0 50px;
  vertical-align: middle;
  line-height: 1.8;
}
.imabari_text p {
  margin: 10px 0;
}
.imabari_text p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width:767px) {
    /* グッドデザイン */
  .good_design {
    width: 96%;
    display: block;
    padding: 20px 30px 20px 20px;
    margin: 40px 10px 0 10px;
    position: relative;
    left: 0;
    background: none;
    border: #E7CCCB 1px solid;
  }
  .good_design::before {
    display: block;
    content: "";
    z-index: 1;
    width: 100%;
    height: 100%;
    top: -10px;
    left: -10px;
    position: absolute;
    border: #E7CCCB 1px solid;
  }
  .good_design_logo {
    display: block;
    width: 100%;
    padding: 0 0 20px 0;
    border-right: none;
    border-bottom: #E7CCCB 1px solid;
  }
  .good_design_logo img {
    width: 100%;
    -webkit-backface-visibility: hidden;
  }
  .good_design_text {
    display: block;
    width: 100%;
    padding: 20px 0;
    font-size: 14px;
    line-height: 1.8;
  }
  .good_design_text p:last-child {
    margin: 0;
  }

  /* 今治ロゴ */
  .imabari_brand {
    width: 100%;
    display: block;
    padding: 20px 30px;
    margin: 30px auto 0 auto;
    border: #DDD 1px solid;
    position: relative;
    background: #FFF;
  }
  .imabari_logo {
    display: block;
    width: 100%;
    padding: 0 0 20px 0;
    border-right: none;
    border-bottom: #DDD 1px solid;
  }
  .imabari_logo img {
    width: 100%;
    max-width: 100%;
    -webkit-backface-visibility: hidden;
  }
  .imabari_text {
    display: block;
    width: 100%;
    padding: 20px 0;
    font-size: 14px;
    line-height: 1.8;
  }
  .imabari_text p {
    margin: 10px 0;
  }
  .imabari_text p:last-child {
    margin-bottom: 0;
  }

}

.brand_sec .brand_h{
  font-weight: bold;
  margin: 0 0 15px;
}

/* 商品グループ 独自コメント
=====================================================================*/
.productList-comment-wrap .user_content,
.productList-comment-wrap .FS2_upper_comment{
  margin: 40px auto 100px;
}
@media screen and (max-width:767px) {
  .productList-comment-wrap .user_content,
  .productList-comment-wrap .FS2_upper_comment{
    margin: 30px auto 100px;
  }
}

/* 商品一覧 位置調整 */
@media screen and (min-width:1100px) {
  #productList{
    margin-top: -90px;
    padding-top: 90px;
  }
  #FS2_sort_menu{
    margin-top: -90px;
    padding-top: 90px;
  }
}

/* シリーズを絞り込む */
.group_find_item{
  padding: 60px 0 60px;
  background-color: #EFEFEF;
  border-top:1px solid #FFF;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
.group_find_item .ttl_big span{
  border-color: #FFF;
}
.group_find_item_inner{
  max-width: 1200px;
  margin: 0 auto;
}
.group_find_item_list{
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.group_find_item_list.center{
  justify-content: center;
}
.group_find_item_list .item{
  width: calc(25% - 11.25px);
}
.group_find_item_list .item a{
  display: flex;
  align-items: center;
  gap: 15px;
  background-color: #FFF;
  padding: 5px 10px;
  text-decoration: none;
  width: 100%;
}
.group_find_item_list .item a:hover{
  color: #C22047;
}
.group_find_item_list .item_img{
  width: 70px;
  height: 70px;
  flex: none;
}
.group_find_item_list .item_name{
  letter-spacing: 0.05em;
  margin: 0;
  text-align: left;
}
@media only screen and (max-width: 1100px){
  .group_find_item_inner{
    padding: 0 15px;
  }
  .group_find_item_list .item{
    width: calc(33.33% - 10px);
  }
  .group_find_item_list.center{
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 767px){
  .group_find_item{
    padding: 60px 0 60px;
  }
  .group_find_item_list{
    gap: 10px;
  }
  .group_find_item_list .item{
    width: calc(50% - 5px);
  }
  .group_find_item_list .item a{
    padding: 10px;
    gap: 10px;
  }
  .group_find_item_list .item_img{
    width: 45px;
    height: 45px;
  }
  .group_find_item_list .item_name{
    font-size: 12px;
  }
}

/* ブランドコンテンツ
------------------------------------------------- */
/* ギャラリー横スクロール防止 */
.brand_image_gallery{
  overflow: hidden;
}
.brand_sec_wrap {
  max-width: 100%;
  overflow: hidden;
}

/* 個別コンテンツ
------------------------------------------------- */
/* カテゴリ上部HTML */
.category_header {
  text-align: center;
  margin: 0 0 30px 0;
  padding: 0 0 20px 0;
  border-bottom: #DDD 1px solid;
}
.productList-comment-wrap > .category_header{
  margin: 40px auto 30px;
  padding: 0 0 20px;
  max-width: 1200px;
  width: 100%;
}
.cat_page_title {
  font-family: "Noto Serif JP",serif;
  font-size: 24px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 20px auto;
  padding: 0 0 20px 0;
  font-weight: normal;
  position: relative;
}
.cat_page_title::after {
  display: block;
  content: "";
  width: 50px;
  height: 1px;
  text-align: center;
  border-bottom: 1px solid #D70039;
  padding:0 2px 10px;
  margin: 0 auto;
  position: relative;
  bottom: -5px;
}
@media screen and (max-width:1200px) {
  .productList-comment-wrap > .category_header{
    padding: 0 15px 20px;
  }
}
@media screen and (max-width:767px) {
  .category_header {
    text-align: left;
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: #DDD 1px solid;
    font-size: 13px;
  }
  .productList-comment-wrap > .category_header{
    margin: 30px 0 20px 0;
    padding: 0 15px 20px;
  }
  .cat_page_title {
    font-family: "Noto Serif JP";
    font-size: 18px;
    letter-spacing: 1.4px;
    line-height: 1.8;
    text-align: center;
    margin: 0 auto 15px auto;
    padding: 0 0 20px 0;
    font-weight: normal;
    position: relative;
    color: #222;
  }
  .cat_page_title::after {
    display: block;
    content: "";
    width: 40px;
    height: 1px;
    text-align: center;
    border-bottom: 1px solid #D70039;
    margin: 0 auto;
    position: relative;
    bottom: -10px;
  }
}
/* シリーズ一覧 */
.series_wrap {
  text-align: left;
  letter-spacing: -0.4em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.series_box {
  /* margin: 0 30px 30px 0; */
  text-align: left;
  vertical-align: top;
  letter-spacing: 0.08em;
}

.series_box .thumb {
  margin: 0 0 20px 0;
}
.series_box .cat_title {
  width: 100%;
  min-height: 26px;
  border-left: 2px #C22047 solid;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
  margin: 0 0 10px 0;
}
.series_box .more_btns {
  padding: 10px 0 0 0;
  overflow: hidden;
  display: flex;
  justify-content: flex-end;
}
.series_box .more {
  display: block;
  width: 48.5%;
  padding: 10px 10px 10px 20px;
  border: #DDD 1px solid;
  background: #FFF url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 48%;
  background-size: 20px;
  text-align: left;
  font-size: 12px;
  transition: border 0.3s ease, background-color 0.3s ease;
  text-decoration: none;
}
.series_box .more:hover {
  border: #222 1px solid;
  background: #F5F5F5 url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 48%;
  background-size: 20px;
}
.series_box .more:nth-child(2){
  margin-left: 3%;
}
.series_box .cat_text {
  padding: 0;
  border: none;
  font-size: 13px;
}

.series_box_wide {
  width: 100%;
  margin: 0 0 40px 0;
  text-align: left;
  letter-spacing: 0.08em;
}
.series_box_wide .thumb {
  margin: 0 0 20px 0;
}
.series_box_wide .cat_title {
  width: 100%;
  min-height: 26px;
  border-left: 2px #C22047 solid;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
  margin: 0 0 10px 0;
}
.series_box_wide .more_btns {
  padding: 10px 0 0 0;
  overflow: hidden;
  text-align: center;
}
.series_box_wide .more {
  display: inline-block;
  width: 184px;
  margin: 0 8px;
  padding: 10px 10px 10px 20px;
  border: #DDD 1px solid;
  background: #FFF url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 45%;
  background-size: 25px 4px;
  text-align: left;
  font-size: 12px;
  transition: border 0.3s ease, background-color 0.3s ease;
}
.series_box_wide .more:hover {
  border: #222 1px solid;
  background: #F5F5F5 url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 45%;;
}
.series_box_wide .cat_text {
  padding: 0;
  border-bottom: #DDD 1px solid;
  font-size: 13px;
  line-height: 1.8;
}
@media screen and (max-width:1200px) {
  .series_wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width:767px) {
  .series_wrap {
    display: block;
  }
  .series_box {
    width: 100%;
    margin: 0 0 30px 0;
    border: #CCC 1px solid;
    padding: 10px 10px 15px 10px;
    text-align: left;
    vertical-align: top;
  }
  .series_box.cat_purpose {
    border: none;
    padding: 0 0 30px 0;
    border: none;
    border-bottom: #CCC 1px solid;
    margin: 0 auto 40px auto;
  }
  .series_box .thumb {
    margin: 0 0 10px 0;
    text-align: center;
  }
  .series_box .thumb img{
    width: 100%;
  }
  .series_box.cat_purpose .thumb {
    margin: 0 0 20px 0;
  }
  .series_box .cat_title {
    width: 100%;
    border-left: 2px #C22047 solid;
    padding: 2px 0 2px 12px;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
    color: #333;
    letter-spacing: 1.4px;
    margin: 0 0 10px 0;
  }
  .series_box .more_btns {
    overflow: hidden;
  }
  .series_box .more {
    display: block;
    width: 48.5%;
    padding: 10px;
    background: #333333;
    color: #FFF;
    text-align: center;
    font-size: 13px;
  }
  
  .series_box_wide {
    width: 100%;
    margin: 0 0 30px 0;
    padding: 20px 0;
    text-align: left;
    vertical-align: top;
  }
  .series_box_wide .thumb {
    margin: 0 0 10px 0;
    text-align: center;
  }
  .series_box_wide .cat_title {
    width: 100%;
    border: none;
    padding: 0;
    font-size: 15px;
    font-family: "Noto Serif JP", serif;
    font-weight: normal;
    line-height: 1.6;
    color: #333;
    letter-spacing: 1.4px;
    margin: 0 0 10px 0;
    text-align: center;
  }
  .series_box_wide .more_btns {
    overflow: hidden;
  }
  .series_box_wide .cat_text {
    border-bottom: #DDD 1px solid;
    margin: 0 0 20px 0;
  }
  .series_box_wide .more {
    display: block;
    width: 48.5%;
    padding: 10px;
    background: #333333;
    color: #FFF;
    text-align: center;
    font-size: 13px;
  }
  
  .float_l {
    float: left;
  }
  .float_r {
    float: right;
  }
}

/* 3カラム */
.cat3_wrap {
  text-align: left;
  letter-spacing: -0.4em;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
  row-gap: 25px;
}
.cat3_box {
  text-align: left;
  vertical-align: top;
  letter-spacing: 0.08em;
}
.cat3_box:nth-child(3n) {
  margin: 0 0 30px 0;
}
.cat3_box a {
  display: block;
  text-decoration: none;
}
.cat3_box .thumb {
  margin: 0 0 20px 0;
}
.cat3_box .thumb img{
  transition: 0.3s all ease;
}
.cat3_box a:hover .thumb img{
  opacity: 0.8;
}
.cat3_box .cat_title {
  width: 100%;
  min-height: 26px;
  border-left: 2px #C22047 solid;
  padding: 2px 0 2px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
  margin: 0 0 10px 0;
}
.cat_text {
  padding: 0 0 5px 0;
  border-bottom: #DDD 1px solid;
  font-size: 13px;
}
.cat3_box a:hover .cat_title{
  text-decoration: underline;
}
.cat3_box .more {
  padding: 10px 40px 10px 10px;
  background: url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 45%;
  background-size: 25px 4px;
  text-align: right;
  font-size: 12px;
  transition: 0.3s all ease;
}
.cat3_box a:hover .more {
  background-color: #F5F5F5;
}
@media screen and (max-width:767px) {
  .cat3_wrap {
    display: block;
  }
  .cat3_box {
    width: 100%;
    margin: 0 0 30px 0;
    text-align: left;
    vertical-align: top;
  }
  .cat3_box a {
    display: block;
    width: 100%;
    border: #CCC 1px solid;
    padding: 10px 10px 15px 10px;
  }
  .cat3_box .thumb {
    margin: 0 0 10px 0;
    text-align: center;
  }
  .cat3_box .cat_title {
    width: 100%;
    border-left: 2px #C22047 solid;
    padding: 2px 0 2px 12px;
    font-size: 15px;
    font-weight: normal;
    line-height: 1.6;
    color: #333;
    letter-spacing: 1.4px;
    margin: 0 0 10px 0;
  }
  .cat_text {
    font-size: 13px;
  }
  .cat3_box .more {
    display: none;
  }
  
}

/* 用途で選ぶ・4カラム */
.fs-body-category-purpose .user_content{
  margin: 40px auto 0;
}
@media screen and (max-width:767px) {
  .fs-body-category-purpose .user_content{
    margin: 30px auto 0;
  }
}
.category_header.border_none{
  padding: 0;
  border: 0;
}
.category_gift_menu{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border:1px solid #DDDDDD;
  margin: 60px 0 70px;
}
.category_gift_menu li{
  border-right:1px solid #DDDDDD;
}
.category_gift_menu li:last-child{
  border-right:none;
}
.category_gift_menu a{
  font-size: 13px;
  text-decoration: none;
  padding: 12px;
  display: block;
}
.category_gift_menu a:hover{
  background-color: #F3F3F3;
}
.cat_page_title_sub{
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  letter-spacing: 1.4px;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 40px auto;
  padding: 0 0 14px 0;
  font-weight: normal;
  position: relative;
}
.cat_page_title_sub::after{
  display: block;
  content: "";
  width: 40px;
  height: 1px;
  text-align: center;
  background-color: #D70039;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.cat4_wrap {
  text-align: left;
  letter-spacing: -0.4em;
}
.cat4_inner{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 25px;
  row-gap: 35px;
  margin: 0 0 50px;
}
.cat4_group{
  padding-top: 91px;
  margin-top: -91px;
}
.cat4_card {
  padding: 25px 15px 20px;
  position: relative;
}
.cat4_card::before{
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 100%;
  height: 7px;
  mask-image: url(../img/common/line_stripe_01.svg);
  mask-repeat: no-repeat;
  mask-position: top center;
}

.cat4_card a,
.cat4_card a:hover{
  text-decoration: none;
}
.cat4_card .cat_text{
  font-size: 13px;
  border: 0;
  padding: 0;
  margin: 0 0 15px;
}
.cat4_card .cat_title{
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: center;
  margin: 0 auto 18px auto;
  padding: 0 0 21px 0;
  font-weight: bold;
  position: relative;
  background: url(../img/common/icon_mizuhiki_01.svg) no-repeat center bottom;
  background-size: 62px auto;
  word-break: keep-all;
}
.cat4_card .more_btns{
  display: flex;
  justify-content: flex-end;
}
.cat4_card .more {
  display: block;
  width: 48.5%;
  padding: 10px 25px 10px 10px;
  border: #FFF 1px solid;
  background: #FFF url(../img/common/icon_arrow_01_gray.svg) no-repeat 95% 48%;
  background-size: 19px;
  text-align: left;
  font-size: 12px;
  transition: border 0.3s ease, background-color 0.3s ease;
}
.cat4_card .more:hover {
  border: #222 1px solid;
  background: #F5F5F5 url(../img/common/icon_arrow_01_gray.svg) no-repeat 95% 48%;
  background-size: 19px;
}
.cat4_card .more + .more{
  margin-left: 3%;
}
@media screen and (max-width:1100px) {
  .cat4_group{
    padding-top: 0px;
    margin-top: 0px;
  }
  .cat4_inner{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 15px;
    row-gap: 25px;
  }
}
@media screen and (max-width:767px) {
  .cat_page_title_sub{
    font-family: "Noto Sans JP", serif;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1.8;
    text-align: left;
    margin: 0 auto 40px auto;
    padding: 0 0 15px 0;
    font-weight: bold;
    position: relative;
  }
  .cat_page_title_sub::before,
  .cat_page_title_sub::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #DDDDDD;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .cat_page_title_sub::after{
    width: 40px;
    background: #C22047;
    left: 0;
    right: auto;
  }
  .category_gift_menu{
    display: block;
    margin: 40px 0 50px;
  }
  .category_gift_menu li{
    border-right: 0;
    border-bottom: 1px solid #DDD;
  }
  .category_gift_menu li:last-child{
    border: 0;
  }
  .category_gift_menu a{
    text-align: center;
    font-size: 12px;
  }
  .cat4_inner{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
    row-gap: 15px;
    margin: 0 0 40px;
  }
  .cat4_card{
    padding: 25px 10px 12px;
  }
  .cat4_card .cat_title{
    font-size: 13px;
  }
  .cat4_card .cat_text{
    display: none;
  }
  .cat4_card .more_btns{
    display: block;
  }
  .cat4_card .more {
    width: 100%;
    font-size: 11px;
  }
  .cat4_card .more + .more{
    margin: 5px 0 0;
  }
}
/* 出産祝い */
.cat_color_shussan{
  background-color: #FCF4DB;
}
.cat_color_shussan::before{
  background-color: #F3DF98;
}
/* 結婚祝い */
.cat_color_weddingpresent{
  background-color: #FAEBEE;
}
.cat_color_weddingpresent::before{
  background-color: #EF8FA1;
}
/* 入学・進学・卒業 卒園 */
.cat_color_school{
  background-color: #FDEFE4;
}
.cat_color_school::before{
  background-color: #F8C7A2;
}
/* 引越し・新築祝い */
.cat_color_house{
  background-color: #FDF9DB;
}
.cat_color_house::before{
  background-color: #F5E781;
}

/* 退職祝い・送別の贈り物 */
.cat_color_graduation-gift{
  background-color: #FAF0F6;
}
.cat_color_graduation-gift::before{
  background-color: #E294BD;
}

/* 長寿・敬老祝い */
.cat_color_cyojyu{
  background-color: #EAF5EC;
}
.cat_color_cyojyu::before{
  background-color: #9BCF9A;
}

/* 母の日 */
.cat_color_mothersday{
  background-color: #FBE8E8;
}
.cat_color_mothersday::before{
  background-color: #F3A6A9;
}

/* 父の日 */
.cat_color_fathersday{
  background-color: #DDEFFB;
}
.cat_color_fathersday::before{
  background-color: #87C6ED;
}

/* 誕生日プレゼント */
.cat_color_birthday{
  background-color: #E2F2F3;
}
.cat_color_birthday::before{
  background-color: #96D3DD;
}

/* その他お祝い・プレゼント */
.cat_color_celebration{
  background-color: #E9E9F4;
}
.cat_color_celebration::before{
  background-color: #8B90C7;
}

/* 出産内祝い */
.cat_color_shussanuchiiwai{
  background-color: #FEF3E5;
}
.cat_color_shussanuchiiwai::before{
  background-color: #F8C88B;
}

/* 結婚内祝い */
.cat_color_wedding_return{
  background-color: #F9E2E2;
}
.cat_color_wedding_return::before{
  background-color: #ED8684;
}

/* 結婚式引き出物 */
.cat_color_wedding-gift{
  background-color: #F8E7F1;
}
.cat_color_wedding-gift::before{
  background-color: #E58DB8;
}

/* 香典返し・法要引き出物 */
.cat_color_koudengaeshi{
  background-color: #ECE8F3;
}
.cat_color_koudengaeshi::before{
  background-color: #A88FC2;
}

/* 入学・進学・卒業内祝い(お返し) */
.cat_color_graduation_return{
  background-color: #EEF5E1;
}
.cat_color_graduation_return::before{
  background-color: #C7DE8A;
}

/* 引越し・新築内祝い(お返し) */
.cat_color_house_return{
  background-color: #E1F2F4;
}
.cat_color_house_return::before{
  background-color: #94D3E0;
}

/* 快気祝い・快気内祝い */
.cat_color_kaiki{
  background-color: #F5EBC5;
}
.cat_color_kaiki::before{
  background-color: #EEDA88;
}

/* ちょっとしたお返し */
.cat_color_little_return{
  background-color: #F1D7D7;
}
.cat_color_little_return::before{
  background-color: #E58080;
}

/* その他お返し・内祝い */
.cat_color_other_return{
  background-color: #E2E9F4;
}
.cat_color_other_return::before{
  background-color: #8CACDA;
}

/* お中元 */
.cat_color_cyugen{
  background-color: #E4F4FC;
}
.cat_color_cyugen::before{
  background-color: #89CCF1;
}

/* お歳暮 */
.cat_color_seibo{
  background-color: #E7E0EF;
}
.cat_color_seibo::before{
  background-color: #A88BBF;
}

/* ご挨拶・お礼 */
.cat_color_greeting{
  background-color: #F4F7D8;
}
.cat_color_greeting::before{
  background-color: #E4EA85;
}

/* お見舞い */
.cat_color_sympathy{
  background-color: #FEF8EA;
}
.cat_color_sympathy::before{
  background-color: #F9D590;
}

/* 自分へのご褒美 */
.cat_color_myself{
  background-color: #F8E6F0;
}
.cat_color_myself::before{
  background-color: #E48DB8;
}

/* 記念品・景品・粗品 */
.cat_color_souvenir{
  background-color: #FFEAD6;
}
.cat_color_souvenir::before{
  background-color: #F6B67D;
}

.cat_ranking_wrap{
  border: 1px solid #DDD;
  padding: 40px 20px 15px;
  margin: 0 0 100px;
}
.cat_ranking_title{
  text-align: center;
  font-weight: bold;
  font-size: 16px;
  margin: 0 0 45px;
}
.cat_ranking{
  max-width: 1000px;
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}
.cat_ranking_name{
  grid-area: 1 / 1 / 2 / 2;
}
.cat_ranking_gallery {
  grid-area: 1 / 2 / 2 / 5;
  text-align: left;
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 30px;
}
.cat_ranking_name span{
  font-size: 16px;
  display: inline-block;
  position: relative;
  padding: 0 0 10px;
}
.cat_ranking_name span::after,
.cat_ranking_name span::before{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #DDDDDD;
  position: absolute;
  bottom: 0;
  left: 0;
}
.cat_ranking_name span::after{
  width: 25px;
  background: #C22047;
}
.cat_ranking_gallery li a {
  display: block;
  text-decoration: none;
}
.cat_ranking .ranking_head{
  font-size: 13px;
}
.cat_ranking_gallery .ranking_item_code{
  display: none;
}
.cat_ranking_gallery .thumb{
  margin: 0 10px 10px!important;
}
.cat_ranking_gallery .ranking_item_name{
  font-size: 11px;
  padding: 0;
  margin: 0 0 10px!important;
  border: none;
}
.cat_ranking_gallery .ranking_itemPrice_area,
.cat_ranking_gallery .itemPrice,
.cat_ranking_gallery .ranking_itemPrice_addition{
  font-size: 11px;
  font-weight: bold;
}
.cat_ranking_gallery .ranking_itemPrice_addition{
  font-size: 10px;
  margin-right: 10px;
}
.cat_ranking_more_btn{
  -webkit-appearance: none;
  margin: 0;
  padding: 0;
  display: block;
  font: inherit;
  color: inherit;
  cursor: pointer;
  outline: none;
  border-radius: 0;
  background: #FFF;
  border: 1px solid #DDD;
  padding: 16px 16px;
  text-align: center;
  font-size: 11px;
  position: relative;
  width: 310px;
  margin: 0 auto 30px;
  transition: border 0.3s ease, background-color 0.3s ease;
}
.cat_ranking_more_btn:hover{
  background: #F3F3F3;
}
.cat_ranking_more_btn::after{
  content: '';
  width: 5px;
  height: 5px;
  border-top: solid 1px #222222;
  border-right: solid 1px #222222;
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(135deg);
}
.cat_ranking_more_btn.is-open::after{
  transform: rotate(-45deg);
}
.cat_ranking_more_area{
  display: none;
}
@media screen and (max-width:1100px) {
  .cat_ranking{
    display: block;
  }
  .cat_ranking_name{
    margin: 0 0 30px
  }
  .cat_ranking_name span{
    font-size: 13px;
    display: block;
    position: relative;
    padding: 0 0 10px;
    font-weight: bold;
  }
}
@media screen and (max-width:767px) {
  .cat_ranking{
    margin: 0 0 35px;
  }
  .cat_ranking_wrap{
    padding: 30px 20px 10px;
    margin: 0 0 65px;
  }
  .cat_ranking_title{
    font-size: 15px;
    margin: 0 0 25px;
  }
  .cat_ranking .ranking_head{
    font-size: 11px;
    text-align: left;
  }
  .cat_ranking_gallery{
    display: flex;
    overflow-x: auto;
  }
  .cat_ranking_gallery li{
    min-width: 220px;
    column-gap: 20px;
  }
  .cat_ranking_more_btn{
    width: 100%;
  }
  
}
/* ↓前のコード */
.cat4_box {
  width: 280px;
  display: inline-block; 
  margin: 0 25px 35px 0;
  text-align: left;
  vertical-align: top;
  letter-spacing: 0.08em;
}
.cat4_box:nth-child(4n) {
  margin: 0 0 35px 0;
}
.cat4_box a {
  display: block;
}
.cat4_box .thumb {
  margin: 0 0 20px 0;
}
.cat4_box .thumb img{
  transition: 0.3s all ease;
}
.cat4_box a:hover .thumb img{
  opacity: 0.8;
}
.cat4_box .cat_text {
  padding: 0;
  border: none;
  font-size: 13px;
}
.cat4_box a:hover .cat_title{
  text-decoration: underline;
}
.cat4_box .more {
  display: block;
  width: 48.5%;
  padding: 10px 10px 10px 20px;
  border: #DDD 1px solid;
  background: #FFF url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 48%;
  background-size: 19px;
  text-align: left;
  font-size: 12px;
  transition: border 0.3s ease, background-color 0.3s ease;
}
.cat4_box .more:hover {
  border: #222 1px solid;
  background: #F5F5F5 url(../img/common/icon_arrow_01_gray.svg) no-repeat 98% 48%;
  background-size: 19px;
}
@media screen and (max-width:767px) {
  .cat4_wrap {
    text-align: left;
    letter-spacing: -0.4em;
  }
  .cat4_box {
    width: 48%;
    display: inline-block;
    margin: 0 4% 15px 0;
    text-align: left;
    vertical-align: top;
    letter-spacing: 0.08em;
  }
  .cat4_box:nth-child(2n) {
    margin: 0 0 15px 0;
  }
  .cat4_box a {
    display: block;
  }
  .cat4_box .thumb {
    margin: 0;
    text-align: center;
  }
  .cat4_box .cat_text {
    display: none;
  }
  
}
/* ↑前のコード */

/* 価格で選ぶ */
.cat_page_link {
  width: 960px;
  padding: 10px 28px;
  margin: 0 auto 40px auto;
  background: #F4F4F4;
}
.cat_page_link ul {
  text-align: left;
  margin: 0 auto;
  overflow: hidden;
}
.cat_page_link li {
  float: left;
  vertical-align: top;
  width: 222px;
  margin: 5px 0;
  border-left: #CCC 1px solid;
}
.cat_page_link li:nth-child(4n),
.cat_page_link li:last-child {
  border-right: #CCC 1px solid;
}
.cat_page_link li a {
  display: block;
  width: 220px;
  padding: 3px 0;
  text-align: center;
  line-height: 1.5;
  font-size: 13px;
  text-decoration: none;
}
.cat_page_link li a:hover {
  text-decoration: none;
  color: #D70039;
}
.cat_sec {
  width: 960px;
  margin: 0 auto 40px auto;
}
.cat_price_area {
  width: 100%;
  border: #DDD 1px solid;
  padding: 20px 10px 30px 10px;
}
.ranking_gallery {
  text-align: left;
  overflow: hidden;
  margin: 0;
  padding: 0 80px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.ranking_gallery li {
  margin: 0!important;
}
.ranking_gallery li a {
  display: block;
  text-decoration: none;
  padding: 0 15px;
}
.ranking_head {
  padding: 0 0 0 30px;
  margin: 0 0 10px 0;
  text-align: left;
  font-family: "Noto Serif JP",serif;
  font-size: 15px;
  line-height: 20px;
  background: url(../img/common/rank01.png) no-repeat 0 50%;
  background-size: 20px;
}
.ranking_head.rank01 {
  background: url(../img/common/rank01.png) no-repeat 0 50%;
  background-size: 20px;
}
.ranking_head.rank02 {
  background: url(../img/common/rank02.png) no-repeat 0 50%;
  background-size: 20px;
}
.ranking_head.rank03 {
  background: url(../img/common/rank03.png) no-repeat 0 50%;
  background-size: 20px;
}
.ranking_gallery .thumb {
  text-align: center;
  margin: 0 0 10px 0;
}
.ranking_item_name {
  font-size: 15px;
  text-align: left;
  padding: 0 0 10px 0;
  margin: 0 !important;
  border-bottom: #DDD 1px solid;
}
.ranking_item_code {
  font-size: 12px;
  text-align: left;
  padding: 5px 0;
  margin: 0 0 5px 0 !important;
  border-bottom: #DDD 1px solid;
}
.ranking_item_comment {
  text-align: left;
  font-size: 13px;
  margin: 0;
}
.ranking_gallery .ranking_itemPrice_area {

}
.ranking_gallery .ranking_itemPrice_text {
  margin: 0;
  font-weight: bold;
}
.cat4_box .thumb img{
  transition: 0.3s all ease;
}
.cat4_box a:hover .thumb img{
  opacity: 0.8;
}
@media screen and (max-width:1200px) {
  .ranking_gallery {
    padding: 0 30px;
    gap: 30px;
  }
}
@media screen and (max-width:767px) {
  .cat_page_link {
    width: 100%;
    padding: 0;
    margin: 0 auto 40px auto;
    background: none;
  }
  .cat_page_link ul {
    text-align: left;
    margin: 0 auto;
    border-top: #DDD 1px solid;
  }
  .cat_page_link li {
    width: 50%;
    margin: 0;
    float: left;
    border-left: #DDD 1px solid;
    border-bottom: #DDD 1px solid;
  }
  .cat_page_link li:nth-child(2n),
  .cat_page_link li:last-child {
    border-right: #DDD 1px solid;
  }
  .cat_page_link li a {
    display: block;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    line-height: 1.5;
    font-size: 13px;
    text-decoration: none;
  }
  .cat_sec {
    width: 100%;
    margin: 0 auto 40px auto;
  }
  .cat_price_area {
    width: 100%;
    border: #DDD 1px solid;
    padding: 20px 0;
    position: relative;
  }
  .ranking_gallery {
    width: 100%;
    margin: 0 auto;
    padding: 0 30px!important;
    text-align: left;
    overflow: hidden;
    column-gap: 30px;
    display: flex;
    overflow-x: auto;
  }
  .ranking_gallery li {
    margin: 0;
    min-width: 220px;
    width: auto;
  }
  .ranking_gallery li a {
    display: block;
    width: 100%;
    padding: 0px;
    margin: 0 auto;
    text-decoration: none;
  }
  .ranking_head {
    padding: 0;
    margin: 0 0 10px 0;
    text-align: left;
    font-family: "Noto Serif JP";
    font-size: 11px;
    line-height: 20px;
    background: none!important;
  }
  .ranking_head.rank01::before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0 6px 0 0;
    background: url(../img/common/rank01.png) no-repeat 0 0;
    background-size: 20px;
  }
  .ranking_head.rank02::before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0 6px 0 0;
    background: url(../img/common/rank02.png) no-repeat 0 0;
    background-size: 20px;
  }
  .ranking_head.rank03::before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0 6px 0 0;
    background: url(../img/common/rank03.png) no-repeat 0 0;
    background-size: 20px;
  }
  .ranking_gallery .thumb {
    text-align: center;
    margin: 0 0 10px 0;
  }
  .ranking_item_name {
    font-size: 12px;
    text-align: left;
    padding: 0 0 10px 0;
    margin: 0 !important;
    line-height: 1.6;
    border-bottom: #DDD 1px solid;
  }
  .ranking_item_name + .ranking_itemPrice_area {
    /* padding-top: 10px; */
  }
  .ranking_item_code {
    font-size: 11px;
    text-align: left;
    padding: 5px 0;
    margin: 0 0 5px 0 !important;
    border-bottom: #DDD 1px solid;
  }
  .ranking_item_comment {
    text-align: left;
    font-size: 13px;
    margin: 0;
  }
  .cat4_box .thumb img{
    transition: 0.3s all ease;
  }
  .cat4_box a:hover .thumb img{
    opacity: 0.8;
  }
  .cat_price_area .btn_arrow_b {
    width: 84%;
  }
  .cat_price_area .bx-wrapper {
    display: block;
    text-align: center;
    margin: 0 auto 30px auto !important;
  }
  .cat_price_area .bx-pager-item {
    display: none;
  }
  .cat_price_area .bx-controls {
  }
  .cat_price_area #bx-pager img {
    display: none;
  }
  .cat_price_area .bx-wrapper,
  .cat_price_area .bx-viewport {
    position: relative;
  }
  
  .cat_price_area .bx-pager {
    text-align: center;
    width: 100%;
  }
  .cat_price_area .bx-pager-item {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 15px 8px;
    border-radius: 50%;
    overflow: hidden;
  }
  .cat_price_area .bx-prev {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 40%;
    left: 0;
    text-indent: -999px;
    overflow: hidden;
    background: #000;
  }
  .cat_price_area .bx-prev::after {
    position: absolute;
    display: block !important;
    content: "";
    left: 16px;
    top: 16px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }
  .cat_price_area .bx-next {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 40%;
    right: 0;
    text-indent: -999px;
    overflow: hidden;
    background: #000;
  }
  .cat_price_area .bx-next::after {
    position: absolute;
    display: block !important;
    content: "";
    right: 16px;
    top: 16px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
}


/* ブランドページのナビゲーション
---------------------------------------------- */
.brand_navi {
  margin: 20px auto;
  text-align: center;
  position: relative;
}
.brand_navi li {
  display: inline-block;
}
.brand_navi li a {
  display: block;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  padding: 5px 25px;
  min-width: 250px;
  border-left: #DDD 1px solid;
  text-decoration: none;
}
.brand_navi li a:hover {
  color: #D70039;
  text-decoration: none;
}
.brand_navi li:last-child a {
  border-right: #DDD 1px solid;
}
.brand_navi li a::after {
  display: inline-block;
  margin: 0 0 0 10px;
  content: "";
  width: 6px;
  height: 6px;
  position: relative;
  top: -3px;
  border-top: 1px solid #D70039;
  border-right: 1px solid #D70039;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  background: none;
}
.cat_image {
  text-align: center;
  margin-bottom: 20px;
}
.cat_image p {
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  .brand_navi {
    margin: 20px auto;
    text-align: center;
    position: relative;
  }
  .brand_navi li {
    display: inline-block;
    min-width: 30%;
  }
  .brand_navi li a {
    display: block;
    text-align: center;
    width: 100%;
    font-size: 13px;
    line-height: 20px;
    padding: 5px 0;
    border-left: #DDD 1px solid;
    text-decoration: none;
  }
  .brand_navi li:last-child a {
    border-right: #DDD 1px solid;
  }
  .brand_navi li a::after {
    display: inline-block;
    margin: 0 0 0 10px;
    content: "";
    width: 6px;
    height: 6px;
    position: relative;
    top: -3px;
    border-top: 1px solid #D70039;
    border-right: 1px solid #D70039;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    background: none;
  }
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #cccccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #cccccc; }
    .mfp-preloader a:hover {
      color: white; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none; }
button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: white;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: white;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #cccccc;
  font-size: 12px;
  line-height: 18px; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after, .mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before, .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
    border-right: 17px solid white;
    margin-left: 31px; }
  .mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
    border-left: 17px solid white;
    margin-left: 39px; }
  .mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
    border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: black; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444444; }
  .mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }
.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }
.mfp-ie7 .mfp-container {
  padding: 0; }
.mfp-ie7 .mfp-content {
  padding-top: 44px; }
.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }


/* 商品動画 */
.item_movie_btn {
  display: none;
  width: 80px;
  height: 80px;
  position: fixed;
  bottom: 210px;
  right: 15px;
  z-index: 1000;
}
.item_paperbag_btn {
  display: none;
  width: 80px;
  height: 80px;
  position: fixed;
  bottom: 120px;
  right: 15px;
  z-index: 1000;
}
.FS2_body_Goods_GoodsDetail .item_paperbag_btn {
  display: block;
}
.FS2_body_Goods_GoodsDetail_066IM15039000004 .item_paperbag_btn {
  display: none !important;
}

.popup-modal-dismiss {
  margin: 30px 0 0 0;
}
.popup-modal-dismiss,
.popup-modal-dismiss a {
  text-align: center;
  color: #FFF;
}
#item_movies {
  margin: 0 auto 30px auto;
  text-align: center;
}
#item_movies iframe {
  width: 640px;
  height: 360px;
}
a.popup {
  display: block;
}
@media screen and (max-width:768px){
  #item_movies {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 20px;
  }
  #item_movies iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .popup-modal-dismiss {
    margin: 0 0 0 0;
    position: relative;
    bottom: -30px;
  }
}

/* フッターナビ */
.brand_navi_footer {
  max-width: 1200px;
  margin: 20px auto;
  text-align: center;
}
.brand_navi_footer li {
  display: inline-block;
  width: 30%;
  margin: 0 10px;
}
.brand_navi_footer li a {
  display: block;
  text-decoration: none;
  padding: 20px 0;
  position: relative;
  border: #DDD 1px solid;
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}
.brand_navi_footer li a:hover {
  color: #D70039;
  text-decoration: none;
}
.brand_navi_footer li a::after {
  display: inline-block;
  margin: 0 0 0 10px;
  content: "";
  width: 6px;
  height: 6px;
  position: absolute;
  top: 28px;
  right: 15px;
  border-top: 1px solid #D70039;
  border-right: 1px solid #D70039;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background: none;
}

.product_info {
  max-width: 1200px;
  margin: 0 auto 30px auto;
  padding: 20px 25px;
  border: #DDD 1px solid;
  background: #F6F6F6;
  color: #1A0B00;
}


.product_info h3{
  margin: 0 0 10px 0;
  padding: 0;
  border: none;
  background: none;
  line-height: 1.6;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  color: #1A0B00;
}

.product_info p{
  margin: 0 0 20px 0;
}

/* 上部HTML */
.free_html {
  max-width: 1100px;
  margin: 0 auto;
  font-size: 13px;
}
.free_html.free_html_01 {
  margin: 20px auto 60px;
  padding: 0 0 40px 0;
  border-bottom: #D6D6D6 1px solid;
}
.inner {
  overflow: hidden;
  margin: 0 auto 20px auto;
}
.free_html .image_l {
  width: calc(40% - 30px);
  float: left;
}
.free_html .text_r {
  width: 60%;
  float: right;
}
.free_html h2 {
  font-size: 19px;
  margin: 0 0 20px 0;
  text-align: left;
  line-height: 2;
  letter-spacing: 0.06em;
  font-weight: normal;
}
@media screen and (max-width:768px){
  .free_html {
    width: 100%;
    margin: 0 auto;
    font-size: 13px;
  }
  .free_html.free_html_01 {
    margin: 0 auto 20px auto;
    padding: 0;
    border-bottom: #D6D6D6 1px solid;
  }
  .inner {
    overflow: hidden;
    margin: 0 auto;
  }
  .free_html .image_l {
    width: 100%;
    float: none;
  }
  .free_html .text_r {
    width: 100%;
    float: none;
    margin: 20px 0;
  }
  .free_html h2 {
    font-size: 15px;
    padding: 0 0 10px 0;
    margin: 0 0 20px 0;
    border-bottom: #BFA475 1px solid;
    text-align: left;
    line-height: 2;
    letter-spacing: 0.06em;
    font-weight: normal;
  }
}

/* ボタン */
.btn_arrow {
  display: inline-block;
  color: #1F1F1F;
  border: 1px solid #1F1F1F;
  font-size: 13px;
  line-height: 1.0;
  text-align: center;
  font-weight: 400;
  padding: 14px 55px 14px 30px;
  background: #FFF url(../img/common/icon_arrow_01_gray.svg) no-repeat 93% 50%;
  background-size: 25px 4px;
  text-decoration: none;
}
.btn_arrow:hover {
  color:#FFF;
  border: 1px solid #DF3361;
  background: #DF3361 url(../img/common/icon_arrow_01.svg) no-repeat 93% 50%;
  background-size: 25px 4px;
}

.btn_arrow_b {
  display: inline-block;
  color: #FFF;
  border: 1px solid #333333;
  font-size: 13px;
  line-height: 1.0;
  text-align: center;
  font-weight: 400;
  padding: 16px 65px 16px 50px;
  background: #333333 url(../img/common/icon_arrow_01.svg) no-repeat 93% 50%;
  background-size: 25px 4px;
  line-height: 1.6;
  text-decoration: none;
}
.btn_arrow_b:hover {
  color:#FFF;
  border: 1px solid #DF3361;
  background: #DF3361 url(../img/common/icon_arrow_01.svg) no-repeat 93% 50%;
  background-size: 25px 4px;
}

@media screen and (max-width:768px){
  .btn_arrow {
    width: 96%;
    margin: 0 auto;
    display: block;
    color: #1F1F1F;
    border: 1px solid #1F1F1F;
    font-size: 13px;
    line-height: 1.0;
    text-align: center;
    font-weight: 400;
    padding: 14px 0;
    background: #FFF url(../img/common/icon_arrow_01.svg) no-repeat 93% 50%;
    background-size: 16px;
  }
  .btn_arrow_b {
    width: 96%;
    margin: 0 auto;
    display: block;
    color: #FFF;
    border: 1px solid #333333;
    font-size: 13px;
    line-height: 1.0;
    text-align: center;
    font-weight: 400;
    padding: 14px 0;
    background: #333333 url(../img/common/icon_arrow_01.svg) no-repeat 93% 50%;
    background-size: 16px;
  }
}

/* 20240111 追加 ギフトページの商品情報充実について */
.other-ranking-accordion {
  position: relative;
}

.other-ranking-accordion-title .other-ranking-accordion-title-txt {
  color: #FFF;
  border: solid 1px #333333;
  padding: 15px 50px 15px;
  cursor: pointer;
  background-color: #333;
  text-align: center;
  width: 350px;
  margin: 0 auto;
}

.other-ranking-accordion-content {
  display: none;
}
/* /. 20240111 追加 ギフトページの商品情報充実について */

/* 20240529 レビュー表示修正 */
.item-detail-contents .fs-c-productReview__reviewList{
  display: none!important;
}
.item-detail-contents .fs-c-aggregateRating__count{
  display: none!important;
}
.item-detail-contents .fs-c-productReview__allReviews{
  display: none!important;
}
.item-detail-contents .fs-c-productReview{
  display: flex;
  flex-direction: column-reverse;
}
.item-detail-contents .fs-c-productReview__addReview{
  justify-content: flex-start;
}
.item-detail-contents .custom-review-link{
  font-size: 1.2rem;
  margin: 15px 0;
}
.item-detail-contents .fs-c-productReview{
  margin: 0 0 70px;
}

@media only screen and (max-width: 767px){
  .item-detail-contents .fs-c-productReview{
    text-align: center;
    margin: 0 ;
  }
  .item-detail-contents .fs-c-aggregateRating{
    justify-content: center;
  }
}