/* SUNIVA WORLD｜ポータル発見・建物階層・参加導線 V1 */
.swm2-light-icon{
    width:44px!important;
    height:44px!important;
    margin:0!important;
    background:transparent!important;
    border:0!important;
}
.swm2-light-icon>span{
    position:relative;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
}
.swm2-light-icon i{
    display:block;
    width:var(--swm2-marker-size,16px)!important;
    height:var(--swm2-marker-size,16px)!important;
    border:3px solid rgba(255,255,255,.96)!important;
    border-radius:50%;
    background:#d7a733;
    box-shadow:0 0 0 5px rgba(228,189,91,.16),0 0 20px 7px rgba(241,205,111,.36)!important;
    transition:width .18s ease,height .18s ease,box-shadow .18s ease,transform .18s ease;
}
.swm2-light-icon--open i{
    background:#5aa786;
    box-shadow:0 0 0 4px rgba(90,167,134,.14),0 0 17px 6px rgba(97,181,145,.3)!important;
}
.swm2-light-icon--owned i{
    background:linear-gradient(145deg,#ffe49a,#c78d17 72%);
    box-shadow:0 0 0 6px rgba(228,189,91,.19),0 0 27px 10px rgba(241,205,111,.5)!important;
}
.swm2-light-icon--selected i{
    transform:scale(1.08);
    box-shadow:0 0 0 9px rgba(237,195,80,.23),0 0 37px 17px rgba(255,218,120,.7)!important;
}
.swm2-light-icon b{
    position:absolute;
    top:-2px;
    left:50%;
    transform:translateX(-50%);
    color:#9a650c;
    font:900 13px/1 Georgia,serif;
    text-shadow:0 1px 2px #fff,0 0 8px #ffdf80;
}
.swm2-light-icon em{
    position:absolute;
    right:-2px;
    bottom:1px;
    display:grid;
    place-items:center;
    min-width:22px;
    height:22px;
    padding:0 5px;
    border:2px solid #fff;
    border-radius:999px;
    background:#173d4d;
    color:#fff;
    font-size:10px;
    font-style:normal;
    font-weight:900;
    box-shadow:0 5px 12px rgba(18,51,65,.22);
}
.swm2-light-icon--dense b{display:none}
.swm2-light-icon--building i{border-radius:7px!important}

.swm2-building{
    margin:26px 0 22px;
    padding-top:23px;
    border-top:1px solid rgba(205,172,95,.25);
}
.swm2-floor-list{display:grid;gap:12px}
.swm2-floor-group{
    display:grid;
    grid-template-columns:58px 1fr;
    gap:10px;
    align-items:start;
}
.swm2-floor-group h4{
    position:sticky;
    top:0;
    margin:0;
    padding:13px 5px;
    border-radius:14px;
    background:linear-gradient(145deg,#fff6d7,#efd18a);
    color:#74520f;
    font-size:12px;
    text-align:center;
}
.swm2-floor-entries{display:grid;gap:8px}
.swm2-tenant{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:58px;
    padding:11px 14px;
    border:1px solid rgba(73,139,111,.25);
    border-radius:15px;
    background:rgba(245,252,248,.9);
    color:#173d4d;
    text-align:left;
}
.swm2-tenant.is-owned{
    border-color:rgba(201,155,50,.38);
    background:linear-gradient(145deg,#fffdf8,#f8edd1);
}
.swm2-tenant strong{font-size:13px;line-height:1.45}
.swm2-tenant small{margin-top:3px;color:#668078;font-size:10px;font-weight:700}
.swm2-tenant.is-owned small{color:#9a7224}

.swm2-join-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}
.swm2-join-actions .swm2-primary{min-height:76px;padding:12px 10px;font-size:15px}
.swm2-primary--rental{
    background:linear-gradient(135deg,#d8efe4 0%,#75b694 100%);
    box-shadow:0 12px 28px rgba(69,139,104,.18),inset 0 1px 0 rgba(255,255,255,.75);
}
.swm2-primary--visit{margin-bottom:10px;background:linear-gradient(135deg,#e8f1f2,#b8d4d6)}

@media(max-width:640px){
    .swm2-join-actions{grid-template-columns:1fr}
    .swm2-join-actions .swm2-primary{min-height:68px}
    .swm2-floor-group{grid-template-columns:52px 1fr}
}

