@charset "UTF-8";
#close {
  display: none;
}
body #wrapper #top {
  display: block;
}
@media screen and (max-width: 767px) {
  body #wrapper #contents {
    padding-top: 10px !important;
  }
}
.slick-prev:before {
  content: '';
  display: block;
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_slider_arrow_prev.png") no-repeat center center;
  background-size: contain;
  width: 20px;
  height: 40px;
}
.slick-next:before {
  content: '';
  display: block;
  background: url("https://www.virinamaternity.com/pic-labo/responsive1_slider_arrow_next.png") no-repeat center center;
  background-size: contain;
  width: 20px;
  height: 40px;
}
/* ---- newItem / pickup / ranking: slick 表示修正 ---- */
/* slick-slide の height:100% をリセット → 画像比率維持 */
.newItem .column-set .slick-slide, .pickup .column-set .slick-slide, .ranking .column-set .slick-slide {
  height: auto;
}
/* itemThumb / item-list-span-img の height:100% をリセット */
.newItem .column-set .itemThumb, .newItem .column-set .itemThumb a, .newItem .column-set .item-list-span-img, .pickup .column-set .itemThumb, .pickup .column-set .itemThumb a, .pickup .column-set .item-list-span-img, .ranking .column-set .itemThumb, .ranking .column-set .itemThumb a, .ranking .column-set .item-list-span-img {
  height: auto !important;
  width: 100%;
}
/* 画像は元比率で表示（default.css の height:100% を上書き） */
.newItem .column-set .itemThumb a img, .newItem .column-set .item-list-span-img img, .pickup .column-set .itemThumb a img, .pickup .column-set .item-list-span-img img, .ranking .column-set .itemThumb a img, .ranking .column-set .item-list-span-img img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block;
}
/* slick初期化後、inviewアニメ(opacity:0)が残るcloneスライドを可視化 */
.newItem .slick-initialized .column4, .pickup .slick-initialized .column4, .ranking .slick-initialized .column4 {
  opacity: 1 !important;
  transition: none !important;
}
/* SP でも矢印を表示、かつ slick.css のボーダー矢印を無効化 */
.newItem .slick-prev, .newItem .slick-next, .pickup .slick-prev, .pickup .slick-next, .ranking .slick-prev, .ranking .slick-next {
  display: block !important;
  border: none !important;
}
/* 矢印ボタン自体のサイズを :before のPNG画像に合わせる */
.newItem .slick-prev, .newItem .slick-next, .pickup .slick-prev, .pickup .slick-next, .ranking .slick-prev, .ranking .slick-next {
  width: 20px;
  height: 40px;
}
#main-column div.cal_wrapper table.cal tr td div.Today {
  color: #00CCFF !important;
}
#main-column {
  float: none;
  width: 100%;
}
#sub-column {
  display: none;
}
@media screen and (max-width: 768px) {
  #sub-column {
    display: block;
  }
  .shop_header_block .logo img#on {
    display: none;
  }
  .shop_header_block .logo img#off {
    display: block;
  }
  .shop_header_block #header-nav-drawer span {
    background: #FFF;
  }
  .shop_header_block #header-nav-drawer span::before, .shop_header_block #header-nav-drawer span::after {
    background: #FFF;
  }
  .shop_header_block {
    background: none;
  }
  .fixed.shop_header_block {
    background: #FFF;
  }
}
.tab-1 {
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
}
.tab-1 > label {
  flex: 1 1;
  order: -1;
  min-width: 70px;
  padding: .3em 1em .3em;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 0;
  background-color: #f0f0f0;
  color: #535353;
  font-size: .9em;
  text-align: center;
  cursor: pointer;
}
.tab-1 > label:hover {
  opacity: .8;
}
.tab-1 input {
  display: none;
}
.tab-1 > div {
  display: none;
  width: 100%;
  padding: 1.5em 1em;
  background-color: #fff;
}
.tab-1 label:has(:checked) {
  background-color: #fff;
  border-color: #f5f5f8 #f0f0f0 #fff;
  border-style: solid;
  border-width: 4px 1px 1px;
  border-radius: 5px;
  color: #333333;
}
.tab-1 label:has(:checked) + div {
  display: block;
}
.list-topnews {
  list-style-type: disc;
  list-style-position: inside;
}
.list-topnews li {
  padding: .5em;
}
.list-topnews li:not(:last-child) {
  border-bottom: 1px dashed #f0f0f0;
}
.list-topnews li::marker {
  color: #f0f0f0;
  font-size: 0.5em;
}
/*コンテンツボタンスタイル*/
.button06a {
  display: inline-block;
  border: solid 1px #545454;
  width: 40%;
  color: #545454;
  margin: 5px 2.5px;
  padding: 5px 10px;
  text-align: center;
  font-size: 0.3em;
  text-decoration: none;
}
@media (max-width: 1320px) {
  .button06a {
    display: inline-block;
    border: solid 1px #545454;
    width: 90%;
    color: #545454;
    margin: 5px 2.5px;
    padding: 5px 10px;
    text-align: center;
    font-size: 0.3em;
    text-decoration: none;
  }
}
.button06a img {
  height: 30px;
  width: auto;
  margin-right: 5px;
  vertical-align: -10px;
}
.button06a:hover {
  background-color: #f9f9f9;
  color: #272727;
}
/*カテゴリータグボタンスタイル*/
.button06 {
  display: inline-block;
  background-color: #fff;
  border: solid 1px #212121;
  color: #212121;
  border-radius: 20px;
  margin: 2.5px 2.5px;
  padding: 5px 10px;
  text-align: center;
  font-size: 0.5rem;
  text-decoration: none;
}
.button06:hover {
  background-color: #fff;
  color: #5ab4bd;
}
/*カテゴリーアイコンのスタイル*/
.category-icon-narabi2 {
  text-align: center;
  display: inline-block width: 50%;
}
.category-icon-narabi2 img {
  width: calc(50%/5);
}
@media (max-width: 1320px) {
  .category-icon-narabi2 {
    text-align: center;
    display: inline-block width: 100%;
  }
}
@media (max-width: 1320px) {
  .category-icon-narabi2 img {
    width: calc(100%/4.25);
  }
}
.bnr-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}
.bnr-box a, .bnr-box .bnr-btn {
  display: block;
  width: calc((100% - 12px) / 2);
  max-width: 180px;
}
/* bnr-box クリック修正:
   .shop_header_block が position:fixed + z-index:200(スクロール後) の stacking context を形成し、
   gnav > ul > li > a の hit-test 領域がコンテンツ上に残る問題への対処。
   z-index:201 = header(200)より上、drawer overlay(500)・drawer panel(800)より下 */
body.top-page .bnr-box {
  position: relative !important;
  z-index: 201 !important;
}
body.top-page .bnr-box .bnr-btn, body.top-page .bnr-box a {
  position: relative !important;
  z-index: 202 !important;
  pointer-events: auto !important;
  cursor: pointer;
}
.bnr-box .bnr-btn img {
  display: block;
  width: 100%;
  height: auto;
}
.header_center .gnav .gnav-img-fixed {
  display: none !important;
}
.shop_header_block.fixed .header_center .gnav .gnav-img-default {
  display: none !important;
}
.shop_header_block.fixed .header_center .gnav .gnav-img-fixed {
  display: block !important;
  height: 50px;
  width: auto;
  object-fit: contain;
}
.shop_header_block .gnav > ul > li {
  height: auto;
}
.shop_header_block .gnav .menu {
  top: 100%;
}
.shop_header_block.fixed .wrap {
  padding: 8px 0;
}
.shop_header_block .gnav > ul > li.ml {
  margin-left: 20px;
}
.userIcon {
  width: 40px;
}
.shop_header_block .gnav > ul > li {
  line-height: 0;
}
.member_info_cart_info .member_nav_cart {
  padding-left: 20px;
}
.header_cart {
  width: 80px !important;
}
.member_info_cart_info .member_nav_cart .item_cnt {
  left: 35px;
}
.member_info_cart_info {
  margin: 17px 0 13px;
}
.shop_header_block .gnav > ul > li.header_account {
  width: 75px;
}
.header_center {
  display: flex;
  gap: 80px;
  align-items: center;
  margin-left: 300px;
}
@media screen and (max-width: 1200px) {
  .header_center {
    margin-left: 200px;
  }
  .vbs-scroll-down .header_center, .vbs-scroll-up .header_center {
    margin-left: 300px;
  }
}
@media screen and (max-width: 1024px) {
  .header_center {
    margin-left: 150px;
  }
  .vbs-scroll-down .header_center, .vbs-scroll-up .header_center {
    margin-left: 250px;
  }
}
.shop_header_block .gnav {
  margin: 0;
}
/* アイコングループを常に右端に固定 */
@media screen and (min-width: 769px) {
  .shop_header_block .wrap > .gnav {
    margin-left: auto !important;
  }
}
.shop_header_block #header-nav-drawer {
  display: none;
}
.shop_header_block .header_center .gnav > ul > li, .shop_header_block .header_center .gnav > ul > li:last-child {
  width: 120px;
}
@media screen and (max-width: 960px) {
  .shop_header_block #header-nav-drawer {
    display: block;
  }
}
/* 全体 */
.newItem {
  padding: 80px 0;
}
.newItem h2 {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.12em;
  font-weight: 500;
  margin-bottom: 10px;
}
.newItem .column4 {
  margin: 0 10px !important;
}
.column4 .itemThumb-wrap {
  margin-bottom: 0;
}
.newItem .column-set {
  margin-top: 30px;
}
/* slick */
.newItem .slick-list {
  overflow: visible !important;
}
.newItem .slick-track {
  display: flex;
}
.newItem .slick-slide {
  height: auto;
  padding: 0 12px;
}
.newItem .column4 {
  float: none !important;
  padding: 0 !important;
}
/* 画像 */
.newItem .itemThumb {
  margin-bottom: 20px;
}
.newItem .itemThumb img {
  width: 100%;
  display: block;
}
/* タイトル */
.newItem h3 {
  font-size: 14px !important;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 20px;
}
.column4 h3 a {
  font-size: 14px !important;
}
/* 価格 */
.newItem .price {
  font-size: 14px !important;
  font-weight: 500;
}
.newItem .price .taxin {
  font-size: 14px;
}
/* 矢印 */
/* newItem slick 矢印リセット */
.newItem .slick-prev, .newItem .slick-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 44px !important;
  background-color: rgba(255, 255, 255, .76) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 10px 16px !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 20 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
/* 既存slickのbeforeを完全に消す */
.newItem .slick-prev:before, .newItem .slick-next:before {
  content: none !important;
  display: none !important;
  background: none !important;
}
/* prev */
.newItem .slick-prev {
  left: 0 !important;
  right: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* next */
.newItem .slick-next {
  right: 0 !important;
  left: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* SP */
@media screen and (max-width: 960px) {
  .newItem {
    padding: 50px 0;
  }
  .newItem h2 {
    font-size: 28px;
  }
  .newItem .column-set {
    margin-top: 30px;
  }
  .newItem .slick-list {
    padding-left: 24px !important;
  }
  .newItem .slick-slide {
    padding: 0 6px;
  }
  .newItem h3 {
    font-size: 13px;
  }
  .newItem .price {
    font-size: 15px;
  }
  .newItem .slick-prev, .newItem .slick-next {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 50 !important;
    width: 24px !important;
    height: 31px !important;
    background-size: 7px 11px !important;
  }
}
/* 全体 */
.ranking {
  margin: 60px 0;
  padding: 80px 0;
  overflow: hidden !important;
}
.ranking h2 {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.12em;
  font-weight: 500;
  margin-bottom: 10px;
}
.ranking h2:after {
  content: "人気ランキング";
  display: block;
  font-size: 13px;
  font-weight: 400;
  margin: 15px 0 0 0;
  color: #666;
  font-family: "Noto Sans JP", serif;
}
.ranking .column4 {
  margin: 0 10px !important;
}
.column4 .itemThumb-wrap {
  margin-bottom: 0;
}
.ranking .column-set {
  margin-top: 30px;
}
/* slick */
.ranking .slick-list {
  overflow: hidden !important;
}
.ranking .slick-track {
  display: flex;
}
.ranking .slick-slide {
  height: auto;
  padding: 0 12px;
}
.ranking .column4 {
  float: none !important;
  padding: 0 !important;
}
/* 画像 */
.ranking .itemThumb {
  margin-bottom: 20px;
}
.ranking .itemThumb img {
  width: 100%;
  display: block;
}
/* タイトル */
.ranking h3 {
  font-size: 14px !important;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 20px;
}
.column4 h3 a {
  font-size: 14px !important;
}
/* 価格 */
.ranking .price {
  font-size: 14px !important;
  font-weight: 500;
}
.ranking .price .taxin {
  font-size: 14px;
}
/* ranking slick 矢印リセット */
.ranking .slick-prev, .ranking .slick-next {
  position: absolute !important;
  top: 42% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 44px !important;
  background-color: rgba(255, 255, 255, .76) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 10px 16px !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 20 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
/* 既存slickのbeforeを完全に消す */
.ranking .slick-prev:before, .ranking .slick-next:before {
  content: none !important;
  display: none !important;
  background: none !important;
}
/* prev */
.ranking .slick-prev {
  left: 0 !important;
  right: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* next */
.ranking .slick-next {
  right: 0 !important;
  left: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* SP (960px以下) */
@media screen and (max-width: 960px) {
  .ranking {
    padding: 50px 0;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
  }
  .ranking > * {
    max-width: 100% !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
  }
  .ranking .slider {
    width: 100% !important;
  }
  .ranking .slider .slick-slide {
    margin: 0 !important;
  }
  .ranking .slick-list {
    overflow: hidden !important;
    width: 100% !important;
    padding-left: 24px !important;
  }
  .ranking h2 {
    font-size: 28px;
  }
  .ranking .column-set {
    margin-top: 30px;
  }
  .ranking .slick-slide {
    padding: 0 6px;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
  }
  .ranking h3 {
    font-size: 13px;
  }
  .ranking .price {
    font-size: 15px;
  }
  .ranking .slick-prev, .ranking .slick-next {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 50 !important;
    width: 24px !important;
    height: 31px !important;
    background-size: 7px 11px !important;
  }
}
/* タブレット (769px〜960px): 横スクロール防止 */
@media screen and (min-width: 769px) and (max-width: 960px) {
  .ranking {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
  }
  .ranking .slick-list {
    overflow: hidden !important;
    width: 100%;
  }
  .ranking .slick-slide {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
/* SP (768px以下): 横スクロール防止 */
@media screen and (max-width: 768px) {
  .ranking {
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
  }
  .ranking .slick-list {
    overflow: hidden !important; /* グローバルの overflow:visible !important を上書き */
    width: 100%;
    padding-left: 24px !important;
  }
  .ranking .slick-track {
    max-width: none;
  }
  .ranking .slick-slide {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}
/* 全体 */
.pickup {
  padding: 80px 0;
  background: #f4f4f4;
}
.pickup h2 {
  text-align: center;
  font-size: 32px;
  letter-spacing: 0.12em;
  font-weight: 500;
  margin-bottom: 10px;
}
.pickup h2:after {
  content: "再入荷アイテム";
  display: block;
  font-size: 13px;
  font-weight: 400;
  margin: 15px 0 0 0;
  color: #666;
  font-family: "Noto Sans JP", serif;
}
.pickup .column4 {
  margin: 0 10px !important;
}
.column4 .itemThumb-wrap {
  margin-bottom: 0;
}
.pickup .column-set {
  margin-top: 30px;
}
/* slick */
.pickup .slick-list {
  overflow: visible !important;
}
.pickup .slick-track {
  display: flex;
}
.pickup .slick-slide {
  height: auto;
  padding: 0 12px;
}
.pickup .column4 {
  float: none !important;
  padding: 0 !important;
}
/* 画像 */
.pickup .itemThumb {
  margin-bottom: 20px;
}
.pickup .itemThumb img {
  width: 100%;
  display: block;
}
/* タイトル */
.pickup h3 {
  font-size: 14px !important;
  line-height: 1.3;
  font-weight: 700;
  margin-bottom: 20px;
}
.column4 h3 a {
  font-size: 14px !important;
}
/* 価格 */
.pickup .price {
  font-size: 14px !important;
  font-weight: 500;
}
.pickup .price .taxin {
  font-size: 14px;
}
/* pickup slick 矢印リセット */
.pickup .slick-prev, .pickup .slick-next {
  position: absolute !important;
  top: 42% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 44px !important;
  background-color: rgba(255, 255, 255, .76) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 10px 16px !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 20 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  cursor: pointer !important;
  opacity: 1 !important;
}
/* 既存slickのbeforeを完全に消す */
.pickup .slick-prev:before, .pickup .slick-next:before {
  content: none !important;
  display: none !important;
  background: none !important;
}
/* prev */
.pickup .slick-prev {
  left: 0 !important;
  right: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* next */
.pickup .slick-next {
  right: 0 !important;
  left: auto !important;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22z'%20fill%3D'%233E3A39'%2F%3E%3C%2Fsvg%3E") !important;
}
/* SP */
@media screen and (max-width: 960px) {
  .pickup {
    padding: 50px 0 10px 0;
  }
  .pickup h2 {
    font-size: 28px;
  }
  .pickup .column-set {
    margin-top: 30px;
  }
  .pickup .slick-list {
    padding-left: 24px !important;
  }
  .pickup .slick-slide {
    padding: 0 6px;
  }
  .pickup h3 {
    font-size: 13px;
  }
  .pickup .price {
    font-size: 15px;
  }
  .pickup .slick-prev, .pickup .slick-next {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 50 !important;
    width: 24px !important;
    height: 31px !important;
    background-size: 7px 11px !important;
  }
}
@media screen and (max-width: 768px) {
  .pickup .slick-track {
    display: flex !important;
    align-items: flex-start !important;
    height: auto !important;
  }
  .pickup .slick-slide {
    height: auto !important;
    align-self: flex-start !important;
  }
}
.bnr-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 50px;
}
.bnr-box a {
  display: block;
  max-width: 300px;
}
#contents {
  max-width: 100% !important;
  width: 100% !important;
}
@media screen and (min-width: 961px) {
  div#main-column > section {
    width: 100% !important;
  }
}
.newItem, .pickup, .ranking {
  margin: 40px auto !important;
}
.newItem, .ranking, .pickup {
  padding: 40px 0 !important;
}
.newItem {
  padding-top: 80px !important;
  padding-bottom: 0 !important;
}
#feature {
  margin-top: 0 !important;
}
#feature a {
  font-size: 16px !important;
  margin: 0 auto;
  display: block;
  width: 220px;
  padding: 16px 0;
  text-align: center;
  border: 1px solid #000;
}
#feature a h3 {
  margin: 0 !important;
  font-size: 14px !important;
}
#sns {
  width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
}
.freeArea2 {
  width: 1200px !important;
  margin: 0 auto;
  max-width: 100% !important;
}
/* =====================================================
   TOP カルーセル SP 修正
   ===================================================== */
/* ---- 1. SP カルーセル：左端揃え + 右peek ----
   - padding-left: 0 で1枚目左端 = 矢印左端
   - overflow: hidden で左漏れをクリップ
   - padding-right: 30px で右に次スライドをpeek表示
   -------------------------------------------------- */
@media screen and (max-width: 960px) {
  .newItem .slick-list, .pickup .slick-list {
    overflow: hidden !important;
    padding: 0 30px 0 0 !important;
  }
  .ranking .slick-list {
    /* overflow: hidden は既存SPルール済み */
    padding: 0 30px 0 0 !important;
  }
}
/* ---- 2. SP フォントサイズ：既存TOP商品一覧と同等に縮小 ---- */
@media screen and (max-width: 960px) {
  .newItem h2, .pickup h2, .ranking h2 {
    font-size: 20px !important;
  }
  .newItem h3, .pickup h3, .ranking h3 {
    font-size: 11px !important;
    margin-bottom: 6px !important;
  }
  .newItem .column4 h3 a, .pickup .column4 h3 a {
    font-size: 11px !important;
  }
  .newItem .price, .pickup .price, .ranking .price {
    font-size: 12px !important;
  }
  .newItem .price .taxin, .pickup .price .taxin, .ranking .price .taxin {
    font-size: 12px !important;
  }
}
/* ---- 3. SP 余白調整 ---- */
@media screen and (max-width: 960px) {
  .newItem .itemThumb, .pickup .itemThumb, .ranking .itemThumb {
    margin-bottom: 10px !important;
  }
  /* pickup: VIEW MORE追加後、上下余白を揃える（上50px相当に下も合わせる） */
  .pickup {
    padding: 50px 0 50px 0 !important;
  }
  .pickup .column-set {
    margin-top: 20px !important;
  }
  .pickup-feature {
    margin-top: 24px;
  }
}
/* ---- 4. PICK UP VIEW MORE ボタン（SP / PC 共通） ---- */
.pickup-feature {
  margin-top: 30px;
  text-align: center;
}
.pickup-feature a {
  display: block;
  width: 220px;
  margin: 0 auto;
  padding: 16px 0;
  text-align: center;
  border: 1px solid #000;
  text-decoration: none;
  color: #000;
  font-size: 14px;
  letter-spacing: 0.12em;
}
.pickup-feature a:hover {
  background: #000;
  color: #fff;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
/* ---- 5. 背景色統一：pickup 商品エリアを #f4f4f4 に ---- */
.pickup .column4, .pickup .column5, .pickup .slick-slide {
  background-color: #f4f4f4;
}
/* ---- 6. PICKUP / RANKING: column5 カルーセル対応 (column4 と同等化) ---- */
.ranking .column5 {
  margin: 0 10px !important;
  float: none !important;
  padding: 0 !important;
}
.pickup .column5 {
  margin: 0 10px !important;
  float: none !important;
  padding: 0 !important;
}
/* opacity fade-in: cloned slick slides も含め強制表示 */
.ranking .slick-slide .column5, .pickup .slick-slide .column5 {
  opacity: 1 !important;
}
/* ---- 7. SP表示：カルーセル prev 矢印を内側へ（left:0 → left:10px） ---- */
@media screen and (max-width: 768px) {
  .newItem .slick-prev {
    left: 10px !important;
  }
  .pickup .slick-prev {
    left: 10px !important;
  }
  .ranking .slick-prev {
    left: 5px !important;
  }
}
body.top-page #wrapper #contents #main-column h2 {
  font-size: 28px;
  margin: 0 0 40px;
  font-family: "Cormorant Garamond", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", serif;
  text-align: center;
  font-weight: 500;
}
body.top-page #wrapper #contents #main-column h2 a {
  font-size: 28px;
  margin: 0 0 40px;
  font-family: "Cormorant Garamond", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", serif;
  text-align: center;
  font-weight: 500;
  /* font-style: italic; */
  border-bottom: solid 1px #666;
  padding: 0 0 3px 0;
}
body #wrapper #contents #about {
  width: 950px;
  max-width: 100%;
  margin: 80px auto;
  font-family: "Cormorant Garamond", "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", serif;
}
/* =====================================================
   TOP PC: #sub-column デフォルト非表示 + クリック無効
   ドロワーが開いていない状態（JS実行前・spsDrawerClose）で
   position:fixed の sub-column が bnr-box などのクリックを奪うのを防ぐ
   spsDrawerOpen 時はこのルールが適用されないため動作は維持される
   ===================================================== */
@media screen and (min-width: 769px) {
  body.top-page #sub-column:not(.spsDrawerOpen) {
    -webkit-transform: translateX(-100%) !important;
    transform: translateX(-100%) !important;
    pointer-events: none !important;
  }
}
.column4 {
  padding-top: 40px;
}
.column3 .badge, .column4 .badge, .column5 .badge {
  width: 40px !important;
}