@charset "utf-8";

/* ========================================
    リセットcss
========================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html{overflow-y: scroll;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: ''; content: none;}
input, textarea{margin: 0; padding: 0;}
ol, ul{list-style:none;}
table{border-collapse: collapse; border-spacing:0;}
caption, th{text-align: left;}
a:focus {outline:none;}

body {
  color: #555;
  font-size: 14px;
  line-height: 1;
  font-family: "メイリオ", Meiryo;
  background-color: #fff;

  /* 文字をきれいに表示する */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

div#wrapper{
  /* width: 960px; */
  height: auto;
  margin: 0 auto;
}

/* ========================================
    indexのcssスタイル
========================================= */
#logo-area{
  text-align: center;
  margin: 24px auto;
}

.top-logo {
  width: 400px;
  height: auto;
  margin: 24px auto 6px;
}

.logo {
  width: 600px;
  height: auto;
  margin: 24px auto;
}

#index-content {
  margin: 0 auto;
  text-align: center;
}

#animated-title, #animated-password-title {
  font-size: 24px;
  color: fuchsia;
  font-weight: bold;
  margin: 24px auto;
  line-height: 2rem;
}

#animated-sub-title {
  font-size: 280px;
  font-weight: bold;
  color: rgb(0, 255, 30);
}

#animated-sub-context {
  font-size: 100px;
  font-weight: bold;
  color: fuchsia;
}

/* フォームスタイル */
#member-access {
  opacity: 1;
  background-color: rgb(171, 248, 164);
  border: none;
  color: white;
  padding: 12px 20px;
  margin: 8px 0;
  width: 100%;
  box-sizing: border-box;
  font-size: 16px;
  font-family: 'Arial', sans-serif;
  border-radius: 2rem;
}

.form-area {
  max-width: 300px;
  margin: 48px auto;
}

/* ボタンスタイル */
#submit-button {
  opacity: 1;
  background-color: rgb(102, 243, 97);
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4rem;
  cursor: pointer;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  font-family: 'Arial', sans-serif;
  transition: background-color 0.3s ease;
}

/* ボタンホバー時 */
#submit-button:hover {
  background-color: #14ff27;
}

.br-sp{
  display: none;
}

@media screen and (max-width: 640px) {
  #animated-sub-title {
    font-size: 60px; /* Adjust the font size for smaller screens */
  }

  #animated-sub-context {
    font-size: 12px;
  }

  main#index-wrapper {
    width: auto;
    margin: 47px 24px;
    padding: 0 20px;
  }

  .index-header h1 {
    font-size: 32px; /* フォントサイズを大きく設定 */
  }

  .top-logo {
    width: 300px;
    margin: 24px auto;
  }

  .logo {
    width: 300px;
    margin: 24px auto;
  }

  #animated-title, #animated-password-title {
    font-size: 18px;
    margin: 16px auto;
    text-align: left;
  }

  .form-area {
    max-width: 100%;
    padding: 0 10px;
    margin: 24px auto;
  }

  #member-access, #submit-button {
    font-size: 14px;
    padding: 10px 18px;
  }

  #submit-button {
    font-weight: normal;
  }

  .br-sp{
    display: block;
  }
}

/* ========================================
    menuのcssスタイル
========================================= */
.menu-logo {
  width: 480px;
  height: auto;
  margin: 0 auto 48px;
  @media screen and (max-width: 640px) {
    width: 300px;
    margin: 12px auto 36px;
  }
}

.menu-header h1 {
  font-family: 'Arial', sans-serif; /* フォントファミリーを指定 */
  color: #fff; /* 文字色を指定 */
  font-weight: bold; /* 太字にする */
}

.menu-main h2 {
  font-family: 'Arial', sans-serif; /* フォントファミリーを指定 */
  color: fuchsia; /* 文字色を指定 */
  font-weight: bold; /* 太字にする */
  line-height: 2rem;
  @media screen and (max-width: 640px) {
    line-height: 3rem;
  }
}

.menu-header h1 {
  font-size: 32px; /* フォントサイズを大きく設定 */
}

#animated-text > div {
  font-size: 24px; /* divに対するフォントサイズを設定 */
  font-weight: bold;
  @media screen and (max-width: 640px) {
    font-size: 18px;
  }
}

#animated-text > div:first-child {
  margin-top: 20px; /* 最初のdivの上のマージンを設定 */
}

#animated-text > div:last-child {
  margin-bottom: 100px; /* 最後のdivの下のマージンを設定 */
  @media screen and (max-width: 640px) {
    margin-top: 10px;
  }
}

.menu-header {
  background-color: #000;
  color: #fff;
  padding: 20px;
  text-align: center;
  @media screen and (max-width: 640px) {
    font-size: 2px;
  }
}

.menu-nav ul {
  list-style-type: none;
  margin-top: 32px;
  padding: 0;
  text-align: center;
}

.menu-nav ul li {
  display: inline;
  margin-right: 20px;
}

.menu-nav ul li a, .menu-main a {
  color: rgb(0, 255, 30); /* リンクの色をfuchsiaに統一 */
  text-decoration: none; /* リンクの下線を削除 */
  font-size: 24px;
  @media screen and (max-width: 640px) {
    line-height: 3rem;
    font-size: 20px;
  }
}

.menu-main {
  padding: 20px;
  text-align: center;
  line-height: 2rem;
}

.menu-main a {
  display: block;
  margin-bottom: 10px;
  text-decoration: none; /* リンクの下線を削除 */
  font-size: 24px;
  line-height: 4rem;
  @media screen and (max-width: 640px) {
    line-height: 16px;
  }
}

#song-pic-area {
  position: relative;
}

.song-logo1{
  position: absolute;
  top: 400px;
  left: 30%;
  max-width: 400px;
}
.song-logo2{
  position: absolute;
  top:300px;
  left: 200px;
  max-width: 500px;
}
.song-logo3{
  position: absolute;
  top:200px;
  left: 35%;
  max-width: 100px;
}
.song-logo4{
  position: absolute;
  top: 500px;
  right: 30%;
  max-width: 250px;
}
.song-logo5{
  position: absolute;
  top: 80px;
  left: 50%;
  max-width: 200px;
}
.song-logo6{
  position: absolute;
  top: 100px;
  left: 30%;
  max-width: 200px;
}
.song-logo7{
  position: absolute;
  top: 200px;
  left: 720px;
  max-width: 260px;
}
.song-logo8{
  position: absolute;
  top: 400px;
  left: 60%;
  max-width: 240px;
}

@media (max-width: 400px) {
  .song-logo1, .song-logo2, .song-logo3 {
    left: 50%;
    transform: translateX(-50%); /* Center align horizontally */
    max-width: 50%; /* Restrict maximum width to avoid overflow */
  }

  .song-logo5, .song-logo6, .song-logo8 {
    left: 70%;
    transform: translateX(-50%); /* Center align horizontally */
    max-width: 60%; /* Restrict maximum width to avoid overflow */
  }

  .song-logo4, .song-logo6, .song-logo7 {
    left: 30%;
    transform: translateX(-50%); /* Center align horizontally */
    max-width: 40%; /* Restrict maximum width to avoid overflow */
  }

  /* Specific adjustments for logos that were placed with large pixel values */
  .song-logo2 {
    left: 10px; /* Move closer to the start if needed */
  }
  .song-logo7 {
    left: 10px; /* Adjust from 720px to something sensible for small screens */
  }
}

.song-logo1, .song-logo2, .song-logo3, .song-logo4, .song-logo5, .song-logo6, .song-logo7, .song-logo8 {
  display: none; /* 初期状態で非表示 */
}

a {
  text-decoration: none; /* 全てのリンクの下線を除去 */
  color: rgb(0, 255, 30); /* 全リンクの色を指定 */
}

a:hover {
  text-decoration: underline; /* ホバー時に下線を表示 */
}

footer .footer-bottom {
  margin: 64px 0;
}

#top-main {
  margin: 120px auto;
  padding: 24px;
  max-width: 960px;
  text-align: left;
  line-height: 2rem;
}

#top-main h2 {
  font-family: 'Arial', sans-serif; /* フォントファミリーを指定 */
  font-weight: bold; /* 太字にする */
  line-height: 2rem;
  @media screen and (max-width: 640px) {
    line-height: 3rem;
  }
}

#top-context {
  font-size: 24px;
}

#top-pic-area {
  position: relative;
}

.top-logo1{
  position: absolute;
  top:100px;
  left: -30px;
  max-width: 300px;
}
.top-logo2{
  position: absolute;
  top:100px;
  left: 200px;
  max-width: 300px;
}
.top-logo3{
  position: absolute;
  top:200px;
  left: 200px;
  max-width: 300px;
}
.top-logo4{
  position: absolute;
  top:300px;
  right: 240px;
  max-width: 250px;
}
.top-logo5{
  position: absolute;
  top: -60px;
  left: 500px;
  max-width: 300px;
}
.top-logo6{
  position: absolute;
  top: -10px;
  left: 10px;
  max-width: 200px;
}
.top-logo7{
  position: absolute;
  top: 200px;
  left: 720px;
  max-width: 260px;
}
.top-logo8{
  position: absolute;
  top: -100px;
  left: 80%;
  max-width: 240px;
}
.top-logo9{
  position: absolute;
  top: -50px;
  left: 300px;
  max-width: 350px;
}
.top-logo10{
  position: absolute;
  top: 130px;
  right: 10%;
  max-width: 280px;
}
.top-logo11{
  position: absolute;
  top: -40px;
  left: 10%;
  max-width: 250px;
}
.top-logo12{
  position: absolute;
  top: -60px;
  left: 300px;
  max-width: 500px;
}

#top-title a{
  font-size: 48px;
  color: fuchsia;
  font-weight: bold;
  margin: 24px auto;
  line-height: 3rem;
  position: absolute;
  top: -30px;
  left: 15px;
}

@media screen and (max-width: 640px) {
  .top-logo1{
    top: 80px;
    left: 5%;
    max-width: 200px;
  }
  .top-logo2{
    top: 110%;
    left: 15%;
    max-width: 150px;
  }
  .top-logo3{
    top: 20px;
    left: 45%;
    max-width: 170px;
  }
  .top-logo4{
    top: -60px;
    right: 35%;
    max-width: 140px;
  }
  .top-logo5{
    top: 120px;
    left: 50%;
    max-width: 200px;
  }
  .top-logo6{
    top: 110px;
    left: 25%;
    max-width: 100px;
  }
  .top-logo7{
    top: -80px;
    left: 55%;
    max-width: 150px;
  }
  .top-logo8{
    top: 20px;
    left: 25%;
    max-width: 200px;
  }
  .top-logo9{
    top: 210px;
    left: 15%;
    max-width: 100px;
  }
  .top-logo10{
    top: -90px;
    left: 10%;
    max-width: 200px;
  }
  .top-logo11{
    top: 20px;
    left: 8%;
    max-width: 100px;
  }
  .top-logo12{
    top: -40px;
    left: 20%;
    max-width: 300px;
  }

  #top-title a{
    font-size: 24px;
    top: -100px;
    left: 10%;
    max-width: 380px;
  }

  #top-pic-area #top-title{
    margin: 24px auto;
  }
}

#contact-title > div {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin: 42px auto;
}

#contact-text {
  font-size: 24px;
  text-align: center;
  margin: 24px auto;

}

/* フォーム全体のスタイル */
#contact-form {
  max-width: 500px; /* フォームの最大幅 */
  margin: 20px auto; /* 中央配置 */
  padding: 20px; /* 内側の余白 */
  background-color: #f0f0f0; /* 背景色 */
  border-radius: 8px; /* 角の丸み */
}

/* ラベルのスタイル */
#contact-form label {
  display: block; /* ブロック要素として表示 */
  margin-bottom: 5px; /* 下のマージン */
  font-weight: bold; /* フォントを太字に */
}

/* 入力フィールドのスタイル */
#contact-form input[type="text"],
#contact-form input[type="email"],
#contact-form textarea {
  width: 95%; /* 幅を100%に */
  padding: 10px; /* 内側の余白 */
  margin: 6px auto 20px;
  border: 1px solid #ccc; /* 枠線 */
  border-radius: 4px; /* 角の丸み */
}

/* テキストエリアのスタイル */
#contact-form textarea {
  height: 150px; /* 高さ */
  max-width: 500px;
}

/* 送信ボタンのスタイル */
#contact-form input[type="button"] {
  background-color: rgb(102, 243, 97); /* 背景色 */
  color: white; /* 文字色 */
  padding: 10px 20px; /* 内側の余白 */
  border: none; /* 枠線なし */
  border-radius: 4rem; /* 角の丸み */
  cursor: pointer; /* カーソルをポインタに */
  font-weight: bold; /* フォントを太字に */
  width: 100%; /* 幅を100%に */
}

/* 送信ボタンのホバースタイル */
#contact-form input[type="button"]:hover {
  background-color: #14ff27; /* 背景色を変更 */
}

/* スマホ表示時のスタイル調整 */
@media screen and (max-width: 640px) {
  #contact-form {
    padding: 15px; /* 内側の余白を少し減らす */
    max-width: 100%; /* 最大幅を100%に */
  }

  #contact-form input[type="text"],
  #contact-form input[type="email"],
  #contact-form textarea,
  #contact-form input[type="button"] {
    font-size: 14px; /* フォントサイズを調整 */
  }

  #contact-form textarea {
    height: 100px; /* 高さを少し減らす */
  }
}


/* ========================================
    topのcssスタイル
========================================= */

#chat-matrix {
  height: 100%;
  margin: 0;
  background-color: black;
  color: green;
  font-family: 'Courier New', monospace;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1rem;
}

#chatContainer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  max-width: 100%;
  max-height: 80%;
  overflow-y: auto;
  margin-top: 100px;
}

@media screen and (max-width: 640px) {
  #chatContainer {
    max-width: 80%;
  }
}

.chat-entry {
  margin: 10px 0;
}

.chat-name {
  font-weight: bold;
}

.chat-text {
  margin-left: 5px;
}

/* ========================================
    aboutのcssスタイル
========================================= */

#about-main {
  margin: 120px auto;
  max-width: 960px;
  text-align: left;
  line-height: 2rem;
  @media screen and (max-width: 640px) {
    margin: 0 auto;
  }
}

#personality-test {
  max-width: 640px;
  margin: 0 auto 120px;
  @media screen and (max-width: 640px) {
    padding: 24px;
    margin: 0 auto;
  }
}

.question {
  margin-bottom: 48px;
}

.question p {
  font-size: 18px;
  font-weight: bold;
  margin: 24px auto 12px;
}

#title-first {
  text-align: center;
}

/* ========================================
    rurleのcssスタイル
========================================= */

/* rule0 */
#rule0-matrix {
  height: 100%;
  margin: 0;
  background-color: rgb(248, 38, 248);
  color: green;
  font-family: 'Courier New', monospace;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  line-height: 3rem;
}

#rule0Container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 20px;
  max-width: 100%;
  max-height: 80%;
  overflow-y: auto;
  margin-top: 10%;
}

@media screen and (max-width: 640px) {
  #rule0Container {
    max-width: 80%;
  }
}

.rule0-entry {
  margin: 10px 0;
  font-weight: bold;
}

.rule0-name {
  font-weight: bold;
}

.rule0-text {
  margin-left: 5px;
}

/* ルール１ */
#rule-matrix {
  height: 100%;
  margin: 0;
  font-family: 'Courier New', monospace;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  line-height: 3rem;
}

.rule-0-color {
  background-color: rgb(248, 38, 248); /* 緑の背景 */
  color: rgb(249, 249, 0); /* 黄色のテキスト */
}

.rule-1-color {
  background-color: green; /* 緑の背景 */
  color: rgb(249, 249, 0); /* 黄色のテキスト */
}

/* ルール2の色設定 */
.rule-2-color {
  background-color: rgb(249, 249, 0); /* 青の背景 */
  color: rgb(255, 0, 183);  /* 白色のテキスト */
}

/* ルール3の色設定 */
.rule-3-color {
  background-color: rgb(255, 0, 183); 
  color: #0dfbf7; /* 黒色のテキスト */
}

.rule-4-color {
  background-color: #00e6e2; /* 
  color: #f65712; /* 黒色のテキスト */
}

.rule-5-color {
  background-color: red; 
  color: #fff; /* 黒色のテキスト */
}

.rule-6-color {
  background-color: #2259ff; 
  color: #fff; /* 黒色のテキスト */
}

.rule-7-color {
  background-color: rgb(157, 0, 255); 
  color: #d5f907; /* 黒色のテキスト */
}

.rule-8-color {
  background-color: #fff;
  color: rgb(248, 38, 248);
}

#rule-matrix p {
  font-weight: bold;
}

#rule-matrix .rule-title {
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
} 

@media screen and (max-width: 640px) {
  #ruleContainer {
    max-width: 80%;
  }
}

/*ルール内容部分 */
.balloon {
  position: relative;
  border-radius: 8px;
  padding: 20px auto;
  margin: 20px auto;
  text-align: left;
  max-width: 500px;
  filter: drop-shadow(2px 4px 0 #000) ;
}

.balloon-top {
  text-align: center;
  padding: 48px;
}

.rule-logo-top {
  width: 300px;
  height: auto;
  margin: 48px auto;
}

.rule-logo {
  width: 400px;
  height: auto;
  margin: 48px auto;
}

#rule-logo-area{
  text-align: center;
  margin: 48px auto;
}

#rule-top-area {
  display: flex;
  justify-content: center; /* Centers horizontally */
  align-items: center; /* Centers vertically */
  height: 70vh; /* Takes full viewport height */
  text-align: center;
  flex-direction: column;
}

/* スマートフォン表示の調整 */
@media screen and (max-width: 640px) {
  #rule-logo-area {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
  }
  #rule-logo-area p {
    font-size: 24px
  }

  #rule-logo-area  .rule-logo {
    width: 90%;
    margin: 0px auto;
  }
}

/* PC表示時の横に表示するスタイル */
@media screen and (min-width: 641px) {
  #rule-logo-area {
    display: flex;
    align-items: center;
    justify-content: space-around;
  }

  .balloon {
    margin: auto;
  }
}

/* ボタンの基本スタイル */
#rule-top-area .btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  user-select: none;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  background: #fff100;
  border: 2px solid #000;
  border-radius: 0.5rem;
  box-shadow: 0 6px #ccc100; /* 影のスタイルを追加 */
  overflow: hidden; /* オーバーフローを隠す */
}

#rule-top-area .btn:before {
  content: "";
  position: absolute;
  top: 100%; /* ボタンの下端からスタート */
  left: 0;
  width: 100%;
  height: 6px; /* 影の高さ */
  background-color: #ccc100; /* 影の色 */
  border-radius: 0 0 0.5rem 0.5rem; /* 影の角を丸く */
  transition: transform 0.3s, opacity 0.3s; /* トランジション追加 */
  transform: translateY(-6px); /* 初期位置を上にずらす */
  opacity: 0.6; /* 影の透明度 */
}

#rule-top-area .btn:hover {
  background-color: #fada5e; /* ホバー時の背景色を明るく */
  box-shadow: 0 4px #bcbcbc; /* ホバー時の影を薄くし高さを減らす */
}

#rule-top-area .btn:active {
  transform: translateY(4px); /* クリック時にボタンを下に動かす */
  box-shadow: 0 2px #bcbcbc; /* クリック時の影の高さをさらに減らす */
}

#rule-top-area .btn:active:before {
  transform: translateY(0); /* クリック時に影を元の位置に戻す */
  opacity: 0.4; /* クリック時の影を薄くする */
}

#rule-top-area .btn .fa-position-right {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
}

.rule-section {
  height: 100vh;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .rule-section {
    width: 100%;
  }
}

@media screen and (min-width: 641px) {
  .rule-section {
    width: 80%;
 }
}

/* prodcut */
.menu-main .product-page-title {
  font-size: 36px;
  line-height: 3rem;
  margin: 24px;
}

.menu-main .content-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  background-color: #00e6e2;
  margin: 24px auto;
  border-radius: 2rem;
  padding: 24px;
  max-width: 960px;
}

.menu-main .text-section {
  flex: 1;
  margin-right: 20px; /* テキストと画像の間にスペースを設けます */
}

.menu-main .text-section h2 {
  font-size: 24px;
  margin: 6px auto 18px;
  color: #fff;
  text-align: left;
  background-color: rgb(248, 38, 248); 
  padding: 12px;
  border-radius: 10px;
}

.menu-main .text-section p {
  text-align: left;
  font-size: 16px;
  background-color: rgb(248, 38, 248); 
  padding: 12px;
  border-radius: 10px;
  color: #fff;
}

.menu-main .image-section {
  flex: 1;
}

.menu-main .image-section img {
  box-shadow: 0 4px 8px rgb(0, 0, 0); /* 影の設定 */
  transition: transform 0.3s ease;
  @media screen and (max-width: 640px) {
    max-width: 300px;
  }
}

.menu-main .image-section img:hover {
  transform: translateY(-50px); /* ホバー時に少し上に移動 */
}

@media screen and (max-width: 640px) {
  .menu-main .content-wrapper {
    flex-direction: column;
    padding: 24px;
  }

  .menu-main .text-section {
    margin-right: 0;
    margin-bottom: 20px; /* テキストと下に来る画像の間にスペースを設けます */
  }

  .menu-main .product-page-title {
    font-size: 24px;
  }

  .menu-main .text-section h2 {
    font-size: 18px;
    margin: 4px auto 8px;
  }
}

#waht-context {
  font-size: 18px;
  line-height: 2rem;
}

.body-color-change {
  background-color: black; /* 背景色を黒に設定 */
}

@media screen and (max-width: 640px) {
  #video {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  #videoPlayer {
    display: none;
  }
}

#join-main {
  margin: 48px auto;
  padding: 24px;
  max-width: 960px;
  text-align: left;
  line-height: 2rem;
  @media screen and (max-width: 640px) {
    margin: 12px auto;
  }
}

#join-main h2 {
  font-family: 'Arial', sans-serif; /* フォントファミリーを指定 */
  font-weight: bold; /* 太字にする */
  line-height: 2rem;
  @media screen and (max-width: 640px) {
    line-height: 3rem;
  }
}

#join-text > div {
  font-size: 24px; /* divに対するフォントサイズを設定 */
  font-weight: bold;
  text-align: center;
  @media screen and (max-width: 640px) {
    font-size: 18px;
  }
}

.join-bt {
  max-width: 640px;
  padding: 48px;
}

#submit-button, #linkjoin {
  background-color: rgb(102, 243, 97);
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4rem;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  font-family: 'Arial', sans-serif;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
}

#submit-button:hover, #linkjoin:hover {
  background-color: #14ff27;
}

.centered-button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 48px;
}

#join-context {
  font-size: 18px;
  line-height: 2rem;
  text-align: center;
  margin: 48px auto;
  @media screen and (max-width: 640px) {
   text-align: left;
  }
}

span {
  font-weight: bold;
}

.info-table {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  border-collapse: collapse;
  font-family: 'Arial', sans-serif;
}

.info-table th, .info-table td {
  border: 1px solid #ddd;
  padding: 12px;
  text-align: left;
}

.info-table th {
  background-color: rgb(102, 243, 97);
  color: white;
  font-weight: bold;
}

.info-table tr:nth-child(even) {
  background-color: #f2f2f2;
}

.info-table tr:hover {
  background-color: #ddd;
}

.info-table td span {
  font-weight: bold;
}