@charset "UTF-8";
.root main .checkbox_group {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
.root main .checkbox_label {
  width: 100%;
  max-width: 300px;
  height: 60px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  font-size: 16px;
  gap: 8px;
  user-select: none;
}
.root main .checkbox_label:hover {
  transform: translate(0, 0);
}
.root main .custom_checkbox {
  display: none;
}
.root main .custom_checkbox:checked + .checkmark::after {
  content: "✔";
  display: block;
  color: #fff;
  text-align: center;
  line-height: 16px;
  font-size: 12px;
}
.root main .checkmark {
  width: 20px;
  height: 20px;
  border: 1px solid #fff;
  border-radius: 4px;
  position: relative;
}
.root main .checkmark::after {
  content: "";
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.root main .label_text {
  line-height: 1;
}
.root main .btn_column {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
  margin: 1em 0;
}
@media only screen and (max-width: 767px) {
  .root main .btn_column {
    flex-direction: column;
  }
}
.root main .btn_column > div {
  width: calc(33.3333333333% - 1.3333333333em);
}
@media only screen and (max-width: 767px) {
  .root main .btn_column > div {
    width: 100%;
  }
}
.root main .btn_column:not(.active) a,
.root main .btn_column:not(.active) form {
  opacity: 0.5;
  pointer-events: none;
}
.root main .thumb_btn {
  display: flex;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  align-items: center;
  overflow: hidden;
  transition: 0.3s all;
  padding: 0;
  border: none;
  font-size: 100%;
  text-align: left;
  background: #ffffff;
  color: #000000;
}
.root main .thumb_btn > div.thumb_btn_img {
  position: relative;
  max-width: 120px;
  min-width: 120px;
  min-height: 6em;
  overflow: hidden;
}
.root main .thumb_btn > div.thumb_btn_img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s all;
  left: 0;
  top: 0;
}
.root main .thumb_btn > div.thumb_btn_body {
  padding: 1ex 1em;
  box-sizing: border-box;
  flex-grow: 1;
  text-align: left;
}
.root main .thumb_btn:link, .root main .thumb_btn:visited, .root main .thumb_btn:hover, .root main .thumb_btn:active {
  text-decoration: none;
}
.root main .thumb_btn:hover, .root main .thumb_btn:active {
  background: #006633;
  color: #ffffff;
}
.root main .thumb_btn:hover .thumb_btn_img img, .root main .thumb_btn:active .thumb_btn_img img {
  transform: scale(1.1);
}
