/*
Theme Name: Jazz Club GALON
Theme URI: https://galonjazz.com
Author: Jazz Club GALON
Version: 1.0.0
Description: Minimal block theme without a parent
Text Domain: Jazz Club GALON
*/

/* Modern CSS Reset by Andy Bell
   https://piccalil.li/blog/a-modern-css-reset/
*/

/* Box sizing の統一 */
*, *::before, *::after {
    box-sizing: border-box;
  }
  
  /* デフォルトの margin を削除 */
  body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
    margin: 0;
  }
  
  /* 本文の基本設定 */
  body {
    min-height: 100vh;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  
  /* 画像や動画をコンテナ幅に収める */
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  
  /* フォーム要素のフォントを継承 */
  input, button, textarea, select {
    font: inherit;
  }
  
  /* テキストのオーバーフロー制御 */
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  
  /* ルートに stacking context を設定 */
  #root, #__next {
    isolation: isolate;
  }

  ul,li{
    padding:0;
  }

header{
    width:100%;
    height:56px;
    display: block;
    position: fixed;
    top:0;
    z-index:2;
    padding:0 16px;
    margin:0;
    background:#659498;
}

header h1.site-title{
    width:131px;
    height:24px;
    display:block;
    position:absolute;
    top:16px;
    left:24px;
    margin:0;
}

header h1.site-title a{
  width:131px;
  height:24px;
  display:block;
  background:url(images/logo.svg)no-repeat center;
  background-size:100% auto;
  text-indent:-9999px;
}

footer{
  width:100%;
  height:auto;
  padding: 40px 20px 80px 20px;
  background: #65949B;
}

footer small{
color:#fff;
text-align:center;
display:block;
margin:0 auto;
}

footer nav ul{
  width:100%;
  max-width:600px;
 display:block;
 text-align: center;
  margin: 0px auto 40px;
  list-style: none;
}

footer nav ul li{
  width:auto;
  display:inline-block;
  padding:0 16px;
  margin:0;
  border-right:1px solid #fff;
  list-style: none;
  line-height:1;
}

footer nav ul li:last-child{
  border-right:0;
}

footer nav ul li a{
  font-size:12px;
  color:#fff;
  line-height:1;
  text-decoration:underline;
}

footer nav ul.sns-navigation li,footer nav ul.sns-navigation li a{
  width:36px;
  height:36px;
  display:inline-block;
  margin:0 16px;
  padding:0;
  border:0;
}

footer nav ul li.icon-instagram a{
background:url(images/icon-instagram.svg) no-repeat center;
background-size:100% auto;
text-indent:-9999px;
}

footer nav ul li.icon-x a{
  background:url(images/icon-x.svg) no-repeat center;
  background-size:100% auto;
  text-indent:-9999px;
  }

  footer nav ul li.icon-facebook a{
    background:url(images/icon-facebook.svg) no-repeat center;
    background-size:100% auto;
    text-indent:-9999px;
    }

    footer nav ul li.icon-line a{
      background:url(images/icon-line.svg) no-repeat center;
      background-size:100% auto;
      text-indent:-9999px;
      }

      footer nav ul li.icon-youtube a{
        background:url(images/icon-youtube.svg) no-repeat center;
        background-size:100% auto;
        text-indent:-9999px;
        }


p.footer-tag{
    width:247px;
    height:10px;
    display:block;
    background:url(images/jazzclub.svg) no-repeat center;
    background-size:auto 10px;
    text-indent:-9999px;
    margin:0 auto 8px auto;
}

p.footer-logo{
    width:247px;
    height:47px;
    display:block;
    background:url(images/footer-logo.svg) no-repeat center;
    background-size:100% auto;
    text-indent:-9999px;
    margin:0 auto 8px auto;
}

address{
  text-align:center;
  font-size:14px;
  font-style:normal;
}

p.number{
  font-size:28px;
  font-weight:bold;
  text-align:center;
  margin-bottom:80px;
}


main{
    margin-top:56px;
}

div.container{
    width:100%;
    max-width:840px;
    height:auto;
    display:block;
    position:relative;
    box-sizing:border-box;
    margin:80px auto;
    padding:24px 16px;
}

a.link{
  width:100%;
  max-width:400px;
  display:block;
  position:fixed;
  bottom:40px;
  left:50%;
  margin-left:-200px;
  box-sizing:border-box;
  padding:16px 8px;
  border-radius: 4px;
  background: #333;
  color:#fff;
  font-size:1rem;
  line-height:1;
  text-align:center;
  text-decoration:none;
}

a.link:hover{
  background:#659498;
}

#home h1{
  text-align:center;
  margin-bottom:40px;
}

.entry-content p,.page-content p{
    margin-bottom:16px;
}

.grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
  }
  .item{
    flex: 0 0 calc(100% - 8px); /* grow=0, shrink=0, basis=33.3333%-gap */
    box-sizing: border-box;
    text-align: left;
    overflow:hidden;
    border-bottom:1px solid #ddd;
    padding-bottom:16px;
    margin-bottom:16px;
    justify-content: center;
    align-items: center;
  }

  .item a{
    text-decoration:none !important;
  }

  .item a .box {
    display: flex;
    width: 100%;
  }

  .item a .box img{
    width:96px;
    height:96px;
  }
  
  .item a .box span{
    width: 60px;
    height: 96px;
    display: flex;                /* これを追加 */
    justify-content: center;      /* 水平方向中央 */
    align-items: center;    
    background: #547c81;
    justify-content: center;
    text-align:center;
    margin: 0px 0px 0px 6px;
    padding: 0px;
    color:#fff;
    text-decoration:none;
  }

  .item a .box span span.day{
    width:auto;
    height:auto;
    display:block;
    margin:0;
    font-size:24px;
    font-weight:bold;
  }

  .item a .box span.new-label{
    width: auto;
    height: auto;
    display: inline-block;                /* これを追加 */
    background: red;
    text-align:center;
    margin: 0px 0px 8px;
    padding: 4px;
    font-size:11px;
    color:#fff;
    text-decoration:none;
  }

  .item a .box h2{
    flex: 1;
    justify-content: center;
    margin: 0px 0px 0px 6px;
    padding: 0px;
    color:#222;
    font-size:16px;
    text-align:left;
    text-decoration:none;
  }

  h1.page-title{
    font-size: 36px;
    font-style: normal;
    line-height: 1.5;
    border-bottom:1px solid #ddd;
    padding-bottom:16px;
    margin-bottom:16px;
  }
  
  /* レイアウトの土台 */
.drawer-nav {
    position: relative;
    z-index: 1000;
  }
  
  /* ハンバーガー */
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 32px;
    font-size: 44px;
    color:#fff;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    position:absolute;
    top:8px;
    right:16px;
  }
  
  /* オーバーレイ（ラベル化してクリックで閉じる） */
  .drawer-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.4);
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
  }
  
  /* ドロワーパネル */
  .menu-container {
    position: fixed;
    top: 0;
    right: 0;               /* 右から出したい場合は right:0; にして left を外す */
    width: 280px;          /* PC/SP共通で同挙動 */
    max-width: 86vw;
    height: 100vh;
    transform: translateX(100%); /* 右からにするなら translateX(100%) */
    transition: transform .28s ease;
    background: #659498;
    box-shadow: 0 10px 30px rgba(0,0,0,.2);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  
  /* パネル内ヘッダ */
  .drawer-header {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 16px;
    background: #659498;
  }
  .drawer-title {
    font-weight: 700;
    letter-spacing: .06em;
    color:#f6f6f6;
  }
  .drawer-close {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    color:#f6f6f6;
    line-height: 1;
    cursor: pointer;
    border-radius: 8px;
    border: none;
    user-select: none;
  }
  
  /* WordPressメニューの体裁 */
  .main-menu {
    list-style: none;
    margin: 0;
    padding: 8px 0 24px;
  }
  .main-menu > li > a {
    display: block;
    padding: 12px 16px;
    text-decoration: none;
    color: #f6f6f6;
    font-weight:bold;
  }
  .main-menu > li > a:hover,
  .main-menu > li.current-menu-item > a {
    background: #f6f6f6;
    color:#659498;
  }
  
  /* トグルON時の表示制御 */
  .drawer-toggle:checked ~ .drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .drawer-toggle:checked ~ .menu-container {
    transform: translateX(0);
  }
  
  /* キーボード操作の配慮（フォーカス可視） */
  .menu-toggle:focus,
  .drawer-close:focus,
  .main-menu a:focus {
    outline: 2px solid #2684ff;
    outline-offset: 2px;
  }
  
  /* お好み：メニューオープン時にハンバーガーを隠す */
  .drawer-toggle:checked ~ .menu-toggle {
    visibility: hidden;
  }

  /* 検索バー */

  form.search-form{
    width: 100%;
    text-align:center;
    padding: 16px 0;
    background: #547c81;
  }
  
  #show form.search-form{
    margin:0 auto 40px auto;
    background:#eee;
  }

  #show .search-field{
    width:300px;
  }

  .slick-slider{
    margin-bottom:80px !important;
  }

  /* SINGLE */

  p.show-catchcopy{
    margin-bottom:16px;
  }

  #show-single h1.entry-title{
    font-size: 24px;
    line-height:1.25;
    margin-bottom:40px;
  }

  figure img{
    width: 100%;
    height:auto;
    margin-bottom:16px;
  }

  p.show-date{
    font-size: 32px;
    font-style: normal;
    font-weight: bold;
    margin-bottom:16px;
  }

  p.show-date span{
    font-size: 16px;
    font-style: normal;
    font-weight: normal
  }

  p.show-date span.show-open{
    font-weight: bold;
  }

  div.show-artist{
    width:100%;
    height:auto;
    display: block;
    box-sizing: border-box;
    padding:16px;
    margin-bottom:40px;
    border-top:1px dotted #999;
    border-bottom:1px dotted #999;
  }

  #show-single table{
    width:100%;
    max-width:400px;
    margin-bottom:40px;
  }

  #show-single table , td, th {
	border: 4px solid #fff;
	border-collapse: collapse;
}

#show-single td, th {
    padding: 4px;
    width: 30px;
    height: 25px;
    text-align: center;
}
#show-single th {
    background: #f0e6cc;
}

td.set{
    background:#ccc;
}

td.price{
    background:#fffce0;
}


  @media (min-width: 768px) {
    
.grid .item {
    flex: 0 0 calc(50% - 8px); /* grow=0, shrink=0, basis=33.3333%-gap */
  }
}
  