/* Adapted from the original templates_sm/shop and sm/css/new designs.
   Shared, escaped PHP content stays identical at every screen size. */
.mobile-only{display:none}
@media (min-width:601px),print{.mobile-only{display:none!important}}
@media screen and (max-width:600px){
  html{scroll-padding-top:58px}
  body{font:14px/1.5 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Helvetica,sans-serif;color:#333;padding-top:46px;-webkit-text-size-adjust:100%;overflow-wrap:anywhere}
  .mobile-only{display:block}
  body>.header,body>.nav{display:none}
  .mobile-header{position:fixed;top:0;left:0;right:0;height:45px;z-index:1000;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #ddd}
  .mobile-logo{padding-left:5px;display:block}
  .mobile-logo img{display:block;height:30px;width:auto;max-width:calc(100vw - 80px)}
  .mobile-menu summary{cursor:pointer;list-style:none;display:block;height:44px}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary img{display:block;height:44px;width:auto}
  .mobile-menu nav{position:absolute;top:45px;left:0;right:0;max-height:calc(100dvh - 45px);overflow-y:auto;overscroll-behavior:contain;padding:18px;background:#fff;box-sizing:border-box;border-bottom:1px solid #ddd;box-shadow:0 8px 12px #0002}
  .mobile-menu h2{font-size:14px;font-weight:bold;padding:8px;background:#eceff8;color:#cf1357;margin:0 0 12px}
  .mobile-menu ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 20px;list-style:none}
  .mobile-menu nav a{display:block;padding:12px 4px;text-align:center;text-decoration:none;color:#333;font-size:13px;border-bottom:1px solid #ddd}
  .mobile-menu ul a{border:1px solid #ddd;border-radius:3px;background:#faf8f5}
  .mobile-menu a:focus-visible,.shop_navi a:focus-visible{outline:2px solid #417f1f;outline-offset:-2px}
  .mobile-search-toggle{background:#faf8f5;border-bottom:1px solid #eee;text-align:right}
  .mobile-search-toggle button{background:transparent;border:0;padding:8px 12px;font:inherit;font-size:12px;text-decoration:underline;color:#3d7900;cursor:pointer}
  .page-shop #shop-search-panel{display:none}
  .page-shop #shop-search-panel.is-open{display:block}
  .page-shop #contents{padding:0}
  .page-shop #pankuz{margin:8px auto;width:95%;font-size:10px;line-height:1.6;display:flex;flex-wrap:wrap;gap:4px;list-style:none}
  .page-shop #pankuz li:not(:last-child)::after{content:' ›';color:#888}
  .page-shop #shop_contents_head{width:100%;margin:0;padding:10px 0 0}
  .page-shop #shop_tag_area,.page-shop #shop_catch_text,.page-shop #shop_name_tb td:not(.shop_name_td){display:none}
  .page-shop #shop_name_tel_area{width:95%;margin:0 auto;padding:0}
  .page-shop #shop_name_tb,.page-shop #shop_name_tb tbody,.page-shop #shop_name_tb tr,.page-shop #shop_name_tb .shop_name_td{display:block;width:100%;margin:0;padding:0;border:0;background:none}
  .page-shop #shop_ruby{font-size:10px;margin:0 0 4px;padding:0;color:#777}
  .page-shop #shop_name{border:0;width:100%;font-size:18px;font-weight:bold;margin:0 0 10px;line-height:1.5;padding:0}
  .page-shop #shop_category_area{color:#333;width:95%;margin:0 auto 20px;padding:0;font-size:13px;line-height:1.6}
  .page-shop #shop_category_area .category{margin-right:6px}
  .mobile-coupon-badge{width:95%;margin:0 auto 8px}
  .mobile-coupon-badge span{background:#f9bc06;color:#fff;border-radius:4px;font-size:13px;font-weight:bold;padding:4px}
  .page-shop #shop_navi_top,.page-shop .shop_navi{display:flex;justify-content:space-between;flex-wrap:nowrap;width:100%;padding:0;margin:0 0 10px;background:#faf8f5;border-top:1px solid #e0dccc;border-bottom:1px solid #eeece4;list-style:none}
  .page-shop .shop_navi li{background:none;flex:1;min-width:0;float:none;border:0;margin:0}
  .page-shop .shop_navi a{display:flex;align-items:center;justify-content:center;height:100%;box-sizing:border-box;padding:10px 2px;text-align:center;font-size:12px;letter-spacing:-.5px;text-decoration:none;line-height:1.5;color:#333}
  .page-shop .shop_navi a img{display:none}
  .page-shop .shop_navi .active a{color:#000;background:#66cc00;font-weight:bold}
  .page-shop #main_clm,.page-shop #shop_contents_main{float:none;width:100%;margin:0;padding:0}
  .page-shop .shop_content_box{width:100%;margin:0 0 30px;padding:0;border:0;background:none}
  .page-shop #shop_info_area{display:flex;flex-direction:column}
  .page-shop #shop_info_pic_area{display:block;width:90%;margin:0 auto 30px;float:none;padding:0;overflow:visible}
  .page-shop #shop_info_pic_group{display:block;width:100%;max-width:none;height:auto;aspect-ratio:4/3;background:#f5f5f5;margin:0 0 12px;overflow:hidden}
  .page-shop #shop_info_pic_group>a{width:100%;height:100%;box-sizing:border-box;padding:5px}
  .page-shop #shop_info_pic_group img{margin:0;display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;border:1px solid #ccc;box-sizing:border-box}
  .page-shop #shop_info_thumbnail_area{width:100%;height:auto;margin:0;padding:0;background:none}
  .page-shop #info_thumbnail_list{display:flex;width:100%;height:auto;overflow-x:auto;gap:5px;padding:2px 0;list-style:none;scrollbar-width:thin}
  .page-shop #info_thumbnail_list li{flex:0 0 calc(25% - 4px);height:auto;float:none;margin:0}
  .page-shop #info_thumbnail_list button{display:block;width:100%;height:auto;aspect-ratio:4/3;padding:0;cursor:pointer;background:#f5f5f5;border:2px solid transparent}
  .page-shop #info_thumbnail_list button[aria-pressed=true]{border-color:#66cc00}
  .page-shop #info_thumbnail_list img{margin:0;display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:cover}
  .shopContact{background:#faf8f5;padding:20px 0;margin:0 0 25px}
  .shopContact__btn{width:93%;margin:0 auto}
  .shopContact__btn a{display:block;text-align:center;background:#f93;border-radius:5px;padding:10px 4px;font-weight:bold;text-decoration:none;font-size:21px}
  .shopContact__btn a span{display:inline-block;background:url('/mobile/shop_marker_tel.png') no-repeat left center;background-size:25px auto;padding-left:35px;color:#fff;font-family:'Century Gothic',sans-serif}
  .shopContact__btn a.link_mail span{background-image:url('/mobile/shop_marker_mail.png')}
  .shopContact__txt{text-align:center;font-size:14px;margin-top:10px;line-height:1.5;padding:0 10px}
  .page-shop #shop_info_text_area{width:100%;float:none;margin:0;padding:0}
  .page-shop #shop_info_text_area>p{width:95%;margin:0 auto 0;font-size:14px;line-height:1.8}
  .page-shop #contents .shop_subtitle,.page-shop #contents .mobile-intro-title,.page-shop #contents .mobile-data-title{width:100%;box-sizing:border-box;background:#faf8f5;border:0;border-bottom:2px solid #ffda00;padding:10px;margin:0 0 20px;font-size:16px;font-weight:bold;line-height:1.6}
  .page-shop .shop_about_pic_list{width:95%;margin:0 auto 25px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 4%;list-style:none}
  .page-shop .shop_about_pic_list li{width:auto;float:none;margin:0;padding:0;min-width:0}
  .page-shop .shop_about_pic_list .pic{margin:0 0 5px}
  .page-shop #shop_info_about_area .pic img{display:block;width:100%;height:150px;object-fit:cover}
  .page-shop .shop_about_pic_list .caption{font-size:14px;line-height:1.6}
  .page-shop #shop_about_menu_title,.page-shop #shop_news_list,.page-shop #shop_info_coupon_list{width:95%;margin:0 auto 15px;list-style:none}
  .page-shop #shop_about_menu_title li,.page-shop #shop_news_list li,.page-shop #shop_info_coupon_list li{border:0;border-radius:0;border-bottom:1px solid #ccc;margin:0;padding:0}
  .page-shop #shop_about_menu_title a,.page-shop #shop_news_list a,.page-shop #shop_info_coupon_list a{display:block;padding:12px 8px;color:#333;text-decoration:none;font-size:14px;line-height:1.6}
  .page-shop #shop_news_more{width:95%;margin:0 auto;text-align:right;font-size:13px}
  .page-shop-information #main_clm{display:flex;flex-direction:column}
  .page-shop-information #shop_info_area{order:0}
  .page-shop-information #shop_info_about_area{order:1}
  .page-shop-information #shop_info_news_area{order:2}
  .page-shop-information #shop_info_coupon_area{order:3}
  .page-shop-information #shop_navi_bottom{order:4}
  .page-shop-information .mobile-data-title{order:5}
  .page-shop-information #shop_data_area{order:6}
  .page-shop #shop_data_tb{width:100%;margin:0 0 15px;table-layout:fixed;border-collapse:collapse;font-size:14px}
  .page-shop #shop_data_tb th{background:#faf8f5;width:35%;font-weight:bold}
  .page-shop #shop_data_tb td{width:65%;overflow-wrap:anywhere}
  .page-shop #shop_data_tb th,.page-shop #shop_data_tb td{box-sizing:border-box;padding:8px;vertical-align:top;border:0;border-bottom:1px solid #eeece4;line-height:1.6}
  .page-shop .shop_news_text{width:95%;margin:0 auto;font-size:14px;line-height:1.8}
  .page-shop .shop_menu_standard_area{display:flex;flex-direction:column;width:95%;margin:0 auto 20px;gap:14px}
  .page-shop .shop_menu_standard_text_area,.page-shop .shop_menu_standard_pic_area{float:none;width:100%;line-height:1.8}
  .page-shop .shop_menu_standard_pic img{max-width:100%;height:auto}
  .page-shop .shop_three_pic_area{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;width:95%;margin:auto;list-style:none}
  .page-shop .shop_three_pic_area li{width:100%;min-width:0}
  .page-shop .shop_three_pic_area img{width:100%;height:auto}
  .page-shop .shop_menu_price_tb,.page-shop .shop_menu_same_tb{width:95%;margin:0 auto;table-layout:fixed;line-height:1.7}
  .page-shop .shop_menu_price_tb td,.page-shop .shop_menu_same_tb td{padding:10px 6px;overflow-wrap:anywhere}
  .page-shop .shop_content_box>p{margin:0 auto 15px;width:95%;line-height:1.8}
  .page-shop #plain_text_bottom_area{width:95%;margin:25px auto;font-size:11px;line-height:1.6}
  .page-shop [id^=shop_menu_],.page-shop [id^=shop_news_],.page-shop [id^=shop_coupon_]{scroll-margin-top:55px}
  .page-shop #sidebar_clm{display:none}
}

/* Home page: original smartphone navigation, coupon cards and section styles. */
@media screen and (max-width:600px){
  .page-home .desktop-only{display:none!important}
  .mobile-home-lead{background:#fff}
  .mobile-home-visual{display:block;margin:0 0 15px}
  .mobile-home-visual img{display:block;width:100%;height:auto}
  .mobile-home-categories ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:95%;margin:0 auto 16px;padding:0;list-style:none;gap:12px 0}
  .mobile-home-categories li{min-width:0;text-align:center}
  .mobile-home-categories li a{display:flex;justify-content:center;align-items:center;text-decoration:none}
  .mobile-home-categories img{display:block;width:98%;max-width:88px;height:auto}
  .mobile-home-all{width:94%;max-width:84px;aspect-ratio:1;margin:auto;border:2px solid #bba170;border-radius:50%;font-size:14px;font-weight:bold;line-height:1.5;color:#675635;background:#fffaf1;box-sizing:border-box}
  .page-home-top>.site-search{background:#fff7f3;border-top:1px solid #f0e8df;border-bottom:1px solid #eee0d1}
  .page-home-top .site-search__inner{padding:14px 12px 18px}
  .page-home-top .site-search__heading{margin-bottom:8px}
  .page-home-top .site-search__heading h2{color:#7b5335;font-size:15px}
  .page-home-top .filter-row{margin:8px 0 12px}
  .page-home-top .filter-row h3{font-size:12px;margin-bottom:6px}
  .page-home-top a.filter-chip{padding:6px 10px;background:#fff;border-color:#d6cebc;font-size:12px}
  .page-home-top a.filter-chip.is-active{background:#58982c;border-color:#58982c}
  .page-home-top .keyword-search{align-items:flex-end;flex-wrap:nowrap;gap:8px;margin-top:12px}
  .page-home-top .keyword-search__word{flex:1 1 0;min-width:0}
  .page-home-top .keyword-search button{flex:0 0 auto;width:auto;padding:0 15px}
  .page-home #contents{padding:22px 0 0;background:#fff}
  .page-home #main_clm{width:100%;float:none;padding:0;margin:0}
  .page-home-top #main_clm{display:flex;flex-direction:column}
  .page-home-top .home-contents .mainVisual{display:none}
  .page-home-top .home-contents .couponBox{order:1}
  .page-home-top .home-contents .osusumeBox{order:2}
  .page-home-top .home-contents .newsBox{order:3}
  .page-home-top .home-contents .newsshopBox{order:4}
  .page-home-top .home-contents .home-affiliate-title,.page-home-top #top_otoku_area{order:5}
  .page-home-top .home-contents .areaBtns{order:6}
  .page-home-top .home-contents .category_all_tit,.page-home-top .home-contents .categoryAll{order:7}
  .page-home-top #main_admax_area{order:8}
  .page-home #contents .couponBox,.page-home #contents .newsBox,.page-home #contents .newsshopBox,.page-home #contents .osusumeBox{display:block;width:100%;margin:0 0 30px}
  .page-home #contents .areaBtns__tit,.page-home #contents .newsBox__tit,.page-home #contents .osusumeBox__tit,.page-home #contents .newsshopBox__tit,.page-home #contents .home-section-title,.page-home #contents .category_all_tit{width:100%;margin:0 0 20px;padding:10px;background:#faf8f5;border:0;border-bottom:2px solid #ffda00;font-size:16px;line-height:1.5;font-weight:bold;box-sizing:border-box}
  .page-home #contents .couponBox__tit{width:100%;height:33px;margin:6px 0 20px;padding:0;background:#f4953d url('/mobile/home/tit_coupon_bk.png') repeat-x;box-sizing:border-box}
  .mobile-coupon-title{position:relative;height:33px}
  .mobile-coupon-title img:first-child{position:absolute;width:151px!important;height:32px!important;max-width:none;top:-3px;left:10px}
  .mobile-coupon-title img:last-child{position:absolute;width:46px!important;height:8px!important;max-width:none;top:12px;right:12px}
  .page-home #contents .couponBox__lst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 4%;width:95%;margin:0 auto 22px;padding:0;list-style:none}
  .page-home-top #contents .couponBox__lst__item:nth-child(n+7){display:none}
  .page-home #contents .couponBox__lst__item{width:auto;min-width:0;margin:0;padding:0}
  .page-home #contents .couponBox__lst__item a{display:block;color:#333;text-decoration:none}
  .page-home #contents .couponBox__lst__item__pic{margin:0 0 6px;width:100%;border:1px solid #ccc;box-sizing:border-box}
  .page-home #contents .couponBox__lst__item__pic img{display:block;width:100%!important;height:130px;margin:0;object-fit:cover}
  .page-home #contents .couponBox__lst__item__tit{width:100%;margin:0 0 5px;padding:0;font-size:15px;font-weight:bold;line-height:1.6;color:#ff7200;background:none;text-decoration:none!important}
  .page-home #contents .couponBox__lst__item__name,.page-home #contents .couponBox__lst__item__cat,.page-home #contents .couponBox__lst__item__date{width:100%;margin:0 0 4px;font-size:13px;line-height:1.6}
  .page-home #contents .couponBox__lst__item__cat{color:#ff7200}
  .page-home #contents .home-image-empty{height:130px;font-size:14px}
  .page-home #contents .couponBox__lnk,.page-home #contents .newsBox__lnk,.page-home #contents .newsshopBox__lnk{width:95%;margin:0 auto;text-align:center}
  .page-home #contents .couponBox__lnk a,.page-home #contents .newsBox__lnk a,.page-home #contents .newsshopBox__lnk a{display:block;width:85%;padding:11px 8px;margin:auto;border:2px solid #3d7900;border-radius:5px;color:#3d7900;text-decoration:none;font-size:14px;font-weight:bold;line-height:1.5;box-sizing:border-box}
  .page-home #contents .osusumeBox{background:#ffece6}
  .page-home #contents .osusumeBox__tit{margin-bottom:0}
  .page-home #contents .osusumeBox__lst{display:block;width:95%;margin:0 auto;padding:12px 0;background:none;overflow:visible;list-style:none}
  .page-home #contents .osusumeBox__lst__item{width:100%;margin:0 0 12px;padding:0 0 12px;border-bottom:1px solid #ccc;box-sizing:border-box}
  .page-home #contents .osusumeBox__lst__item:last-child{margin:0;padding:0;border:0}
  .page-home #contents .osusumeBox__lst__item a{display:grid;grid-template-columns:35% minmax(0,1fr);gap:5px 10px;color:#333;text-decoration:none}
  .page-home #contents .osusumeBox__lst__item__pic{grid-column:1;grid-row:1/3;margin:0;width:100%}
  .page-home #contents .osusumeBox__lst__item__pic img{display:block;width:100%!important;height:auto;max-height:120px;object-fit:contain;margin:0}
  .page-home #contents .osusumeBox__lst__item__tit{grid-column:2;width:100%;padding:0;margin:0;font-size:15px;font-weight:bold;line-height:1.6;background:none}
  .page-home #contents .osusumeBox__lst__item__txt{grid-column:2;width:100%;margin:0;font-size:13px;line-height:1.6;color:#006dd9}
  .page-home #contents .newsBox__lst,.page-home #contents .newsshopBox__lst{display:block;width:95%;margin:0 auto 20px;padding:0;list-style:none}
  .page-home #contents .newsBox__lst__item,.page-home #contents .newsshopBox__lst__item{padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid #ccc}
  .page-home #contents .newsBox__lst__item a,.page-home #contents .newsshopBox__lst__item a{display:flex;gap:10px;text-decoration:none;color:#333}
  .page-home #contents .newsBox__lst__item__pic,.page-home #contents .newsshopBox__lst__item__pic{flex:0 0 35%;width:35%;margin:0}
  .page-home #contents .newsBox__lst__item__pic img,.page-home #contents .newsshopBox__lst__item__pic img{display:block;width:100%!important;height:auto;max-height:120px;object-fit:contain;margin:0}
  .page-home #contents .newsBox__lst__item__cnt,.page-home #contents .newsshopBox__lst__item__cnt{flex:1;min-width:0;padding:0}
  .page-home #contents .newsBox__lst__item__cnt__tit,.page-home #contents .newsshopBox__lst__item__cnt__tit{width:100%;padding:0;margin:0 0 5px;font-size:14px;line-height:1.6;color:#006dd9;font-weight:normal;text-decoration:underline}
  .page-home #contents .newsBox__lst__item__cnt__name,.page-home #contents .newsshopBox__lst__item__cnt__cat,.page-home #contents .newsshopBox__lst__item__cnt__date{width:100%;margin:0;font-size:13px;line-height:1.6}
  .page-home #contents .newsshopBox__lst__item__cnt__cat{color:#ff7200}
  .page-home #contents .areaBtns{display:block;width:100%;margin:0 0 30px}
  .page-home #contents .areaBtns__lst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 4%;width:95%;margin:0 auto;padding:0;list-style:none}
  .page-home #contents .areaBtns__lst__item{width:auto;min-width:0}
  .page-home #contents .areaBtns__lst__item:last-child{grid-column:1/-1}
  .page-home #contents .areaBtns__lst__item img{display:block;width:100%;height:auto;margin:0}
  .page-home #contents .categoryAll{width:95%;margin:0 auto 25px;padding:0;border:0;background:none}
  .page-home #contents .categoryAll__tit{display:flex;align-items:center;gap:10px;width:100%;padding:0;margin:0 0 12px;font-size:18px;line-height:1.5;font-weight:bold}
  .page-home #contents .categoryAll__tit img{display:block;width:35px;height:35px;object-fit:contain;margin:0}
  .page-home #contents .categoryAll__lst{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;margin:0 0 26px;padding:0;list-style:none}
  .page-home #contents .categoryAll__lst__item{min-width:0;padding:0;margin:0;background:none;font-size:14px;line-height:1.6}
  .page-home #contents .categoryAll__lst__item a{display:block;padding:8px 0;text-decoration:none;color:#333}
  .page-home #contents .home-ad{max-width:95%}
  .page-home #contents #plain_text_bottom_area{width:95%;margin:15px auto;padding:10px;font-size:12px;line-height:1.7}
}
