.col2{
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 0;
}

.col2 .side{
  display: flex;
  flex-direction: column;
}
.col2 .side .tit{
  display: inline-block;
  padding-bottom: .5rem;
  border-bottom: 2px solid #111;
  font-weight: var(--font-weight);
  font-family: var(--font-mix);
  line-height: 1.44;
}
@media screen and (min-width:769px) {
  .col2 .side .tit{
    font-size: 4.35rem;
    letter-spacing: -0.02em;
  }
}
@media (max-width:768px) {
  .col2 .side .tit{
    padding-bottom: .125em;
    border-bottom: 5px #000 solid;
    font-size: 4.5rem;
  }
}
.col2 .side .red{
  color: #df0018;
}
.col2 .side .back{
  margin-top: auto;
}
.col2 .side .back a {
  display: block;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #ccc;
}
.col2 .side .back a span{
  display: inline-block;
  width: .9em;
  height: 1em;
  margin-right: .5em;
  transform: rotate(180deg);
  background-image: url(data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2218%22%20version%3D%221.1%22%20viewBox%3D%220%200%2018%2018%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.st0%20%7B%20fill%3A%20%23111111%3B%20fill-rule%3A%20evenodd%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22st0%22%20d%3D%22M11.3%2C1.9l6.4%2C6.4c.4.4.4%2C1%2C0%2C1.4h0s-6.4%2C6.4-6.4%2C6.4c-.4.4-1%2C.4-1.4%2C0s-.4-1%2C0-1.4l4.7-4.7H1c-.6%2C0-1-.4-1-1s.4-1%2C1-1h13.6l-4.7-4.7c-.4-.4-.4-1%2C0-1.4.4-.4%2C1-.4%2C1.4%2C0Z%22%2F%3E%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  vertical-align: middle;
}
.col2 .side .lists.cats:has(.current) li:not(.current) a{
  color: #ccc;
}
.col2 .main > p{
  font-size: 1.6rem;
}
.col2 .main .lead{
  font-size: 1.6rem;
  margin-bottom: 8rem;
}
.col2 .main:not(:has(.case)) .tit{
  font-weight: 700;
  line-height: 1.66;
}
.col2 .main p + p{
  margin-top: 2em;
}
@media screen and (min-width:769px) {
  .col2 > *{
    padding-top: 8rem;
  }
  .col2 .side{
    width: 22rem;
    height: fit-content;
  }
  .col2 .side:has( .back){
    min-height: calc(100vh - 19.2rem);
  }
  .col2 .side .item + .item{
    margin-top: 4.8rem;
  }
  .col2 .side .lists.mt48{
    margin-top: 4.8rem;
  }
  .single .col2 .side .tit{
    margin-bottom: 1.8rem;
  }
  .single .col2 .side .tit_wrap + *{
    font-weight: 400;
  }
  .col2 .main{
    width: calc(100% - 28rem);
  }
  .col2 .main:not(:has(.case)) .tit{
    margin-bottom: 2.4rem;
    font-size: 2.4rem;
  }
}
@media screen and (max-width:768px) {
  .col2 .side {
    width: 100%;
    margin-bottom: 2rem;
  }
  .col2 .main {
    width: 100%;
  }
}
/* reserve ------------------------ */
.reserve,
.reserve .bg-white{
  background-color: #d3d3d3;
}
@media screen and (max-width:768px) {
  .reserve{
    padding-top: 8%;
    padding-bottom: 8%;
  }
}
.lists.reserve_select{
  margin-top: 4rem;
  gap: 3rem;
}
.lists.reserve_select li{
  width: calc(33% - 1.5rem);
  padding: 1rem;
  border:1px solid #ccc;
  border-radius: .8rem;
  text-align: center;
  color: #333;
  cursor: pointer;
}
#reserve .view.nonselect{
  display: block!important;
  text-align: center;
}
@media screen and (min-width:769px) {
  #reserve .view.nonselect{
    padding-top: 1.5rem;
  }
}
#reserve .view .inner{
  padding: 0;
  overflow: hidden;
  box-sizing: border-box;
}
@media screen and (max-width:768px) {
  .lists.reserve_select{
    gap: 1rem;
  }
  .lists.reserve_select li{
    width: calc(50% - 1rem);
  }
}


.s_logo.visual {
  background: #111;
  margin-top: 2rem;
  height: 4rem;
  width: 21.75rem;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width:768px) {
  .s_logo.visual {
    width: 24.2rem;
  }
}
.s_logo.visual img{
  filter: invert(1);
  width: 60%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}