@charset "UTF-8";
/* TOP page only. Load after common2026.css and responsive.css. top_bnr.css is no longer needed. */
#container.front-page { width:100%; max-width:100%; }
.front-page, .front-page * { box-sizing:border-box; }
.front-page .front-contents { width:min(100% - 32px, 1000px); max-width:1000px; margin-inline:auto; padding-bottom:60px; contain:none; display:grid; grid-template-columns:minmax(0,490fr) minmax(0,235fr) minmax(0,235fr); gap:20px; align-items:start; }
.front-page .front-news, .front-page .front-search, .front-page .front-ookini { float:none; width:auto; min-width:0; margin:0; overflow:visible; }
.front-page .front-news .newsbox, .front-page .front-search .searchbox, .front-page .front-ookini .ookinibox { width:100%; float:none; }
.front-page .front-news .newsbox { overflow:auto; }
.front-page .front-search .searchbox { overflow:auto; overflow-x:hidden; }
.front-page .front-search form { min-width:0; }
.front-page .front-search input[type="text"] { max-width:100%; min-width:0; }
.front-page .front-ookini img { display:block; max-width:100%; height:auto; }
.front-page .front-wide { grid-column:1 / -1; min-width:0; }
.front-page .front-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.front-page .front-feature .irrebox { min-width:0; height:250px; }
.front-page .front-feature img { max-width:100%; height:auto; }
.front-page .front-feature .fb-page { max-width:100%; }
.front-page .front-catalog .box { min-width:0; }
.front-page .front-catalog .anyClass { width:100%; min-width:0; }
.front-page .front-catalog .catalog { min-width:0; }
.front-page .front-pickup { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.front-page .front-pickup .item { min-width:0; }
.front-page .front-pickup .item_img img { display:block; width:100%; height:auto; }
.front-page .front-banners { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.front-page .front-banners a { min-width:0; }
.front-page .front-banners img { display:block; width:100%; height:auto; }
.front-page .front-heading { width:180px; max-width:100%; }
/* Right-side sponsor banners: vertically centered and kept clear of back-to-top */
.front-page .front-sponsors {
  position: fixed;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 160px;
  z-index: 999;
}
.front-page .front-sponsors a[id^="rc_rightArea"] {
  position: relative;
  inset: auto;
  display: block;
  width: 160px;
  margin: 0;
  transition: transform .2s ease;
}
.front-page .front-sponsors a[id^="rc_rightArea"]:hover,
.front-page .front-sponsors a[id^="rc_rightArea"]:focus-visible {
  right: auto;
  transform: translateX(-20px);
}
.front-page .front-sponsors img {
  display: block;
  width: 100%;
  height: auto;
}
/* Hide fixed sponsor banners on tablet and mobile */
@media (max-width:1024px) {
  .front-page .front-sponsors { display: none; }
}
/* Tablet */
@media (max-width:900px) {
 .front-page .front-contents { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .front-page .front-news { grid-column:1 / -1; }
 .front-page .front-search, .front-page .front-ookini { grid-column:auto; }
 .front-page .front-pickup { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
/* Smartphone */
@media (max-width:768px) {
 #container.front-page { top:50px; }
 .front-page .front-contents { width:calc(100% - 24px); grid-template-columns:minmax(0,1fr); gap:22px; padding-bottom:35px; }
 .front-page .front-news, .front-page .front-search, .front-page .front-ookini, .front-page .front-wide { grid-column:1; }
 .front-page .front-news .newsbox, .front-page .front-search .searchbox, .front-page .front-ookini .ookinibox { height:auto; min-height:155px; }
 .front-page .front-news .newsbox { max-height:280px; }
 .front-page .front-search .searchbox { padding:14px; }
 .front-page .front-ookini .ookinibox { overflow:visible; }
 .front-page .front-feature { grid-template-columns:minmax(0,1fr); gap:14px; }
 .front-page .front-feature .irrebox { height:auto; min-height:220px; overflow:visible; }
 .front-page .front-feature .irrebox_l, .front-page .front-feature .irrebox_r { float:none; width:100%; }
 .front-page .front-feature .irrebox_l { margin-bottom:12px; }
 .front-page .front-feature .fb-page { width:100%; }
 .front-page .front-heading { width:100%; max-width:none; height:auto; min-height:44px; line-height:1.5; font-size:18px; margin:0 0 8px; padding:8px 12px; border-left:5px solid #383ca3; background:transparent; color:#171717; border-radius:0; text-align:left; }
 .front-page .front-heading--gold { border-left-color:#967c3b; }
 .front-page .front-catalog .tab { float:none; width:auto; max-width:100%; height:auto; min-height:40px; margin:0 0 8px; padding:8px 12px; line-height:1.5; text-align:left; border-radius:4px; }
 .front-page .front-catalog ul.btn { float:none; margin:0 0 10px; }
 .front-page .front-catalog ul.btn li { width:140px; }
 .front-page .front-catalog .box { clear:both; }
 .front-page .front-pickup { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px; }
 .front-page .front-pickup .item_txt { padding:10px; }
 .front-page .front-banners { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (max-width:420px) {
 .front-page .front-pickup { gap:8px; padding:8px; }
 .front-page .front-pickup .item_txt { padding:8px; }
 .front-page .front-pickup .item_txt p { font-size:14px; }
}


/* ========================================
   スマホ表示：商品検索・おおきに通信を非表示
======================================== */

@media screen and (max-width: 768px) {

  /* 商品検索 */
  .front-page .front-search {
    display: none;
  }

  /* おおきに通信 */
  .front-page .front-ookini {
    display: none;
  }

}