@charset "utf-8";

.pc{
display: none!important
}

body{
background:linear-gradient(180deg,#1e1b2e 0,#28213d 260px,#f5f6fa 260px,#f5f6fa 100%);
}

/*--------------------breadcrumb--------------------*/

ol.contents {
width: 94%;
margin: 0px auto;
font-size: 12px;
text-align: right;
padding-top: 10px
}

ol.contents li{
display:inline-block;
list-style: none;
vertical-align: middle
}

ol.contents li:after{
content: '»';
font-size: 14px;
margin: 0px 5px 0px 5px;
color:#999
}

ol.contents li:last-child:after{
content: '';
display: none;
}

ol.contents li a {
text-decoration: none;
color: #000;
}

ol.contents li:first-child a{
background: url(../img/icon/home.png) no-repeat left center;
background-size: 12px;
padding-left: 20px;
}

ol.contents li a:hover {
text-decoration: underline;
}

.site-header{
width:100%;
height:auto;
position:fixed;
top:0;
right:0;
left:0;
z-index:20;
padding:0;
background:rgba(30,27,46,0.96);
color:var(--color-white);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);
}

.site-header_inner{
width:100%;
height:64px;
padding:0 18px;
display:flex;
align-items:center;
justify-content:space-between;
}

a.site-logo{
width:40%;
display:flex;
align-items:center;
gap:10px;
color:var(--color-white);
}

.site-logo_icon{
width:100%;
}

.site-logo_text{
display: none
}

.menu-button{
width:42px;
height:42px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:6px;
border-radius:7px;
background:rgba(255,255,255,0.1);
}

.menu-button_line{
width:20px;
height:2px;
display:block;
border-radius:4px;
background:var(--color-white);
}

.global-nav{
display:none;
margin-top:0;
padding:0 18px 18px;
}

.global-nav.is-open{
display:block;
}

ul.global-nav_list{
display:grid;
gap:8px;
}

a.global-nav_list{
display:block;
padding:18px 16px;
border-radius:7px;
color:var(--color-white);
background:rgba(255,255,255,0.08);
font-size:13px;
line-height:1;
display: flex;
align-items: center;
gap: 10px
}

a.global-nav_list:before{
content: "";
width: 18px;
height: 18px;
}

a.home:before{
background: url(../img/header/home.png) no-repeat center;
background-size: 100%
}

a.shop:before{
background: url(../img/header/shop.png) no-repeat center;
background-size: 100%
}

a.ranking:before{
background: url(../img/header/ranking.png) no-repeat center;
background-size: 100%
}

a.report:before{
background: url(../img/header/report.png) no-repeat center;
background-size: 100%
}

a.horoscope:before{
content:"";
background:url(../img/header/horoscope.svg) no-repeat center;
background-size:100%;
}

a.guide:before{
content:"?";
display:flex;
align-items:center;
justify-content:center;
border:2px solid currentColor;
border-radius:50%;
font-size:11px;
font-weight:800;
line-height:1;
}

.horoscope-preview_list{
display:grid;
gap:10px;
}

.horoscope-preview_item a{
position:relative;
display:grid;
grid-template-columns:54px 1fr auto auto;
align-items:center;
gap:11px;
min-height:78px;
padding:12px 15px;
border-radius:11px;
background:linear-gradient(145deg,#fff 42%,#faf5ff 100%);
box-shadow:0 7px 13px rgba(31,26,49,.08);
}

.horoscope-preview_rank{
grid-column:2;
grid-row:1;
align-self:end;
color:#7b61ff;
font-size:10px;
white-space:nowrap;
}

.horoscope-preview_symbol{
grid-column:1;
grid-row:1/3;
display:grid;
width:52px;
height:52px;
place-items:center;
border-radius:13px;
color:#fff;
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
font-size:28px;
line-height:1;
}

.horoscope-preview_name{
grid-column:2;
grid-row:2;
align-self:start;
font-size:15px;
line-height:1.4;
}

.horoscope-preview_score{
grid-column:3;
grid-row:1/3;
align-self:center;
color:#6e687d;
font-size:10px;
white-space:nowrap;
}

.horoscope-preview_score strong{
margin-right:2px;
color:var(--color-pink);
font-size:23px;
line-height:1;
}

.horoscope-preview_arrow{
grid-column:4;
grid-row:1/3;
align-self:center;
color:#aea8bc;
font-size:23px;
}

.horoscope-preview_update{
color:#9993aa;
font-size:10px;
white-space:nowrap;
}

a.memo:before{
background: url(../img/header/memo.png) no-repeat center;
background-size: 100%
}

a.contact:before{
background: url(../img/header/mail.png) no-repeat center;
background-size: 100%
}

.site-main{
width:100%;
margin-left:0;
padding:84px 16px 40px;
}

.hero{
width:100%;
min-height:0;
padding:30px 20px 24px;
display:block;
border-radius:14px;
color:var(--color-white);
background:
linear-gradient(90deg,rgba(8,10,30,.78) 0%,rgba(8,10,30,.5) 58%,rgba(8,10,30,.16) 100%),
url(../img/header/hero-smartphone-v4.png) no-repeat 68% center;
background-size: cover;
box-shadow:0 20px 50px rgba(15,12,26,0.25);
}

.hero_badge{
width:auto;
display:inline-flex;
align-items:center;
height:30px;
padding:0 12px;
border-radius:15px;
background:rgba(255,255,255,0.12);
font-size:11px;
line-height:1;
letter-spacing:0.04em;
}

.hero_title{
margin-top:18px;
font-size:30px;
line-height:1.32;
letter-spacing:0.04em;
}

.hero_text{
max-width:none;
margin-top:14px;
font-size:13px;
line-height:1.9;
color:rgba(255,255,255,0.82);
margin-bottom: 20px
}

.hero_actions{
margin-top:22px;
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}

.button{
min-width:0;
height:48px;
display:flex;
align-items:center;
justify-content:center;
border-radius:8px;
font-size:13px;
line-height:1;
}

.button:hover{
transform:none;
}

.button-primary{
color:var(--color-white);
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
box-shadow:0 12px 24px rgba(255,77,157,0.28);
}

.button-secondary{
color:var(--color-white);
background:rgba(255,255,255,0.12);
}

.section{
margin-top:24px;
}

.section_head{
margin-bottom:14px;
display:flex;
flex-direction:column;
align-items:flex-start;
justify-content:flex-start;
gap:6px;
}

.current-status_heading{
width:100%;
display:flex;
align-items:flex-end;
justify-content:space-between;
gap:10px;
}

.current-status_heading .section_title{
font-size:24px;
}

.current-weather{
flex:0 0 auto;
min-width:112px;
padding:9px 10px;
display:flex;
align-items:center;
gap:7px;
border-radius:13px;
background:var(--color-white);
box-shadow:var(--shadow-card);
}

.current-weather_icon{
font-size:24px;
line-height:1;
}

.current-weather_text{
display:grid;
grid-template-columns:auto auto;
align-items:end;
column-gap:5px;
row-gap:1px;
}

.current-weather_city{
grid-column:1 / -1;
font-size:8px;
line-height:1.2;
font-weight:700;
color:#8f8aa3;
}

.current-weather_temperature{
font-size:18px;
line-height:1;
color:var(--color-main);
}

.current-weather_label{
max-width:54px;
font-size:9px;
line-height:1.2;
font-weight:700;
color:#8f8aa3;
}

.section_label{
margin-bottom:0;
color:var(--color-pink);
font-size:11px;
line-height:1;
letter-spacing:0.12em;
}

.section_title{
font-size:22px;
line-height:1.35;
color:var(--color-main);
}

.section_weekday{
font-size:0.62em;
font-weight:700;
}

.section_time{
flex:0 0 auto;
font-size:11px;
line-height:1;
color:#8f8aa3;
white-space:nowrap;
}

.shop-card_list{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.shop-sort{
margin:0 0 14px;
padding:14px;
display:grid;
grid-template-columns:1fr;
gap:8px;
border:1px solid rgba(123,97,255,.12);
border-radius:12px;
background:var(--color-white);
box-shadow:0 8px 22px rgba(42,39,64,.07);
}

.shop-sort_fields{
display:grid;
grid-template-columns:1fr;
gap:8px;
}

.shop-sort_label{
color:var(--color-main);
font-size:12px;
font-weight:700;
}

.shop-sort_select{
width:100%;
height:46px;
padding:0 40px 0 13px;
border:1px solid #e5e1ef;
border-radius:9px;
color:var(--color-main);
background:#f8f7fb;
font:inherit;
font-size:13px;
font-weight:700;
}

.favorite-filter_button{
width:100%;
min-height:46px;
padding:9px 12px;
display:flex;
align-items:center;
justify-content:center;
gap:9px;
border:0;
border-radius:9px;
color:#fff;
background:linear-gradient(135deg,var(--color-pink),#f53585);
box-shadow:0 7px 16px rgba(255,77,157,.2);
font:inherit;
font-size:12px;
font-weight:700;
cursor:pointer;
}

.favorite-filter_button:focus-visible{
outline:3px solid rgba(255,77,157,.25);
outline-offset:2px;
}

.favorite-filter_button.is-active{
background:linear-gradient(135deg,var(--color-purple),var(--color-pink));
}

.favorite-filter_icon{
font-size:22px;
line-height:1;
}

.shop-card[hidden]{
display:none !important;
}

.shop-load-more{
margin-top:18px;
}

.shop-load-more[hidden]{
display:none;
}

.shop-load-more_button{
width:100%;
min-height:52px;
padding:12px 18px;
border:0;
border-radius:10px;
color:var(--color-white);
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
box-shadow:0 10px 22px rgba(255,77,157,.22);
font:inherit;
font-size:13px;
font-weight:700;
}

.shop-pagination{
margin-top:18px;
display:flex;
align-items:center;
justify-content:center;
gap:6px;
}

.shop-pagination[hidden]{
display:none;
}

.shop-pagination_button{
width:38px;
height:38px;
padding:0;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid #e4e0ec;
border-radius:9px;
color:#817b94;
background:var(--color-white);
box-shadow:0 5px 14px rgba(42,39,64,.06);
font:inherit;
font-size:12px;
font-weight:700;
}

.shop-pagination_button.is-active{
border-color:transparent;
color:var(--color-white);
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
box-shadow:0 7px 16px rgba(255,77,157,.2);
}

.shop-pagination_button:disabled{
opacity:.38;
}

.shop-pagination_button-arrow{
font-size:22px;
font-weight:400;
}

.section_more{
margin-top:18px;
}

.section_more_link{
width:100%;
min-height:52px;
padding:0 18px;
display:flex;
align-items:center;
justify-content:center;
gap:12px;
border:1px solid rgba(255,77,157,.2);
border-radius:10px;
color:var(--color-white);
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
box-shadow:0 12px 26px rgba(255,77,157,.22);
font-size:13px;
line-height:1;
font-weight:700;
letter-spacing:.02em;
}

.section_more_link:after{
content:"›";
font-size:22px;
font-weight:400;
line-height:1;
}

.visit-cta{
margin-top:14px;
padding:18px;
display:grid;
gap:14px;
border-radius:11px;
background:var(--color-white);
box-shadow:var(--shadow-card);
}

.visit-cta_title{
font-size:15px;
line-height:1.55;
color:var(--color-main);
}

.visit-cta_lead{
margin-top:6px;
font-size:12px;
line-height:1.6;
color:#8f8aa3;
}

.visit-cta .button{
width:100%;
}

.ranking-list{
display:grid;
gap:10px;
}

.ranking-item{
min-height:0;
padding:0;
display:block;
border-radius:9px;
background:var(--color-white);
box-shadow:var(--shadow-card);
overflow:hidden;
}

.ranking-item_link{
min-height:70px;
padding:12px;
display:grid;
grid-template-columns:38px 58px 1fr auto 14px;
align-items:center;
gap:10px;
}

.ranking-item_rank{
width:38px;
height:38px;
display:flex;
align-items:center;
justify-content:center;
border-radius:7px;
color:var(--color-white);
background:var(--color-main);
font-size:16px;
line-height:1;
}

.ranking-item_rank.is-gold{
background:linear-gradient(135deg,#f6b93b,#ff4d9d);
}

.ranking-item_rank.is-silver{
background:linear-gradient(135deg,#9aa0b5,#7b61ff);
}

.ranking-item_rank.is-bronze{
background:linear-gradient(135deg,#c8794a,#ff4d9d);
}

.ranking-item_image{
width:58px;
height:44px;
display:block;
border-radius:7px;
background:#1e1b2e;
overflow:hidden;
}

.ranking-item_image img{
width:100%;
height:100%;
display:block;
object-fit:cover;
}

.ranking-item_text{
display:grid;
gap:5px;
}

.ranking-item_name{
font-size:13px;
line-height:1;
color:var(--color-main);
}

.ranking-item_kana{
font-size:10px;
line-height:1;
color:#8f8aa3;
}

.ranking-item_count{
font-size:11px;
line-height:1;
color:var(--color-pink);
white-space:nowrap;
}

.ranking-item_count strong{
font-size:20px;
line-height:1;
}

.ranking-item_arrow{
font-size:22px;
line-height:1;
color:#b7b3c7;
}

.section_head_link{
width:100%;
height:42px;
display:flex;
align-items:center;
justify-content:center;
border-radius:7px;
color:var(--color-main);
background:var(--color-white);
box-shadow:var(--shadow-card);
font-size:12px;
line-height:1;
}

.weekly-report_grid{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.weekly-card{
padding:18px;
border-radius:11px;
background:var(--color-white);
box-shadow:var(--shadow-card);
}

.weekly-card_title{
font-size:17px;
line-height:1.45;
color:var(--color-main);
}

.weekly-card_lead{
margin-top:7px;
font-size:12px;
line-height:1.7;
color:#8f8aa3;
}

.weekly-summary{
margin-top:18px;
display:grid;
grid-template-columns:1fr;
gap:8px;
}

.weekly-summary div{
padding:14px 12px;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
border-radius:8px;
background:#f7f7fb;
}

.weekly-summary_label{
font-size:12px;
line-height:1;
color:#8f8aa3;
}

.weekly-summary_value{
font-size:12px;
line-height:1;
color:var(--color-main);
white-space:nowrap;
}

.weekly-summary_value strong{
font-size:24px;
line-height:1;
color:var(--color-pink);
}

.weekly-bars{
margin-top:20px;
display:grid;
gap:10px;
}

.weekly-bars li{
display:grid;
grid-template-columns:30px 1fr 46px;
align-items:center;
gap:10px;
}

.weekly-day{
height:30px;
display:flex;
align-items:center;
justify-content:center;
border-radius:7px;
color:var(--color-white);
background:var(--color-main);
font-size:12px;
line-height:1;
}

.weekly-bar{
height:10px;
display:block;
border-radius:5px;
background:#f0edf7;
overflow:hidden;
}

.weekly-bar span{
height:100%;
display:block;
border-radius:5px;
background:linear-gradient(90deg,var(--color-pink),var(--color-purple));
}

.weekly-count{
font-size:12px;
line-height:1;
color:var(--color-main);
text-align:right;
}

.weekly-card-note{
color:var(--color-white);
background:
radial-gradient(circle at 85% 18%,rgba(255,77,157,0.38) 0,rgba(255,77,157,0) 34%),
linear-gradient(135deg,#29213f 0,#181426 100%);
}

.weekly-card-note .weekly-card_title{
color:var(--color-white);
}

.weekly-note_text{
margin-top:12px;
font-size:13px;
line-height:1.9;
color:rgba(255,255,255,0.82);
}

.weekly-note_link{
margin-top:18px;
height:44px;
display:flex;
align-items:center;
justify-content:center;
border-radius:7px;
color:var(--color-white);
background:rgba(255,255,255,0.12);
font-size:12px;
line-height:1;
}

.how-card_list{
display:grid;
grid-template-columns:1fr;
gap:14px;
}

.how-card{
position:relative;
padding:20px 18px;
border-radius:11px;
background:var(--color-white);
box-shadow:var(--shadow-card);
overflow:hidden;
}

.how-card:before{
content:"";
width:90px;
height:90px;
position:absolute;
top:-46px;
right:-38px;
border-radius:45px;
background:linear-gradient(135deg,rgba(255,77,157,0.14),rgba(123,97,255,0.14));
}

.how-card_number{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
border-radius:7px;
color:var(--color-white);
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
font-size:13px;
line-height:1;
letter-spacing:0.04em;
}

.how-card_title{
margin-top:18px;
font-size:17px;
line-height:1.45;
color:var(--color-main);
}

.how-card_text{
margin-top:10px;
font-size:12px;
line-height:1.8;
color:#8f8aa3;
}

.contact-cta{
margin-bottom:0;
}

.contact-cta_inner{
padding:24px 20px;
display:grid;
gap:22px;
border-radius:14px;
color:var(--color-white);
background:
radial-gradient(circle at 84% 18%,rgba(255,77,157,0.42) 0,rgba(255,77,157,0) 34%),
linear-gradient(135deg,#29213f 0,#181426 100%);
box-shadow:0 20px 50px rgba(15,12,26,0.25);
}

.contact-cta .section_label{
margin-bottom:10px;
color:var(--color-pink);
}

.contact-cta_title{
font-size:22px;
line-height:1.45;
letter-spacing:0.03em;
}

.contact-cta_lead{
margin-top:12px;
font-size:13px;
line-height:1.9;
color:rgba(255,255,255,0.82);
}

.contact-cta_actions{
display:grid;
gap:10px;
}

.contact-cta_actions .button{
width:100%;
}
.site-footer{
width:100%;
margin-left:0;
padding:24px 16px 34px;
text-align:center;
}

.site-footer_copy{
font-size:11px;
line-height:1;
color:#9b96ad;
}


/* --- Shop Detail Page Styles --- */
.detail-wrap{
width:100%;
}

.detail-hero{
padding:15px;
border-radius:12px;
background:var(--color-white);
box-shadow:var(--shadow-card);
}

.detail-hero_top{
display:grid;
grid-template-columns:80px minmax(0,1fr) 80px;
align-items:center;
gap:8px;
}

.detail-image-wrap{
width:70px;
height:70px;
border-radius:35px;
overflow:hidden
}

.detail-image{
width:100%;
height:100%;
display:block;
object-fit:cover;
border-radius:10px;
background:#1e1b2e;
}

.detail-info{
min-width:0;
}

div.detail-labels{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:6px;
margin-bottom:8px;
}

.detail-area,
.detail-status{
width:max-content;
height:24px;
padding:0 8px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:12px;
font-size:9px;
line-height:1;
font-weight:700;
}

.detail-area{
background:#f0edff;
color:var(--color-purple);
}


.detail-status.is-caution{
background:#fff7dd;
color:#b98200;
}

.detail-status.is-busy{
background:var(--color-pink);
color:#fff;
}

.detail-title{
margin:0;
font-size:17px;
line-height:1.35;
color:var(--color-main);
overflow-wrap:anywhere;
}

.detail-kana{
margin-top:3px;
font-size:10px;
line-height:1.4;
color:#8f8aa3;
overflow-wrap:anywhere;
}

.detail-favorite{
min-height:30px;
margin-top:7px;
padding:0 10px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(255,77,157,.3);
border-radius:15px;
color:var(--color-pink);
background:#fff5fa;
font:inherit;
font-size:10px;
line-height:1;
font-weight:700;
white-space:nowrap;
cursor:pointer;
}

.detail-favorite:focus-visible{
outline:3px solid rgba(255,77,157,.25);
outline-offset:2px;
}

.detail-favorite.is-favorite{
color:#fff;
background:var(--color-pink);
}

.detail-maybe-visit{
min-height:30px;
margin-top:6px;
padding:0 10px;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid rgba(123,97,255,.3);
border-radius:15px;
color:var(--color-purple);
background:#f5f2ff;
font:inherit;
font-size:10px;
line-height:1;
font-weight:700;
white-space:nowrap;
cursor:pointer;
}

.detail-maybe-visit:focus-visible{
outline:3px solid rgba(123,97,255,.25);
outline-offset:2px;
}

.detail-maybe-visit.is-registered{
color:#fff;
background:linear-gradient(135deg,var(--color-purple),var(--color-pink));
}

.detail-maybe-visit:disabled{
cursor:wait;
opacity:.7;
}

.detail-forecast{
width:100%;
min-height:80px;
padding:7px 3px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
border-radius:10px;
background:var(--color-pink);;
text-align:center;
box-sizing:border-box;
}

.detail-forecast_label{
font-size:10px;
line-height:1.2;
color:#fff;
font-weight:700;
white-space:nowrap;
}

.detail-forecast_value{
margin:6px 0 0;
font-size:11px;
line-height:1;
color:#fff;
font-weight:700;
}

.detail-forecast_value strong{
font-size:38px;
font-weight: 700;
line-height:1;
color:#fff;
}

.detail-prediction{
margin-top:18px;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:6px;
}

.detail-prediction_item{
padding:14px 3px;
border-radius:10px;
background:#f7f7fb;
text-align:center;
}


.detail-prediction_item dt{
font-size:12px;
line-height:1.4;
color:#8f8aa3;
font-weight:700;
}

.detail-prediction_item dd{
margin-top:6px;
font-size:11px;
line-height:1;
color:var(--color-main);
font-weight:700;
}

.detail-prediction_item strong{
font-size:30px;
line-height:1;
color:var(--color-pink);
font-weight:700;
}

.detail-prediction_item.is-male strong{
color:#4f7cff;
}

.detail-prediction_item.is-female strong{
color:#ff4b9a;
}

.detail-prediction_item.is-couple strong{
color:#ff9f43;
}

.detail-prediction_item.is-unknown strong{
color:#8f8aa3;
}

.detail-comment{
margin-top:16px;
padding:15px 16px;
border-radius:12px;
background:#000;
font-size:13px;
line-height:1.8;
color:#fff;
font-weight:700;
}

.detail-grid{
margin-top:18px;
display:grid;
gap:18px;
}

.detail-section{
padding:20px 15px;
border-radius:16px;
background:var(--color-white);
box-shadow:var(--shadow-card);
}

.detail-post-section{
margin-top:18px;
}

.detail-section_title{
margin-bottom:14px;
font-size:20px;
line-height:1.5;
color:var(--color-main);
}

.post-tabs{
margin-bottom:14px;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:6px;
}

.post-tab{
width:100%;
height:38px;
padding:0 10px;
display:flex;
align-items:center;
justify-content:center;
border:0;
border-radius:19px;
color:#8f8aa3;
background:#f7f7fb;
font-size:11px;
line-height:1;
font-weight:700;
white-space:nowrap;
cursor:pointer;
}

.post-tab.is-active{
color:#fff;
background:var(--color-main);
}

.post-tab_panel{
display:none;
}

.post-tab_panel.is-active{
display:block;
}

.detail-table{
width:100%;
border-collapse:collapse;
font-size:13px;
line-height:1.6;
}

.detail-table th,
.detail-table td{
padding:12px 6px;
border-bottom:1px solid #ece8f2;
text-align:left;
color:var(--color-main);
}

.detail-table th{
color:#8f8aa3;
font-weight:700;
}

.detail-weekly-section{
color:var(--color-white);
background:
radial-gradient(circle at 82% 18%,rgba(255,77,157,.28) 0,rgba(255,77,157,0) 34%),
radial-gradient(circle at 74% 82%,rgba(119,86,255,.28) 0,rgba(119,86,255,0) 34%),
linear-gradient(135deg,#29213f 0,#181426 100%);
box-shadow:0 18px 46px rgba(30,27,46,.16);
}

.detail-weekly-section .detail-section_title,
.detail-weekly-section .detail-table th,
.detail-weekly-section .detail-table td{
color:var(--color-white);
}

.detail-weekly-section .detail-table th{
color:rgba(255,255,255,.62);
}

.detail-weekly-section .detail-table th,
.detail-weekly-section .detail-table td{
border-bottom-color:rgba(255,255,255,.22);
}

.post-list{
display:grid;
}

.post-card{
padding:13px 15px;
background:#fff;
border-bottom: solid 1px #dcdcdc;
}

.post-card_head{
display:flex;
align-items:center;
justify-content:space-between;
gap:10px;
margin-bottom:5px;
}

.post-card_name{
color:var(--color-main);
font-size:17px;
line-height:1.5;
font-weight:700;
}

.post-card_gender{
height:20px;
padding:0 6px;
display:inline-flex;
align-items:center;
justify-content:center;
margin-left:5px;
border-radius:3px;
font-size:11px;
line-height:1;
font-weight:700;
color:#fff;
vertical-align:middle;
}

.post-card_gender.is-male{
background:#4f7cff;
}

.post-card_gender.is-female{
background:#ff4b9a;
}

.post-card_gender.is-couple{
background:#ff9f43;
}

.post-card_gender.is-unknown{
background:#8f8aa3;
}

.post-card_name.is-male{
color:#4f7cff;
}

.post-card_name.is-female{
color:#ff4b9a;
}

.post-card_name.is-couple{
color:#ff9f43;
}

.post-card_name.is-unknown{
color:#8f8aa3;
}

.post-card_time{
flex:0 0 auto;
font-size:11px;
line-height:1.4;
color:#8f8aa3;
font-weight:700;
white-space:nowrap;
text-align:right;
}

.post-card_body{
margin:0;
font-size:13px;
line-height:1.6;
color:var(--color-main);
font-weight:500;
}

.post-card_meta{

margin-top:8px;
display:flex;
flex-wrap:wrap;
gap:6px;
}

.post-badge{
height:18px;
padding:0 10px;
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:9px;
background:#999;
color:#fff;
font-size:10px;
line-height:1;
font-weight:600;
}

.post-visit{
background:#444;
}

.empty-box{
padding:18px;
border-radius:12px;
background:#f7f7fb;
font-size:13px;
line-height:1.8;
color:#8f8aa3;
}

div.area-selector{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:10px;

}

.area-selector_button{
padding:10px 0px;
display:flex;
align-items:center;
justify-content:center;
gap:0px;
appearance:none;
color:#fff;
font:inherit;
font-size:12px;
font-weight:700;
letter-spacing:.04em;
cursor:pointer;
border:1px solid rgba(255,255,255,.25);
border-radius:10px;
background:rgba(255,255,255,.04);
transition:
transform .2s ease,
background-color .2s ease,
border-color .2s ease,
box-shadow .2s ease;
}

.area-selector_button:hover{
transform:translateY(-2px);
background:rgba(255,255,255,.08);
}

.area-selector_button.is-active{
border-color:#ef55b1;
background:rgba(239,85,177,.13);
box-shadow:
0 0 0 1px rgba(239,85,177,.18),
0 12px 30px rgba(0,0,0,.18);
}

span.area-selector_icon{
width:40px;
height:40px;
display:flex;
align-items:center;
justify-content:center;
flex:0 0 40px;
}

.area-selector_icon img{
display:block;
width:100%;
height:100%;
object-fit:contain;
}

.site-visitor-count{
width:100%;
margin-top:10px;
padding:10px 13px;
display:flex;
align-items:center;
justify-content:space-between;
gap:12px;
border:1px solid rgba(255,255,255,.2);
border-radius:10px;
background:rgba(8,10,30,.46);
backdrop-filter:blur(8px);
}

.site-visitor-count_label{
font-size:11px;
font-weight:700;
letter-spacing:.03em;
color:rgba(255,255,255,.8);
}

.site-visitor-count_value{
white-space:nowrap;
font-size:12px;
font-weight:700;
}

.site-visitor-count_value strong{
margin-right:3px;
color:#ff65b7;
font-size:20px;
line-height:1;
}

.area-shop-list[hidden]{
display:none !important;
}

.area-shop-list_empty{
width:100%;
margin:0;
padding:30px 20px;
text-align:center;
color:#7e7a92;
background:#fff;
border-radius:20px;
}

.post-tabs.app-footer-nav{
width: 100%;
position:fixed;
left:50%;
bottom:0px;
z-index:1000;
margin:0;
padding:6px 10px;
display:grid;
grid-template-columns:repeat(5,minmax(0,1fr));
gap:4px;
transform:translateX(-50%);
background:#000;
}

.app-footer-nav_item{
min-height:60px;
padding:4px 2px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:4px;
appearance:none;
border-radius:10px;
background:transparent;
cursor:pointer;
transition:
color .2s ease,
background-color .2s ease,
transform .2s ease;
}

.app-footer-nav_item.is-active{
text-decoration: underline;
}

.app-footer-nav_item:active{
transform:scale(.97);
}

.app-footer-nav_icon{
width:20px;
height:20px;
display:block;
margin-bottom: 5px
}

.app-footer-nav_icon svg{
display:block;
width:100%;
height:100%;
fill:none;
stroke:currentColor;
stroke-width:1.8;
stroke-linecap:round;
stroke-linejoin:round;
}

.app-footer-nav_text{
max-width:100%;
overflow:hidden;
font-size:10px;
color: #fff;
font-weight:700;
line-height:1.2;
text-overflow:ellipsis;
white-space:nowrap;
}

.detail-page .site-main{
padding-bottom:104px;
}

.detail-external-links{
margin:16px 0 8px;
display:grid;
grid-template-columns:1fr 1fr;
gap:8px;
}

.detail-external-link{
min-height:52px;
padding:10px 12px;
display:flex;
align-items:center;
gap:7px;
color:#fff;
font-size:12px;
font-weight:700;
border-radius:12px;
box-shadow:0 8px 20px rgba(31,26,49,.12);
}

.detail-external-link.is-home{
background:linear-gradient(135deg,#ff4d9d,#965cff);
}

.detail-external-link.is-bbs{
background:linear-gradient(135deg,#7560ff,#3d91ee);
}

.detail-external-link_icon{
font-size:17px;
line-height:1;
}

.detail-external-link_arrow{
margin-left:auto;
font-size:14px;
line-height:1;
}

#shop-detail-section,
#shop-analysis-section{
scroll-margin-top:20px;
}

[hidden]{
display:none !important;
}

/* --- Shop Analysis Dashboard --- */
.detail-analysis{
padding:12px;
color:var(--color-main);
background:linear-gradient(155deg,#fff 0%,#faf7ff 55%,#fff4fa 100%);
border-radius:18px;
box-shadow:0 12px 30px rgba(31,26,49,.08);
}

.analysis-tabs{
padding:5px;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:5px;
border:1px solid #ece8f3;
border-radius:13px;
background:#f5f4f9;
}

.analysis-tab{
min-width:0;
min-height:48px;
padding:8px 3px;
color:#8f8aa3;
border:0;
border-radius:10px;
background:#fff;
font:inherit;
font-size:12px;
font-weight:700;
white-space:nowrap;
}

.analysis-tab.is-active{
color:#fff;
background:linear-gradient(135deg,var(--color-pink),var(--color-purple));
}

.analysis-panel{
margin-top:12px;
display:grid;
gap:12px;
}

.analysis-card{
padding:15px 12px;
border:1px solid #eee9f5;
border-radius:16px;
background:#fff;
box-shadow:0 10px 25px rgba(31,26,49,.07);
}

.analysis-card_title{
margin:0 0 14px;
color:var(--color-main);
font-size:15px;
line-height:1.4;
}

.analysis-chart-wrap{
position:relative;
height:250px;
}

.analysis-chart-wrap.is-hour{
height:280px;
}

.analysis-chart-wrap.is-month{
height:270px;
}

.analysis-chart-wrap.is-radar{
height:330px;
}

.analysis-summary-grid{
margin-top:14px;
padding-top:14px;
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:5px;
border-top:1px solid #ece8f2;
text-align:center;
}

.analysis-summary-grid.is-two{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.analysis-summary-grid span,
.analysis-record-card span{
display:block;
color:#8f8aa3;
font-size:10px;
}

.analysis-summary-grid strong{
margin-top:4px;
display:block;
color:var(--color-main);
font-size:17px;
}

.analysis-summary-grid strong.is-positive{
color:#27b98b;
}

.analysis-summary-grid strong.is-negative{
color:#ff4d7d;
}

.analysis-record-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:7px;
}

.analysis-record-card{
min-width:0;
padding:14px 5px;
text-align:center;
border:1px solid #eee8f5;
border-radius:13px;
background:linear-gradient(145deg,#fff 0%,#f8f4ff 100%);
}

.analysis-record-card strong{
margin-top:6px;
display:inline-block;
color:var(--color-pink);
font-size:25px;
line-height:1;
}

.analysis-record-card strong.is-date{
font-size:13px;
}

.analysis-record-card small{
display:block;
margin-top:3px;
color:#8f8aa3;
font-size:9px;
}


.detail-event-list{
display:grid;
gap:14px;
}

.detail-price-section{
margin-top:18px;
}

.detail-price-section:first-child{
margin-top:0;
}

.detail-price-section + .detail-price-section{
margin-top:24px;
}

.detail-shop-card{
margin-bottom:22px;
padding:18px;
border-radius:20px;
background:#fff;
box-shadow:0 12px 30px rgba(31,26,49,.08);
}

.detail-shop-description{
margin:0 0 16px;
color:#5f5870;
font-size:14px;
line-height:1.7;
}

.detail-shop-list{
margin:0;
border:1px solid #ece8f2;
border-radius:14px;
overflow:hidden;
}

.detail-shop-list_item{
padding:14px;
display:grid;
grid-template-columns:84px minmax(0,1fr);
gap:10px;
border-bottom:1px solid #ece8f2;
font-size:13px;
line-height:1.6;
}

.detail-shop-list_item:last-child{
border-bottom:0;
}

.detail-shop-list_item dt{
color:var(--color-main);
font-weight:700;
}

.detail-shop-list_item dd{
margin:0;
color:#6f6982;
overflow-wrap:anywhere;
}

.detail-shop-list_item a{
color:var(--color-purple);
text-decoration:underline;
text-underline-offset:3px;
}

.detail-shop-sns{
margin-top:16px;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px;
}

.detail-shop-sns_link{
min-width:0;
min-height:42px;
padding:6px 10px 6px 6px;
display:flex;
align-items:center;
gap:7px;
color:var(--color-main);
border:1px solid #ece8f2;
border-radius:999px;
font-size:11px;
font-weight:700;
text-decoration:none;
}

.detail-shop-sns_icon{
width:28px;
height:28px;
display:inline-flex;
align-items:center;
justify-content:center;
flex:0 0 28px;
color:#fff;
background:#181818;
border-radius:50%;
font-size:10px;
line-height:1;
}

.detail-shop-sns_link.is-instagram .detail-shop-sns_icon{
background:linear-gradient(135deg,#7b2cff,#ff2f7d,#ff9d2f);
}

.detail-shop-sns_link.is-line .detail-shop-sns_icon{
background:#06c755;
}

.detail-price-title{
margin:0 0 12px;
color:var(--color-main);
font-size:18px;
line-height:1.45;
}

.detail-price-card{
padding:18px;
border-radius:20px;
background:#fff;
box-shadow:0 12px 30px rgba(31,26,49,.08);
}

.detail-price-section_head{
margin-bottom:12px;
padding:12px 14px;
border:1px solid #eee8f6;
border-radius:12px;
background:linear-gradient(135deg,#f8f5ff 0%,#fff3f9 100%);
}

.detail-price-section_title{
margin:0;
color:var(--color-main);
font-size:18px;
line-height:1.45;
font-weight:700;
}

.detail-price-section_subtitle{
margin:5px 0 0;
color:#8f8aa3;
font-size:12px;
line-height:1.7;
}

.detail-price-list{
margin:0;
}

.detail-price-card dl.detail-price-list{
border:1px solid #ece8f2;
border-radius:14px;
background:#fff;
overflow:hidden;
}

.detail-price-list_item{
padding:16px;
display:grid;
grid-template-columns:96px minmax(0,1fr);
gap:12px;
align-items:start;
border-bottom:1px solid #eceaf2;
}

.detail-price-list_item:first-child{
padding-top:16px;
}

.detail-price-list_item:last-child{
padding-bottom:16px;
border-bottom:0;
}

.detail-price-list_item dt{
margin:0;
color:var(--color-main);
font-size:13px;
line-height:1.6;
font-weight:700;
overflow-wrap:anywhere;
}

.detail-price-list_item.is-male dt{
color:#4f7cff;
}

.detail-price-list_item.is-female dt{
color:#ff4b9a;
}

.detail-price-list_item.is-couple dt{
color:#ff9f43;
}

.detail-price-list_item dd{
min-width:0;
margin:0;
color:#777286;
font-size:13px;
line-height:1.6;
}

.detail-price-list_price{
margin:0;
color:#6f6982;
font-size:14px;
line-height:1.65;
font-weight:700;
overflow-wrap:anywhere;
}

.detail-price-list_note{
margin:5px 0 0;
color:#8f8aa3;
font-size:12px;
line-height:1.7;
}

.detail-event-card{
position:relative;
padding:15px;
border-radius:10px;
background:
linear-gradient(135deg,rgba(255,77,157,.05),rgba(123,97,255,.04)),
#fff;
box-shadow:0 6px 10px rgba(31,26,49,.07);
overflow:hidden;
}

.detail-event-card:before{
content:"";
width:5px;
position:absolute;
top:0;
bottom:0;
left:0;
background:linear-gradient(
180deg,
var(--color-pink),
var(--color-purple)
);
}

.detail-event-date{
width:max-content;
margin:0 0 10px;
padding:6px 10px;
border-radius:999px;
color:var(--color-purple);
background:#f1edff;
font-size:12px;
line-height:1;
font-weight:500;
}

.detail-event-title{
margin:0;
color:var(--color-main);
font-size:18px;
line-height:1.45;
font-weight:700;
}

.detail-event-body{
margin:8px 0 0;
color:#5f5870;
font-size:14px;
line-height:1.6;
font-weight:500;
}
