@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;}/* 個別の調整が必要な場合は、それぞれのクラスで上書き */.schedule-container { /* 元のスタイルと重複を避けるため調整 */    max-width: 100%; /* page-containerが幅を制御 */    margin: 0;    border: none;    box-shadow: none;    padding:0; /* schedule-sectionがpaddingを持つ */}/*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 strong{color: #FF0000}.important-notice p {    margin-top: 0;}.important-notice ul {    margin-bottom: 0;}.important-notice li {    margin-bottom: 5px;}.form-grid {    display: grid;    gap: 20px;}.form-group {    margin-bottom: 5px; /* グリッドのgapがあるので小さくても良い */}.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; /* paddingとborderをwidthに含める */    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;}.time-notes {    font-style: italic;    margin-top: 8px;}.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;}.form-group-name {    display: inline-block; /* 親が1列のグリッドなので、これだけでは横並びにならない */    width: calc(50% - 10px); /* gapを考慮 */}.form-group-name:nth-of-type(odd) { /* First Name */   margin-right: 20px; /* gapの代わり */}#bookingForm .form-grid {    display: block; /* グリッドを一旦解除して、手動でレイアウト */}#bookingForm .form-group {    margin-bottom: 20px; /* グリッドのgapの代わり */}.name-fields-container {    display: flex;    gap: 20px;    margin-bottom: 20px;}.name-fields-container .form-group {    flex: 1;    margin-bottom: 0; /* 親のgapで管理 */}/*footer*/#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;}footer{  margin-top: 180px;}#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;}}/*@media screen and (min-width: 1080px)*/@keyframes pathmove{0%{height: 0;top: 0;opacity: 0;}30%{height: 30px;opacity: 1;}100%{height: 0;top: 60px;opacity: 0;}}@keyframes displayAnime{from{  opacity: 0;}to{  opacity: 1;}}@keyframes slideAnime{	0%{opacity: 0;}	10%{opacity: 1;}	30%{opacity: 1;}	40%{opacity: 0;}	100%{opacity: 0;}}@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);}}