/*
 * This is a manifest file that"ll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */
.users-registrations-new .title {
  text-align: center;
}
.users-registrations-new .card-style {
  margin: 0 auto;
  margin-top: 6.3rem;
  padding: 1.25rem;
  max-width: 25rem;
  width: 85%;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.users-registrations-new .card-style .form-group {
  margin-bottom: 1.9rem;
}
.users-registrations-new .card-style .text-field {
  width: 90%;
  line-height: 1.5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.5rem;
}
.users-registrations-new .card-style .submit {
  text-align: center;
}
.users-registrations-new .card-style .submit-button {
  font-size: 1.25rem;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}
.users-registrations-new .card-style .link {
  text-align: center;
  margin-top: 0.6rem;
}

.user-registration-edit .card-style {
  margin: 0 auto;
  margin-top: 6.25rem;
  padding: 1.25rem;
  max-width: 25rem;
  width: 85%;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.user-registration-edit .card-style .title {
  text-align: center;
}
.user-registration-edit .card-style .icon {
  margin-right: 0.6rem;
}
.user-registration-edit .card-style .form-group {
  margin-bottom: 1.9rem;
}
.user-registration-edit .card-style .form-label {
  font-weight: bold;
}
.user-registration-edit .card-style .text-field {
  margin-top: 0.5rem;
  width: 100%;
  line-height: 2;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.3rem;
}
.user-registration-edit .card-style .preview-avatar {
  max-width: 12.5rem;
  width: 100%;
  height: auto;
  border-radius: 50%;
}
.user-registration-edit .card-style .password-restriction {
  font-size: 0.8rem;
}
.user-registration-edit .card-style .submit-mypage {
  display: flex;
  justify-content: center;
}
.user-registration-edit .card-style .submit-mypage .submit {
  margin-bottom: 0.6rem;
}
.user-registration-edit .card-style .submit-mypage .submit-button {
  font-size: 1.25rem;
  font-weight: bold;
  padding: 5px 10px;
  background-color: #007bff;
  color: white;
  border-radius: 4px;
}
.user-registration-edit .mypage-link {
  font-size: 0.8rem;
  max-width: 26.25rem;
  width: 100%;
  margin: 0 auto;
  margin-top: 1rem;
  margin-bottom: 5rem;
  text-align: right;
}

.users-shared-error-messages .alert {
  background-color: #f8d7da;
  padding: 7.5px 12.5px;
  border-radius: 1px;
  border: 1px solid transparent;
  font-size: 15px;
}

.shared-flash-messages {
  margin-top: 65px;
}
.shared-flash-messages .flash-success {
  background-color: #d4edda;
  padding: 7.5px 12.5px;
  border-radius: 1px;
  border: 1px solid transparent;
  font-size: 15px;
}
.shared-flash-messages .flash-alert {
  background-color: #f8d7da;
  border: 1px solid #f5c2c7;
  padding: 1rem;
  border-radius: 6px;
  width: 90%;
  margin: 0 auto;
}

.users-sessions-new .card-style {
  margin: 0 auto;
  margin-top: 6.3rem;
  padding: 1.25rem;
  width: 85%;
  max-width: 25rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.users-sessions-new .card-style .title {
  text-align: center;
  margin-bottom: 1.9rem;
}
.users-sessions-new .card-style .form-group {
  margin-bottom: 3.8rem;
}
.users-sessions-new .card-style .text-field {
  width: 100%;
  height: 2.2rem;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.users-sessions-new .card-style .submit {
  text-align: center;
}
.users-sessions-new .card-style .submit-botton {
  font-size: 1.25rem;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
  margin-bottom: 1.9rem;
}
.users-sessions-new .card-style .link {
  text-align: center;
}

.homes-index .card-style {
  margin: 0 auto;
  margin-top: 6rem;
  margin-bottom: 6rem;
  width: 100%;
  max-width: 38rem;
  border: 0.06rem solid #ddd;
  border-radius: 0.2rem;
  box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.1);
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.homes-index .card-style .title {
  text-align: center;
}
.homes-index .card-style .image-user-data {
  display: flex;
  justify-content: center;
  gap: 3rem;
  align-items: center;
}
.homes-index .card-style .image-user-data .img {
  border-radius: 50%;
}
.homes-index .card-style .image-user-data .user-data-card-style {
  border: 0.06rem solid #ddd;
  border-radius: 0.25rem;
  width: 19rem;
  padding-left: 2rem;
}
.homes-index .card-style .image-user-data .user-data-card-style .user-data-title {
  text-align: center;
  margin-bottom: 1.25rem;
  margin-top: 0.6rem;
}
.homes-index .card-style .image-user-data .user-data-card-style .user-title {
  font-size: 1.25rem;
}
.homes-index .card-style .image-user-data .user-data-card-style .user-edit-icon {
  margin-left: 0.6rem;
  color: #007bff;
}
.homes-index .card-style .image-user-data .user-data-card-style .user-name {
  margin-bottom: 1.25rem;
}
.homes-index .card-style .image-user-data .user-data-card-style .user-email {
  margin-bottom: 1.25rem;
}
.homes-index .card-style .in-progress-trip-title {
  margin-top: 3rem;
}
.homes-index .card-style .trips-container {
  display: flex;
  flex-wrap: wrap;
  width: 37rem;
  margin: 0 auto;
  justify-content: space-around;
  margin-bottom: 2rem;
}
.homes-index .card-style .trips-container .trips-card-style {
  padding-bottom: 0.6rem;
  width: 12rem;
  border: 0.06rem solid black;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
  margin-bottom: 1rem;
}
.homes-index .card-style .trips-container .trips-card-style .trip-link {
  text-decoration: none;
  color: inherit;
}
.homes-index .card-style .trips-container .trips-card-style .trip-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 0.6px;
  border-bottom: 0.06rem solid black;
  color: #007bff;
}
.homes-index .card-style .trips-container .trips-card-style .trip-image {
  width: 12rem;
  height: 8.125rem;
}
.homes-index .card-style .trips-container .trips-card-style .member {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
}
.homes-index .card-style .trips-container .trips-card-style .member-list {
  margin-left: 1.25rem;
  display: flex;
  align-items: center;
  width: 10rem;
  gap: 0.6rem;
}
.homes-index .card-style .trips-container .trips-card-style .member-list .crown-icon {
  color: yellow;
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}
.homes-index .card-style .trips-container .trips-card-style .member-list .current-user-icon {
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
  color: blue;
}
.homes-index .card-style .trips-container .trips-card-style .member-list .user-icon {
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}
.homes-index .card-style .no-in-progress-trip {
  margin: 0 auto;
  width: 32.5rem;
  border: 0.06rem solid #ddd;
  border-radius: 0.25rem;
  height: 4.3rem;
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.25rem;
}
.homes-index .card-style .no-past-trip {
  margin: 0 auto;
  width: 32.5rem;
  border: 0.06rem solid #ddd;
  border-radius: 0.25rem;
  height: 4.4rem;
  margin-top: 3.2rem;
  margin-bottom: 3.2rem;
  text-align: center;
  font-size: 1.25rem;
}
.homes-index .card-style .new-trip {
  text-align: center;
  margin-bottom: 1.9rem;
  font-size: 1.25rem;
}
.homes-index .card-style .new-trip .link-custom {
  color: #007bff;
}
.homes-index .card-style .new-trip .add-icon {
  margin-left: 0.6rem;
}

@media (max-width: 768px) {
  .homes-index .card-style {
    width: 90%;
    margin: 0 auto;
    padding: 1rem;
  }
  .homes-index .card-style .image-user-data {
    flex-direction: column;
    gap: 1.5rem;
  }
  .homes-index .card-style .user-data-card-style {
    width: 100%;
    padding-left: 1rem;
  }
  .homes-index .card-style .trips-container {
    flex-direction: column;
    width: 100%;
  }
  .homes-index .card-style .trips-container .trips-card-style {
    width: 100%;
    max-width: 90%;
    margin: 0 auto 1rem;
  }
  .homes-index .card-style .trips-container .trips-card-style .trip-image {
    width: 100%;
    height: auto;
  }
  .homes-index .card-style .no-in-progress-trip,
  .homes-index .card-style .no-past-trip {
    width: 90%;
    font-size: 1rem;
  }
  .homes-index .card-style .new-trip {
    font-size: 1rem;
  }
}
.trips-new .card-style {
  margin: 0 auto;
  max-width: 25rem;
  width: 90%;
  margin-top: 6.3rem;
  margin-bottom: 6.3rem;
  padding: 0.8rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.trips-new .card-style .form-group {
  margin-bottom: 3.1rem;
}
.trips-new .card-style .form-group .icon-required-container {
  display: flex;
  gap: 1.25rem;
}
.trips-new .card-style .form-group .icon-required-container .icon-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.trips-new .card-style .form-group .icon-required-container .required-button {
  font-size: 1.25rem;
  background-color: red;
  color: white;
  border: 1px solid red;
  border-radius: 4px;
  padding: 0.3rem;
}
.trips-new .card-style .form-label {
  font-size: 1.25rem;
  font-weight: bold;
}
.trips-new .card-style .text-field {
  width: 90%;
  max-width: 23.8rem;
  line-height: 1.5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.6rem;
  margin-top: 0.6rem;
}
.trips-new .card-style .select-field {
  padding: 0.3rem;
  width: 90%;
  max-width: 19rem;
  font-size: 1.25rem;
}
.trips-new .card-style .calendar-field {
  font-size: 1.25rem;
  line-height: 1.5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.6rem;
}
.trips-new .card-style .date-sub-title {
  font-size: 0.9rem;
}
.trips-new .card-style .icon-required-container {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.25rem;
}
.trips-new .card-style .icon-required-container .spot-limit-title {
  overflow-wrap: break-word;
  font-size: 1.25rem;
  font-weight: bold;
}
.trips-new .card-style .icon-required-container .required-button {
  font-size: 1.25rem;
  background-color: red;
  color: white;
  border: 1px solid red;
  border-radius: 4px;
  padding: 0.3rem;
}
.trips-new .card-style .spot-limit-sub-title {
  font-size: 0.6rem;
}
.trips-new .card-style .form-spot-limit {
  display: flex;
  width: 90%;
  max-width: 25rem;
  justify-content: space-between;
  margin-bottom: 3.1rem;
}
.trips-new .card-style .form-spot-limit .icon-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.6rem;
}
.trips-new .card-style .form-spot-limit .calendar-field {
  width: 90%;
  max-width: 9.4rem;
  font-size: 1.25rem;
  height: 1.25rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.6rem;
}
.trips-new .card-style .form-spot-limit .spot-field {
  width: 90%;
  max-width: 9.4rem;
  line-height: 1.5;
  border: 1px solid #ddd;
  border-radius: 4px;
  margin-top: 0.6rem;
}
.trips-new .card-style .icon-required-container {
  display: flex;
  gap: 1.25rem;
}
.trips-new .card-style .icon-required-container .spot-time-title {
  font-size: 1.25rem;
  font-weight: bold;
}
.trips-new .card-style .icon-required-container .required-button {
  font-size: 1.25rem;
  background-color: red;
  color: white;
  border: 1px solid red;
  border-radius: 4px;
  padding: 0.3rem;
}
.trips-new .card-style .form-spot-time {
  display: flex;
  width: 90%;
  max-width: 25rem;
  justify-content: space-between;
  margin-bottom: 3.1rem;
}
.trips-new .card-style .form-spot-time .icon-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.trips-new .card-style .form-spot-time .time-field {
  width: 9.4rem;
  height: 1.25rem;
  font-size: 1.25rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.6rem;
  margin-top: 0.5rem;
}
.trips-new .card-style .icon-required-container {
  display: flex;
}
.trips-new .card-style .icon-required-container .transportation-title {
  font-size: 1.25rem;
  font-weight: bold;
}
.trips-new .card-style .icon-required-container .required-form {
  margin-left: 1.25rem;
}
.trips-new .card-style .icon-required-container .required-form .required-button {
  font-size: 1.25rem;
  background-color: red;
  color: white;
  border: 1px solid red;
  border-radius: 4px;
  padding: 0.3rem;
}
.trips-new .card-style .form-check-box {
  display: flex;
  justify-content: space-around;
  margin-bottom: 3.1rem;
}
.trips-new .card-style .form-check-box .check-box-car,
.trips-new .card-style .form-check-box .check-box-train,
.trips-new .card-style .form-check-box .check-box-bicycle {
  display: flex;
  align-items: center;
  gap: 0.38rem;
}
.trips-new .card-style .form-check-box input[type=checkbox] {
  appearance: none;
  vertical-align: middle;
  width: 0.9rem;
  height: 0.9rem;
  border: 1px solid gray;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
}
.trips-new .card-style .form-check-box input[type=checkbox]:checked::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.9rem;
  height: 0.9rem;
  background: #555;
  border-radius: 50%;
}
.trips-new .card-style .form-check-box .check-box-label {
  font-size: 1.25rem;
}
.trips-new .card-style .preview-avatar {
  width: 12.5rem;
  height: auto;
  border-radius: 50%;
}
.trips-new .card-style .submit {
  text-align: center;
}
.trips-new .card-style .submit-botton {
  font-size: 1.25rem;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}

@media (max-width: 768px) {
  .trips-new .card-style .form-spot-limit {
    flex-direction: column;
    align-items: center;
  }
  .trips-new .card-style .form-spot-time {
    flex-direction: column;
    align-items: center;
  }
}
.trips-show .card-style {
  margin: 0 auto;
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
  width: 90%;
  max-width: 37.5rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
  padding: 1rem;
}
.trips-show .card-style .label-container {
  display: flex;
  text-align: center;
  width: 100%;
  max-width: 31rem;
  margin: auto;
  margin-top: 4.4rem;
}
.trips-show .card-style .label-container .suggestion-vote-link {
  border: 1px solid black;
  width: 15.6rem;
}
.trips-show .card-style .label-container .suggestion-vote-hilight-link {
  background-color: #99FFFF;
  border: 1px solid black;
  width: 15.6rem;
}
.trips-show .card-style .label-container .suggestion-vote-link a,
.trips-show .card-style .label-container .suggestion-vote-hilight-link a {
  font-size: 1.25rem;
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}
.trips-show .card-style .suggestion-vote-container {
  display: flex;
  width: 100%;
  max-width: 31rem;
  margin: auto;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style {
  width: 100%;
  max-width: 31rem;
  border: 1px solid black;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .suggestion-vote-limit {
  margin-top: 1.9rem;
  margin-bottom: 1.9rem;
  color: red;
  text-align: center;
  font-size: 1.9rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-suggestion-vote-headline {
  margin-top: 1.9rem;
  text-align: center;
  font-size: 1.9rem;
  font-weight: bold;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .ng-vote-description {
  text-align: center;
  font-weight: bold;
  color: red;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .voted-spot-title {
  text-align: center;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem;
  font-size: 1.9rem;
  font-weight: bold;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .vote-result-title {
  text-align: center;
  margin-top: 1, 25rem;
  margin-bottom: 1.25rem;
  color: red;
  font-size: 2.2rem;
  font-weight: bold;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .vote-result-headline {
  text-align: center;
  margin-bottom: 1.9rem;
  font-size: 1.6rem;
  font-weight: bold;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-card-style {
  border: 1px solid black;
  margin-bottom: 1.9rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-image-container {
  display: flex;
  white-space: nowrap;
  flex-wrap: wrap;
  width: 100%;
  max-width: 31rem;
  justify-content: center;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem;
  gap: 1.25rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-image-container .already-vote-spot-image .already-voted {
  text-align: center;
  color: red;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-image-container .already-vote-spot-image .spot-image {
  border: 1px solid black;
  padding: 0.6rem;
  width: 7.5rem;
  text-align: center;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-image-container .already-vote-spot-image .spot-image .image {
  display: block;
  width: 7.5rem;
  height: 7.5rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-image-container .already-vote-spot-image .spot-image .spot-delete-link {
  text-decoration: none;
  font-size: 0.6rem;
  color: red;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .submit-form {
  text-align: center;
  margin-top: 1.25rem;
  margin-bottom: 1.9rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .submit-form .submit-button {
  font-size: 1.25rem;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
  cursor: pointer;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .not-voted-spot {
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 3.1rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .no-spot-suggestion-vote-headline {
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
  text-align: center;
  font-size: 1.25rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-add-container {
  display: flex;
  justify-content: right;
  gap: 0.3rem;
  padding: 0.6rem;
}
.trips-show .card-style .suggestion-vote-container .suggestion-vote-card-style .spot-add-container .spot-add {
  color: blue;
}
.trips-show .card-style .member-container {
  margin-top: 3.1rem;
  display: flex;
  justify-content: center;
  margin-bottom: 6.25rem;
}
.trips-show .card-style .member-container .member-card-style {
  max-width: 18.8rem;
  width: 90%;
  border: 1px solid black;
  border-radius: 8px;
  padding: 0.6rem;
}
.trips-show .card-style .member-container .member-card-style .member-title {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.6rem;
}
.trips-show .card-style .member-container .member-card-style .member-list {
  font-size: 1.25rem;
  margin-left: 3.1rem;
  display: flex;
  align-items: center;
  width: 16.9rem;
  gap: 0.6rem;
}
.trips-show .card-style .member-container .member-card-style .member-list .crown-icon {
  color: yellow;
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}
.trips-show .card-style .member-container .member-card-style .member-list .current-user-icon {
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
  color: blue;
}
.trips-show .card-style .member-container .member-card-style .member-list .user-icon {
  width: 1.25rem;
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}
.trips-show .card-style .member-container .member-card-style .member-edit-link {
  text-align: right;
  margin-top: 1.25rem;
  font-size: 0.8rem;
}
.trips-show .card-style .member-container .member-card-style .member-edit-link .member-edit {
  color: blue;
}
.trips-show .card-style .join-trip {
  padding: 0.5rem;
  text-align: center;
  margin-bottom: 1.9rem;
  font-size: 1.25rem;
  overflow-wrap: break-word;
}

.spots-index .title {
  margin-top: 100px;
  text-align: center;
}
.spots-index .form-group {
  display: flex;
  gap: 3px;
  justify-content: center;
}
.spots-index .text-field {
  width: 150px;
  padding: 5px;
}
.spots-index .submit {
  font-size: 20px;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}
.spots-index .no_search_result {
  text-align: center;
  margin-top: 100px;
}
.spots-index .no_search_result i {
  font-size: 30px;
}
.spots-index .no_search_result p {
  margin-top: 40px;
  font-size: 20px;
  color: #666;
}
.spots-index .spot-container {
  margin: 0 auto;
  margin-top: 50px;
  width: 600px;
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
  padding: 10px;
}
.spots-index .spot-container .spot-name-address {
  padding: 10px;
  width: 400px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
  margin-left: 30px;
}
.spots-index .spot-container .spot-name-address .spot-name {
  text-align: center;
  font-size: 30px;
}
.spots-index .spot-container .spot-name-address .spot-address {
  font-size: 20px;
}
.spots-index .spot-container .image {
  width: 180px;
  height: 180px;
  border-radius: 8px;
}
.spots-index .pagination {
  display: flex;
  margin: 0 auto;
  margin-top: 20px;
  margin-bottom: 50px;
  gap: 30px;
  margin-top: 20px;
  justify-content: center;
  width: 600px;
  font-size: 15px;
  text-align: center;
}
.spots-index .pagination .current_page_link {
  padding-top: 10px;
  font-weight: bold;
  color: white;
  background: #007bff;
  border: 1px solid #ddd;
  width: 33px;
  height: 30px;
  text-decoration: none;
}
.spots-index .pagination .page_link {
  padding-top: 10px;
  color: blue;
  background: #FFF;
  border: 1px solid #ddd;
  width: 33px;
  height: 30px;
  text-decoration: none;
}

.spots-show .card-style {
  margin: 0 auto;
  margin-top: 6.25rem;
  width: 90%;
  max-width: 37.5rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.spots-show .card-style .title {
  text-align: center;
  margin-top: 0.6rem;
  margin-bottom: 1.9rem;
  font-size: 2.5rem;
  border-bottom: 1px solid #ddd;
}
.spots-show .card-style .image {
  text-align: center;
  margin-bottom: 1.25rem;
}
.spots-show .card-style .image-size {
  width: 12.5rem;
  height: 12.5rem;
}
.spots-show .card-style .spot-group {
  display: flex;
  align-items: center;
  border-top: 1px solid #ddd;
  padding: 1.25rem;
}
.spots-show .card-style .spot-group .label {
  width: 9.4rem;
  font-size: clamp(1rem, 2.5vw, 1.5rem);
}
.spots-show .card-style .spot-group .body {
  word-break: break-all;
  width: 25rem;
  margin-left: 1.25rem;
  font-size: 0.9rem;
}
.spots-show .search_page_link {
  width: 90%;
  max-width: 37.5rem;
  margin: 0 auto;
  margin-top: 1.25rem;
  margin-bottom: 1rem;
  text-align: right;
}
.spots-show .spot-submit {
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.spots-show .submit-botton {
  background-color: #007bff;
  color: #fff;
  border: none;
  padding: 0.6rempx 1.25rem;
  font-size: 1.25rem;
  border-radius: 8px;
  margin-bottom: 6.3rem;
  cursor: pointer;
}

@media (max-width: 768px) {
  .spots-show .card-style .spot-group {
    flex-direction: column;
    align-items: flex-start;
  }
  .spots-show .card-style .spot-group .label {
    width: 9.4rem;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .spots-show .card-style .spot-group .body {
    width: 90%;
    font-size: 0.9rem;
  }
}
.trip-users-index .card-style {
  margin: 0 auto;
  margin-top: 100px;
  margin-bottom: 20px;
  width: 600px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.trip-users-index .card-style .trip-users-card-style {
  margin: 0 auto;
  margin-top: 100px;
  margin-bottom: 100px;
  width: 500px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.trip-users-index .card-style .trip-users-card-style .title {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 25px;
  font-weight: bold;
}
.trip-users-index .card-style .trip-users-card-style .container {
  display: flex;
  margin: 0 auto;
  width: 500px;
  align-items: center;
  margin-bottom: 30px;
}
.trip-users-index .card-style .trip-users-card-style .container .icon-name-container {
  display: flex;
  width: 100%;
  align-items: center;
  margin-left: 10px;
  gap: 20px;
}
.trip-users-index .card-style .trip-users-card-style .container .icon-name-container .crown-icon {
  color: yellow;
  width: 40px;
  flex-shrink: 0;
}
.trip-users-index .card-style .trip-users-card-style .container .icon-name-container .current-user-icon {
  width: 40px;
  flex-shrink: 0;
  margin-left: 5px;
  color: blue;
}
.trip-users-index .card-style .trip-users-card-style .container .icon-name-container .user-icon {
  width: 40px;
  flex-shrink: 0;
  margin-left: 5px;
}
.trip-users-index .card-style .trip-users-card-style .container .icon-name-container .user-name {
  font-size: 20px;
}
.trip-users-index .card-style .trip-users-card-style .container .update-delete-container {
  display: flex;
  justify-content: right;
  align-items: center;
  margin-right: 15px;
  width: 400px;
  gap: 20px;
}
.trip-users-index .trip-show-link {
  width: 600px;
  margin: 0 auto;
  text-align: right;
  margin-bottom: 100px;
}

.plans-index .card-style {
  margin: 0 auto;
  margin-top: 6.3rem;
  margin-bottom: 6.3rem;
  width: 90%;
  max-width: 50rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
  padding-bottom: 0.6rem;
  text-align: center;
}
.plans-index .card-style .created-plan {
  text-align: center;
  font-size: 1.9rem;
}
.plans-index .card-style .plans-container {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  width: 90%;
  max-width: 34rem;
  margin: 0 auto;
  gap: 2rem;
}
.plans-index .card-style .decided-form {
  width: 90%;
  max-width: 25rem;
  margin: 0 auto;
  margin-top: 3.1rem;
  margin-bottom: 3.1rem;
}
.plans-index .card-style .decided-button {
  padding: 0.6rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: white;
  background-color: #007bff;
  border: 1px solid #007bff;
  border-radius: 4px;
  cursor: pointer;
}
.plans-index .card-style .wait {
  font-size: 2.5rem;
  margin-bottom: 3.1rem;
  font-weight: bold;
}
.plans-index .card-style .wait-detail {
  font-size: 1.9rem;
  margin-bottom: 6.3rem;
}

.title {
  text-align: center;
  gap: 1.25rem;
  font-size: 1.9rem;
  margin-top: 1.9rem;
  margin-bottom: 1.9rem;
}

.trip-detail-container {
  width: 100%;
  max-width: 37.5rem;
  margin-bottom: 3.1rem;
}
.trip-detail-container .trip-detail {
  width: 100%;
  max-width: 18.8rem;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
  margin: 0 auto;
}
.trip-detail-container .trip-detail .icon-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.trip-detail-container .trip-detail .trip-info {
  padding: 0.6rem;
  line-height: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}

.plan-container {
  max-width: 95%;
  min-width: 95%;
  position: relative;
  border: 1px solid black;
  border-radius: 5px;
  scroll-snap-align: center;
  text-align: center;
}
.plan-container p {
  font-size: 1.6rem;
  font-weight: bold;
  padding-top: 0.6rem;
  margin-top: 3rem;
}
.plan-container .selected {
  display: none;
}
.plan-container.is-selected .selected {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 6.25rem;
  text-align: center;
  background-color: #4CAF50;
  color: white;
  padding: 3px 8px;
  font-size: 1.9rem;
  border-radius: 4px;
}
.plan-container .spots-container {
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  max-width: 31rem;
  width: 100%;
  flex-wrap: wrap;
  margin-bottom: 3.1rem;
}
.plan-container .spots-container .spot {
  border: 1px solid black;
  border-radius: 10px;
  width: 9.4rem;
}
.plan-container .spots-container .image {
  width: 6.25rem;
  height: 6.25rem;
}
.plan-container .edit-icon {
  text-align: right;
}
.plan-container .guide-book {
  display: table;
  max-width: 34.4rem;
  width: 90%;
  margin: 0 auto;
  margin-bottom: 150px;
  border: 1px solid black;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.plan-container .guide-book .guide-headline {
  display: table-row;
  background-color: #d3d3d3;
  text-align: center;
  font-weight: bold;
}
.plan-container .guide-book .guide-row {
  display: table-row;
}
.plan-container .guide-book .time-cell {
  padding: 0.6rem;
  display: table-cell;
  border-right: 1px solid black;
  text-align: center;
  width: 9.4rem;
  font-size: 1.25rem;
}
.plan-container .guide-book .content-cell {
  padding: 0.6rem;
  display: table-cell;
  text-align: center;
  width: 25rem;
  font-size: 1.25rem;
}
.plan-container .guide-book .spot_link {
  color: blue;
}
.plan-container .dot-icon {
  width: 100%;
  position: absolute;
  bottom: 1.25rem;
}
.plan-container .select-form {
  position: absolute;
  top: 0px;
  left: 0px;
}
.plan-container.is-selected .select-form {
  display: none;
}
.plan-container .selected-button {
  font-size: 1.6rem;
  color: white;
  background-color: blue;
  border: 1px solid blue;
  border-radius: 4px;
  cursor: pointer;
}

.plan-edit .card-style {
  margin: 0 auto;
  margin-bottom: 6.3rem;
  margin-top: 6.3rem;
  max-width: 37.5rem;
  width: 90%;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
  padding: 1.25rem;
}
.plan-edit .card-style .plan-container {
  position: relative;
  border: 1px solid black;
  border-radius: 5px;
  scroll-snap-align: start;
  max-width: 34.4rem;
  width: 90%;
  padding: 0.6rem;
  text-align: center;
}
.plan-edit .card-style .plan-container p {
  font-size: 1.6rem;
  font-weight: bold;
  padding-top: 0.6rem;
}
.plan-edit .card-style .plan-container .selected {
  display: none;
}
.plan-edit .card-style .plan-container .spots-container {
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
  max-width: 31rem;
  width: 90%;
  flex-wrap: wrap;
  margin-bottom: 3.1rem;
}
.plan-edit .card-style .plan-container .spots-container .spot {
  border: 1px solid black;
  border-radius: 10px;
  width: 9.4rem;
}
.plan-edit .card-style .plan-container .spots-container .image {
  width: 6.25rem;
  height: 6.25rem;
}
.plan-edit .card-style .plan-container .trip-time-container {
  display: flex;
  justify-content: space-around;
  margin-bottom: 3.1rem;
  font-size: 1.25rem;
}
.plan-edit .card-style .plan-container .trip-time-container .trip-start-time {
  width: 12.5rem;
  border: 1px solid black;
  border-radius: 5px;
}
.plan-edit .card-style .plan-container .trip-time-container .trip-finish-time {
  width: 12.5rem;
  border: 1px solid black;
  border-radius: 5px;
}
.plan-edit .card-style .plan-container .guide-book {
  display: table;
  max-width: 34.4rem;
  width: 90%;
  margin: 0 auto;
  border: 1px solid black;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.plan-edit .card-style .plan-container .guide-book .guide-headline {
  display: table-row;
  background-color: #d3d3d3;
  text-align: center;
  font-weight: bold;
}
.plan-edit .card-style .plan-container .guide-book .guide-row {
  display: table-row;
  width: 100%;
}
.plan-edit .card-style .plan-container .guide-book .guide-row .stay-time-form {
  max-width: 31rem;
  width: 90%;
  text-align: center;
  color: blue;
  font-size: 1.25rem;
  border: 1px solid black;
  border-radius: 4px;
}
.plan-edit .card-style .plan-container .guide-book .time-cell {
  padding: 0.6rem;
  display: table-cell;
  border-right: 1px solid black;
  text-align: center;
  width: 9.4rem;
  font-size: 1.25rem;
}
.plan-edit .card-style .plan-container .guide-book .content-cell {
  padding: 0.6rem;
  display: table-cell;
  text-align: center;
  width: 25rem;
  font-size: 1.25rem;
}
.plan-edit .card-style .plan-container .guide-book .spot_link {
  color: blue;
}
.plan-edit .card-style .plan-container .stay-time-alert {
  margin-bottom: 1.9rem;
  text-align: right;
}
.plan-edit .card-style .plan-container .update-form {
  margin-bottom: 3.1rem;
}
.plan-edit .card-style .plan-container .update-button {
  font-size: 1.6rem;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}

@media (max-width: 768px) {
  .plan-edit .card-style .trip-time-container {
    flex-direction: column;
  }
  .plan-edit .card-style .trip-time-container .trip-start-time,
  .plan-edit .card-style .trip-time-container .trip-finish-time {
    margin: 0 auto;
  }
}
.lp .header {
  width: 100%;
  color: #ffffff;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
  padding: 1.25rem;
  background: url("/images/lp_image.jpg") no-repeat center center;
  background-size: cover;
  text-align: center;
  padding: 5rem 1.25rem;
  font-size: 1.25rem;
}
.lp .header .title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.lp .header .sub-title {
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
.lp .header .button {
  display: inline-block;
  padding: 0.5rem 1.25rem;
  background-color: #2563eb;
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
}
.lp .header .button:hover {
  background-color: #1565c0;
}
.lp .group {
  font-size: 1.25rem;
  padding: 1.9rem 1.25rem;
  width: 100%;
  max-width: 62.5rem;
  margin: 0 auto;
}
.lp .group .group-title {
  font-size: 1.5rem;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1.9rem;
  padding-bottom: 0.5rem;
  color: #1a73e8;
}
.lp .group .conclusion {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 2.5rem;
}
.lp .group .image-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.lp .group .image-grid .image-container {
  text-align: center;
}
.lp .group .image-grid .image-container .image-title {
  font-weight: bold;
}
.lp .group .github-link {
  overflow-wrap: break-word;
}
.lp .group .image-grid img {
  width: 100%;
  max-width: 25rem;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.lp .group ul {
  line-height: 3;
}

@media (max-width: 768px) {
  .lp .header {
    padding: 3rem 1rem;
  }
  .lp .header .title {
    font-size: 2rem;
  }
  .lp .header .sub-title {
    font-size: 1rem;
  }
  .lp .header .button {
    font-size: 1rem;
    padding: 0.4rem 1rem;
  }
  .lp .group {
    padding: 1.5rem 1rem;
  }
  .lp .group .group-title {
    font-size: 1.3rem;
  }
  .lp .group .conclusion {
    font-size: 1.2rem;
  }
  .lp .group .image-grid {
    flex-direction: column;
    align-items: center;
  }
  .lp .group .image-grid .image-container img {
    max-width: 100%;
  }
  .lp .group ul {
    font-size: 1rem;
    line-height: 2;
  }
}
.shared-header {
  display: flex;
  position: fixed;
  top: 0;
  width: 100%;
  height: 3.75rem;
  border-bottom: 0.125rem solid #ccc;
  background-color: #ffffff;
  z-index: 100;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.08);
}
.shared-header .header-left {
  font-size: 1.6rem;
  font-weight: bold;
  margin-right: auto;
  padding: 1rem;
}
.shared-header .header-right {
  font-size: 1.25rem;
  display: flex;
  gap: 1.25rem;
  margin-left: auto;
  padding: 1rem;
}
.shared-header .link {
  text-decoration: none;
  color: #1a73e8;
}

@media (max-width: 768px) {
  .shared-header {
    height: auto;
    align-items: center;
    text-align: center;
    padding: 0.5rem;
  }
  .shared-header .header-left {
    font-size: 1.25rem;
    padding: 0.6rem;
  }
  .shared-header .header-right {
    gap: 0.6rem;
    font-size: 1rem;
    padding: 0.6rem 1.5rem 0.6rem 0.6rem;
    flex-wrap: wrap;
  }
}
.password-new .card-style {
  margin: 0 auto;
  margin-top: 100px;
  padding: 0 20px 20px 20px;
  width: 400px;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.1);
}
.password-new .card-style .title {
  text-align: center;
}
.password-new .card-style .form-group {
  margin-bottom: 20px;
}
.password-new .card-style .text-field {
  width: 100%;
  height: 35px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1px;
}
.password-new .card-style .submit-form {
  width: 50px;
  margin-left: auto;
  text-align: center;
}
.password-new .card-style .submit-button {
  font-size: 20px;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}
.password-new .card-style .link {
  text-align: center;
  margin-top: 10px;
}

.join-page .card-style {
  background: #fff;
  padding: 2rem;
  max-width: 38rem;
  margin: 6rem auto;
  border: 0.06px solid #ddd;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.05);
  text-align: center;
}
.join-page .join-count {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  color: #555;
}
.join-page .submit-form {
  width: 6rem;
  margin: 0 auto;
  margin-top: 2rem;
}
.join-page .submit-button {
  font-size: 20px;
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
  border-radius: 4px;
}
