/* PAGE */
.page {
  max-width: 1100px;   /* ← 760 → 1100に拡張 */
  margin: 0 auto;
  padding: 10px 16px;  /* ← 左余白しっかり */
  position:relative;
}

/* SECTION */
.section{
  margin-top:38px;
}

/* GRID */
.card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
  gap:16px;
}

/* ROOM */
.room-layout{

  display:flex;
  gap:24px;

  min-height:100vh;
}

.room-content{
  flex:1;
}

/* ROOM HEADER */
.room-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

/* 左 */
.welcome-area{
  flex:1;
}

/* 右ボックス */
.side-widget{
  width:120px;
  min-width:120px;
  flex-shrink:0;
  position: sticky;
  top: 10px;
}

/* リンク */
.room-links {
  margin-top: 20px;
  display: flex;
  gap: 10px;
  justify-content: center;
}

.room-links button,
.main-btn {
  background: linear-gradient(135deg, #00c6ff, #0072ff);
  color: white;
  font-weight: bold;
  border-radius: 30px;
  padding: 12px 20px;
  border: none;
  cursor: pointer;
  transition: 0.2s;
}

/* MOBILE */
@media (max-width:640px){

  /* タイトル */
  h1{
    font-size:24px;
  }

  h2{
    font-size:20px;
  }

  p{
    font-size:14px;
  }

  /* ページ余白 */
  .page{
    padding:10px 16px;
  }

  /* パネル */
  .panel{
    padding:14px;
  }

	.room-nav{
		top:72px;
		right:16px;
		gap:6px;
	}

	.room-nav button{
		padding:8px 12px;
		font-size:13px;
	}

  .room-header{
    flex-direction:row;
  }

  .side-widget{
    width:80px;
  }
  
  .avatar{
    width:70px;
  }

  .city-grid{
    grid-template-columns:1fr;
  }

  .city-hero h1{
    font-size:34px;
  }

  .lab-grid{
    grid-template-columns: 1fr;
  }

  .idea-card{
    padding:16px;
  }

  .idea-title{
    font-size:16px;
  }

  .idea-body{
    font-size:15px;
  }

  .metric{
    font-size:26px;
  }

  .slide-box img{
    width:240px;
  }

  .metric{
    font-size:26px;
  }

  .desc{
    font-size:14px;
  }

}

