@charset "utf-8";

section#heroimg {
    margin: 0 0 0 280px;
    width: 650px;
}

div#ebook_ban img {
    width: 900px;
    margin: 35px 45px 10px;
}

div#realtime_news,
div#cast_blog,
div#call_me_now,
div#new_cast,
div#special_price {
    margin: 30px 0;
    padding: 0;
    width: 100%;
    height: 420px;
    background-image: none;
    background: linear-gradient(#ffffff, #eeeeee);
    border-radius: 15px;
    border: 1px solid #fff;
    box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.35);
}

div#realtime_news {
    height: 550px;
}

div#realtime_news div.inner,
div#cast_blog div.inner,
div#call_me_now div.inner,
div#new_cast div.inner,
div#special_price div.inner {
    width: 970px;
    height: 325px;
}

div#realtime_news div.inner {
    width: 960px;
    height: 455px;
}

#realtime_news .inner .deli_shop_seperate {
    padding: 8px;
}

div#call_me_now .staycast_count {
    position: absolute;
    bottom: 360px;
    right: 15px;
}

div#special_price .downprice_count {
    position: absolute;
}

/* 2026-10-30 ヘッダー上部のタブ（ホテル・求人・電子書籍）とモバイル対応QRを、本文（幅960px）の左右の端にそろえる */
nav#outside { left: max(0px, calc(50% - 480px)); }
#tab_button div.formob { right: 0; }

/* 2026-10-30 「お好み かんたん 検索」：一番下の行（タイプ）が枠の下端にぴったり付いていたので、タイプの上の余白（10px）をなくして下に余白を作る。
   枠・検索ボタン・#top_search_form の大きさは変えない（変えると右の列と下のスライダーの配置が崩れる） */
#top_search_form_separate_type { margin-top: 0; }

/* 2026-10-31 トップの各枠（リアルタイム・キャストブログ・待機中・新人・今割）：スクロールバーの位置がそろわなかった
   （枠は100%+枠線2px、中は970px/960pxで枠からはみ出し、新人だけ右寄せ）。枠を960pxに収め、中は左右10pxの余白で同じ幅にする。
   1行9人はそのまま（並びは9列のグリッドで、間隔を均等に割り付ける） */
@media screen and (min-width:768px){
div#realtime_news, div#cast_blog, div#call_me_now, div#new_cast, div#special_price { box-sizing: border-box; float: left; }
div#realtime_news div.inner, div#cast_blog div.inner, div#call_me_now div.inner, div#new_cast div.inner, div#special_price div.inner { width: calc(100% - 20px); margin-left: 10px; margin-right: 10px; }
div#cast_blog div.inner, div#call_me_now div.inner, div#new_cast div.inner, div#special_price div.inner { display: grid; grid-template-columns: repeat(9, auto); justify-content: space-between; align-content: start; }
div#cast_blog div.inner > .deli_shop_seperate { float: none; margin: 1px 0; }
div#call_me_now div.inner > .cast_list_seperate, div#new_cast div.inner > .cast_list_seperate, div#special_price div.inner > .cast_list_seperate { float: none; margin-right: 0; }
}

/* 2026-10-31 スマホ表示：本文の各枠が画面の左右にぴったり付かないよう、左右に10pxの余白 */
@media screen and (max-width:767px){
#content { padding-left: 10px !important; padding-right: 10px !important; box-sizing: border-box; }
}

/* 2026-10-31 スマホ表示：グラビアのスライダーの下が空きすぎていた（枠の高さ350px固定）。高さを中身に合わせ、点の下の余白を点の上と同じくらいにする */
@media screen and (max-width:767px){
#heroimg, #top_gravure { height: auto !important; }
#top_gravure .bx-wrapper { margin-bottom: 40px !important; }
}

/* 2026-10-31 リアルタイムの記事ページ：「一覧に戻る」を記事の枠の外に出したボタン */
.ym-news-back { clear: both; margin: 20px 0 10px; text-align: center; }
.ym-news-back a { display: inline-block; min-width: 280px; padding: 12px 28px; border-radius: 30px; background: linear-gradient(#4f8bff, #1a56e8); color: #fff !important; font-weight: bold; text-decoration: none !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .3); box-sizing: border-box; }
.ym-news-back a:hover { background: linear-gradient(#1a56e8, #4f8bff); }
@media screen and (max-width:767px){ .ym-news-back a { display: block; min-width: 0; } }

/* 2026-10-31 PC表示：トップのグラビアのスライダーの白い枠が、右の「更新情報」の枠より20px右に出ていた（旧サイトも同じ）。幅を680→660pxにして右端をそろえる（画像は670→660pxに縮小） */
@media screen and (min-width:768px){
#top_gravure { width: 660px; }
#top_gravure .bxslider img { max-width: 100%; height: auto; }
}

/* 2026-10-31 PC表示：トップの検索フォーム・更新情報のすぐ下にスライダーと左のバナーがくっついていた（「この条件で検索する!」はスライダーに20px重なっていた）。下に30pxの余白を入れ、ボタンとスライダーの間を10px空ける */
@media screen and (min-width:768px){
#top_search_form, #info_side { margin-bottom: 30px; }
}

/* 2026-10-31 PC表示：検索結果0件のお知らせ（#rnm）。高さ60px固定の背景画像に2行の文字が入り、上下の余白が無く下の線にかかっていた。
   同じ見た目の枠（白→薄いグレー・灰色の線・角丸・影）をCSSで描き、高さを中身に合わせて上下に同じ余白を入れる */
@media screen and (min-width:768px){
#rnm { background: linear-gradient(#fff, #efefef); border: 1px solid #aaa; border-radius: 8px; box-shadow: 0 0 4px rgba(0, 0, 0, .3); box-sizing: border-box; width: 950px; height: auto; margin: 14px 5px 12px; padding: 14px 10px; line-height: 1.6; }
}

/* 2026-10-31 PC表示：ページのタイトル（キャスト検索結果・店舗紹介・グラビアなど共通の #search_title）の罫線と影を外す */
#search_title { background: none !important; }

/* 2026-10-31 PC表示の色合いをスマホ版に合わせて明るくする。
   灰色のグラデーション＋濃い影の枠（base_*-trans.png）を、スマホ版のカードと同じ「白→薄いピンク・薄いピンクの線・角丸」に置き換える。
   線は内側の影（inset）で描くので、枠の大きさ・中の配置は変わらない。背景のピンクのドット柄はそのまま（10/31 ユーザー指示で戻した） */
#shop_side, .shop_separate, #detail > div#shop_attention, #detail > div, #top_search_form .bg, #call_me_now, #cast_blog, #new_cast, #realtime_news, #special_price, .result, #search_form, #top_search_title, .inner .cast_list_seperate
{ background: linear-gradient(#fff, #fff2f7) !important; box-shadow: inset 0 0 0 1px #ffd3e3 !important; border-radius: 10px; }
.result_hover { background: linear-gradient(#fff, #ffe6ef) !important; }
#top_search_form .bg, #search_form, .result .banner, #shop_side, #detail_price, #detail_area, .detail_generic { border-color: #ffd3e3 !important; }
.deli_shop_seperate { border-color: #ffd3e3 !important; border-radius: 8px; background-color: #fff; }
.result .name, #main_image, #sub_image { border-color: #f6b9cf !important; }
/* 2026-10-31 休み（rest・mens）のカードの膜：白（淡い）→グレー（濃い）。休みだと一目で分かるように */
.grayout_rest, .grayout_mens { background: rgba(0, 0, 0, .35) !important; border-radius: 10px; }
.bx-viewport { box-shadow: 0 0 0 1px #ffd3e3 !important; }
/* 2026-10-31 キャスト検索結果の並び替えの帯（#sort）も、タイトルと同じく罫線・影なし */
#sort { background: none !important; box-shadow: none !important; }
/* 2026-10-31 キャスト検索結果の検索フォーム：「この条件で検索する!」がタイプの選択肢に3px重なっていた。枠を20px高くして、ボタンの上下の余白を同じ（17px）にする */
#search_form { height: 265px !important; }
/* 2026-10-31 グラビア・動画・リンク集の枠：上下は灰色の画像（<img>）のまま、真ん中だけピンクの線にしていたため、線の位置と色がずれていた。
   上下の画像を隠し、真ん中の枠に1つの角丸の枠（画像の線と同じ左右4px内側）を描く。上下の余白はバナーまで同じ22px */
#sub_content > img[src*="base_gravure_top"], #sub_content > img[src*="base_gravure_bottom"] { display: none; }
#three_block_middle { background: none !important; box-shadow: none !important; position: relative; z-index: 0; margin: 5px 0; padding-top: 22px; padding-bottom: 16px; }
#three_block_middle::before { content: ""; position: absolute; z-index: -1; left: 4px; right: 5px; top: 0; bottom: 0; background: linear-gradient(#fff, #fff2f7); border: 1px solid #ffd3e3; border-radius: 10px; }
/* 2026-10-31 右上の「更新情報」（#info_side）は元の濃い色の枠のまま（ユーザー指示） */
/* 2026-10-31 更新情報：記事どうしが詰まっていて、どの日付の記事か分かりにくかった。記事の下に12pxあけ、日付と記事（5px）より記事どうしの間を広くする */
#info_side .inner .news_desc { display: block; margin-bottom: 12px; }
#info_side .inner .news_desc a { display: inline-block; margin-top: 2px; }
/* 2026-10-31 写メ日記・リアルタイムニュースの記事どうしの間が5pxで窮屈だった。16pxにする */
.deli_shop_seperate { margin-bottom: 16px !important; }
/* 2026-10-31 PC表示：ロゴ画像（header_logo_pc.png）は幅400pxで、右半分が透明。ロゴの枠（幅200px）からはみ出した透明な部分が「ホーム」「ニュース」に重なり、
   ニュースを押してもトップに飛んでいた。ロゴの枠の外を切り取り、メニューを押せるようにする（見えている絵は x=2〜188 なので見た目は変わらない） */
div#header > #menu h1 { overflow: hidden; }
/* 2026-10-31 キャスト検索結果：キャストごとのカードの間に余白（くっついて窮屈だった）。休みの膜はカードの高さいっぱいに */
.result { margin-bottom: 14px !important; }
.grayout_rest, .grayout_mens { height: auto !important; bottom: 0 !important; }

/* 2026-10-31 上のメニューのグラビア・動画の「○/○ 更新」：右寄せでずれて見えたので、メニューの文字の中央にそろえる */
li.koushin > time { left: 50% !important; right: auto !important; transform: translateX(-50%) !important; white-space: nowrap; }

/* 2026-10-31 お好みかんたん検索（PC）：
   - おすすめは「人気キャストDeVa → DeVa入賞歴 → 割引キャスト → 新人キャスト」を縦に並べる（割引・新人は parts/search-unit.php で移動）
   - チェックボックスは管理画面と同じタグ型に（選ぶと赤、選ばないと白地にピンクの枠）。チェックボックス自体は見えないようにして、タグを押すと切り替わる
   - タイプのタグは、枠（高さ300px）の内側で、右下の「この条件で検索する」にかからない幅に2行で収める */
#top_search_form label:has(> input[type=checkbox]) { display: inline-flex; align-items: center; gap: 2px; border: 1px solid #ffb3cd; border-radius: 4px; background: #fff; color: #d6336c; font-weight: bold; line-height: 1.2; cursor: pointer; vertical-align: middle; white-space: nowrap; font-size: 11px; padding: 1px 6px; margin: 1px 2px 1px 0; }
#top_search_form label:has(> input[type=checkbox]:checked) { background: linear-gradient(#e8324a, #b3001b); border-color: #b3001b; color: #fff; }
#top_search_form label > input[type=checkbox] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
#top_search_form label img { height: 13px; width: auto !important; }
#top_search_form_separate > dd:has(> label) { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; }
#top_search_form_separate > dd:has(> label) > br { display: none; }
#top_search_form_separate_type { display: flex !important; align-items: flex-start; gap: 6px; width: 457px !important; max-width: 457px !important; box-sizing: border-box; }
#top_search_form_separate_type > dt { float: none !important; flex: 0 0 auto; margin: 2px 0 0 !important; line-height: 1.2; }
#top_search_form_separate_type > dt span { display: block; }
#top_search_form_separate_type > dd { flex: 1 1 auto; width: auto !important; display: flex !important; flex-wrap: wrap; gap: 1px; margin: 0 !important; }
#top_search_form_separate_type label:has(> input[type=checkbox]) { padding: 1px 4px; font-size: 10.5px; margin: 0 !important; }

/* 2026-10-31 お好みかんたん検索：タイプを年齢の下に移動（parts/search-unit.php）。年齢の列から右へ広げ（幅384px）、右下の検索ボタンにかからず枠の中に収める */
#top_search_form_separate_type { position: static !important; width: 384px !important; max-width: none !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 2px; margin: 8px 0 0 !important; }
#top_search_form_separate_type > dt { float: none !important; margin: 0 4px 0 0 !important; line-height: 1.3; white-space: nowrap; }
#top_search_form_separate_type > dt span { display: inline !important; margin-left: 3px; }
#top_search_form_separate_type > dd { display: contents !important; }
#top_search_form_separate_type label:has(> input[type=checkbox]) { font-size: 10.5px; padding: 1px 4px; margin: 0 !important; }

/* 2026-10-31 店舗紹介（PC）：各お店の枠どうしがくっついて窮屈だったので、枠の間を10pxあける（中身の幅290pxは変えない） */
.type_and_area > .shop_separate { box-sizing: border-box !important; width: 320px !important; margin: 5px !important; padding: 15px !important; }

/* 2026-10-31 お好みかんたん検索のタグ：押しやすいよう、内側の上下の余白を広げる（高さ17→21px。枠の中・検索ボタンにかからない範囲） */
#top_search_form label:has(> input[type=checkbox]) { padding-top: 3px !important; padding-bottom: 3px !important; }
/* タイプの先頭を年齢・プレイ料金の左端にそろえる（元の左の余白20pxをなくす） */
#top_search_form #top_search_form_separate_type { padding-left: 0 !important; }

/* 2026-10-31 タグどうしの上下の間を広げる（おすすめ・スケジュールは5px、タイプは行の間4px） */
#top_search_form_separate > dd:has(> label), #top_search_form_separate_schedule > dd { display: flex !important; flex-direction: column; align-items: flex-start; gap: 5px !important; }
#top_search_form_separate_schedule > dd > br { display: none; }
#top_search_form_separate_type { row-gap: 4px !important; }

/* 2026-10-31 キャスト検索結果の検索フォーム（#search_form）も同じに：おすすめは DeVa → 入賞歴 → 割引 → 新人（cast-result.php で移動）、チェックボックスはタグ型 */
#search_form label:has(> input[type=checkbox]) { display: inline-flex; align-items: center; gap: 2px; border: 1px solid #ffb3cd; border-radius: 4px; background: #fff; color: #d6336c; font-weight: bold; line-height: 1.2; cursor: pointer; vertical-align: middle; white-space: nowrap; font-size: 11px; padding: 3px 6px; margin: 0; }
#search_form label:has(> input[type=checkbox]:checked) { background: linear-gradient(#e8324a, #b3001b); border-color: #b3001b; color: #fff; }
#search_form label > input[type=checkbox] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
#search_form label img { height: 13px; width: auto !important; }
#search_form dd:has(> label) { display: flex !important; flex-direction: column; align-items: flex-start; gap: 5px; }
#search_form dd > br { display: none; }
#search_form #type dd > div { display: grid !important; grid-template-columns: repeat(3, auto); justify-content: start; gap: 4px; margin-bottom: 4px; }

/* 2026-10-31 更新情報の枠：グレーの線と濃い影の画像をやめ、隣の「お好みかんたん検索」と同じ枠（白から淡いピンク・淡いピンクの線・角丸10px）に。
   上端・下端も検索の枠にそろえる（高さ277px） */
#info_side { background: linear-gradient(#ffffff, #fff2f7) !important; border-radius: 10px; box-shadow: 0 0 0 1px #ffd3e3, inset 0 0 0 1px #ffd3e3 !important; box-sizing: border-box !important; height: 277px !important; margin-top: 4px !important; }
#info_side .inner { height: 217px !important; }

/* 2026-10-31 お好みかんたん検索（トップ）：ブラウザによってプルダウンの高さが違い（19〜28px）、タイプが下にずれて枠に近づいていた。
   - プルダウンはブラウザの見た目を使わず、どのブラウザでも高さ22pxの同じ見た目に（白地・淡いピンクの線・右にピンクの∨）
   - 見出し（ご利用地域・おすすめなど）の行の高さも22pxに固定
   - 左の列（地域・おすすめ）と真ん中の列（料金・年齢・タイプ）の下端を同じ線にそろえる（枠の下から20px）。おすすめ・タイプはそれぞれの列の下に寄せる */
#top_search_form select { -webkit-appearance: none; appearance: none; height: 22px !important; line-height: 20px; padding: 0 22px 0 8px !important; border: 1px solid #f3c2d4 !important; border-radius: 4px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ff4f8b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 7px center !important; font-size: 13px !important; color: #333; box-sizing: border-box; vertical-align: middle; }
#top_search_form dt { line-height: 22px !important; height: 22px; }
#top_search_form #top_search_form_separate { display: flex !important; flex-direction: column; height: 176px !important; box-sizing: border-box; }
#top_search_form #top_search_form_separate > dt, #top_search_form #top_search_form_separate > dd { flex: 0 0 auto; }
#top_search_form #top_search_form_separate > dt:nth-of-type(2) { margin-top: auto !important; }
#top_search_form #top_search_form_separate_type { margin-top: auto !important; row-gap: 3px !important; }
#top_search_form_separate > dd:has(> label) { gap: 4px !important; }
/* 2026-10-31 キャスト検索結果の検索欄：スケジュールを年齢の下へ横並び、タイプを横に広く、セレクトをトップと同じ形に、下の余白を広く */
#search_form select { -webkit-appearance: none; appearance: none; height: 22px !important; line-height: 20px; padding: 0 22px 0 8px !important; border: 1px solid #f3c2d4 !important; border-radius: 4px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ff4f8b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 7px center !important; font-size: 13px !important; color: #333; box-sizing: border-box; }
#search_form dt { line-height: 22px !important; height: 22px; }
#search_form #schedule { float: none !important; position: static !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
#search_form #schedule dd { flex-direction: row !important; gap: 6px !important; }
#search_form #type { width: 400px !important; }
#search_form #type dd { display: flex !important; flex-wrap: wrap; gap: 4px; width: 380px !important; }
#search_form #type dd > div { display: contents !important; }
#search_form { height: auto !important; min-height: 265px; padding-bottom: 14px !important; box-sizing: border-box; }
/* 2026-10-31 ブログ・リアルタイム一覧など（トップ以外）：右の求人・ホテルバナーが本文を押し下げないよう右寄せに */
body:not(:has(#heroimg)) .liquid_content_left { float: right !important; }
/* 2026-10-31 スケジュール移動で旧CSS（#schedule + div）が外れたため、従来の検索ボタン画像をボタンのブロックに直接指定 */
#search_form > form > div:has(> #submit) { width: 260px; position: absolute; height: 60px; right: 43px; bottom: 16px; }
#search_form > form > div:has(> #submit) input { background: url(img/search_button-trans.png) 0px 60px; text-indent: 100%; white-space: nowrap; overflow: hidden; height: 60px; width: 230px; display: block; border: none; padding: 0; color: transparent; }
#search_form > form > div:has(> #submit) input:hover { background: url(img/search_button-trans.png) 0px 0px; cursor: pointer; }
/* 2026-10-31 タイプの見出しをプレイ料金と同じ高さに（旧CSSの top:-55px を解除） */
#search_form > form > #type { top: 0 !important; }
/* 2026-10-31 検索する！ボタンを枠の右下へ */
#search_form > form > div:has(> #submit) { width: 230px !important; right: 20px !important; bottom: 18px !important; }
/* 2026-10-31 更新情報：日付の隣にアイコン、罫線の下にタイトル（日付の先頭に左揃え、やや大きめ） */
#info_side .inner { display: grid !important; grid-template-columns: auto 1fr; align-items: center; align-content: start; column-gap: 8px; }
#info_side .inner > .date { grid-column: 1; border-bottom: none !important; width: auto !important; margin: 10px 0 0 !important; line-height: 1.2; }
#info_side .inner > .news_desc { display: contents !important; }
#info_side .inner > .news_desc > b { grid-column: 2; justify-self: start; width: auto !important; margin: 10px 0 0 !important; padding: 3px 8px !important; line-height: 1.3; white-space: nowrap; }
#info_side .inner > .news_desc > br { display: none; }
#info_side .inner > .news_desc > a { grid-column: 1 / -1; display: block !important; width: auto !important; border-top: 1px dotted #666; margin: 4px 8px 2px 0 !important; padding-top: 5px; font-size: 13px !important; line-height: 1.4; }
/* 2026-10-31 キャスト検索結果：おすすめ・年齢・スケジュールの見出しの上に余白 */
#search_form > form > div:not(#type) > dt:not(:first-child), #search_form #schedule > dt { margin-top: 10px !important; }
/* 2026-10-31 トップの検索欄：おすすめ・年齢・タイプの見出しの上に余白（枠と更新情報を20px高く） */
#top_search_form { height: 320px !important; }
#top_search_form .bg { height: 295px !important; }
#top_search_form #top_search_form_separate { height: 196px !important; }
#top_search_form #top_search_form_separate > dt:nth-of-type(2) { margin-top: 10px !important; }
#top_search_form #top_search_form_separate_type { margin-top: 10px !important; }
#top_search_form #top_search_form_submit { top: 280px !important; }
#info_side { height: 297px !important; }
#info_side .inner { height: 237px !important; }
/* 2026-10-31 トップ：求人・ホテルのバナーを検索欄の下、カルーセルの左に */
body:has(#heroimg) .liquid_content_left { clear: left; }
/* 2026-10-31 トップ：かんたん検索・更新情報の上に、コンテンツ左右と同じくらい（20px）の余白 */
body:has(#heroimg) #top_search_form { margin-top: 10px !important; }
body:has(#heroimg) #info_side { margin-top: 14px !important; }
/* 2026-10-31 更新情報：左の余白をつめ、スクロールバーを枠の内側に */
#info_side .inner { margin-left: 0 !important; width: 226px !important; box-sizing: border-box; }
/* 2026-10-31 かんたん検索：見出し（かんたん）と項目の間に余白 */
#top_search_form > form { padding-top: 10px !important; }
/* 2026-10-31 キャスト検索結果：前の dd が float のため margin が効かない → padding で余白。見出し（かんたん）と項目の間にも余白 */
#search_form > form > div:not(#type) > dt:not(:first-child), #search_form #schedule > dt { margin-top: 0 !important; padding-top: 10px !important; clear: both; }
#search_form > form { padding-top: 10px !important; }
/* 2026-10-31 更新情報：同じ日付・同じ種類の2件目以降はタイトルだけを続けて並べる（functions.php の ym-wn-cont） */
#info_side .inner > .news_desc.ym-wn-cont > a { border-top: none; margin-top: 0 !important; padding-top: 1px; }
/* 2026-10-31 かんたん検索のロゴを枠の上にもう少し飛び出させる */
#top_search_form > h3.h3_osusume_search { position: relative; top: -12px; z-index: 1; }
/* 2026-10-31 キャスト検索結果（お店で絞り込み）のリアルタイムニュース：枠の内側に上下左右の余白、画像と文章の間を広く */
#realtime_news_separate .deli_shop_seperate { box-sizing: border-box !important; width: auto !important; margin: 5px 4px 16px 5px !important; padding: 16px 20px !important; }
#realtime_news_separate .deli_shop_image, #realtime_news_separate .shop_banner_place { margin: 0 20px 0 0 !important; }
#realtime_news_separate .realtime_title { width: calc(100% - 250px) !important; }
#realtime_news_separate .realtime_body_img { margin: 12px 20px 0 0 !important; }
#realtime_news_separate .realtime_body { width: calc(100% - 250px) !important; margin: 12px 0 0 !important; line-height: 1.6; }
/* 2026-10-31 キャストブログ・リアルタイムニュース一覧：カードの左端・右端をかんたん検索の枠にそろえる */
#cast_blog_all, #realtime_news_all { margin-left: 0 !important; width: 682px !important; }
#cast_blog_all > .inner, #realtime_news_all > .inner { margin-left: 0 !important; width: 682px !important; }
#cast_blog_all .deli_shop_seperate, #realtime_news_all .deli_shop_seperate { box-sizing: border-box; width: 682px !important; }
/* 2026-10-31 リアルタイムニュース・キャストブログ一覧：画像と文章の間を20pxに、枠の内側の余白をそろえる */
:is(#cast_blog_all, #realtime_news_all) .deli_shop_seperate { padding: 16px !important; }
:is(#cast_blog_all, #realtime_news_all) .shop_banner_place { margin: 0 16px 0 0 !important; }
:is(#cast_blog_all, #realtime_news_all) .realtime_title { width: calc(100% - 246px) !important; }
:is(#cast_blog_all, #realtime_news_all) .shop_image_place { margin: 10px 20px 0 0 !important; }
:is(#cast_blog_all, #realtime_news_all) .realtime_body { width: calc(100% - 140px) !important; margin: 10px 0 0 !important; }
/* 2026-10-31 トップ以外：求人・ホテルのバナーを更新情報と同じ幅（250px）に */
body:not(:has(#heroimg)) .liquid_content_left, body:not(:has(#heroimg)) .liquid_content_left #sidebar, body:not(:has(#heroimg)) .liquid_content_left #sidebar > li { width: 250px !important; box-sizing: border-box; }
body:not(:has(#heroimg)) .liquid_content_left #sidebar img { width: 100% !important; height: auto !important; }
/* 2026-10-31 キャスト検索結果のかんたん検索：ロゴの位置はそのまま、枠（罫線・背景）だけ17px下げてトップと同じくロゴが飛び出す見え方に */
#search_form { border: none !important; background: none !important; box-shadow: none !important; isolation: isolate; }
#search_form::before { content: ""; position: absolute; left: 0; right: 0; top: 17px; bottom: 0; z-index: -1; border: 1px solid #ffd3e3; border-radius: 10px; background: linear-gradient(#ffffff, #fff2f7); box-shadow: inset 0 0 0 1px #ffd3e3; }
/* 2026-10-31 キャスト検索結果：「お好み」と枠の上の罫線の間を少し広く（枠を17px→8px下げに） */
#search_form::before { top: 8px; }
/* 2026-10-31 キャスト検索結果：スクロールで上に固定された並び替えの帯（#sort.fixed）だけ、背景・影・余白を付ける（列の位置は下のカードと同じまま） */
#sort.fixed { top: 0 !important; box-sizing: border-box !important; width: 960px !important; height: auto !important; padding: 14px 10px 12px !important; background: linear-gradient(#ffffff, #fff2f7) !important; border: 1px solid #ffd3e3 !important; border-top: none !important; border-radius: 0 0 12px 12px; box-shadow: 0 6px 14px rgba(214, 51, 108, .2) !important; }
/* 2026-10-31 かんたん検索のロゴ位置をキャスト検索結果にそろえる（枠の左から15px・枠の上へ8px飛び出す） */
#top_search_form > h3.h3_osusume_search { margin-left: 15px !important; top: -4px !important; }
/* 2026-10-31 キャストブログの個別記事：一覧へ戻るリンクをボタンにして、本文との間を広めに取り右下へ */
.realtime_body .ym-blog-btns { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 10px; margin: 28px 0 0; }
.realtime_body .ym-blog-btns a { display: inline-block; padding: 8px 20px; border-radius: 30px; background: linear-gradient(#4f8bff, #1a56e8); color: #fff !important; font-weight: bold; font-size: 13px; line-height: 1.4; text-decoration: none !important; box-shadow: 0 2px 6px rgba(0, 0, 0, .25); }
.realtime_body .ym-blog-btns a:hover { background: linear-gradient(#1a56e8, #4f8bff); }
/* 2026-10-31 ボタン同士の間を広く、店舗ブログへのボタンはピンク */
.realtime_body .ym-blog-btns { gap: 14px; }
.realtime_body .ym-blog-btns a + a { background: linear-gradient(#ff6fa0, #e8326e); }
.realtime_body .ym-blog-btns a + a:hover { background: linear-gradient(#e8326e, #ff6fa0); }
/* 2026-10-31 キャストブログ一覧：ボタンをカードの右下に固定（本文が長くても重ならないよう下に余白） */
#cast_blog_all .deli_shop_seperate:has(.ym-blog-btns-list) { position: relative; padding-bottom: 66px !important; }
.realtime_body .ym-blog-btns-list { position: absolute; right: 16px; bottom: 16px; margin: 0; }
/* 2026-10-31 省略処理（dotdotdot）が付ける display:inline を打ち消す */
.realtime_body .ym-blog-btns { display: flex !important; }

/* 2026-10-31 今割・待機中・新人：人数が9人に満たないと、空いた列の分まで間隔が広がっていた（列幅 auto の space-between）。
   列幅をカードと同じ96pxに固定して、人数が少なくても満員の行と同じ間隔で左から並べる */
@media screen and (min-width:768px){
div#call_me_now div.inner, div#new_cast div.inner, div#special_price div.inner { grid-template-columns: repeat(9, 96px); }
}
