/* tabeZO blog リニューアル — 参考: ひとり旅メディアのマガジン型レイアウト（reference/<参考サイト>/SITE-NOTES.md）
   色・書体・カードの形・スライダーの型を学習して自作。文章・画像は tabezo.jp のもの。 */
:root{
  --bg:#f7f4ee;
  --white:#fff;
  --black:#26221e;
  --text:#26221e;
  --sub:#8c8378;
  --line:rgba(38,34,30,.12);
  --dot:#d9d2c5;
  --beige:#f3ece0;
  --yellow:#e2662a;
  --amber:#e2662a;
  --red:#e2662a;
  --c-post:#e2662a;     /* たべぞー公式レポート */
  --c-column:#f0954f;   /* グルメ調査 */
  --c-photo:#a39a8c;    /* 写真で探す */
  --c-request:#26221e;  /* リクエスト */
  --c-member:#999999;   /* 会員 */
  --footer:#26221e;
  --font:"Noto Sans JP",sans-serif;
  --en:"Baloo 2","Noto Sans JP",sans-serif;
  --card-w:327px;
  --side-w:351px;
  --gutter:80px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:150%;letter-spacing:.04em;overflow-x:clip;-webkit-font-smoothing:antialiased}
html.fixed main,html.fixed footer{display:none}
html.fixed #menu{display:block}
img{max-width:100%;height:auto;display:block;border-radius:0}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none;transition:.3s}
a:hover{opacity:.6}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
.f_baloo{font-family:var(--en)}
.clearfix::after{content:"";display:block;clear:both}
.sp{display:none}

/* ---------- 出現（控えめな追加演出） ---------- */
.rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv.is-in{opacity:1;transform:none}

/* ---------- ヘッダー ---------- */
#header-top{padding:6px 20px 4px;font-size:10px;letter-spacing:.08em;font-weight:500;display:flex;justify-content:space-between;align-items:center}
#header-top .site_description span{display:inline-block;padding-right:24px;position:relative}
#header-top .site_description span::before{content:"";width:1px;height:100%;background:rgba(38,34,30,.3);position:absolute;top:0;right:12px}
#header-top ul{display:flex;align-items:center;gap:12px}
#header-top ul img,#header-top ul svg{width:18px;height:18px}
header{padding:0 40px;margin-bottom:20px}
#header{position:relative;padding:15px 20px;display:flex;align-items:center;justify-content:space-between}
#logo img{width:180px}
#menubtn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:700;letter-spacing:.04em;width:204px;line-height:36px;text-align:center;cursor:pointer}
#menubtn span{padding-left:28px;position:relative}
#menubtn span::before{content:"";width:20px;height:14px;background:url("../images/site12/menu.svg") no-repeat center/contain;position:absolute;top:50%;left:0;transform:translateY(-50%)}
html.fixed #menubtn span::before{background-image:url("../images/site12/close.svg")}
.header__right{display:flex;align-items:center;font-size:12px;font-weight:700;letter-spacing:.04em}
.header__right .mailmagazine{margin:6px 20px}
.header__right .mailmagazine a,.pill_black{padding:0 20px 0 40px;display:inline-block;line-height:36px;color:#fff;background:var(--black);border:1px solid var(--black);border-radius:28px;position:relative;font-weight:700}
.header__right .mailmagazine a::before{content:"";width:14px;height:14px;background:url("../images/site12/user.svg") no-repeat center/contain;position:absolute;top:50%;left:18px;transform:translateY(-50%)}
.header__right .mailmagazine a:hover{background:#fff;color:var(--black);opacity:1}
.header__right .mailmagazine a:hover::before{background-image:url("../images/site12/user-b.svg")}
.today__date{display:flex;align-items:center;gap:7px;line-height:1}
.today__date .today{font-size:32px;font-weight:600;font-family:var(--en)}
.today__date span{display:block;font-size:12px;font-weight:400;font-family:var(--en)}
header>ul{text-align:center;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:58px}
header>ul li{font-size:14px;font-weight:700;letter-spacing:.08em}
header>ul li span{vertical-align:top;font-size:10px;font-weight:400;letter-spacing:.04em;margin-left:3px;font-family:var(--en)}

/* ---------- 全画面メニュー ---------- */
#menu{display:none;padding:40px 0}
#menu .inner{width:1146px;max-width:100%;margin:auto;display:flex;justify-content:space-between;flex-wrap:wrap}
#menu form.searchBox{position:relative;padding-bottom:40px;margin:0 106px 40px;width:calc(100% - 212px)}
#menu form.searchBox::before,#menu .box::before{content:"";width:100%;height:1px;position:absolute;background-image:linear-gradient(to right,var(--dot) 0,var(--dot) 3px,transparent 3px,transparent 6px);background-size:6px 1px;background-repeat:repeat-x;bottom:0;left:0}
#menu form.searchBox input{width:100%;height:56px;border:1px solid var(--line);border-radius:50px;padding:0 140px 0 24px;background:#fff;font-size:14px}
#menu form.searchBox button{position:absolute;top:8px;right:8px;height:40px;padding:0 24px;border-radius:40px;background:var(--black);color:#fff;font-size:12px;font-weight:700}
#menu .menu__left{width:674px;max-width:100%}
#menu .menu__right{width:417px;max-width:100%}
#menu .box{padding-bottom:40px;margin-bottom:40px;position:relative}
#menu .box:last-of-type{margin-bottom:0;padding-bottom:0}
#menu .box:last-of-type::before{display:none}
#menu .box .title{font-weight:700;font-size:12px;letter-spacing:.08em;margin-bottom:20px}
#menu ul.category__list{display:flex;flex-wrap:wrap;gap:32px 32px}
#menu ul.category__list li a,footer ul.category__list li a{letter-spacing:.08em;padding-left:28px;position:relative;font-weight:700;font-size:16px;display:inline-block}
#menu ul.category__list li a::before,footer ul.category__list li a::before{content:"";width:12px;height:12px;border-radius:50%;position:absolute;top:50%;left:0;transform:translateY(-50%);background:var(--c-post)}
li.column>a::before{background:var(--c-column)!important}
li.photo>a::before{background:var(--c-photo)!important}
li.request>a::before{background:var(--c-request)!important}
li.member>a::before{background:var(--c-member)!important}
#menu ul.category__list li a span,footer ul.category__list li a span{font-family:var(--en);font-size:12px;font-weight:400;margin-left:4px;letter-spacing:0}
#menu .post_tags{margin-bottom:32px}
#menu .post_tags li{margin-bottom:8px}
#menu .post_tags li a{font-size:12px;color:var(--black);font-weight:700}
#menu .post_tags li a::before{font-size:20px;margin-right:6px}
#menu a.category{margin:0 4px 4px 0;font-size:14px;line-height:22px;color:#fff;background:var(--black);border:1px solid var(--black)}
#menu a.category:hover{color:var(--black);background:#fff}
#menu .menu__btns{display:flex;flex-wrap:wrap;gap:12px 28px}
#menu .menu__btns a{font-size:14px;line-height:44px;padding:0 36px 0 24px;border:1px solid var(--line);border-radius:50px;display:inline-block;position:relative}
#menu .menu__btns a::before{content:"";width:12px;height:5px;background:url("../images/site12/arrow-more.svg") no-repeat center/contain;position:absolute;top:50%;right:16px;transform:translateY(-50%);transition:.3s}
#menu .menu__btns a:hover::before{right:12px}
#menu .feature{display:flex;flex-wrap:wrap;gap:12px}
#menu .feature li{width:200px}
#menu .menu__ig a{font-size:16px;font-weight:700;letter-spacing:.08em;line-height:160%;padding-left:40px;display:block;position:relative}
#menu .menu__ig a::before{content:"";width:24px;height:24px;background:url("../images/site12/ig.svg") no-repeat center/contain;position:absolute;top:50%;left:0;transform:translateY(-50%)}
#menu .menu__links{display:inline-block;vertical-align:top;margin-right:60px}
#menu .menu__links li{margin-bottom:16px}
#menu .menu__links li a{font-size:12px}
#menu .menu__related__service{display:inline-block;vertical-align:top}
#menu .menu__related__service li{margin-bottom:12px}
#menu .menu__related__service li a{font-size:12px}

/* ---------- main ---------- */
main{padding:0 var(--gutter) 120px}
.wrapper{position:relative;width:100%;display:flex;margin-bottom:200px;gap:0}
#main-col{width:calc(100% - var(--side-w))}
#side-col{width:var(--side-w);padding-left:60px}

/* ---------- 共通部品 ---------- */
.custom_post_name{float:right}
.custom_post_name a{line-height:26px;border-radius:4px;background:#fff;border:1px solid var(--line);font-size:12px;padding:0 16px 0 40px;position:relative;display:inline-block;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.custom_post_name a::before{content:"";width:12px;height:12px;border-radius:50%;position:absolute;top:50%;left:16px;transform:translateY(-50%);background:var(--c-post)}
.custom_post_name.column a::before{background:var(--c-column)}
.custom_post_name.photo a::before{background:var(--c-photo)}
.custom_post_name.request a::before{background:var(--c-request)}
.custom_post_name.member a::before{background:var(--c-member)}
.custom_post_name a:hover{opacity:1;color:var(--black)}
a.category{display:inline-block;background:var(--yellow);border:1px solid var(--yellow);color:var(--black);font-size:11px;font-weight:700;letter-spacing:.04em;line-height:20px;padding:0 10px;border-radius:4px;white-space:nowrap}
a.category:hover{opacity:1;color:var(--yellow);background:#fff}
.cat-author{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.cat-author .author a{display:flex;align-items:center;font-size:13px}
.cat-author .author img{object-fit:cover;border-radius:50%;border:1px solid #e7e7e7;margin-right:6px;aspect-ratio:1/1;width:26px;height:26px;background:#fff}
.post_tags{display:flex;flex-wrap:wrap;align-items:center}
.post_tags li{margin-right:8px;margin-bottom:2px;font-size:12px;letter-spacing:.04em;color:var(--sub);line-height:100%}
.post_tags li a{font-size:10px;letter-spacing:.04em;color:var(--sub);transition:.3s;display:inline-flex;align-items:center}
.post_tags li a::before{content:"#";font-family:var(--en);color:var(--yellow);font-size:16px;margin-right:3px;position:relative;top:1px;font-weight:400}
.post_tags li a:hover{opacity:1;color:var(--black)}
p.date{position:relative;padding-left:22px;font-size:12px;letter-spacing:.04em;line-height:1}
p.date time{font-family:var(--en);color:var(--text)}
p.date::before{content:"";width:16px;height:16px;border-radius:50%;background:url("../images/site12/time.svg") no-repeat center/contain;position:absolute;top:50%;left:0;transform:translateY(-50%)}
.moreposts__btn a{background:var(--black);color:#fff;font-size:14px;font-weight:700;padding:20px 136px 21px;position:relative;display:inline-block;border-radius:50px;z-index:11;line-height:1;white-space:nowrap}
.moreposts__btn a::before{content:"";width:16px;height:7px;position:absolute;top:50%;right:31px;transform:translateY(-50%);background:url("../images/site12/arrow-more-wh.svg") no-repeat center/contain}
.moreposts__btn a:hover{opacity:1;background:#fff;color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}
.moreposts__btn a:hover::before{background-image:url("../images/site12/arrow-more.svg")}
.morebtn{padding-right:43px;position:relative;display:inline-block}
.morebtn a{display:inline-block;padding:10px 20px;color:#fff;font-weight:700;font-size:12px;letter-spacing:.04em;background:var(--black);border-radius:40px;line-height:1}
.morebtn a::before{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:48px;height:23px;background:var(--black);border-radius:40px}
.morebtn a::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:16px;height:7px;background:url("../images/site12/arrow-more-wh.svg") no-repeat center/contain}
a.link_button{display:inline-block;border:1px solid var(--line);border-radius:50px;line-height:44px;padding:0 44px 0 24px;font-size:14px;position:relative;background:#fff}
a.link_button::before{content:"";width:16px;height:7px;background:url("../images/site12/arrow-more.svg") no-repeat center/contain;position:absolute;top:50%;right:14px;transform:translateY(-50%);transition:.3s}
a.link_button:hover{background:rgba(38,34,30,.04);opacity:1}
a.link_button:hover::before{right:10px}

/* ---------- メインスライダー ---------- */
#slide{margin:0 0 32px;position:relative}
#slide .owl-slider{border-radius:20px 20px 0 0;position:relative;background:var(--c-post);transition:background .5s ease;overflow:hidden;padding:34px 0 88px}
#slide.column .owl-slider{background:var(--c-column)}
#slide.photo .owl-slider{background:var(--c-photo)}
#slide.request .owl-slider{background:var(--c-request)}
#slide.member .owl-slider{background:var(--c-member)}
#slide .owl-slider::before{content:"";width:100%;height:calc(100% - 20px);position:absolute;top:0;left:0;background:url("../images/site12/slide-bg.svg") repeat center/420px;mix-blend-mode:color-burn;opacity:.28;pointer-events:none}
#slide .owl-slider::after{content:"";width:calc(100% + 2px);height:20px;position:absolute;bottom:-1px;left:-1px;background:url("../images/site12/wave.svg") repeat-x top center/80px 20px;pointer-events:none}
#slide .track{display:flex;align-items:flex-start;gap:64px;will-change:transform;transition:transform .5s cubic-bezier(.4,0,.2,1);position:relative;z-index:1}
#slide .track.no-anim{transition:none}
#slide .slide{background:#fff;width:976px;flex:none;border-radius:8px;position:relative;text-align:right}
#slide .slide .custom_post_name{position:absolute;top:-14px;left:20px;float:none;z-index:2}
#slide .slide .clearfix{display:flex;flex-direction:row-reverse;align-items:stretch}
#slide .img{width:530px;flex:none}
#slide .img a{display:block}
#slide .img img{width:530px;height:auto;object-fit:cover;aspect-ratio:530/354;border-radius:0 8px 0 8px}
#slide .post__text{width:calc(976px - 530px);padding:50px 40px 0;text-align:left}
#slide .post__text .title{font-size:32px;letter-spacing:.04em;font-weight:700;line-height:150%;margin-bottom:20px}
#slide .post__text .title a{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;height:auto;max-height:192px}
#slide .post__text .title a:hover{color:var(--red);opacity:1}
#slide .post_tags li{margin-bottom:4px}
#slide .post_tags li a{color:var(--black);font-size:12px}
#slide .post_tags li a::before{font-size:20px;margin-right:6px}
#slide p.date{display:inline-block;line-height:40px;padding-right:20px;padding-left:24px;margin-top:8px}
#slide p.date::before{left:0}
#slide .owl-nav button{position:absolute;top:calc(50% - 44px);width:36px;height:36px;border-radius:50%;background:var(--black);z-index:5;transition:.3s}
#slide .owl-nav button:hover{opacity:.6}
#slide .owl-nav button span{width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:url("../images/site12/slide-arrow.svg") no-repeat center/contain}
#slide .owl-nav .owl-prev{left:50%;margin-left:-536px}
#slide .owl-nav .owl-next{right:50%;margin-right:-536px;transform:rotate(180deg)}
#slide .owl-dots{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);background:var(--black);border-radius:20px;padding:12px 24px;display:flex;align-items:center;gap:8px;z-index:5;min-width:250px;justify-content:center}
#slide .owl-dots button{width:8px;height:8px;position:relative}
#slide .owl-dots button span{width:8px;height:1px;background:#fff;opacity:.4;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
#slide .owl-dots button.active{background:#fff;border-radius:50%}
#slide .owl-dots button.active span{width:2px;height:2px;background:var(--black);opacity:1;border-radius:50%}

/* ---------- 流れるタグ帯 ---------- */
.post_tags-slide{margin:0 calc(var(--gutter) * -1) 60px;overflow:hidden}
.post_tags-slide ul{display:flex;width:max-content;animation:tagflow var(--dur,20s) linear infinite}
.post_tags-slide ul:hover{animation-play-state:running}
.post_tags-slide .post_tags li{margin-right:16px;margin-bottom:0;flex:none;line-height:1.6}
.post_tags-slide ul{padding:4px 0}
.post_tags-slide .post_tags li a{font-size:12px;font-weight:700;color:var(--black)}
.post_tags-slide .post_tags li a::before{font-size:20px;margin-right:4px}
@keyframes tagflow{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- あたらしい記事 ---------- */
#newposts{margin-bottom:120px}
.titlewrap{margin-bottom:40px;position:relative;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
#newposts .titlewrap{padding:40px 0 0 20px}
#newposts .titlewrap::before{content:"";width:80px;height:41px;background:url("../images/site12/new.svg") no-repeat center/contain;position:absolute;top:0;left:0}
.titlewrap .title{font-size:32px;letter-spacing:.08em;font-weight:700;line-height:1.2}
.titlewrap__right{display:flex;align-items:center;gap:20px}
.titlewrap p{font-size:14px;letter-spacing:.04em;color:var(--sub);font-family:var(--en)}
.titlewrap p span{font-size:12px;font-family:var(--font)}
.posts{display:flex;flex-wrap:wrap;gap:40px 30px}
.posts>.post,.owl-item>.post{width:var(--card-w);background:#fff;border-radius:8px;position:relative;flex:none}
.post .img{position:relative;overflow:hidden;border-radius:8px 0 0 0}
.post .img img{border-radius:8px 0 0 0;width:calc(100% - 40px);height:auto;object-fit:cover;aspect-ratio:267/178;transition:.3s}
.post .img a:hover img{transform:scale(1.05)}
.post .img a:hover{opacity:1}
.post p.date{padding-left:0;padding-top:50px;writing-mode:vertical-rl;position:absolute;top:0;right:0;line-height:40px;margin:0}
.post p.date::before{top:26px;left:50%;transform:translate(-50%,0)}
.post .custom_post_name{position:absolute;top:0;right:-8px;transform:translateY(-50%);float:none;z-index:2}
.post .custom_post_name a{background:#fff;padding:0 16px 0 32px;color:var(--black)}
.post .custom_post_name a::before{width:8px;height:8px}
.post__text{padding:20px 20px 22px}
.post__text .title{font-size:18px;font-weight:700;letter-spacing:.08em;line-height:150%;margin-bottom:12px}
.post__text .title a{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;height:80px}
.post__text .title a:hover{color:var(--red);opacity:1}
#newposts .moreposts__btn{text-align:center}

/* ---------- サイド ---------- */
#side img{border-radius:4px}
.side__recommend_posts>.title{font-size:14px;font-weight:700;margin-bottom:32px;padding-left:44px;position:relative}
.side__recommend_posts>.title::before{content:"Pickup";font-family:var(--en);font-style:italic;font-weight:600;color:var(--amber);font-size:13px;position:absolute;top:50%;left:0;transform:translateY(-50%)}
.side__recommend_posts .post{padding-bottom:30px;margin-bottom:30px;position:relative;background:none;width:auto}
.side__recommend_posts .post::before{content:"";width:100%;height:1px;position:absolute;background-image:linear-gradient(to right,var(--dot) 0,var(--dot) 3px,transparent 3px,transparent 6px);background-size:6px 1px;background-repeat:repeat-x;bottom:0;left:0}
.side__recommend_posts .post:last-of-type{padding-bottom:40px;margin-bottom:40px}
.side__recommend_posts .post:last-of-type::before{background:var(--beige)}
.side__recommend_posts .post .title{font-size:16px;letter-spacing:.04em;line-height:150%;margin-bottom:12px;font-weight:700;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.side__recommend_posts .post .title a:hover{color:var(--red);opacity:1}
.side__recommend_posts .post .img{width:77px;float:left;margin-right:16px;border-radius:4px}
.side__recommend_posts .post .img img{width:100%;aspect-ratio:77/51;object-fit:cover;border-radius:4px}
.side__recommend_posts .post .post__text{float:left;width:calc(100% - 93px);padding:0}
.side__recommend_posts .post .post__text .cat-author{margin-bottom:12px}
.side__recommend_posts .post p.date{position:static;writing-mode:horizontal-tb;padding:0 0 0 22px;line-height:1}
.side__recommend_posts .post p.date::before{top:50%;left:0;transform:translateY(-50%)}
#side .banners{margin-bottom:40px}
#side .banners li{margin-bottom:20px}
#side .banners li:last-of-type{margin-bottom:0}
.bnr{display:flex;align-items:center;justify-content:center;text-align:center;aspect-ratio:291/131;border-radius:4px;color:#fff;font-weight:700;font-size:18px;letter-spacing:.1em;position:relative;overflow:hidden;background:#333 center/cover no-repeat}
.bnr::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.bnr span{position:relative;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.bnr small{display:block;font-family:var(--en);font-size:11px;letter-spacing:.2em;font-weight:600;opacity:.9;margin-bottom:6px}
.bnr.solid{background:var(--yellow);color:var(--black)}
.bnr.solid::before{content:none}
.bnr.solid span{text-shadow:none}
.bnr.ig{aspect-ratio:1/1;background:var(--black);flex-direction:column;gap:14px;padding:24px}
.bnr.ig::before{content:none}
.bnr.ig .badge{background:var(--c-post);color:#fff;font-size:12px;padding:4px 12px;border-radius:4px}
.bnr.ig .big{font-size:26px;line-height:1.4;background:#fff;color:var(--black);padding:6px 14px;display:inline-block}
.bnr.ig .cta{background:var(--c-post);color:#fff;border-radius:40px;padding:12px 24px;font-size:14px;width:100%}
#side .large__banner{margin-bottom:20px}

/* ---------- 下部 3 セクション（縦書き見出し・横スライダー） ---------- */
.top__bottom_posts{position:relative;padding-bottom:80px;margin-bottom:80px}
.top__bottom_posts:last-of-type{margin-bottom:200px;padding-bottom:0}
.top__bottom_posts::before{content:"";width:171px;height:calc(100% + 16px);background:var(--bg);position:absolute;top:-15px;left:calc(var(--gutter) * -1);z-index:10}
.top__bottom_posts::after{content:"";height:1px;width:100%;position:absolute;background-image:linear-gradient(to right,rgba(38,34,30,.2) 0,rgba(38,34,30,.2) 3px,transparent 3px,transparent 6px);background-size:6px 1px;background-repeat:repeat-x;bottom:0;left:0}
.top__bottom_posts:last-of-type::after{display:none}
.top__bottom_posts .titlebox{position:absolute;top:0;left:0;padding-top:50px;z-index:11}
.top__bottom_posts .titlebox::before{content:"";width:48px;height:38px;background:url("../images/site12/birds-y.svg") no-repeat center/contain;position:absolute;top:0;left:0}
.top__bottom_posts .titlebox.features::before{background-image:url("../images/site12/birds-b.svg")}
.top__bottom_posts .titlebox.members::before{background-image:url("../images/site12/birds-o.svg")}
.top__bottom_posts .titlebox .title{writing-mode:vertical-rl;font-size:24px;letter-spacing:.2em;position:relative;font-weight:700;line-height:1.2}
.top__bottom_posts .titlebox .title span{writing-mode:horizontal-tb;color:#fff;font-weight:700;font-size:14px;letter-spacing:.04em;padding:0 12px;line-height:21px;border-radius:16px;background:var(--amber);position:absolute;left:50%;transform:translateX(-50%);margin-top:12px;font-family:var(--en);white-space:nowrap}
.top__bottom_posts .titlebox.features .title span{background:var(--c-column)}
.top__bottom_posts .titlebox.members .title span{background:var(--black)}
.top__bottom_posts .lead{margin-left:91px;font-size:14px;font-weight:700;letter-spacing:.08em;margin-bottom:24px}
.hslider{padding-left:91px;margin-bottom:40px;position:relative}
.hslider .viewport{overflow:hidden;padding-top:14px;margin-bottom:24px;margin-right:calc(var(--gutter) * -1)}
.hslider .track{display:flex;gap:40px;will-change:transform;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.hslider .track.no-anim{transition:none}
.hslider .track>*{flex:none}
.hslider .track>.post{width:327px}
.hslider .track>li{display:block;list-style:none}
.hslider .ctrl{display:flex;align-items:center}
.hslider .owl-dots{display:flex;align-items:center;margin-right:8px}
.hslider .owl-dots button{margin-right:12px;font-family:var(--en);font-size:14px;font-weight:600;color:rgba(38,34,30,.2);line-height:1}
.hslider .owl-dots button.active{color:var(--black)}
.hslider .owl-nav{display:flex;gap:8px;margin-left:12px}
.hslider .owl-nav button{width:60px;height:28px;border:1px solid rgba(38,34,30,.2);border-radius:14px;position:relative;transition:.3s}
.hslider .owl-nav button:hover{background:rgba(38,34,30,.05)}
.hslider .owl-nav button span{display:block;width:16px;height:16px;background:url("../images/site12/arrow-slide-nav.svg") no-repeat center/contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}
.hslider .owl-nav button.owl-prev span{transform:translate(-50%,-50%) rotate(180deg)}
.top__bottom_posts .moreposts__btn{margin-left:91px;display:inline-block;vertical-align:middle}
.top__bottom_posts .otherpage__link{display:inline-block;vertical-align:middle;margin-left:80px;position:relative}
.top__bottom_posts .otherpage__link::before{content:"";width:1px;height:24px;background:var(--black);opacity:.2;position:absolute;top:50%;left:-40px;transform:translateY(-50%)}
.top__bottom_posts .otherpage__link a{font-size:12px;font-weight:700;text-decoration:underline;padding-right:66px;position:relative;display:inline-block;line-height:23px}
.top__bottom_posts .otherpage__link a::before{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:48px;height:23px;background:var(--black);border-radius:40px}
.top__bottom_posts .otherpage__link a::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:16px;height:7px;background:url("../images/site12/arrow-more-wh.svg") no-repeat center/contain}
.banners.hbanners .track>li{width:426px}
.feature_bnr{display:flex;align-items:center;justify-content:center;aspect-ratio:426/240;border-radius:8px;overflow:hidden;position:relative;color:#fff;text-align:center;background:#333 center/cover no-repeat}
.feature_bnr::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.15))}
.feature_bnr span{position:relative;font-size:26px;font-weight:700;letter-spacing:.12em;text-shadow:0 2px 14px var(--sub);border:2px solid rgba(255,255,255,.8);padding:8px 26px;border-radius:4px}
.feature_bnr small{position:absolute;bottom:14px;left:0;right:0;font-family:var(--en);font-size:12px;letter-spacing:.2em;opacity:.9}
.feature_bnr:hover{opacity:.85}

/* ---------- 会員登録帯（参考: Instagram 帯） ---------- */
#ig_banner{text-align:center}
#ig_banner .join{max-width:1352px;margin:0 auto;background:var(--beige);border-radius:16px;padding:60px 6% 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;text-align:left;position:relative;overflow:hidden}
#ig_banner .join::before{content:"tabeZO blog";position:absolute;right:-10px;bottom:-30px;font-family:var(--en);font-size:140px;font-weight:700;color:rgba(255,255,255,.55);letter-spacing:-.02em;white-space:nowrap;pointer-events:none}
#ig_banner .join .txt{position:relative;z-index:1;max-width:560px}
#ig_banner .join .txt .tag{display:inline-block;background:var(--black);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;border-radius:4px;margin-bottom:16px;font-family:var(--en);letter-spacing:.2em}
#ig_banner .join .txt h2{font-size:32px;line-height:1.5;font-weight:700;letter-spacing:.06em;margin-bottom:16px}
#ig_banner .join .txt p{font-size:14px;line-height:180%;margin-bottom:24px}
#ig_banner .join .txt ul{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px}
#ig_banner .join .txt ul li{font-size:13px;font-weight:700;padding-left:22px;position:relative}
#ig_banner .join .txt ul li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:14px;height:14px;border-radius:50%;background:var(--c-post)}
#ig_banner .join .btns{display:flex;gap:12px;flex-wrap:wrap}
#ig_banner .join .icon{position:relative;z-index:1;width:240px;flex:none}
#ig_banner .join .icon img{width:100%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.12))}

/* ---------- フッター ---------- */
footer{background:var(--footer);color:#fff;padding:120px var(--gutter) 60px}
footer nav{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;flex-wrap:wrap;gap:24px 60px}
footer #logo img{width:167px;filter:brightness(0) invert(1)}
footer ul.category__list{display:flex;flex-wrap:wrap;gap:16px 40px}
footer ul.category__list li a{font-size:14px;color:#fff}
footer ul.category__list li a span{color:rgba(255,255,255,.6)}
#f_tags{margin-bottom:60px}
#f_tags .post_tags-slide{margin:0 calc(var(--gutter) * -1) 32px}
#f_tags .post_tags-slide .post_tags li{margin-right:40px;line-height:1.5}
#f_tags .post_tags-slide .post_tags li a{font-size:32px;color:#fff;font-weight:700;letter-spacing:.08em}
#f_tags .post_tags-slide .post_tags li a::before{font-size:32px;margin-right:12px}
#f_tags>.post_tags li{margin-bottom:12px;margin-right:16px}
#f_tags>.post_tags li a{color:#fff;font-size:12px}
#f_tags>.post_tags li a::before{font-size:18px}
#footer{display:flex;flex-wrap:wrap;gap:40px 60px;align-items:flex-start;padding-top:40px;border-top:1px solid rgba(255,255,255,.1)}
#footer .mailmagazine{width:586px;max-width:100%;background:#fff;border-radius:8px;padding:20px 20px 24px;text-align:center;color:var(--black)}
#footer .mailmagazine .title{font-size:16px;font-weight:700;margin-bottom:20px}
#footer .mailmagazine>p{font-size:12px;letter-spacing:.08em}
#footer .mailmagazine_btn{margin-bottom:20px}
#footer .mailmagazine_btn a{padding:12px 22px 12px 42px;display:inline-block;line-height:1em;color:#fff;background:var(--black);border:1px solid var(--black);border-radius:28px;position:relative;font-weight:700;font-size:14px}
#footer .mailmagazine_btn a::before{content:"";width:14px;height:14px;background:url("../images/site12/user.svg") no-repeat center/contain;position:absolute;top:50%;left:20px;transform:translateY(-50%)}
#footer .mailmagazine_btn a:hover{background:#fff;color:var(--black);opacity:1}
#footer .mailmagazine_btn a:hover::before{background-image:url("../images/site12/user-b.svg")}
#footer .footer__links{flex:1;min-width:280px}
#footer .related__service{font-size:14px;margin-bottom:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#footer .related__service li:first-of-type span{display:inline-block;width:36px;text-align:center}
#footer .f_links{margin-bottom:40px;display:flex;flex-wrap:wrap;gap:8px 16px}
#footer .f_links li{font-size:12px}
#footer .f_sns{display:flex;gap:12px}
#footer .f_sns a{display:flex;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);align-items:center;justify-content:center}
#footer .f_sns svg{width:18px;height:18px}
#footer #copy{width:100%;text-align:right;font-size:14px;font-family:var(--en);color:rgba(255,255,255,.7)}

/* ---------- 下層共通 ---------- */
.page_head{padding:20px 0 0;margin-bottom:40px;position:relative}
.page_head .en{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--c-post);font-weight:600;margin-bottom:6px;display:block}
.page_head h1{font-size:32px;letter-spacing:.08em;font-weight:700;line-height:1.3}
.page_head p{font-size:14px;color:var(--sub);margin-top:8px}
.breadcrumb{font-size:12px;color:var(--sub);margin-bottom:24px;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb li:not(:last-child)::after{content:"›";margin-left:6px}
.narrow{max-width:800px;margin:0 auto}
.dotline{height:1px;background-image:linear-gradient(to right,var(--dot) 0,var(--dot) 3px,transparent 3px,transparent 6px);background-size:6px 1px;background-repeat:repeat-x;margin:40px 0}

/* ---------- 記事一覧 ---------- */
#archive .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;align-items:center}
#archive .filters a.category{background:#fff;border-color:var(--line);font-size:12px;line-height:28px;padding:0 14px;border-radius:50px}
#archive .filters a.category.current,#archive .filters a.category:hover{background:var(--black);border-color:var(--black);color:#fff}
#archive .filters .sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px}
#archive .filters select{height:32px;border:1px solid var(--line);border-radius:50px;padding:0 32px 0 14px;background:#fff url("../images/site12/arrow-more.svg") no-repeat right 12px center/12px 5px;appearance:none;font-size:12px}
#archive .searchBox{position:relative;margin-bottom:32px;max-width:420px;margin-left:auto}
#archive .searchBox input{width:100%;height:40px;border:1px solid var(--line);border-radius:50px;padding:0 40px 0 40px;background:#fff url("../images/site12/search.svg") no-repeat 14px center/16px;font-size:13px}
#archive .posts{margin-bottom:60px}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;font-family:var(--en);font-size:14px}
.pagination a,.pagination span{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:600}
.pagination .cur{background:var(--black);color:#fff}
.pagination .nav{border:1px solid rgba(38,34,30,.2);width:60px;border-radius:18px}

/* ---------- 記事詳細 ---------- */
#single{max-width:800px;margin:0 auto;padding-top:20px}
#single .cats{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
#single h1{font-size:32px;line-height:150%;letter-spacing:.06em;font-weight:700;margin-bottom:20px}
#single .meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:28px;font-size:13px}
#single .meta .author{display:flex;align-items:center;gap:8px;font-weight:700}
#single .meta .author img{width:32px;height:32px;border-radius:50%;border:1px solid #e7e7e7;background:#fff}
#single .meta .views{color:var(--sub);font-family:var(--en)}
#single .hero img{border-radius:8px;aspect-ratio:800/500;object-fit:cover;width:100%;margin-bottom:24px}
#single .pr{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 16px 14px 48px;font-size:11px;line-height:1.7;color:var(--sub);position:relative;margin-bottom:40px}
#single .pr::before{content:"PR";position:absolute;left:14px;top:14px;background:var(--beige);font-family:var(--en);font-weight:700;font-size:11px;padding:2px 6px;border-radius:3px;color:var(--black)}
#toc_container{background:#fff;border-radius:8px;padding:24px 28px;margin-bottom:48px;position:relative}
#toc_container .toc_title{font-weight:700;font-size:14px;letter-spacing:.08em;padding-left:22px;position:relative;margin-bottom:16px}
#toc_container .toc_title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--c-post)}
#toc_container .toc_title small{font-family:var(--en);font-weight:600;color:var(--sub);margin-left:6px}
#toc_container .tcd_toc_btn{position:absolute;right:20px;top:20px;font-size:12px;border:1px solid var(--line);border-radius:50px;padding:6px 16px;background:#fff}
#toc_container ul.toc_list{display:none;counter-reset:toc}
#toc_container ul.toc_list.open{display:block}
#toc_container ul.toc_list li{font-size:13px;line-height:1.6;padding:8px 0 8px 36px;position:relative;border-top:1px dotted var(--dot)}
#toc_container ul.toc_list li::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:9px;font-family:var(--en);font-weight:600;color:var(--c-post);font-size:13px}
#toc_container ul.toc_list li a:hover{color:var(--red);opacity:1}
.post_content{font-size:16px;line-height:200%;letter-spacing:.04em}
.post_content h2{font-size:24px;line-height:150%;letter-spacing:.06em;font-weight:700;margin:64px 0 24px;padding:0 0 12px 20px;position:relative;border-bottom:1px solid var(--black)}
.post_content h2::before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:var(--yellow)}
.post_content h2.sub{font-size:18px;border-bottom:0;padding:0 0 0 16px;margin:40px 0 12px}
.post_content h2.sub::before{width:6px;height:6px;top:12px;background:var(--black);border-radius:0}
.post_content p{margin-bottom:24px}
.post_content img{border-radius:8px;width:100%;margin:8px 0 24px}
.post_content ul.points li{position:relative;padding-left:20px;margin-bottom:8px;font-size:15px}
.post_content ul.points li::before{content:"";position:absolute;left:2px;top:12px;width:8px;height:8px;border-radius:50%;background:var(--c-post)}
.post_content .shop{background:#fff;border-radius:8px;padding:24px;margin:24px 0 32px;border:1px solid var(--line)}
.post_content .shop .lab{font-family:var(--en);font-size:11px;letter-spacing:.2em;color:var(--c-post);font-weight:600}
.post_content .shop .name{font-size:18px;font-weight:700;margin:4px 0 14px}
.post_content .shop dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg);border-radius:6px;padding:14px 16px;margin-bottom:14px}
.post_content .shop dt{font-size:10px;color:var(--sub)}
.post_content .shop dd{font-size:14px;font-weight:700;line-height:1.5}
.post_content .shop .map{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:50px;padding:6px 14px 6px 30px;position:relative;background:#fff}
.post_content .shop .map::before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--c-post)}
.post_content .urlcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 20px;margin:0 0 32px;font-size:14px}
.post_content .urlcard .u{font-family:var(--en);font-size:10px;font-weight:700;background:var(--beige);padding:4px 8px;border-radius:4px;letter-spacing:.1em}
.post_content .urlcard b{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post_content .urlcard small{color:var(--sub);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post_content .urlcard i{margin-left:auto;font-style:normal;font-family:var(--en)}
.post_content .urlcard:hover{opacity:1;background:var(--beige)}
.user_profile{display:flex;gap:20px;align-items:flex-start;background:#fff;border-radius:8px;padding:24px;margin:60px 0 40px}
.user_profile img{width:64px;height:64px;border-radius:50%;border:1px solid #e7e7e7;flex:none}
.user_profile .name{font-weight:700;font-size:16px;margin-bottom:6px}
.user_profile p{font-size:13px;line-height:1.8;color:var(--sub)}
.save_box{background:#fff;border-radius:8px;padding:28px;text-align:center;margin-bottom:60px}
.save_box .t{font-weight:700;font-size:16px;margin-bottom:8px}
.save_box p{font-size:12px;color:var(--sub);margin-bottom:16px}
.prevnext{display:flex;justify-content:space-between;gap:20px;margin:0 0 80px}
.prevnext a{flex:1;background:#fff;border-radius:8px;padding:16px 20px;font-size:13px;line-height:1.6}
.prevnext a small{display:block;font-family:var(--en);color:var(--sub);font-size:11px;margin-bottom:4px;letter-spacing:.1em}
.prevnext a.next{text-align:right}
#related .titlewrap .title{font-size:24px}
#related .posts{justify-content:flex-start}

/* ---------- 写真で探す ---------- */
.photo_grid{columns:4 260px;column-gap:20px}
.photo_grid figure{break-inside:avoid;margin-bottom:20px;background:#fff;border-radius:8px;overflow:hidden;position:relative}
.photo_grid figure img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.3s;cursor:zoom-in}
.photo_grid figure:hover img{transform:scale(1.04)}
.photo_grid figcaption{padding:14px 16px 16px}
.photo_grid figcaption .place{font-weight:700;font-size:14px;margin-bottom:4px}
.photo_grid figcaption .area{font-size:11px;color:var(--sub);margin-bottom:10px}
.photo_grid figcaption .ttl{font-size:12px;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin-bottom:10px}
.photo_grid figcaption .cnt{position:absolute;top:10px;right:10px;background:var(--sub);color:#fff;font-family:var(--en);font-size:11px;padding:2px 8px;border-radius:10px}
dialog.lightbox{border:0;background:transparent;padding:0;max-width:90vw;max-height:90vh}
dialog.lightbox::backdrop{background:rgba(0,0,0,.85)}
dialog.lightbox img{max-width:90vw;max-height:80vh;border-radius:8px}
dialog.lightbox p{color:#fff;text-align:center;margin-top:12px;font-size:13px}
dialog.lightbox button{position:absolute;top:-40px;right:0;color:#fff;font-size:24px}

/* ---------- フォーム（お問い合わせ・リクエスト・登録・ログイン） ---------- */
.form_wrap{background:#fff;border-radius:8px;padding:40px;max-width:800px;margin:0 auto}
.form_wrap h2{font-size:18px;font-weight:700;margin:0 0 20px;padding-left:22px;position:relative}
.form_wrap h2::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--c-request)}
.form_wrap .row{margin-bottom:20px}
.form_wrap .row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form_wrap label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.form_wrap label .req{color:var(--red);margin-left:4px}
.form_wrap input[type=text],.form_wrap input[type=email],.form_wrap input[type=tel],.form_wrap input[type=password],.form_wrap input[type=url],.form_wrap select,.form_wrap textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:14px;background:var(--bg)}
.form_wrap textarea{min-height:160px;resize:vertical}
.form_wrap small{display:block;font-size:11px;color:var(--sub);margin-top:6px}
.form_wrap .agree{font-size:13px;text-align:center;margin:28px 0 20px}
.form_wrap .agree a{text-decoration:underline}
.form_wrap .btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.form_wrap .btns button.primary{background:var(--black);color:#fff;border-radius:50px;padding:16px 56px;font-weight:700;font-size:14px;transition:.3s;border:1px solid var(--black)}
.form_wrap .btns button.primary:hover{background:#fff;color:var(--black)}
.form_wrap .btns a.back{line-height:50px;padding:0 24px;border:1px solid var(--line);border-radius:50px;font-size:13px;background:#fff}
.form_wrap .divider{text-align:center;color:var(--sub);font-size:12px;margin:24px 0;position:relative}
.form_wrap .divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line);z-index:0}
.form_wrap .divider span{background:#fff;padding:0 12px;position:relative}
.auth{display:flex;gap:60px;align-items:stretch;max-width:1100px;margin:0 auto}
.auth .copy{flex:1;background:var(--c-post);color:#fff;border-radius:20px;padding:60px 48px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.auth.login .copy{background:var(--black)}
.auth .copy::before{content:"";position:absolute;inset:0;background:url("../images/site12/slide-bg.svg") repeat center/420px;mix-blend-mode:color-burn;opacity:.28}
.auth .copy>*{position:relative}
.auth .copy .en{font-family:var(--en);font-size:14px;letter-spacing:.3em;font-weight:600;margin-bottom:16px}
.auth .copy h2{font-size:32px;line-height:1.5;margin-bottom:16px;font-weight:700}
.auth .copy p{font-size:14px;line-height:1.9;margin-bottom:24px}
.auth .copy ul li{font-size:14px;font-weight:700;padding-left:26px;position:relative;margin-bottom:10px}
.auth .copy ul li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:#fff}
.auth .copy img{width:140px;margin-top:30px}
.auth .form_wrap{flex:1;max-width:none}
.auth .form_wrap .en{font-family:var(--en);font-size:12px;letter-spacing:.3em;color:var(--sub);font-weight:600}
.auth .form_wrap h1{font-size:28px;font-weight:700;margin-bottom:4px}
.auth .form_wrap>p{font-size:13px;color:var(--sub);margin-bottom:24px}
.check{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400}
.request_intro{display:flex;gap:40px;align-items:center;background:#fff;border-radius:8px;padding:32px 40px;max-width:800px;margin:0 auto 32px}
.request_intro img{width:110px;flex:none}
.request_intro h2{font-size:20px;font-weight:700;margin-bottom:8px}
.request_intro p{font-size:14px;line-height:1.9}
.notice_login{background:var(--beige);border-radius:8px;padding:14px 20px;font-size:13px;margin-bottom:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.notice_login a{text-decoration:underline;font-weight:700}

/* ---------- プライバシー ---------- */
.privacy{background:#fff;border-radius:8px;padding:48px;max-width:800px;margin:0 auto;font-size:14px;line-height:1.9}
.privacy h2{font-size:18px;font-weight:700;margin:40px 0 12px;padding-left:16px;border-left:4px solid var(--yellow)}
.privacy h2:first-of-type{margin-top:0}
.privacy p{margin-bottom:12px}
.privacy ol{padding-left:1.6em;list-style:decimal;margin-bottom:12px}
.privacy li{margin-bottom:4px}

/* ======================= レスポンシブ（参考と同じ段） ======================= */
@media screen and (max-width:1640px){:root{--card-w:calc((100% - 60px) / 3)}}
@media screen and (max-width:1400px){
  #slide{margin:0 -40px 32px}
  .post_tags-slide{margin:0 -40px 60px}
  footer{padding:120px 40px}
  #f_tags .post_tags-slide{margin:0 -40px 32px}
  #footer .mailmagazine{width:486px}
  :root{--gutter:40px}
  main{padding:0 40px 120px}
  .hslider .viewport{margin-right:-40px}
  .top__bottom_posts::before{left:-40px;width:131px}
}
@media screen and (max-width:1280px){#slide .owl-nav .owl-prev{margin-left:0;left:16px}#slide .owl-nav .owl-next{margin-right:0;right:16px}}
@media screen and (max-width:1200px){:root{--side-w:281px}#side-col{padding-left:40px}.wrapper{margin-bottom:120px}}
@media screen and (max-width:980px){
  :root{--card-w:calc((100% - 30px) / 2)}
  .wrapper{flex-direction:column}
  #main-col,#side-col{width:100%;padding-left:0}
  #side-col{margin-top:60px}
  #side .banners{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  #side .banners li{margin:0}
  .auth{flex-direction:column;gap:24px}
  #ig_banner .join{flex-direction:column;text-align:center;align-items:center}
  #ig_banner .join .txt ul{justify-content:center}
  #ig_banner .join .btns{justify-content:center}
  header>ul{gap:28px;flex-wrap:wrap}
}
@media screen and (max-width:800px){
  .sp{display:block}.pc{display:none}
  body{overflow-x:clip}
  header{padding:0 16px 0 10px;background:var(--bg);margin-bottom:0}
  header>ul,#header .header__right,#header-top ul{display:none}
  #header-top{padding:3px 20px 5px}
  #header-top .site_description{transform:scale(.8) translateX(-15%);white-space:nowrap}
  #header{padding:16px 0 0}
  #logo img{width:140px}
  #menubtn{position:fixed;top:30px;right:16px;left:unset;transform:unset;width:48px;height:48px;border-radius:50%;background:var(--c-post) url("../images/site12/menu-w.svg") no-repeat center/22px;z-index:100;line-height:48px}
  html.fixed #menubtn{background-image:url("../images/site12/close-w.svg")}
  #menubtn span{display:none}
  #menu{padding:0 16px 40px}
  #menu .inner{width:100%;flex-direction:column}
  #menu form.searchBox{margin:0 0 40px;width:100%}
  #menu .menu__left,#menu .menu__right{width:100%}
  #menu ul.category__list{flex-direction:column;gap:20px}
  #menu .menu__btns a{font-size:12px;display:block;padding:0 0 0 20px}
  #menu .feature{gap:8px}#menu .feature li{width:calc((100% - 8px) / 2)}
  :root{--gutter:16px;--card-w:calc((100% - 12px) / 2)}
  main{padding:0 16px 100px}
  #slide{margin:0 -16px 32px;padding-top:16px}
  #slide .owl-slider{border-radius:20px 20px 0 0;padding:34px 0 88px}
  #slide .track{gap:20px}
  #slide .slide{width:calc(100vw - 128px)}
  #slide .slide .clearfix{flex-direction:column}
  #slide .img,#slide .img img{width:100%}
  #slide .img img{border-radius:8px 8px 0 0}
  #slide .post__text{width:100%;padding:20px 20px 0}
  #slide .post__text .title{font-size:20px}
  #slide .post__text .title a{-webkit-line-clamp:3}
  #slide .slide .custom_post_name{left:8px}
  #slide .owl-nav button{top:35%}
  #slide .owl-nav .owl-next{right:12px}#slide .owl-nav .owl-prev{left:12px}
  .post_tags-slide{margin:0 -16px 60px}
  .titlewrap .title{font-size:24px}
  #newposts .titlewrap{padding-left:0;display:block}
  #newposts .titlewrap::before{width:64px;left:-8px}
  #newposts .titlewrap__right{margin-top:20px}
  #newposts{margin-bottom:100px}
  .posts{gap:32px 12px}
  .post .img img{width:calc(100% - 32px)}
  .post p.date{padding-top:34px;line-height:32px;font-size:10px}
  .post p.date::before{top:18px;width:10px;height:10px}
  .post .cat-author{margin-bottom:10px;flex-direction:column;align-items:flex-start}
  .post .post__text{padding:12px}
  .post .post__text .title{font-size:16px}
  .post .post__text .title a{height:76px}
  .moreposts__btn a{padding:20px 80px 21px}
  #side .banners{grid-template-columns:1fr}
  .top__bottom_posts{margin-right:-16px;padding-bottom:40px;margin-bottom:40px}
  .top__bottom_posts::before{display:none}
  .top__bottom_posts::after{width:calc(100% - 16px);left:0}
  .top__bottom_posts:last-of-type{margin-bottom:100px}
  .top__bottom_posts .lead{margin-left:0;margin-right:16px;line-height:1.4em}
  .top__bottom_posts .titlebox{position:relative;padding-left:50px;padding-top:0;margin-bottom:20px;margin-right:16px}
  .top__bottom_posts .titlebox::before{width:40px;top:50%;transform:translateY(-50%)}
  .top__bottom_posts .titlebox .title{writing-mode:horizontal-tb;line-height:1.4em;letter-spacing:.1em}
  .top__bottom_posts .titlebox .title span{position:static;transform:translateY(-2px);display:inline-block;margin-top:0;margin-left:8px}
  .hslider{padding-left:0;margin-bottom:32px}
  .hslider .viewport{margin-right:0}
  .hslider .track{gap:20px}
  .hslider .track>.post{width:280px}
  .banners.hbanners .track>li{width:320px}
  .top__bottom_posts .moreposts__btn{margin-left:0;text-align:center;width:calc(100% - 16px);display:block}
  .top__bottom_posts .otherpage__link{display:block;margin-left:0;margin-top:20px;text-align:center}
  .top__bottom_posts .otherpage__link::before{display:none}
  #ig_banner .join{padding:40px 20px;border-radius:12px}
  #ig_banner .join::before{font-size:70px}
  #ig_banner .join .txt h2{font-size:24px}
  #ig_banner .join .icon{width:160px}
  footer{padding:80px 16px 40px}
  footer nav{flex-direction:column;align-items:flex-start;gap:32px}
  footer #logo{width:100%;text-align:center}
  footer #logo img{margin:0 auto}
  footer ul.category__list{flex-direction:column;gap:20px;position:relative;width:100%}
  #f_tags .post_tags-slide{margin:0 -16px 32px}
  #f_tags .post_tags-slide .post_tags li a{font-size:24px}
  #footer{gap:32px}
  #footer .mailmagazine{width:100%;padding:16px 16px 20px}
  #footer .mailmagazine .title{line-height:1.4em;margin-bottom:12px}
  #footer .mailmagazine>p{font-size:10px;letter-spacing:.02em}
  #footer .f_links li{line-height:2em}
  #footer #copy{text-align:center;font-size:12px}
  .page_head h1{font-size:24px}
  #archive .filters .sort{margin-left:0;width:100%}
  #archive .searchBox{max-width:none;margin-left:0}
  #single h1{font-size:22px}
  #single .hero img{aspect-ratio:4/3}
  .post_content{font-size:15px;line-height:190%}
  .post_content h2{font-size:20px;margin:48px 0 20px}
  .post_content .shop dl{grid-template-columns:1fr}
  .post_content .urlcard{padding:12px 14px;gap:10px}
  .post_content .urlcard small{display:none}
  .prevnext{flex-direction:column}
  .form_wrap{padding:24px 20px}
  .form_wrap .row.two{grid-template-columns:1fr}
  .auth .copy{padding:40px 24px}
  .auth .copy h2{font-size:24px}
  .request_intro{flex-direction:column;text-align:center;padding:24px}
  .privacy{padding:24px 20px}
  .photo_grid{columns:2 150px;column-gap:12px}
  .photo_grid figure{margin-bottom:12px}
}
@media screen and (max-width:450px){
  #slide .slide{width:calc(100vw - 72px)}
  #slide .post__text .title{font-size:18px}
  .moreposts__btn a{padding:18px 64px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){
  .post_tags-slide ul{animation:none}
  .rv{opacity:1;transform:none;transition:none}
  *{transition-duration:0s!important}
}

/* ======================= Laravel 版で追加した部品（site12 の配色・書体に合わせる） ======================= */
.is-hidden{display:none!important}
.flash{max-width:1100px;margin:0 auto 24px;padding:14px 20px;border-radius:8px;font-size:13px;background:#fff;border:1px solid var(--line)}
.flash--success{border-color:var(--c-post);color:var(--black)}
.flash--error{border-color:#c0392b;color:#c0392b}
.toast{position:fixed;top:20px;right:20px;z-index:1000;background:var(--black);color:#fff;font-size:13px;padding:12px 20px;border-radius:50px;transform:translateX(120%);transition:transform .3s;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.toast.is-in{transform:none}
.toast--success{background:var(--c-post)}
.toast--error{background:#c0392b}

/* --- ヘッダーの日付は PHP で当日を入れ、JS でも上書きする --- */
#menu .menu__links li form button{font-size:12px;padding:0}

/* --- 記事一覧の追加（絞り込み・空表示・広告） --- */
#archive details.refine{margin-bottom:32px;font-size:12px}
#archive details.refine summary{cursor:pointer;color:var(--sub);list-style:none;display:inline-block;padding:0 14px;line-height:28px;border:1px solid var(--line);border-radius:50px;background:#fff}
#archive details.refine summary::-webkit-details-marker{display:none}
#archive details.refine[open] summary{background:var(--black);color:#fff;border-color:var(--black)}
#archive .refine__form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:16px;background:#fff;border-radius:8px;padding:20px}
#archive .refine__form label{font-weight:700;font-size:12px;display:flex;flex-direction:column;gap:6px;min-width:180px}
#archive .refine__form select{height:36px;font-weight:400}
#archive .refine__form .pill_black{line-height:36px;font-size:12px;padding:0 20px}
#archive .refine__reset{font-size:12px;text-decoration:underline;color:var(--sub)}
#archive .empty{background:#fff;border-radius:8px;padding:56px 24px;text-align:center;margin-bottom:60px}
#archive .empty h2{font-size:18px;font-weight:700;margin-bottom:8px}
#archive .empty p{font-size:13px;color:var(--sub)}
.archive__ad,.side__ad,.post__ad{margin:32px 0}
.archive__ad .text-xs,.side__ad .text-xs,.post__ad .text-xs{font-size:10px;color:var(--sub);margin-bottom:6px;text-align:center}
.pagination .nav.is-disabled{opacity:.3}

/* --- 記事詳細の追加ブロック --- */
#single .meta p.date{padding-left:22px}
#single .cats .custom_post_name{float:none}
#toc_container .toc_list li a.is-active{color:var(--c-post);font-weight:700}
#toc_container .toc_list li a small{color:var(--sub);font-size:11px}
.post_content .lead{font-size:17px;font-weight:500;line-height:190%;margin-bottom:32px}
.post_content .lead p:last-child,.post_content .text p:last-child{margin-bottom:24px}
.post_content h3{font-size:18px;font-weight:700;margin:40px 0 12px;padding-left:16px;position:relative}
.post_content h3::before{content:"";position:absolute;left:0;top:12px;width:6px;height:6px;background:var(--black)}
.post_content a:not(.urlcard):not(.map):not(.relcard){text-decoration:underline;text-underline-offset:3px}
.post_content strong{font-weight:700}
.post_content blockquote{border-left:3px solid var(--dot);padding-left:16px;color:var(--sub);margin:0 0 24px}
.post_content .fig{margin:8px 0 32px}
.post_content .fig img{margin:0}
.post_content .fig figcaption{font-size:12px;color:var(--sub);margin-top:8px;text-align:center}
.post_content .fig__source{font-size:11px;color:var(--sub);text-align:right;margin:4px 0 0}
.post_content ul.points,.post_content ol.points{margin:0 0 24px}
.post_content ol.points--num{counter-reset:pt}
.post_content ol.points--num li{padding-left:32px}
.post_content ol.points--num li::before{counter-increment:pt;content:counter(pt,decimal-leading-zero);width:auto;height:auto;background:none;top:0;left:0;font-family:var(--en);font-weight:700;color:var(--c-post);font-size:14px;border-radius:0}
.post_content .shop .shop__img{border-radius:6px;aspect-ratio:16/9;object-fit:cover;margin:0 0 16px}
.post_content .shop .shop__sub{font-size:12px;color:var(--sub);margin:-8px 0 14px}
.post_content .shop dl dd{white-space:pre-line}
.post_content .shop__box{background:var(--beige);border-radius:6px;padding:12px 16px;margin-bottom:12px;font-size:14px;line-height:1.7}
.post_content .shop__box--dark{background:var(--black);color:#fff}
.post_content .shop__box_label{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--c-post);margin-bottom:4px}
.post_content .shop__box--dark .shop__box_label{color:var(--c-column)}
.post_content .shop__map{margin-bottom:14px;border-radius:6px;overflow:hidden}
.post_content .shop__map iframe{width:100%;height:280px;border:0;display:block}
.post_content .shop__btns{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.post_content .shop .map--site{background:var(--black);color:#fff;border-color:var(--black)}
.post_content .shop .map--site::before{background:#fff}
.post_content .callout{border-radius:8px;padding:20px 24px;margin:0 0 32px;font-size:14px;line-height:1.9;background:#fff;border:1px solid var(--line)}
.post_content .callout--orange{background:#fdf1e8;border-color:rgba(226,102,42,.3)}
.post_content .callout--gray{background:var(--beige)}
.post_content .callout--dark{background:var(--black);color:#fff}
.post_content .callout--muted{background:#fff;color:var(--sub);font-size:12px}
.post_content .callout__title{font-weight:700;margin-bottom:8px;padding-left:18px;position:relative}
.post_content .callout__title::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:var(--c-post)}
.post_content .callout__body p:last-child{margin-bottom:0}
.post_content .faq{background:#fff;border-radius:8px;padding:24px;margin:0 0 32px;border:1px solid var(--line)}
.post_content .faq__title{font-size:18px;font-weight:700;margin-bottom:16px}
.post_content .faq__item{border-top:1px dotted var(--dot);padding:14px 0}
.post_content .faq__q,.post_content .faq__a{display:flex;gap:10px;font-size:14px;line-height:1.8;margin:0}
.post_content .faq__q{font-weight:700}
.post_content .faq__a{margin-top:6px;color:var(--sub)}
.post_content .faq__q span,.post_content .faq__a span{font-family:var(--en);font-weight:700;color:var(--c-post);flex:none}
.post_content .faq__a span{color:var(--black)}
.post_content .sum{background:#fff;border-radius:8px;padding:24px;margin:0 0 32px;border:1px solid var(--line)}
.post_content .sum__title{font-size:18px;font-weight:700;margin-bottom:12px}
.post_content .sum dl div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:10px 0;border-top:1px dotted var(--dot);font-size:14px;line-height:1.7}
.post_content .sum dt{font-size:12px;color:var(--sub);font-weight:700}
.post_content .sum dd{font-weight:500}
.post_content .rating{background:#fff;border-radius:8px;padding:24px;margin:0 0 32px;border:1px solid var(--line)}
.post_content .rating__head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:16px}
.post_content .rating__title{font-size:18px;font-weight:700}
.post_content .rating__avg{font-size:32px;font-weight:700;color:var(--c-post);line-height:1}
.post_content .rating__avg small{font-size:12px;color:var(--sub);font-weight:400}
.post_content .rating__row{margin-bottom:10px}
.post_content .rating__meta{display:flex;justify-content:space-between;font-size:13px;font-weight:700;margin-bottom:4px}
.post_content .rating__bar{height:8px;border-radius:4px;background:var(--beige);overflow:hidden}
.post_content .rating__fill{height:100%;background:var(--c-post);border-radius:4px}
.post_content .relcard{display:flex;gap:16px;align-items:center;background:#fff;border-radius:8px;padding:14px;margin:0 0 32px;border:1px solid var(--line)}
.post_content .relcard__thumb{width:120px;flex:none}
.post_content .relcard__thumb img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin:0}
.post_content .relcard__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.post_content .relcard__body small{font-family:var(--en);font-size:11px;letter-spacing:.1em;color:var(--c-post);font-weight:700}
.post_content .relcard__body b{font-size:14px;line-height:1.6}
.post_content .adlink{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 20px;margin:0 0 32px;font-size:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.post_content .adlink__badge{font-family:var(--en);font-size:10px;font-weight:700;background:var(--beige);padding:4px 8px;border-radius:4px;letter-spacing:.1em}
.post_content .adlink__pixel{position:absolute;width:1px;height:1px;overflow:hidden}
.post_content .post__ad{margin:32px 0}
.single__tags{margin:32px 0 0}
.single__tags li{margin-bottom:8px}
.single__tags li a{font-size:12px;color:var(--black);font-weight:700}
.single__tags li a::before{font-size:20px;margin-right:6px}
.user_profile__links{margin-top:10px;display:flex;gap:8px}
.user_profile__links a{font-size:11px;border:1px solid var(--line);border-radius:50px;padding:4px 12px;color:var(--black)}
.like_btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--black);border-radius:50px;padding:12px 28px;font-weight:700;font-size:14px;background:#fff;transition:.3s}
.like_btn__heart{color:var(--dot);font-size:18px;line-height:1;transition:.3s}
.like_btn__count{font-weight:600;color:var(--sub)}
.like_btn:hover{background:var(--beige)}
.like_btn.is-liked{background:var(--c-post);border-color:var(--c-post);color:#fff}
.like_btn.is-liked .like_btn__heart,.like_btn.is-liked .like_btn__count{color:#fff}
.share{text-align:center;margin-bottom:40px}
.share__title{font-weight:700;font-size:14px;margin-bottom:12px}
.share__btns{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.share__btn{display:inline-block;border:1px solid var(--line);border-radius:50px;line-height:40px;padding:0 22px;font-size:13px;background:#fff;font-weight:700;transition:.3s}
.share__btn--x{background:var(--black);color:#fff;border-color:var(--black)}
.share__btn--fb{background:#1877f2;color:#fff;border-color:#1877f2}
.share__btn.is-done{background:var(--c-post);color:#fff;border-color:var(--c-post)}
.affiliate_box{background:#fff;border-radius:8px;padding:24px;margin-bottom:40px;font-size:14px;line-height:1.9}
.affiliate_box__title{font-weight:700;margin-bottom:12px}
.affiliate_box a{text-decoration:underline}
#related .request_intro{margin-top:40px}

/* --- モーダル（スタンプ） --- */
.modal{position:fixed;inset:0;background:rgba(38,34,30,.6);z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:80px 16px;overflow-y:auto}
.modal__box{background:#fff;border-radius:8px;width:100%;max-width:440px;padding:24px}
.modal__title{font-size:16px;font-weight:700;margin-bottom:16px}
.form_wrap--plain{padding:0;max-width:none;background:none}
.form_wrap input[type=date]{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px;font-size:14px;background:var(--bg)}
.stars{display:flex;align-items:center;gap:2px}
.star-btn{font-size:24px;color:var(--dot);line-height:1}
.star-btn.is-on{color:var(--c-post)}
.stars span{font-size:12px;color:var(--sub);margin-left:8px}

/* --- フォームの追加（エラー・注意・ラジオ） --- */
.form_errors{background:#fdf1e8;border:1px solid rgba(226,102,42,.3);border-radius:8px;padding:14px 20px;margin-bottom:24px;font-size:13px;color:#b8411a}
.form_errors__title{font-weight:700;margin-bottom:6px}
.form_errors ul{list-style:disc;padding-left:1.4em}
.form_help{font-size:12px;color:var(--sub);margin-top:8px}
.form_help summary{cursor:pointer;text-decoration:underline}
.form_help ol{list-style:decimal;padding-left:1.6em;margin-top:8px;line-height:1.8}
.form_note{background:var(--beige);border-radius:8px;padding:20px 24px;margin:8px 0 24px}
.form_note__title{font-weight:700;font-size:13px;margin-bottom:10px}
.form_note .points li{position:relative;padding-left:18px;margin-bottom:6px;font-size:13px;line-height:1.7}
.form_note .points li::before{content:"";position:absolute;left:2px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--c-post)}
.radios{display:flex;gap:20px;flex-wrap:wrap}
.radios .check{font-weight:400}
.form_wrap .btns .back{cursor:pointer}

/* --- 写真で探す --- */
.photo_status{text-align:center;color:var(--sub);font-size:13px;margin:40px 0}
.photo_more{text-align:center;margin:40px 0 0}
.photo_grid figure.is-ad .ad_link{display:block}
.photo_grid figure.is-ad img{cursor:pointer}
.photo_grid figure.is-ad .ad_html{padding:16px}

/* --- プライバシー --- */
.privacy ul{list-style:disc;padding-left:1.6em;margin-bottom:12px}
.privacy ol ul{margin-top:4px;margin-bottom:0}
.privacy dl{background:var(--bg);border-radius:6px;padding:16px 20px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:12px 0}
.privacy dt{font-weight:700}
.privacy__updated{color:var(--sub);font-size:12px;margin-top:32px;text-align:right}

@media screen and (max-width:800px){
  .post_content .sum dl div{grid-template-columns:1fr;gap:4px}
  .post_content .relcard{flex-direction:column;align-items:stretch}
  .post_content .relcard__thumb{width:100%}
  .privacy dl{grid-template-columns:1fr}
}
/* 写真の枚数バッジ（figure 直下に置いているので figcaption 外でも効くようにする） */
.photo_grid figure .cnt{position:absolute;top:10px;right:10px;background:var(--sub);color:#fff;font-family:var(--en);font-size:11px;padding:2px 8px;border-radius:10px;z-index:1}
/* 番号付きリストの番号と本文の間隔 */
.post_content ol.points--num li{padding-left:40px}

/* ======================= 調整（ラベル位置・タイトル全文表示・スワイプ・ボタンのレスポンシブ） ======================= */
/* 記事タイプのラベルは画像の左上に載せる（カードの上に浮いていた位置を修正） */
.post .custom_post_name{top:12px;right:auto;left:12px;transform:none}
.post .custom_post_name a{box-shadow:0 2px 8px rgba(0,0,0,.12)}
/* タイトルは省略せず全文を表示 */
.post__text .title a,#slide .post__text .title a,.side__recommend_posts .post .title,.photo_grid figcaption .ttl{display:block;-webkit-line-clamp:unset;height:auto;max-height:none;overflow:visible}
/* スワイプ中はカーソルと選択を抑える */
#slide .track,.hslider .viewport{cursor:grab;user-select:none;-webkit-user-select:none}
#slide .track:active,.hslider .viewport:active{cursor:grabbing}
#slide .track img,.hslider .track img{-webkit-user-drag:none;pointer-events:none}
#slide .slide .img a,.hslider .post .img a{display:block}

@media screen and (max-width:800px){
  /* ボタンは横幅いっぱいに */
  .moreposts__btn{display:block;width:100%}
  .moreposts__btn a{display:block;width:100%;padding:18px 48px;text-align:center;box-sizing:border-box}
  .top__bottom_posts .moreposts__btn{width:calc(100% - 16px)}
  #ig_banner .join .btns{flex-direction:column;width:100%}
  #ig_banner .join .btns .moreposts__btn,#ig_banner .join .btns a.link_button{width:100%;text-align:center}
  a.link_button{display:block;text-align:center;padding:0 40px 0 24px}
  .form_wrap .btns{flex-direction:column;align-items:stretch}
  .form_wrap .btns button.primary,.form_wrap .btns a.back,.form_wrap .btns a.link_button{width:100%;text-align:center;padding-left:24px;padding-right:24px}
  .form_wrap .btns a.back{line-height:48px}
  .share__btns{flex-direction:column}
  .share__btn{width:100%;text-align:center}
  .like_btn{width:100%;justify-content:center}
  #archive .refine__form{flex-direction:column;align-items:stretch}
  #archive .refine__form label{min-width:0}
  #archive .refine__form .pill_black{text-align:center}
  #archive .filters .sort select{flex:1}
  .post_content .shop__btns{flex-direction:column}
  .post_content .shop .map{text-align:center}
  .modal{padding:40px 16px}
  .header__right .mailmagazine a,.pill_black{padding-left:36px}
  .photo_more{width:100%}
}
/* SP ではカードのタイトルを小さめに（2 列グリッドで 16px は大きすぎる） */
@media screen and (max-width:800px){
  .posts .post .post__text .title{font-size:13px;line-height:1.55;letter-spacing:.02em;margin-bottom:10px}
  .hslider .post .post__text .title{font-size:15px;letter-spacing:.04em}
  .posts .post .post__text{padding:12px 12px 14px}
  .posts .post .cat-author{margin-bottom:8px}
  .posts .post .cat-author .author a{font-size:12px}
  .posts .post .cat-author .author img{width:22px;height:22px}
  .posts .post .post_tags li a{font-size:9px}
  #related .titlewrap .title{font-size:20px}
}
/* 「すべての記事をみる」など：矢印の別ピルが重なって見えていたので、1 つのピルの中に矢印を入れる */
.morebtn{padding-right:0}
.morebtn a{padding:10px 44px 10px 20px;position:relative}
.morebtn a::before{display:none}
.morebtn a::after{right:16px}
.top__bottom_posts .otherpage__link a{padding:10px 44px 10px 20px;text-decoration:none;background:var(--black);color:#fff;border-radius:40px;line-height:1;font-size:12px}
.top__bottom_posts .otherpage__link a::before{display:none}
.top__bottom_posts .otherpage__link a::after{right:16px}
/* 横スライダー内のカードにも白背景と基準位置を与える（ラベルと日付がスライダー基準で置かれていた） */
.hslider .track>.post{background:#fff;border-radius:8px;position:relative}
/* SP では記事タイプのラベルを写真の下（タイトルの上）に置き、写真を隠さない */
@media screen and (max-width:800px){
  .post .custom_post_name{position:static;transform:none;display:inline-block;margin:10px 12px 0;max-width:calc(100% - 24px)}
  .post .custom_post_name a{font-size:10px;line-height:22px;padding:0 10px 0 22px;box-shadow:none;border-color:var(--line)}
  .post .custom_post_name a::before{left:9px}
  .posts .post .post__text,.hslider .post .post__text{padding-top:8px}
}

/* --- 写真の拡大表示（記事内の写真を左右で送る） --- */
dialog.lightbox{width:min(920px,92vw);max-height:92vh;overflow:auto;color:#fff}
.lightbox__stage{position:relative;display:flex;align-items:center;justify-content:center}
.lightbox__stage img{max-width:100%;max-height:70vh;width:auto;border-radius:8px;margin:0 auto;user-select:none;-webkit-user-drag:none}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(38,34,30,.75);color:#fff;font-size:28px;line-height:1;display:flex;align-items:center;justify-content:center}
.lightbox__nav--prev{left:8px}.lightbox__nav--next{right:8px}
.lightbox__close{position:fixed;top:12px;right:16px;color:#fff;font-size:32px;line-height:1;z-index:2}
.lightbox__info{padding:14px 8px 4px;text-align:center;font-size:13px}
.lightbox__caption{font-weight:700;font-size:14px;margin-bottom:4px}
.lightbox__source{font-size:11px;color:rgba(255,255,255,.7)}
.lightbox__source a{text-decoration:underline}
.lightbox__place{font-size:12px;color:rgba(255,255,255,.85);margin-top:6px}
.lightbox__links{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.lightbox__count{color:rgba(255,255,255,.7)}
.lightbox__map,.lightbox__article{display:inline-block;border:1px solid rgba(255,255,255,.5);border-radius:50px;line-height:34px;padding:0 16px;font-size:12px}
.lightbox__article{background:var(--c-post);border-color:var(--c-post);font-weight:700}
@media screen and (max-width:800px){
  dialog.lightbox{width:100vw;max-width:100vw;max-height:100vh;height:100vh;margin:0;border-radius:0;padding:48px 12px 24px;background:rgba(0,0,0,.92)}
  .lightbox__stage img{max-height:60vh}
  .lightbox__nav{width:36px;height:36px;font-size:22px}
}

/* --- SP の記事カードは横並び（写真＋テキスト）にして縦長にならないようにする --- */
@media screen and (max-width:800px){
  :root{--card-w:100%}
  .posts{gap:12px}
  .posts>.post{display:grid;grid-template-columns:38% 1fr;grid-template-areas:"img label" "img text" "img date";column-gap:12px;row-gap:6px;align-content:start;padding:12px}
  .posts>.post .img{grid-area:img;border-radius:6px;overflow:hidden;align-self:start}
  .posts>.post .img img{width:100%;aspect-ratio:4/3;border-radius:6px}
  .posts>.post .custom_post_name{grid-area:label;margin:0;justify-self:start;max-width:100%}
  .posts>.post .post__text{grid-area:text;padding:0}
  .posts>.post .post__text .title{font-size:13px;line-height:1.5;margin-bottom:8px}
  .posts>.post .cat-author{margin-bottom:0;flex-direction:row;align-items:center}
  .posts>.post .cat-author .author{display:none}
  .posts>.post .post_tags{display:none}
  .posts>.post p.date{grid-area:date;position:relative;writing-mode:horizontal-tb;padding:0 0 0 18px;line-height:1;font-size:10px;top:auto;right:auto}
  .posts>.post p.date::before{top:50%;left:0;transform:translateY(-50%);width:12px;height:12px}
  /* 横スライダーのカードはタグを省いて高さを抑える */
  .hslider .post .post_tags{display:none}
  .hslider .post .post__text{padding-bottom:14px}
}
/* トップ：本文とサイドの下の余白が大きすぎたので詰める（site12 は 200px） */
.wrapper{margin-bottom:64px}
#newposts{margin-bottom:40px}
.side__ad{margin:24px 0 0}
@media screen and (max-width:1200px){.wrapper{margin-bottom:48px}}
/* メインスライダーのラベル：カードの角に浮いていたのを、タイトルの上（カード内）に置く */
#slide .slide .custom_post_name{top:24px;left:40px}
#slide .post__text{padding-top:68px}
@media screen and (max-width:800px){
  #slide .slide .custom_post_name{position:static;display:inline-block;margin:14px 16px 0;left:auto;top:auto}
  #slide .post__text{padding-top:16px}
  #slide .img img{border-radius:0}
}


/* --- ローディング画面（画像の読み込み完了まで表示） --- */
#page-loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .45s ease,visibility .45s}
#page-loader img{width:96px;height:96px;object-fit:contain;animation:loaderPulse 1.4s ease-in-out infinite}
#page-loader .page-loader__bar{width:96px;height:4px;border-radius:4px;background:var(--beige);overflow:hidden}
#page-loader .page-loader__bar span{display:block;width:100%;height:100%;background:var(--c-post);border-radius:4px;animation:loaderBar 1.2s ease-in-out infinite}
#page-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
html.is-loading{overflow:hidden}
@keyframes loaderPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.92)}}
@keyframes loaderBar{0%{transform:translateX(-100%)}50%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){#page-loader img,#page-loader .page-loader__bar span{animation:none}}

/* --- セクション見出しのアイコンを鳥のマークからたべぞーのアイコンに --- */
.top__bottom_posts .titlebox{padding-top:76px}
.top__bottom_posts .titlebox::before{width:64px;height:64px;top:0;left:50%;transform:translateX(-50%);background:url("../images/tabeZO-icon-curryY.png") no-repeat center/contain}
.top__bottom_posts .titlebox.features::before{background-image:url("../images/Tabe%20zo-blog-hamburgerG.png")}
.top__bottom_posts .titlebox.members::before{background-image:url("../images/tabeZO-icon-oniG.png")}
@media screen and (max-width:800px){
  .top__bottom_posts .titlebox{padding-top:0;padding-left:58px;min-height:48px;display:flex;align-items:center}
  .top__bottom_posts .titlebox::before{width:48px;height:48px;left:0;top:50%;transform:translateY(-50%)}
}
