@charset "UTF-8";/* CSS Document */@media screen and (min-width: 1080px){  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;  }  #menuInner{    display: none;  }  #menuInner .c-tag{display: none;}  .menuboard{display: none;}  .logoInner{float: left;}  .logo_mb{display: none;}  .logo_pc a{    display: flex;    justify-content: center;    align-items: center;    height: 120px;  }  .logo_pc img{width: 100%;}  #headermenu{    line-height: 120px;  }  #headermenu li{    float: right;    padding-left: 1.5%;    font-size: clamp(12px,1.3vw,20px);  }  #headermenu li:last-child{    padding-left: 0;  }  .tagInner{display: inline-flex;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: clamp(16px,1.3vw,24px);    font-weight: 300;    line-height: 1.8;    text-align: center;    color: #000;  }  /*main*/  main{padding-top: 120px;color: #000;}  .caption{    text-align: center;    line-height: 4;    font-size: 1.6rem;    font-weight: 600;    color: #FFF;  }  .subcaption{    text-align: center;    font-weight: 600;    color: #FFF;    font-size: 1.4rem;  }  /* ページ全体のコンテナ */  .page-container {      display: flex;      flex-direction: column;      gap: 30px;      max-width: 960px;      margin: auto;      padding: 15px;  }  .schedule-section{      margin-top: 60px;      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 25px;      border: none;      border-radius: 4px;      font-size: 1.1em;      cursor: pointer;      transition: background-color 0.2s ease-in-out;  }  .submit-button:hover { background-color: #0056b3; }  /*footer*/  footer{ margin-top: 180px; }  #page-top{     position: fixed;      right: 30px;      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);}}