/* ==========================================================================
   Plan E — responsive layer for the PC theme (all pages)
   Loaded after refresh.css and refresh-plus.css. The PC theme already swaps
   the header for #contents_nav (logo + hamburger) under 1060px; this file
   makes the page bodies fluid and re-flows fixed-width blocks for phones.
   ========================================================================== */

/* ---- fluid containers (all widths) --------------------------------------- */
html,body{max-width:100%;overflow-x:hidden}
#wrap{padding-bottom:110px}
#content{padding-left:0;padding-right:0}
main{padding:0 16px}
main>div,main>section{max-width:1000px;margin-left:auto;margin-right:auto}
.w1000,#news_pickup,#topnews,#pickup,.content_bottom,.c-panel__wrapper,.banner_area,
#system_inner,#qanda_inner,#girls_inner,#schedule_inner,#hotel_inner,#recruit_inner,
#newslist_inner,#campaign_inner,#profile_inner,.topnews_in,.pickup_side,#system,#hotel,#qanda,#cast,#recruit,#newslist,#campaign,#prof_bottom{
  width:auto;max-width:1000px;min-width:0;box-sizing:border-box}
#news_pickup,#pickup,.banner_area,.tetris_menu{padding-left:16px;padding-right:16px}
.banner_area{width:auto}
div.ticker{min-width:0;width:auto;padding-left:16px;padding-right:16px}
.pickup-box{flex-wrap:wrap}
.pickup_side{flex:1 1 360px;width:auto}
.top_pickup{flex:0 0 auto}
.tetris_menu{width:100%;max-width:1000px;scale:none !important;flex-wrap:wrap !important;justify-content:center !important}
#f_logo{width:min(400px,70%)}
.foot_menu ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0}
.foot_menu li{height:auto;padding:4px 0}
.foot_menu a{height:auto;margin:0;line-height:1.6}

/* ---- tablet / phone header ----------------------------------------------- */
@media screen and (max-width:1060px){
  header{position:static;background:none;border:0;box-shadow:none;backdrop-filter:none;padding:0;min-height:0;height:0;overflow:hidden}
  header .head_in{display:none !important}
  #contents_nav{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(176,129,54,.35);box-shadow:0 8px 24px -18px rgba(0,0,0,.35)}
  .header_inner{position:relative;padding:0 64px 0 16px}
  .header_inner h1,.header_inner .site-name{display:none}
  .header_inner .logo{padding:8px 0 !important;display:flex;align-items:center;gap:14px}
  .header_inner .logo img{width:150px;padding:0 !important;margin:0}
  .header_inner .logo .shop_info{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0;padding:0;line-height:1.3}
  .header_inner .logo .shop_info .tel{font-size:11px;color:var(--bf-muted);font-family:var(--bf-sans) !important}
  .header_inner .logo .shop_info .tel .info_title{font-size:11px;font-weight:500}
  .header_inner .logo .time{font-family:var(--bf-serif) !important;font-size:17px;color:var(--bf-green);text-align:left;line-height:1.2}
  .header_inner .logo .time .info_bg{font-family:var(--bf-sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--bf-muted);padding:0;margin-right:6px;background:none}
  /* 「Opening hours」を上の行に分け、時間「18:00 - 04:00」は折り返さない（SP で 18:00 - と 04:00 に割れていた・2026-10-12） */
  .header_inner .logo .time{white-space:nowrap}
  .header_inner .logo .time .info_bg{display:block;margin:0 0 1px;line-height:1.2}
  .c-menu_btn{right:14px;width:44px;height:44px;border-radius:12px;background:var(--bf-green)}
  .c-menu_btn span{background:#fff;width:22px;height:2px}
  .c-menu_btn span:first-child{top:14px}.c-menu_btn span:nth-child(2){bottom:21px}.c-menu_btn span:last-child{bottom:13px}
  .c-menu{background:rgba(64,84,66,.97)}
  .c-menu.is-active{overflow-y:auto}
  .c-menu_list{padding:90px 24px 40px}
  .c-menu_list li a p{color:#fff;font-family:var(--bf-sans);font-size:15px;letter-spacing:.16em;font-weight:600}
  .c-menu_list li{border-bottom:1px solid rgba(255,255,255,.12)}
  #wrap{padding-top:70px}
  #bread-crumb-list:empty{display:none}
  #bread-crumb-list{margin-top:0}
  #content{margin-top:0}
  .float-book{bottom:20px;right:16px;padding:12px 18px;font-size:12px}
  #pagetop{bottom:20px;right:auto;left:16px;width:44px;height:44px}
  #pagetop a{height:44px;font-size:18px}
}

/* ---- sub pages: tablet ----------------------------------------------------- */
@media screen and (max-width:1000px){
  #wrap::before{height:190px !important}
  .basic_article,.play_article{padding:8px 28px 30px}
  #system_inner h3,#hotel_inner h3{padding:28px 28px 10px}
  .hotel_table{padding:0 16px 20px}
  #profile_inner{padding:26px 24px;gap:22px}
  #prof_bottom{padding:24px 24px 28px}
  #recruit_inner table{padding:0 8px 20px}
}
/* ---- tablet ---------------------------------------------------------------- */
@media screen and (max-width:1000px){
  .c-panel{width:calc(33.333% - 18px)}
  #feedback .feedbackList{grid-template-columns:1fr}
  .quick-strip__in{flex-wrap:wrap;gap:14px}
  .qs{flex:1 1 40%;border-left:0;padding:0}
  .qs-btn{flex:1 1 100%;text-align:center}
  .pickup_side{padding:22px 20px}
  .pickup_datalist dt{width:40%}.pickup_datalist dd{width:60%}
  .swiper-container{padding:12px 0 40px}
  .topslide .swiper-slide img{border-radius:8px}
}

/* ---- phone ------------------------------------------------------------------ */
@media screen and (max-width:700px){
  body{font-size:15px}
  main{padding:0 12px}
  #content{padding-top:24px}
  #content h2 span,main h2 span{font-size:24px;letter-spacing:.08em}
  #content h2{margin-bottom:26px}
  #topnews .topnews_in{padding:26px 18px}
  #topnews .news_body div{font-size:14px;line-height:1.85;text-align:left !important}
  .news_body img{width:180px !important}
  .top_pickup{width:100%;max-width:100%;height:auto;padding:14px;background-size:cover}
  .pickup_name{font-size:26px}
  .pickup_tag li.is_active{font-size:11px;padding:3px 10px}
  .pickup_datalist dt,.pickup_datalist dd{font-size:14px;padding:12px 8px 8px}
  .banner_area ul{gap:10px}
  .banner_area ul li a{padding:8px 14px 8px 8px}
  .banner_area ul li a img{width:30px;height:30px}
  .banner_area ul li a span{font-size:13px}
  .after-text p{padding:18px 16px;font-size:14px}
  .topschedule_bg{padding:36px 0 16px}
  .c-panel__wrapper{margin:30px auto 20px;padding:0 4px}
  .c-panel{width:calc(50% - 12px);margin:6px;padding:8px}
  .c-panel__name{font-size:14px}
  .c-panel__size{font-size:10px}
  .c-panel__tag li.is_active{font-size:9px;padding:2px 4px}
  .c-panel__time{font-size:11px}
  #feedback .feedbackList{padding:0;gap:12px}
  #feedback .feedbackList__inner{padding:18px 16px}
  .feedbackList__image{width:56px;margin-right:14px}
  .feedbackList__detail{width:calc(100% - 70px)}
  .feedbackList__head a{font-size:15px}
  .feedbackList__cmnt,.feedbackList__cmnt2{font-size:14px}
  .feedback_more{max-width:260px;height:48px}
  .feedback_more a span{line-height:48px;font-size:14px}
  /* quick-link tiles: keep the original stacking, scale by width */
  .tetris_menu{gap:8px;margin-top:40px}
  .tetris_box01,.tetris_box02,.tetris_box03{width:calc(50% - 4px)}
  .tetris_box02{width:100%;order:3}
  .tetris_menu p{width:100% !important;height:auto !important;padding:0 !important;margin:0 0 8px !important;background-size:cover !important;background-position:center !important}
  .tetris_menu .tetris_menu01,.tetris_menu .tetris_menu05{aspect-ratio:319/226}
  .tetris_menu .tetris_menu02,.tetris_menu .tetris_menu04{aspect-ratio:319/325}
  .tetris_menu .tetris_menu03{aspect-ratio:2/1;background-position:center 40% !important}
  footer .foot_in{padding:0 16px}
  #footer_info{margin:-20px 0 24px;font-size:16px}
  .f_time{font-size:18px}
  .foot_menu a{padding:0 8px;font-size:11px}
  .ban{padding:0 16px;font-size:10px}
  #copyright small{font-size:10px;display:block;padding:6px 16px;line-height:1.5}
  .quick-strip{margin-top:0;padding:0 12px}
  .quick-strip__in{padding:16px}
  .qs b{font-size:18px}
  .qs{flex:1 1 100%}
}

/* ---- sub pages: phone ------------------------------------------------------ */
@media screen and (max-width:700px){
  #wrap::before{height:150px !important}
  #bread-crumb-list{font-size:11px;padding:8px 12px}
  main h2 span{font-size:24px;letter-spacing:.08em}
  #content main h2,#content main #qanda h2,#content main #hotel h2,#content main #schedule h2,#content main #recruit h2{margin:0 0 30px}
  #system_inner h3,#hotel_inner h3{padding:22px 18px 8px;font-size:18px}
  .basic_article,.play_article{padding:4px 18px 24px;font-size:14px}
  .basic_article p,.play_article p,.basic_article li,.play_article li{font-size:14px}
  .basic_article h4,.play_article h4{font-size:19px}
  #system_inner table td{font-size:14px;padding:10px 4px}
  #system_inner table td:last-child{font-size:19px}
  .hotel_table{padding:0 10px 14px;font-size:13px}
  #hotel_inner table,#hotel_inner table tbody,#hotel_inner table tr,#hotel_inner table td{display:block;width:100% !important}
  #hotel_inner table thead,#hotel_inner table th{display:none}
  #hotel_inner table tr{padding:10px 4px;border-bottom:1px solid var(--bf-line)}
  #hotel_inner table td{border:0;padding:2px 0;font-size:13px}
  #hotel_inner table td:first-child{font-size:15px;padding-bottom:4px}
  #hotel_inner table td:nth-child(2)::before{content:"Tel ";color:var(--bf-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
  #hotel_inner table tr:hover td{background:none}
  #qanda_inner table tr{padding:18px 16px 16px}
  #qanda_inner table tr th{font-size:15px}
  #qanda_inner table td{font-size:14px}
  #day_btns{gap:6px;padding:0}
  #day_btns li a{padding:7px 10px;font-size:12px}
  #day_btns li a span{display:block;font-size:10px;margin:0}
  #profile_inner{flex-direction:column;padding:18px 16px;gap:16px}
  .prof_l,.prof_r{width:100%}
  .prof_r h3{font-size:28px}
  .profile_data_list dt{width:40%}.profile_data_list dd{width:60%}
  .profile_data_list dt,.profile_data_list dd{font-size:14px;padding:10px 6px 6px}
  #prof_bottom{padding:18px 12px 22px}
  .prof_table tbody{grid-template-columns:120px 1fr;grid-template-rows:none;grid-auto-flow:row}
  .prof_table th,.prof_table td{display:flex !important;align-items:center;justify-content:center;padding:6px 6px;min-height:40px;line-height:1.2}
  .prof_table th{font-size:12px}
  .prof_table td{font-size:13px}
  .prof_table th span{padding:0;margin:0;line-height:1.2}
  .message_area dt{font-size:20px}
  .message_area dd{font-size:14px}
  .writeBlock{padding:26px 16px}
  .writeBlock h3{font-size:20px}
  .feedbackNavigation ul{flex-wrap:wrap;gap:8px}
  .feedbackNavigation li{max-width:none;height:46px}
  .feedbackNavigation li a,.feedbackNavigation li div{line-height:46px;font-size:13px}
  #recruit_inner{padding:24px 12px 6px}
  #recruit_inner table{padding:0 0 16px}
  #recruit_inner table tr{display:block !important;padding:12px 0}
  #recruit_inner table th{display:block;width:100%;padding:0 0 4px 0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--bf-brown)}
  #recruit_inner table td{display:block;padding:0;font-size:14px}
  #recruit_inner table tr:nth-of-type(1),#recruit_inner table tr:nth-of-type(2),#recruit_inner table tr:nth-of-type(3),#recruit_inner table tr:last-of-type{display:flex !important}
  #newslist_inner article,.campaign_box{padding:22px 16px}
  #newslist_inner article h3,.campaign_box h3{font-size:19px}
  #newslist_inner article .comment,.campaign_body{font-size:14px}
  #newslist_inner article .comment div{text-align:left !important}
}

/* bw-ticker-containment */
.c-panel__flow{overflow:hidden;min-width:0;max-width:100%}.c-panel-inner{min-width:0}
