/* 表示広告（AdSense）の枠。public/ads.js が置く。web/ads.mjs で ID を入れたときだけ読む（2026-11-07）
   置き方（2026-10-29 クロノコ決定）：幅1,450px以上は左右の余白、1,270〜1,450pxは本文を少し左に寄せて右だけ、ページの下はいつも
   入力欄・作成ボタン・タブ・「運航には利用できません」の表示・作成中の待ち画面のそばには置かない */
.ad-box { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ad-label { font-size: .7rem; letter-spacing: .08em; color: var(--muted); }
.ad-box ins.adsbygoogle { display: inline-block; background: transparent; }

/* 左右の余白（160×600）。本文（.wrap は最大1080px）の外に固定で置く */
.ad-rail { position: fixed; top: 96px; z-index: 1; width: 160px; }
.ad-rail ins.adsbygoogle { width: 160px; height: 600px; }
.ad-left { left: calc((100% - 1080px) / 2 - 180px); }
.ad-right { right: calc((100% - 1080px) / 2 - 180px); }
/* 右だけのとき：本文を左に寄せ、右に枠の場所をあける（本文1080＋すき間20＋枠160＝1260px を真ん中に） */
/* 見出しと足もと（画面幅いっぱいの空・雲。theme.css）は幅を変えず、文字の列だけ左へ寄せる */
.ads-rail-right .wrap:not(header):not(footer) { margin-left: max(0px, calc((100% - 1260px) / 2)); margin-right: auto; }
.ads-rail-right header.wrap, .ads-rail-right footer.wrap { padding-left: calc((100% - 1260px) / 2 + 16px); padding-right: calc((100% - 1260px) / 2 + 196px); }
.ads-rail-right .ad-right { right: max(0px, calc((100% - 1260px) / 2)); }

/* ページの下（PC 728×90・スマホ 300×250） */
.ad-slot { margin: 28px auto 8px; max-width: 100%; overflow: hidden; }
.ad-slot ins.adsbygoogle { width: 728px; height: 90px; }
@media (max-width: 759px) { .ad-slot ins.adsbygoogle { width: 300px; height: 250px; } }
