@charset "UTF-8";/* CSS Document */@media screen and (min-width: 768px) and (max-width: 1079px){  body{    background-color: #000;    font-size: 30px;    color: #FFF;    max-width: 1920px;    margin: 0 auto;    padding: 0;    font-family: "Noto Sans JP", sans-serif;  }  .clearfix::after {    content: "";    display: block;    clear: both;  }  a{    color: #FFF;    text-decoration: none;    transition: all 0.2s ease;  }  a:visited{ color: #FFF; }  a:hover{ opacity: 0.6; }  p{margin: 0;}  ul{    padding: 0;    margin: 0;    list-style: none;  }  h1,h2,h3{margin: 0;}  /*header*/  header{  max-width: 1920px;  width: 100%;  height: 120px;  background: #000;  position: fixed;  z-index: 980;  transition: 0.4s;}header.invert{  box-shadow: 0px 2px 6px 0px #2E2E2E;  transition: 0.4s;}#headerInner{  margin: 0 auto;  max-width: 1920px;  width: 95%;  height: 120px;  display: flex;  align-items: center;}.logoInner{width: 199px;margin: 0 auto 0 0;}.logo_mb{display: none;}.logo_pc a{  display: flex;  justify-content: center;  align-items: center;  height: 120px;}.logo_pc img{width: 100%;}#headermenu{display: none;}#menuInner{  display: flex;  justify-content: center;}.englishsite{  display: flex;  justify-content: center;  align-items: center;}.tagInner{justify-content: center;align-items: center;}.c-tag{  display: flex;  justify-content: center;  align-items: center;  padding: 0 10px 0 10px;  background-color: #fff;}.c-tag span{  font-size: 14px;  font-weight: 300;  line-height: 1.8;  text-align: center;  color: #000;}.openbtn{position: relative;cursor: pointer;margin: 0 0 0 auto;width: 50px;height: 50px;}.openbtn .openbtn-area{transition: all .4s;}.openbtn span{display: inline-block;transition: all .4s;position: absolute;left: 14px;height: 3px;background: #fff;width: 45%;}.openbtn span:nth-of-type(1){top:15px;}.openbtn span:nth-of-type(2){top:23px;}.openbtn span:nth-of-type(3){top:31px;}.openbtn.active .openbtn-area{transform: rotateY(-360deg);}.openbtn.active span:nth-of-type(1){top: 18px;left: 12.5px;transform: translateY(6px) rotate(-135deg);width: 50%;}.openbtn.active span:nth-of-type(2){opacity: 0;}.openbtn.active span:nth-of-type(3){top: 30px;left: 12.5px;transform: translateY(-6px) rotate(135deg);width: 50%;}body.no-scroll {  overflow: hidden;}.menuboard{  position: fixed;  width: 100%;  right: 0;  height: calc(100vh - 60px);  background: rgba(000,000,000,0.9);  visibility: hidden;  transition: opacity 0.2s, visibility 0.2s;  opacity: 0;  z-index: 999;}.menuboard ul{  text-align: left;  margin: 0;  padding-left: 4%;}.menuboard.active{  opacity: 1;  visibility: visible;}.menuboard li{  font-size: 14pt;  margin: 0 0 2% 0;}.menuboard li a{  position: relative;}  /*main*/  main{padding-top: 120px;color: #000;}  .caption{ text-align: center; font-size: 1.4rem; line-height: 4; font-weight: 600; color: #FFF; }  .subcaption{ text-align: center; font-weight: 600; color: #FFF; font-size: 1.2rem; }    /* ページ全体のコンテナ */  .page-container {      display: flex;      flex-direction: column;      gap: 30px;      max-width: 960px;      margin: auto;      padding: 0 15px;  }  .schedule-section{      margin-top: 40px;      background-color: #fff;      border: 1px solid #ddd;      box-shadow: 0 0 10px rgba(0,0,0,0.05);      padding: 20px;  }  /*form*/  .reservation-form-container h2 {      font-size: 1.6em;      color: #333;      margin-top: 0;      margin-bottom: 20px;      border-bottom: 1px solid #eee;      padding-bottom: 10px;  }  .important-notice {      background-color: #f9f9f9;      color: #000;      border: 1px solid #eee;      padding: 15px;      margin-bottom: 25px;      font-size: 0.7em;  }  .important-notice p {   color: #FF0000;  margin-top: 0;  }  .important-notice ul { margin-bottom: 0; }  .important-notice li { margin-bottom: 5px; }  .important-notice span{ color: red; }  #bookingForm .form-grid { display: block; }  #bookingForm .form-group { margin-bottom: 20px; }  .form-group label {      display: block;      font-weight: bold;      margin-bottom: 6px;      font-size: 0.8em;      color: #444;  }  .form-group input[type="text"],  .form-group input[type="date"],  .form-group input[type="email"],  .form-group input[type="tel"],  .form-group select,  .form-group textarea {      width: 100%;      padding: 10px;      border: 1px solid #ccc;      border-radius: 4px;      box-sizing: border-box;      font-size: 1em;  }  .form-group input:focus,  .form-group select:focus,  .form-group textarea:focus {      border-color: #007bff;      outline: none;      box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);  }  .form-group .required {      color: red;      font-weight: normal;      margin-left: 2px;  }  .form-text {      display: block;      font-size: 0.85em;      color: #666;      margin-top: 5px;  }    /* 横並びコンテナ */  .name-fields-container {      display: flex;      gap: 20px;      align-items: flex-end;  }  .name-fields-container .form-group {      flex: 1;      margin-bottom: 0;  }  /* ラジオボタンとチェックボックス */  .form-group div {    display: flex;    flex-wrap: wrap;    gap: 10px 20px;    align-items: center;  }  .form-group div label {      font-weight: normal;      margin-bottom: 0;      display: inline-flex;      align-items: center;  }  .form-group div input[type="radio"],  .form-group div input[type="checkbox"] {      width: auto;      margin-right: 5px;  }  .label-hidden { visibility: hidden; }  /* 区切り線と案内文 */  hr {      border: none;      border-top: 1px dotted #ccc;      margin: 40px 0;  }  .section-guide {      text-align: center;      font-weight: bold;      margin: -20px 0;      color: #333;  }  .form-actions {      margin-top: 30px;      text-align: right;  }  .submit-button {      background-color: #007bff;      color: white;      padding: 12px 30px;      border: none;      border-radius: 4px;      font-size: 1.1em;      cursor: pointer;      transition: background-color 0.2s ease-in-out;  }  /*footer*/  footer{ margin-top: 180px; }  #page-top{     position: fixed;      right: 20px;      z-index: 2;      cursor: pointer;      opacity: 0;      background: rgba(000,000,000,0.7);      transform: translateY(100px);  }  #page-top a{      position: relative;      display: flex;      justify-content: center;      align-items: center;      width: 60px;      height: 60px;      border: 1px solid #FFF;      transition: all 0.3s;  }  #page-top a span{    position: absolute;    top: 24px;    left: 15px;    width: 30px;    height: 30px;    border-top: 1px solid #FFF;    border-right: 1px solid #FFF;    transform: rotate(-45deg);  }  #page-top.DownMove{ animation: DownAnime 0.5s forwards; }  #page-top.UpMove{ animation: UpAnime 0.5s forwards; animation-delay: 0s; }  #footerInner{    max-width: 1920px;    width: 95%;    margin: auto;    height: 70px;    border-top: 1px solid #FFF;    padding: 50px 0;  }  #footerInner ul{    float: left;    font-size: 1rem;    line-height: 1.5;  }  #footerInner li a{color: #FF0000;}  #footerInner li a:visited{color: #FF0000;}  #footerInner .footerlogo_pc a{ float: right; }  #footerInner .footerlogo_mb{ display: none; }  #copyright{    width: 100%;    height: 60px;    background: #2E2E2E;    display: flex;    align-items: center;    justify-content: center;  }  #copyright p{text-align: center;font-size: 0.8rem;}}@keyframes DownAnime{  0%{opacity: 1;transform: translateY(0);}  100%{opacity: 1;transform: translateY(100px);}}@keyframes UpAnime{  0%{opacity: 0;transform: translateY(100px);}  100%{opacity: 1;transform: translateY(0);}}