@charset "utf-8";
/* Google FontsをCSS内で読み込む（テンプレート対応） */
@import url('https://fonts.googleapis.com/css2?family=Do+Hyeon&display=swap');

/* ラッパ：はみ出し防止 */
.nx-wrap{ 
  background:#0a1340; 
  color:#fff;
  width: 100%;
  overflow: hidden; /* はみ出し防止 */
  box-sizing: border-box;
}

.nx-inner{
  max-width:1100px; 
  margin:0 auto;
  padding:48px 16px 48px; 
  text-align:center;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans JP", sans-serif;
  box-sizing: border-box;
}

/* スマホでは余白を詰める */
@media (max-width: 768px) {
  .nx-inner {
    padding: 32px 12px;
  }
}

/* 見出し */
.nx-kicker{
  margin:0 0 2px;
  font-size: clamp(12px, 1.4vw, 14px);
  font-weight: 700;
  letter-spacing: 0.15em; 
  opacity:.9;
}

.nx-title{
  margin:0 0 20px;
  font-size: clamp(22px, 2.6vw, 34px);
  font-weight:400; 
  letter-spacing:.15em;
  font-family: 'Do Hyeon', sans-serif;
}

/* オレンジのピル：はみ出し防止 */
.nx-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FC5F00;
  gap: 10px;
  color: #fff;
  width: calc(100% - 24px); /* 両端12pxずつ余白 */
  max-width: 420px;
  margin: 8px auto 10px;
  padding: 12px 16px; /* 内側余白 */
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  text-align: center;
  box-sizing: border-box; /* 重要 */
}

/* スマホではさらに幅を調整 */
@media (max-width: 768px) {
  .nx-pill {
    width: calc(100% - 16px);
    max-width: 100%;
    margin: 8px auto 10px;
    padding: 10px 12px;
  }
}

/* PCは少し長め */
@media (min-width: 960px){
  .nx-pill {
    min-width: 420px;
    max-width: 480px;
  }
}

.nx-pill-date{ 
  font-family: 'Do Hyeon', sans-serif; 
  font-size: clamp(22px, 2.6vw, 30px); 
  font-weight:400; 
  letter-spacing:.05em; 
}

.nx-pill-dow{  
  font-family: 'Do Hyeon', sans-serif; 
  font-size: clamp(16px, 2vw, 24px); 
  font-weight:400; 
  opacity:.95; 
}

/* リーグ名・区切り */
.nx-league{ 
  margin: 6px 0 18px; 
  opacity:.95;
  font-size: clamp(18px, 1.8vw, 22px); 
  font-weight:800; 
  letter-spacing:.05em;
}

.nx-rule{ 
  height:0px; 
  background:#fff; 
  width:min(680px, 90%); 
  margin:0 auto 22px; 
}

/* メイン3カラム */
.nx-main{
  display:grid; 
  grid-template-columns: 1fr; 
  gap:28px 22px;
  align-items:center; 
  justify-items:center;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width:960px){
  .nx-main{ 
    grid-template-columns: 1fr auto 1fr; 
    gap:28px 60px; 
  }
}

/* チーム */
.nx-team{ 
  text-align:center; 
  width: 100%;
  box-sizing: border-box;
}

.nx-logo {
  display: block;
  width: clamp(140px, 16vw, 200px);
  height: clamp(140px, 16vw, 200px);
  margin: 0 auto 14px;
  object-fit: contain;
  object-position: center;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,.35));
}

.nx-team-ja{
  margin-top:12px;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight:800;
  letter-spacing:.02em;
}

.nx-venue-link {
  margin-top: 8px;
}

.nx-venue-link a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 9999px;
  background: #FC5F00;
  color: #fff;
  font-size: 0.9em;
  font-weight: 700;
  text-decoration: none;
  transition: background .25s, opacity .25s;
}

.nx-venue-link a:hover {
  background: #e14f00;
  opacity: .9;
}

/* 中央の日時 */
.nx-center{ 
  text-align:center; 
  width: 100%;
  box-sizing: border-box;
}

.nx-datetime{
  display:flex; 
  align-items:baseline; 
  justify-content:center;
  gap:18px; 
  line-height:1; 
  margin-bottom:14px;
  flex-wrap: wrap; /* スマホで折り返し可能に */
}

.nx-md{    
  font-family: 'Do Hyeon', sans-serif; 
  font-size: clamp(40px, 6.6vw, 80px); 
  font-weight:400; 
  letter-spacing:.02em; 
}

.nx-dow2{  
  font-size: clamp(12px, 2vw, 18px);  
  font-weight:700; 
  opacity:.9; 
}

.nx-time{  
  font-family: 'Do Hyeon', sans-serif; 
  font-size: clamp(40px, 6.6vw, 80px); 
  font-weight:400; 
  letter-spacing:.02em; 
}

.nx-venue{ 
  opacity:.9; 
  font-size: clamp(13px, 1.6vw, 16px); 
}