@charset "utf-8";

/* ===== ROOM ===== */

.point-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:30px;
  border-radius:999px;
  background:#111;
  color:#FFD900;
  font-weight:900;
  font-size:.85rem;
  letter-spacing:.08em;
  flex:0 0 auto;
}

.room-lead{
  /* width: min(980px, 100%); */
  margin: 0 auto 26px;
  line-height: 2.15;
  font-size: 1.05rem;
}

.room-points{
  /* width: min(980px,100%); */
  /* margin: 40px auto 0; */
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.room-points li{
  background:#fff;
  border:2px solid #111;
  border-radius: 10px;
  padding: 10px 10px;
  display:flex;
  align-items:center;
  gap: 14px;
  font-weight:800;
  transition:.2s;
  font-size: .8rem;
}


/* card */
.room-card{
  /* width: min(980px, 100%); */
  margin: 0 auto;
  background:#fff;
  border:2px solid #111;
  border-radius: 10px;
  padding: 15px;
  display:grid;
  gap: 36px;
  /* box-shadow: 10px 10px 0 #111; */
  grid-template-columns: 1fr;
}

.room-visual{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
}
.room-visual img{
  width:100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display:block;
}
.room-badge{
  position:absolute;
  top:12px;
  left:12px;
  background:#111;
  color: var(--yellow);
  font-weight:900;
  font-size:.75rem;
  padding:10px 14px;
  border-radius:999px;
  letter-spacing:.08em;
}

.room-body p{
  margin: 0 0 14px;
  line-height: 2.15;
}
.room-body p:last-child{
  margin-bottom: 0;
}

.room-actions{
  margin-top: 18px;
  margin: 25px auto 0;
  width: 100%;
  text-align: center;
}

/* mini info */
.room-info-grid{
  /* width: min(980px, 100%); */
  margin: 26px auto 0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.info-mini{
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius: 8px;
  padding: 10px 15px;
}
.info-mini h3{
  margin: 0 0 0;
  font-weight:900;
  letter-spacing:.06em;
}
.info-mini p{
  margin:0;
  line-height:1.9;
  opacity:.9;
  font-size: .8rem;
}

/* group box */
.room-group-box{
  width:min(900px,100%);
  margin: 0 auto;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:18px;
  padding:26px;
}
.muted{ opacity:.75; line-height:2; margin:0; }
.group-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* outline button (secondary) */
.btn-outline-pop{
  display:inline-block;
  background: transparent;
  color:#111;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  border:2px solid #111;
  transition:.2s;
}
.btn-outline-pop:hover{
  transform: translateY(-2px);
  background:#111;
  color: var(--yellow);
}

/* CTA reuse */
.room-cta .cta-box{
  text-align:center;
  width:min(900px,100%);
  margin:0 auto;
  background:#fff;
  border:2px solid #111;
  border-radius:24px;
  padding:40px 22px;
  box-shadow: 8px 8px 0 #111;
}

.btn-room{
  display:inline-block;
  position:relative;
  padding: 8px 20px;
  font-weight:900;
  letter-spacing:.06em;
  text-decoration:none;
  color:#111;
  background: var(--yellow);
  border:2px solid #111;
  border-radius:999px;
  transition:.25s ease;
  overflow:hidden;
}

/* 左右に“チケット穴”演出 */
.btn-room::before,
.btn-room::after{
  content:"";
  position:absolute;
  top:50%;
  width:14px;
  height:14px;
  background:#fff;
  border:2px solid #111;
  border-radius:50%;
  transform:translateY(-50%);
}

.btn-room::before{
  left:-9px;
}

.btn-room::after{
  right:-9px;
}

/* hover */
.btn-room:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 #111;
}

/* active */
.btn-room:active{
  transform:translateY(0);
  box-shadow:3px 3px 0 #111;
}


/* ==========================================================================
   ROOM - Sasebo Ruins Club
   ========================================================================== */
.room-sasebo{
  padding: 50px 0;
}
.room-sasebo .content-narrow{/* width: min(1125px, 100%); */padding: 0 15px;}
.room-sasebo .sasebo-card{
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.room-sasebo .sasebo-visuals{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 16px;
}

.room-sasebo .sasebo-photo{
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f3f3;
}

.room-sasebo .sasebo-photo img{
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
}

.room-sasebo .sasebo-body{
  padding: 0 18px 22px;
  line-height: 1.9;
  color: rgba(0,0,0,.82);
}

.room-sasebo .sasebo-body p{
  margin: 0 0 12px;
}

.room-sasebo .sasebo-actions{
  margin-top: 16px;
}


/* responsive */
@media (max-width: 960px){
  .room-card{
    /* grid-template-columns: 1fr; */
    /* padding: 24px; */
    /* gap: 18px; */
  }
  .room-info-grid{
    grid-template-columns: 1fr;
  }
  .room-visual img{
    aspect-ratio: 16/10;
  }
}


@media (min-width: 767px){
  /* ===== ROOM ===== */

.point-tag{}

.room-lead{
}

.room-points{
}

.room-points li{
  border-radius:16px;
  padding:16px 18px;
  font-weight:800;
  font-size: 1rem;
}


/* card */
.room-card{
  border-radius:24px;
  padding:34px;
  grid-template-columns: 1.05fr 1.35fr;
  gap: 36px;
}

.room-visual{
}
.room-visual img{
}
.room-badge{}

.room-body p{
}
.room-body p:last-child{
  margin-bottom: 0;
}

.room-actions{
  margin-top: 18px;
}

/* mini info */
.room-info-grid{

}
.info-mini{
  border-radius:18px;
  padding:18px 18px;
}
.info-mini h3{
}
.info-mini p{
}

/* group box */
.room-group-box{
  width:min(900px,100%);
  margin: 0 auto;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:18px;
  padding:26px;
}
.muted{ opacity:.75; line-height:2; margin:0; }
.group-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* outline button (secondary) */
.btn-outline-pop{
  display:inline-block;
  background: transparent;
  color:#111;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  border:2px solid #111;
  transition:.2s;
}
.btn-outline-pop:hover{
  transform: translateY(-2px);
  background:#111;
  color: var(--yellow);
}

/* CTA reuse */
.room-cta .cta-box{
  text-align:center;
  width:min(900px,100%);
  margin:0 auto;
  background:#fff;
  border:2px solid #111;
  border-radius:24px;
  padding:40px 22px;
  box-shadow: 8px 8px 0 #111;
}

.btn-room{
  padding: 12px 34px;
}

/* 左右に“チケット穴”演出 */
.btn-room::before,
.btn-room::after{}

.btn-room::before{
}

.btn-room::after{
}

/* hover */
.btn-room:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 #111;
}

/* active */
.btn-room:active{
  transform:translateY(0);
  box-shadow:3px 3px 0 #111;
}
  .room-sasebo .sasebo-card{
    grid-template-columns: 1.05fr 1fr;
    align-items: stretch;
  }

  .room-sasebo .sasebo-visuals{
    padding: 40px 30px;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  .room-sasebo .sasebo-photo img{
    height: 320px;
  }

  .room-sasebo .sasebo-body{
    padding: 22px 22px 22px 0;
    padding: 40px 30px 40px 0;
  }
  .room-sasebo .content-narrow{
    padding: 0 4%;
  }
}
@media (min-width: 991px){
  /* ===== ROOM ===== */

.point-tag{}

.room-lead{
}

.room-points{
}

.room-points li{}


/* card */
.room-card{}

.room-visual{
}
.room-visual img{
}
.room-badge{}

.room-body p{
}
.room-body p:last-child{
  margin-bottom: 0;
}

.room-actions{
}

/* mini info */
.room-info-grid{}
.info-mini{
}
.info-mini h3{
}
.info-mini p{
}

/* group box */
.room-group-box{
  width:min(900px,100%);
  margin: 0 auto;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:18px;
  padding:26px;
}
.muted{ opacity:.75; line-height:2; margin:0; }
.group-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* outline button (secondary) */
.btn-outline-pop{
  display:inline-block;
  background: transparent;
  color:#111;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  border:2px solid #111;
  transition:.2s;
}
.btn-outline-pop:hover{
  transform: translateY(-2px);
  background:#111;
  color: var(--yellow);
}

/* CTA reuse */
.room-cta .cta-box{
  text-align:center;
  width:min(900px,100%);
  margin:0 auto;
  background:#fff;
  border:2px solid #111;
  border-radius:24px;
  padding:40px 22px;
  box-shadow: 8px 8px 0 #111;
}

.btn-room{}

/* 左右に“チケット穴”演出 */
.btn-room::before,
.btn-room::after{}

.btn-room::before{
}

.btn-room::after{
}

/* hover */
.btn-room:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 #111;
}

/* active */
.btn-room:active{
  transform:translateY(0);
  box-shadow:3px 3px 0 #111;
}
}

@media (min-width: 1200px){
  /* ===== ROOM ===== */

.point-tag{}

.room-lead{
}

.room-points{
}

.room-points li{}


/* card */
.room-card{}

.room-visual{
}
.room-visual img{
}
.room-badge{}

.room-body p{
}
.room-body p:last-child{
  margin-bottom: 0;
}

.room-actions{
}

/* mini info */
.room-info-grid{}
.info-mini{
}
.info-mini h3{
}
.info-mini p{}

/* group box */
.room-group-box{
  width:min(900px,100%);
  margin: 0 auto;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:18px;
  padding:26px;
}
.muted{ opacity:.75; line-height:2; margin:0; }
.group-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* outline button (secondary) */
.btn-outline-pop{
  display:inline-block;
  background: transparent;
  color:#111;
  padding:14px 22px;
  border-radius:999px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none;
  border:2px solid #111;
  transition:.2s;
}
.btn-outline-pop:hover{
  transform: translateY(-2px);
  background:#111;
  color: var(--yellow);
}

/* CTA reuse */
.room-cta .cta-box{
  text-align:center;
  width:min(900px,100%);
  margin:0 auto;
  background:#fff;
  border:2px solid #111;
  border-radius:24px;
  padding:40px 22px;
  box-shadow: 8px 8px 0 #111;
}

.btn-room{}

/* 左右に“チケット穴”演出 */
.btn-room::before,
.btn-room::after{}

.btn-room::before{}

.btn-room::after{
}

/* hover */
.btn-room:hover{
  transform:translateY(-3px);
  box-shadow:6px 6px 0 #111;
}

/* active */
.btn-room:active{
  transform:translateY(0);
  box-shadow:3px 3px 0 #111;
}
}
