@charset "UTF-8";

/* 【PC】style.css line:51 のwidth:100vwによりWINDOWS環境でbody要素に発生するスクロールバー分のオーバーフローへの対処 
   コンテンツの少ないページでフッタを最下に固定 */
body {max-width:100%; min-height:100%; min-height:100dvb;}
footer {position:sticky; top:100vh;}

/* 【PC】ハッシュタグ個数が多い場合の表示崩れ対処 */
.articleInfo .tagList, .eventTag {flex-wrap:wrap;} 

/* トピックス系記事本文中テーブル コンテンツタイプによる生成結果の調整（1コマ目tdの自動th化、空白行の非表示） */
.articleOutlineTable td:first-child {background-color:#fef200; padding:min(2vw, 10px) min(2vw, 15px); border:#000 solid 1px; vertical-align:middle; text-align:center; font-weight:bold;}
.articleOutlineTable tr:has(td:empty) {display:none;}

/* 【PC】共通フッタ リンク個数増による表示崩れ対処 */
@media not (max-width:820px) {
  footer .ftrMain .ftrMenu .ftrMenuMain {display:revert; height:auto; columns:3;}
  footer .ftrMain .ftrMenu .ftrMenuMain li {width:auto; break-inside:avoid;}
}

/* ハッシュタグリスト 一定数に満たない場合に「もっと見る」ボタンを非表示 */
#wordSearch:not(:has(li[data-count]:nth-child(34))) .wordMoreBtn {display:none;}

/* 店舗一覧ページの初期ブランクボックス非表示 */
.storeListWrap:not(:has(dl[style*="block"])) {border:none; background:transparent;}

/* 店舗個別ページの「店舗詳細」余白調整 */
.shopDescription {padding-bottom:min(10vw,80px);}

/* イベントカレンダー 店舗選択セレクトボックスの最大幅 */
.calHead .selctMonth select {max-width:12em;}

/* 店員の日常 入力が進むまで非表示（バナーヘッダー、バナーフッター、トピックスヘッダーも別途要修正） */
#staffRecommend:has(.staffRecommendList), #topStaffRecommend {display:none;}

/* ヴィレヴァンセレクト ページネーションが無い場合に戻るボタンとのマージンをとる */
.selectList + .backBtn {margin-top:min(8vw, 60px);}

/* 汎用一覧 imgタグsrc値が空のときの表示調整（エラー状態のimg要素を表示しない） */
.eventList li .thumb:has(img:not([src*="."])) {display:grid; place-content:center; background:#eee;}
.eventList img:not([src*="."]) {visibility:hidden;}

/* ページネーションが発生しない場合の「1」を非表示 */
.pager:has(a.current:only-child) {visibility:hidden;}

/* フッタ求人ドロップダウンメニュー */
.recruitopen{font-size:min(3vw, 12px); padding-top:3px;}
.recruit_ddmenu a + a {border-top:#555 solid 1px;}
.recruit_ddmenu{position:absolute; top:120%; left:50%; transform:translateX(-50%); background-color:#000; padding:min(1vw, 5px) min(3vw, 15px); border-radius:6px; min-width:120px; display:none; overflow:hidden; font-size:min(3vw, 12px);}
.recruit_ddmenu a {display:block; white-space:nowrap; color:#fff; text-decoration:none; line-height:1.8; font-size:min(3vw, 12px); font-weight:bold; padding:min(1.5vw, 6px) 0;}

/* イベントリストタグ */
.eventList li .eventTag a {display:block; text-decoration:none; border:#000 solid 1.5px; border-radius:100px; font-size:min(2.6vw, 12px); font-weight:bold; padding:1px min(2.2vw, 12px) 0; background-color:#f2f2f2; letter-spacing:0;}

/* フッタ採用ホバー処理 */
.ftrMenuSub .recruitopen {position:relative;}
.ftrMenuSub .recruitopen .recruit_ddmenu {position:absolute; display:none; margin-block:0; padding-block:5px;}
.ftrMenuSub .recruitopen .recruit_ddmenu > a {display:block;}

/* トップページスライド構築待ち時 */
.topSlide {transition:opacity .2s;}
.topSlide:not(:has(.slick-initialized)) {opacity:0;}

/*キャンペーン要素*/
/* 【トップページ追従】 */
.campaignstyle .js-camp{
  position: fixed;
  bottom: 24px;
  z-index: 1000;
  width: 15%;
/*  height: 120px;*/
/*border-radius: 50%;*/
/*  background: #0083b6;*/
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
@media screen and (max-width: 1580px) {.campaignstyle .js-camp{width:10%;}}
@media screen and (max-width: 1350px) {.campaignstyle .js-camp{display:none;}}
.campaignstyle .js-camp.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.js-camp-left{left: 24px;}
.js-camp-right{right:24px;}
.js-camp.is-stop {
  position: absolute;
  bottom: auto; /* fixedのbottomを無効化 */
}

/* 【トップページスライド】 */
#mainVisual.force_campaign{
background-color:#e93318 !important;
background-image: url("/common/pt01.jpg");
background-size:38%;
    background-position: 0px;
    background-position-y: 96px;
    background-position-x: -24px;
}
/*#mainVisual::before{background-color:#e93318 !important;}*/

@media screen and (max-width: 1040px){
#mainVisual.force_campaign{
        background-position-y: 0px;
}
}

@media screen and (max-width: 820px) {
#mainVisual.force_campaign{
	background-size:contain;
        background-position-x: 0px;
/*        background-position-y: 24px;*/
    background-position-y: 16px;
}
#mainVisual.force_campaign .mvBnr{margin-top:160px;}
#mainVisual.force_campaign .diagnosis {top: 15% !important;}
}

/* スタイル済ボタンのテキストカラー 誤適用をリセット */
.articleBody .eventLinkBtn a {color:#000;}

/*画像角丸OFF*/
.articleBody img.off{
border:0px !important;
border-radius:0px !important;
}

body.off .articleBody img{
border:0px !important;
border-radius:0px !important;
}

.articleBody table p{margin-top:0px;}

/*flex*/
.articleBody .flex{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
}
.articleBody .flex .flex-left,
.articleBody .flex .flex-right{
max-width:49.5%;
}

@media screen and (max-width: 820px) {
.articleBody .flex .flex-left,.articleBody .flex .flex-right{max-width:100%;}
.articleBody .flex .flex-right img{margin-top:0px;}
}

/* VVRECORDS追加に係る内容 */
.topicsTab li a {
    padding: min(1.2vw, 8px) min(1vw, 2px) min(1vw, 7px);
    font-size: min(2.8vw, 12px);
}
.topicsTab li {width: min(20vw, 144px);}
.topicsTab {gap: min(1.2vw, 2px);}
#search .searchBtnList > dd a {
    font-size: min(2.6vw, 12px);
    min-width: min(14vw, 127px);
}

.mt-be-columns{justify-content:space-between;flex-wrap:wrap;}
.mt-be-column{max-width:48%;}
@media screen and (max-width: 820px) {
.mt-be-column{max-width:100%;margin:0 auto;}
}