.main-content {
  display: flex; /* 2カラムレイアウトを作成 */
  justify-content: space-around; /* 中央揃え */
  gap: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.container {
  flex: 0 0 50%; /* 幅を60%に設定 */
  max-width: 50%;
  margin: 0;
  margin-left: 12.5%;
  background-color: white;
  padding: 1rem;
}

.side {
  flex: 0 0 20%; /* 幅を20%に設定 */
  max-width: 20%;
  background-color: #ffffff; /* サイドの背景色 */
  margin-right: 12.5%;
}

.white {
  background-color: white;
  padding: 1rem;
}








.head-title {
  margin: 0;
  margin-bottom: 1rem;
}

.pink-dashed {
  border: none;
  border-top: 2px dashed #A1D6B2;
  margin: 20px 0;
}


.form-container {
  margin: 0;
}

.form-container label {
  display: block;
  /* font-weight: bold; */
  color: #A1D6B2;
  margin-bottom: 0.5rem;
  text-align: left; /* ラベルを左寄せに設定 */
}


.form-container input[type="text"],
.form-container input[type="file"],
.form-container textarea,
.form-container select {
  width: 100%; /* 幅を全ての要素で統一 */
  padding: 0.5rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  box-sizing: border-box; /* ボックスサイズを統一 */
}


.form-container button {
  margin-top: 1rem;
  background-color: #A1D6B2; /* ボタンの背景色を緑に統一 */
  color: #ffffff;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
}

.form-container button:hover {
  opacity: 0.7;
}

p {
  text-align: center;
  color: #6c757d;
}

.btn-primary {
  background-color: #A1D6B2;
}

/* 特定のフィールドにのみスタイルを適用 */
.styled-input {
  display: inline-block; /* インプットとチェックボックスをインライン表示にする */
  margin: 0;
}

/* ラベルと対応するインプットを横並びにする */
.styled-input + label {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle; /* インプットとの位置を中央に揃える */
}

.styled-input[type="checkbox"] {
  width: auto; /* チェックボックスの幅を自動調整 */
  text-align: left;
}

.styled-input[type="text"] {
  width: 30%; /* テキストフィールドの幅を10%に設定 */
  margin-left: 5px;
}


/* 特定のフィールドのラベルとインプットを左寄せにする */
.left-align-group {
  text-align: left;
}

/* .left-align-group内のラベルを左寄せにする */
.left-align-group label {
  display: inline-block;
  margin-bottom: 0.5rem;
  text-align: left; /* 左寄せに設定 */
  color: #A1D6B2;
}

/* .left-align-group内のインプットやチェックボックス */
.left-align-group input,
.left-align-group .styled-input {
  display: inline-block;
  margin: 0;
  text-align: left;
}


.tag-input {
  width: 100% !important;
  height: 100%;
  background-color: white;
  /* margin:0; */
  border: 1px solid #ced4da;
  border-radius: 4px;
}


.tagify__input {
  width: 100% !important;
  height: 100%;
  margin: 0;
  padding: 0.5rem;
}

.tagify__input::placeholder {
  font-size: 16px; /* 他のフィールドと同じサイズに */
  display: flex;
  align-items: center; /* 垂直中央揃え */
  justify-content: center;
  height: 100%;
}


.tagify {
  display: inline-flex; /* タグがインラインで並ぶように設定 */
  max-width: 100%; /* タグの表示領域を制限 */
  white-space: nowrap; /* 改行を防止 */
  overflow-x: auto; /* 横スクロールを可能にする */
}

.tagify__input {
  flex: 1; /* 入力エリアを残りの幅に合わせる */
  min-width: 50px; /* 最小の幅を設定して縮小しすぎないようにする */
}




.side-title {
  font-size: 1.2rem;
  color: #333;
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: bold;
}

.side-description {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 1rem;
  line-height: 1.6;
  text-align: left;
}

.approval-criteria {
  margin-top: 1rem;
}

.criteria-title {
  font-size: 1rem;
  color: #333;
  font-weight: bold;
  margin: 0.5rem 0;
}

.icon-circle {
  color: #ff6b6b; /* 赤系の色でアイコンを強調 */
  font-weight: bold;
  font-size: 1rem;
}

.icon-triangle {
  color: #ffa502; /* オレンジ系の色でアイコンを強調 */
  font-weight: bold;
  font-size: 1rem;
}

.criteria-list {
  padding-left: 0;
  margin-top: 0.5rem;
  list-style: none;
}

.criteria-list li {
  font-size: 0.8rem;
  color: #555;
  line-height: 1.5;
}







@media (max-width: 768px)  {
  .main-content {
    margin: 0;
  }

  .side {
    display: none;
  }

  .container {
    min-width: 100vw;
    max-width: 100vw;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .thread-detail {
    max-width: 800px;
    margin: auto;
    padding: 0;
  }

  .thread-image {
    width: 25vw;
    height: 25vw;
    border-radius: 4px;
    margin: 2vw;
    margin-right: 20px;
  }
  
  .thread-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
  }

  .thread-header-content {
    /* flex: 1; */
    display: flex;
    flex-direction: column;
    margin-top: 10px;
  }

  .thread-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #6c757d;
    font-size: 3.5vw;
  }

  .comment-post-button {
    display: none;
  }

  .thread-detail {
    margin: 2vw;
  }

  .date-full {
    display: none !important; /* !important を使って優先度を高める */
  }
  
  .date-relative {
    display: inline !important; /* !important を使って優先度を高める */
  }


  .comment-item {
    padding: 0;
    margin-bottom: 10px;
    position: relative;
  }

  .vote-bar {
    /* display: flex; */
    width: 25%;

  }


  .form-group {
    max-width: 90vw;
    margin: 0;
  }

}







.allowed-sexualities-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; /* 横方向のスペースを均等にする */
}

.allowed-sexualities-item {
  width: 30%; /* 各項目の幅を30%にして3つずつ並べる */
  margin-bottom: 0.5rem; /* 各項目の間にスペースを追加 */
  display: flex;
  align-items: center; /* チェックボックスとラベルを縦方向に中央揃え */
}

.choice_label {
  margin-left: 0; /* ラベルの左の余白をなくす */
  margin-right: 1rem;
  display: inline-block;
}

.allowed-sexualities-item:nth-child(4) .choice_label {
  margin-right: 3.325rem;
}

.choice_tag {
  margin-right: 0; /* チェックボックスの右の余白をなくす */
  display: inline-block;
}




.styled-select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ced4da;
  border-radius: 4px;
  box-sizing: border-box;
}

.select2-container--default .select2-selection--multiple {
  border: 1px solid #ced4da;
  border-radius: 4px;
  padding: 0.5rem;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #A1D6B2;
  border: 1px solid #A1D6B2;
  color: white;
  padding: 0.2rem 0.5rem;
  margin-top: 0.2rem;
}
