html, body {
  color: #2F2929;
  font-family: "Sawarabi Mincho", serif;
  font-style: normal;
  font-weight: 400;
  margin: 0;
  padding: 0;
  text-align: center;
  overflow-x: visible;
}

* { box-sizing: border-box; }

/* PC/SP 切替 */
.pc { display: none !important; }
@media (min-width: 500px){ .pc { display: block !important; } }
@media (min-width: 500px){ .sp { display: none !important; } }

/* SLIDER */
.bx-viewport { border: 0 !important; box-shadow: none !important; left: 0; }
#slider, #slider-sp { margin-left: 50%; }
#slider div, #slider-sp div { margin-left: -150px; margin-right: 150px !important; }
@media (min-width: 500px){
  #slider div, #slider-sp div { margin-left: -250px; margin-right: 250px !important; }
}
@media (min-width: 1000px){
  #slider div, #slider-sp div { margin-left: -500px; margin-right: 500px !important; }
}
.bx-wrapper { margin-bottom: 86px !important; }
.bx-wrapper .bx-pager { bottom: -30px !important; }
@media (min-width: 1000px){ .bx-wrapper .bx-pager { bottom: 20px !important; } }
.bx-wrapper .bx-pager.bx-default-pager a{
  background: #C18973 !important; border-radius: 50% !important; height: 15px !important; margin: 0 10px !important; width: 15px !important;
}
.bx-wrapper .bx-pager.bx-default-pager a.active{ background: #EF6259 !important; }
.bx-wrapper .bx-next{ display:none; }
@media (min-width:1000px){ .bx-wrapper .bx-next{ display:block; right:30px !important; } }
.bx-wrapper .bx-prev{ display:none; }
@media (min-width:1000px){ .bx-wrapper .bx-prev{ display:block; left:30px !important; } }

/* ヘッダー */
.l-header-logo { text-align: left; }
@media (min-width:1030px){
  .l-header-main__in{ padding-top:10px !important; }
  .l-header-logo{ margin-bottom:0 !important; }
  .l-header-logo__img img{ max-height:80px !important; }
}

/* 上部ナビ & メガメニュー（ゴシック＋サイズUP） */
@media (min-width:1030px){
  .l-main-navi-list__link,
  .l-help-navi-list__link{
    font-family:"Sawarabi Gothic","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Meiryo",sans-serif !important;
    font-size:18px !important;
    line-height:1.6;
    font-weight:600;
    white-space:nowrap;
  }
  .l-mega-menu,
  .l-mega-menu-list__link{
    font-family:"Sawarabi Gothic","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Meiryo",sans-serif !important;
    font-size:18px !important;
    line-height:1.6;
  }
}
@media (max-width:1029.98px){
  .l-main-navi.is-open .l-main-navi-list__link,
  .l-help-navi-list__link{
    font-family:"Sawarabi Gothic","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Meiryo",sans-serif !important;
    font-size:16px !important;
    line-height:1.7;
    font-weight:600;
  }
  .l-main-navi.is-open .l-mega-menu-list__link{
    font-family:"Sawarabi Gothic","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Meiryo",sans-serif !important;
    font-size:16px !important;
    line-height:1.7;
  }
}

/* トップのレイアウト（1280上限＋サイド320） */
@media (min-width:1030px){
  html body .container{
    width:100% !important;
    max-width:1280px;
    margin:0 auto;
    padding:0 15px;
    display:flex;
    justify-content:flex-start;
    gap:40px;
  }
  html body .container nav{
    width:320px !important;
    display:block;
  }
  html body .container > main{
    width:calc(100% - 320px - 40px) !important;
  }
}

/* サイドナビの矢印OFF */
.l-side-navi-list__link::before,
.l-side-navi-list__link.is-link::before { display: none !important; }

/* サイド内リンクは親幅にフィット */
html body .container nav > ul{ list-style:none; margin:0; padding:0; text-align:left; }
html body .container nav > ul > li{
  font-size:18px; letter-spacing:.025em; line-height:1.39; margin:0 0 15px; padding:0 10px;
}
html body .container nav > ul > li > a{
  display:block; width:100% !important; box-sizing:border-box;
  color:#2F2929 !important; font-family:"Sawarabi Gothic",sans-serif !important; padding:0 !important; text-decoration:none;
}
html body .container nav > ul > li:nth-of-type(-n+2){ margin:0 0 30px; padding:0; }
html body .container nav > ul > li:nth-of-type(-n+2) > a{
  background:url("https://img07.shop-pro.jp/PA01398/132/etc_base64/bWVudS1iZy1y.jpg?cmsp_timestamp=20241016100340") center top/cover no-repeat;
  border:0; color:#fff !important; font-family:"Sawarabi Mincho",serif !important;
  font-size:22px; height:50px; letter-spacing:.025em; line-height:50px; margin:0; padding:0 10px !important; text-align:left;
}
html body .container nav > ul > li:nth-last-of-type(3){ margin:0 0 30px; }
html body .container nav > ul > li:nth-last-of-type(-n+2){ margin:0 0 30px; }
html body .container nav > ul > li:nth-last-of-type(-n+2) > a{
  background:url("https://img07.shop-pro.jp/PA01398/132/etc_base64/bWVudS1iZy1i.jpg?cmsp_timestamp=20241028204948") center top/cover no-repeat;
  border:0; color:#fff !important; font-family:"Sawarabi Mincho",serif !important;
  font-size:22px; height:50px; letter-spacing:.025em; line-height:50px; margin:0; padding:0 10px !important; text-align:left;
}

/* メインカラム */
html body .container > main{ width:100%; }
@media (min-width:750px){ html body .container > main{ width:720px; } }

/* セクション：pickup */
.container > main .give-p{ margin:0 0 103px; }
.container > main .give-p img{ width:100%; height:auto; object-fit:cover; }

.container > main .pickup > h2{
  color:#A30101; font-size:28px; letter-spacing:.025em; line-height:1.4; margin:0 0 20px;
}
@media (max-width:767px){
  .container > main .pickup > h2{ font-size:22px; margin:0 0 14px; }
}
.container > main .pickup > div{
  display:flex; flex-wrap:wrap; justify-content:center; margin:0;
}
@media (min-width:750px){ .container > main .pickup > div{ justify-content:space-between; margin:0 0 37px; } }
.container > main .pickup > div a{
  display:block; width:330px; height:auto; margin:0 0 37px;
}
@media (min-width:750px){ .container > main .pickup > div a{ width:calc(50% - 5px); margin:0; } }
.container > main .pickup > div a img{ width:100%; height:auto; object-fit:cover; }
.container > main .pickup > a{ display:block; width:100%; height:auto; margin:0 auto 103px; }
@media (min-width:750px){ .container > main .pickup > a{ width:560px; } }
.container > main .pickup > a img{ width:100%; height:auto; object-fit:cover; }

/* セクション：recommend（h2をテキスト版に最適化） */
.container > main .recommend{ margin:0 0 117px; }
.container > main .recommend > h2{
  color:#A30101; font-size:28px; line-height:1.4; margin:0 0 20px; width:auto;
}
@media (max-width:767px){
  .container > main .recommend > h2{ font-size:22px; margin:0 0 14px; }
}
.container > main .recommend > a{
  color:#2F2929 !important; display:flex; flex-wrap:wrap; justify-content:space-between; margin:0 0 55px; text-decoration:none;
}
.container > main .recommend > a:hover{ opacity:.7; }
.container > main .recommend > a img{ width:100%; height:auto; object-fit:cover; order:2; }
@media (min-width:750px){ .container > main .recommend > a img{ width:390px; order:1; } }
.container > main .recommend > a > div{ width:100%; order:1; }
@media (min-width:750px){ .container > main .recommend > a > div{ width:310px; order:2; } }
.container > main .recommend > a > div h3{
  color:#A30101; font-size:28px; letter-spacing:.04em; line-height:1.39; margin:0 0 5px; text-align:left;
}
.container > main .recommend > a > div p{ text-align:left; }
.container > main .recommend > a > div p.catch{
  font-size:18px; letter-spacing:.025rem; line-height:1.47; margin:0 0 10px;
}
.container > main .recommend > a > div p.price,
.container > main .recommend > a > div p.explanation{
  font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400; letter-spacing:.025em; line-height:1.39; margin:0 0 12px;
}
.container > main .recommend > a > div p.explanation{
  line-height:1.53; margin:0 0 30px;
}
@media (min-width:750px){
  .container > main .recommend > a > div p.explanation{ margin:0; }
}
.container > main .recommend > div{
  display:flex; flex-wrap:wrap; justify-content:center;
}
@media (min-width:750px){ .container > main .recommend > div{ justify-content:space-between; } }
.container > main .recommend > div a{
  color:#2F2929 !important; display:block; font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400;
  letter-spacing:.025em; line-height:1.39; text-decoration:none; width:222px; margin:0 20px 20px;
}
@media (min-width:750px){ .container > main .recommend > div a{ margin:0; } }
.container > main .recommend > div a img{ width:222px; height:222px; object-fit:cover; margin:0 0 10px; }

/* セクション：bestseller */
.container > main .bestseller{ margin:0 0 120px; }
.container > main .bestseller > h2{
  color:#A30101; font-size:28px; letter-spacing:.025em; line-height:1.4; margin:0 0 20px;
}
@media (max-width:767px){
  .container > main .bestseller > h2{ font-size:22px; margin:0 0 14px; }
}
.container > main .bestseller > div{
  display:flex; flex-wrap:wrap; justify-content:center;
}
@media (min-width:500px){ .container > main .bestseller > div{ justify-content:space-between; } }
.container > main .bestseller > div a{
  color:#2F2929; display:block; font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400;
  letter-spacing:.025em; line-height:1.39; text-decoration:none; width:222px; margin:0 0 60px; position:relative;
}
@media (min-width:500px){ .container > main .bestseller > div a:nth-of-type(n+5){ margin:0; } }
@media (min-width:750px){ .container > main .bestseller > div a:nth-of-type(n+4){ margin:0; } }
.container > main .bestseller > div a img{ width:222px; height:222px; object-fit:cover; margin:0 0 10px; }
.container > main .bestseller > div a .num{
  background:#2F2929; color:#fff; font-family:"Zen Kaku Gothic New",sans-serif; font-size:24px; font-weight:400;
  height:40px; line-height:40px; width:40px; position:absolute; top:0; left:0; margin:0;
}
.container > main .bestseller > div a:first-of-type .num{ background:#FEB602; }
.container > main .bestseller > div a:nth-of-type(2) .num{ background:#B6B6B6; }
.container > main .bestseller > div a:nth-of-type(3) .num{ background:#AF6C3D; }
.container > main .bestseller > div a h3{
  color:#2F2929; font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400; letter-spacing:.025em; line-height:1.47; margin:0 0 10px; text-align:left;
}
.container > main .bestseller > div a .price{
  color:#A30101; font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400; letter-spacing:.025em; line-height:1.47; margin:0; text-align:left;
}

/* セクション：point */
.container > main .point{
  background:url("https://img07.shop-pro.jp/PA01398/132/etc_base64/cG9pbnQtYmc.jpg?cmsp_timestamp=20240717104233") center center/cover no-repeat;
  margin:0 0 100px; padding:60px 30px;
}
.container > main .point > h2{
  color:#A30101; font-size:28px; letter-spacing:.04em; line-height:1.4; margin:0 0 20px;
}
@media (max-width:767px){
  .container > main .point > h2{ font-size:22px; margin:0 0 14px; }
}
.container > main .point > p{
  color:#2F2929; font-family:"Sawarabi Gothic",sans-serif; font-size:18px; font-weight:400; line-height:1.47; margin:0 0 40px;
}
.container > main .point > a{
  background:#A30101; color:#fff !important; display:inline-block; font-size:18px; height:50px; line-height:50px; padding:0 40px; margin:0 auto 45px; text-decoration:none; width:auto;
}
.container > main .point > div{
  display:flex; flex-wrap:wrap; justify-content:center;
}
@media (min-width:750px){ .container > main .point > div{ justify-content:space-between; } }
.container > main .point > div a{ display:block; width:320px; height:200px; margin:0 0 20px; }
.container > main .point > div a img{ width:100%; height:100%; object-fit:cover; }

/* ヘッダー検索 / メガメニュー内側の幅（はみ出し防止） */
@media (min-width:1030px){
  .l-header-search__box,
  .l-main-navi.is-open .l-main-navi__in{
    box-sizing:border-box; left:0; right:0; width:auto !important; max-width:1200px; margin:0 auto;
  }
}
@media (max-width:1024px){
  .l-header-search__box,
  .l-main-navi.is-open .l-main-navi__in{
    box-sizing:border-box; left:15px; right:15px; width:auto !important; max-width:none; margin:0;
  }
}


/* NEWバッジ縮小（トップ：売れ筋エリア） */
html body .container main .bestseller > div img[alt*="NEW"],
html body .container main .bestseller > div img[alt*="新"],
html body .container main .bestseller > div img[src*="new"],
html body .container main .bestseller > div a + img{
  width: 64px !important;
  height: auto !important;
  display: inline-block;
  margin: 6px 0 10px;
}



/* お知らせセクション */
.oshirase {
  margin: 0 0 40px;
  text-align: center;
}

.oshirase > h2 {
  color: #A30101;
  font-size: 28px;
  line-height: 1.4;
  margin: 0 0 12px;
}

.oshirase > ul {
  width: min(100%, 900px);
  margin: 0 auto 30px;
  padding: 16px 20px;
  background: #fff;
  border: 2px solid #A30101;
  border-radius: 10px;
  list-style: none;
  text-align: left;
}

.oshirase > ul li {
  margin: 0 0 8px;
  line-height: 1.8;
}

/* スマホ用 */
@media (max-width: 767px) {
  .oshirase > h2 {
    font-size: 22px;
    margin-bottom: 10px;
  }
  .oshirase > ul {
    width: calc(100% - 24px);
    padding: 12px 14px;
  }
}



.katuo-newbox {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 980px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.katuo-newbox a {
  flex: 1 1 48%;
  max-width: 450px;
}

.katuo-newbox img {
  width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 768px) {
  .katuo-newbox a {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
