@charset "utf-8";

/* (CSS) FFFTP > itembox > item > style.css   */

/* base style
=====================================================================*/
html {
  scroll-padding-top: 120px;
}
@media only screen and (max-width: 767px) {
  html {
    scroll-padding-top: 30px;
  }
}
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-l-main {
  overflow-x: hidden;
}

.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 60px 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 60px;
}

.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;
}

.mypage-info {
  max-width: 800px;
  margin: 0 auto 80px auto;
}

@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;
  }
}

/* =================================================================
  ポップアップバナー
================================================================= */
.popup-info {
  display: none;
  opacity: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1000;
}

.popup-info.is-show {
  display: block;
  opacity: 1;
}

.popup-info.is-show::after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background: rgba(64, 64, 63, 0.1);
  backdrop-filter: blur(5px);
}

.popup-info-box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 60px);
  height: auto;
  z-index: 1200;
}

.popup-info-content {
  width: 100%;
  height: 100%;
}

.popup-info-close {
  position: fixed;
  top: -10px;
  right: -10px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background: #222 url(../img/common/icon_closed.png) no-repeat 0;
  background-size: 100%;
}

.popup-info-close img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .popup-info-box {
    width: 580px;
    height: auto;
    max-height: calc(100% - 160px);
  }

  .popup-info-content a:hover {
    opacity: 1;
  }
}

/* 202510 追加 */
.business_ranking {
  margin: 0 0 80px;
}

.business_ranking .ranking_gallery {
  margin-bottom: 30px;
}

/* 202510 追加 */
/* set_bathrobe */
@media screen and (min-width: 768px) {
  .set_bathrobe-link {
    display: flex;
    justify-content: center;
    gap: 60px;
  }

  .set_bathrobe-link .faq_morebutton {
    width: fit-content;
  }

  .set_bathrobe-link .faq_morebutton a {
    width: 350px;
    background-position: 93% 50%;
  }
}

/* toppage headnews */
.headnews a {
  display: grid;
  place-content: center;
  width: 100%;
  min-height: 40px;
  height: fit-content;
  padding: 10px 15px;
  font-size: 12px;
  line-height: 1.3;
  letter-spacing: 0.05em;
  text-decoration: underline;
}

.headnews a:hover {
  text-decoration: none;
}

@media screen and (min-width:768px) {
  .headnews a {
    font-size: 13px;
  }
}

/* toppage itemlist */
.top_recommend_wrap {
  margin-top: 80px;
  margin-bottom: 100px;
}

@media screen and (max-width:767px) {
  .top_recommend_wrap {
    margin-top: 60px;
    margin-bottom: 60px;
  }

  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel::before,
  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel::after {
    content: '';
    width: 12px;
    height: 3px;
    border-radius: 3px;
    background: none;
    padding: 0;
    margin: 0;
    background-color: #666666;
    position: absolute;
  }

  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel--prev::before {
    left: calc(50% - 3px);
    top: calc(50% + 1px);
    transform-origin: center left;
    transform: rotate(-55deg);
  }

  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel--prev::after {
    left: calc(50% - 3px);
    top: calc(50% - 1px);
    transform-origin: center left;
    transform: rotate(55deg);
  }

  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel--next::before {
    right: calc(50% - 3px);
    top: calc(50% + 1px);
    transform-origin: center right;
    transform: rotate(55deg);
  }

  .top_recommend .fs-c-productListCarousel .fs-c-button--carousel--next::after {
    right: calc(50% - 3px);
    top: calc(50% - 1px);
    transform-origin: center right;
    transform: rotate(-55deg);
  }

  .top_recommend .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--prev::before,
  .top_recommend .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--prev::after,
  .top_recommend .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--next::before,
  .top_recommend .fs-c-productListCarousel__ctrl.slick-disabled .fs-c-button--carousel--next::after {
    background-color: #666666;
    opacity: 0.5;
  }
}