    /* リセット・共通設定 */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
    body {
      font-family: "Helvetica Neue", Arial, sans-serif;
      line-height: 1.6;
      background-color: #f8f8f8;
      color: #333;
    }

    /* ヘッダー */
    header {
      background-color: #007acc;
      color: #fff;
      padding: 20px;
      text-align: center;
    }
    header h1 {
      font-size: 1.8em;
    }

    /* ナビゲーション */
    nav {
      background-color: #005f99;
    }
    nav ul {
      list-style: none;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
    }
    nav li {
      margin: 10px;
    }
    nav a {
      color: #fff;
      text-decoration: none;
      font-size: 1em;
      padding: 8px 12px;
      transition: background-color 0.3s;
    }
    nav a:hover {
      background-color: #004c80;
      border-radius: 4px;
    }

    /* メインコンテンツ */
    main {
      padding: 20px;
    }
    .content {
      max-width: 960px;
      margin: 0 auto;
      background-color: #fff;
      padding: 20px;
      border-radius: 8px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    .content h2 {
      margin-bottom: 10px;
      font-size: 1.5em;
      color: #007acc;
    }
    .content p {
      margin-bottom: 15px;
      font-size: 1em;
      line-height: 1.5;
    }

    /* フッター */
    footer {
      background-color: #007acc;
      color: #fff;
      text-align: center;
      padding: 15px;
      margin-top: 20px;
      font-size: 0.9em;
    }

    /* レスポンシブ対応 */
    @media (max-width: 600px) {
	.content{
    	width: 100%;
    	max-width: 100%;
      }
      header, footer {
        padding: 15px;
      }
      nav ul {
        flex-direction: column;
      }
      nav li {
        margin: 5px 0;
      }
      .content {
        padding: 15px;
      }
      header h1 {
        font-size: 1.5em;
      }
      .content h2 {
        font-size: 1.3em;
      }
    }


body { text-align: center; }

input[type="text"], label input[type="text"] {
  width: 100%;
  max-width: 380px; /* 必要に応じて調整 */
  padding: 0.2em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size:20px;

}

.fbox {display:flex; margin:0 auto; column-gap: 1em;justify-content: center;align-items: center ; }

a.back { display: block; border: 1px solid; border-radius: 5px; width: 10em; margin: 0.3em auto; font-size: 1.0rem; padding: 0.4em; background-color:#fff;}
a.back2 { display: block; border: 1px solid; border-radius: 5px; width: 10em; margin: 0.3em auto; font-size: 2.0rem; padding: 0.4em; background-color:#FFEA00;}
input[type="submit"] { font-size: 1.6rem; display: block; margin: 0.2em auto; width: 80%; border-radius: 5px; color:#000; background-color: #FFFCD7; padding:0.4em 0.6em; }

.roomtitle {
font-size:1.4rem;}

h1.roomtitle > span.button { font-size: 0.7em; margin-left:1em; display:inline-block; border: 3px outset; border-radius: 5px; cursor: pointer; color: black; text-decoration: none; margin:1em 0.5em; padding: 2px; background-color: #FFFCD7; }
span.button:active { border: 3px inset; }

div.chart { width: 100%; margin: 0 auto; }
#player { width: 100%; height:auto; aspect-ratio: 16 / 9; }

