/* モード選択セクション */
  .mode-select{        
    width: 80%;       
    margin: 2rem auto 1rem;     
    display: grid; grid-template-columns: 1fr 1fr; gap: 4px; 
    padding: 4px;
    background: #eaf4ff;        
    border: 1px solid #cfe0f8;   
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(7,73,143,.06); 
  }
  .mode-select input[type="radio"]{ position:absolute; opacity:0; pointer-events:none; } 
  .mode-select label{
    text-align:center; font-weight:700; cursor:pointer;
    padding:10px 14px; border-radius:10px; color:#0d61bf;
  }
  /* 選択中見た目 */
  #time:checked + label[for="time"],
  #room:checked + label[for="room"]{
    background:#fff; color:#07498f; box-shadow:0 1px 0 rgba(0,0,0,.02);
  }

/* 時間から探すセクション */
.search-time{
    width:90%;
    margin: 0 auto;
  }
.search-time p{
  font-size: 1rem;
  color: #143658; 
  margin-top: 2rem;
  text-align: center;
}
.pulldown label {
  margin-top: 1.5rem;
  font-size: 1.2rem;
  font-weight: bold;
  color: #143658; 
  margin-bottom: 0.3rem;
  display: block;
}
.pulldown--options select {
  width: 100%;
  padding: 1rem 0.8rem;
  font-size: 1rem;
  border: 2px solid #5194d7; 
  border-radius: 8px;
  background-color: #fff;
  color: #143658; 
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg fill='%2355789C' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8rem center;
  background-size: 1rem;
}
.pulldown--options select:focus {
  outline: none;
  border-color: #81A9CE; 
  box-shadow: 0 0 0 1px rgba(129, 169, 206, 0.3);
}
.search-time-link__button {
  display: inline-block;
  width: 100%;
  background-color: #eb7936;
  color: #f9fcff; 
  padding: 0.7rem;
  margin-top:3rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
}
.search-time-link__button:hover {
  background-color: #843507;
}

/* 現在の空き教室セクション（モバイル、タブレット） */
.availability--current h1{
    font-size: 1.5rem;
    margin-top:3rem;
    margin-bottom:0.5rem;
    text-align: center;
    color:#001120;
  }

.availability__card{
  border:3px solid #5194d7; 
  border-radius: 8px;
  padding-bottom:1rem;
}
.availability__time{
  color:#001120;
    font-size: 1.5rem;
    margin-top:0.5rem;
    margin-bottom:0;
    text-align: center;
}
.availability__floors{
  padding-bottom:0.5rem;
}
.availability__building-name{
    font-size: 1.2rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
    margin-left:0.3rem;
  }
.availability__floors{
  width:90%;
  margin: 0 auto;
}
.availability__floor{
  margin-bottom:0.5rem;
}
.availability__room a{
  display: inline-block;
  width: 17%;
  padding: 0.5rem;
  margin: 0.2rem 0;
  background-color: #e0f7fa;
  border-radius: 6px;
  text-align: center;
  font-size: 1.1rem;
}

/* 現在の空き教室セクション（PC） */
.current-link{
    display: none;
    text-align: center;
    margin-top: 3rem;
  }
.current-link__btn{
    display:inline-block;
    padding: 0.5rem 1.5rem;
    background-color: #284dbde7;
    color: white;
    border-radius: 6px;
    font-size: 1.5rem;
    text-decoration: none;
  }
.current-link__btn:hover{
    background-color: #143658;
  }
/* 教室から探すセクション */
.search-room {  
    display: none;  /* デフォルトで非表示、ラジオボタン選択時に表示する */
  }
.search-room{
    width: 90%;
    margin: 0 auto;
 }
.search-room p{
  font-size: 1rem;
  color: #143658; 
  margin-top: 2rem;
  text-align: center;
}
  .all-rooms__card{
    border: 1px solid rgba(7,73,143,.14); 
    border-radius: 14px;
    padding: 1.25rem;
    background-color: #fff;
    box-shadow: 0 10px 26px rgba(7,73,143,.06); 
    margin-bottom: 2rem;
  }
.all-rooms__building-name{
    font-size: 1.5rem;
}
.all-rooms__floors{
  margin-left:1rem;
}
.all-rooms__floor{
  margin-bottom:0.5rem;
}
.all-rooms__room a{
    display: inline-block;
    color:#0069d9;        
    padding:0 0.5rem;
    font-size:1.5rem;
    font-weight: bold;          
    cursor: pointer;     
}

/* 問い合わせセクション */
.index__contact--wrapper{
  content-visibility: auto;
  contain-intrinsic-size: 180px;
  margin-top:3rem;
  text-align: center;
  background-color: rgb(219, 238, 255);
  color: black;
  display:none;
}
.index__contact{
  width:90%;
  margin: 0 auto;
  padding-bottom:2rem;
}
.index__contact--title{
  border-bottom: 2px solid #b1e2eb;
  display:inline;
  font-size: 1.5rem;
  margin-top: 0.5rem;
}

.index__contact--link{
  display:inline-block;
  text-align:center;
  width: auto;  
  background-color: #ffffff;
  color:#143658;
  border: 2px solid #81A9CE;
  padding: .4rem .6rem;
  border-radius: 6px;
  font-size:1.1rem;
}



/* タブレット用レスポンシブ*/
@media screen and (min-width: 768px) {
  .mode-select{
    width:60%;
  }
  .search-time{
    width:80%;
  }
    .search-time p{
  margin-bottom: 2rem;
}
  .search-room{
    width: 80%;
    margin: 0 auto;
  }
  .search-room p{
  margin-bottom: 3rem;
}
  .all-rooms__floors{
    margin-left:2rem;
}
  .all-rooms__floor{
    margin-bottom:1rem;
}
  .all-rooms__room a{      
    padding:0 0.7rem;
    font-size:1.7rem; 
}
  input[type="radio"][name="day"]  + label,
  input[type="radio"][name="time"] + label{
    font-size:1.5rem;
    margin-right: 0.5rem;
  }
}

/* PC用レスポンシブ*/
@media screen and (min-width: 1024px) {
  /* セグメント（ラジオ→タブ風） */
  .mode-select{
    width: 560px;                 
  }

  /* 検索（時間）カードの中身 */
  .search-time-section{
    margin-top: 1.25rem;          
    border: 1px solid rgba(7,73,143,.14);  
    border-radius: 14px;         
    padding: 1.25rem;              
    background-color: #fff;
    box-shadow: 0 12px 32px rgba(7,73,143,.08); 
    margin-bottom:3rem;
  }


  /* カード自体の幅・位置 */
  .search-time{
    width: 50%;                
    margin: 0 auto;             
  }
  .pulldown{
    width:90%;
    margin: 0 auto;
  }
  .search-time p{
    font-size: 1.1rem;              
    color: #6b7a90;             
  }

  .search-time-link{
    width: 70%;                  
    margin: 1rem 0 0;           
    margin: 0 auto;
    margin-top:1rem;
    margin-bottom:1rem;
  }

  .search-room{
    width: 50%;                
    margin: 0 auto 2rem;          
  }
  .search-room p{
    font-size: 1.1rem;           
    margin-bottom: 1rem;
    color: #6b7a90;
  }
  .all-rooms__floors{ margin-bottom: 2rem; }

  .current-link{
    display: block;
    margin: 16px auto 2rem;
    text-align: center;
  }
  .availability--current { display: none; }
  .index__contact--wrapper { display: none; }
}
