* {

}


body {
  background-color: #ffcb4f;
}


#all_list::after {
    content: 'すべて開く'
}

div#all_list.collapse::after {
  content: 'すべて閉じる'
}

div#settings {
  width: 90%;
  margin: 0 auto;
  display: none;
}

.character dt{
  display:block;
  cursor:pointer;
}

.character dt::before{
  content: "▶ ";
}

.character dt.opened::before {
  content: "▼ ";
  padding-right: 2px;
}

.character dd{
  display:none;
  margin-left: 10%;
}

div.dontuse {
  text-align: center;
  color: black;
}

.disabled {
  color: lightgray;
}

.columns {
  margin-top: 0;
}

ul > li:last-child {
  margin-bottom: 10px;
}

.カスタム + dd input[type="text"] {
  width: 85%;
}

.カスタム + dd input[type="checkbox"] {
  vertical-align: sub;
}

#start {
  display: block;
  width: 220px;
  margin: 3% auto;
  color: white;
  background-color: #fa5a5a;
}

main {
 margin-bottom: 5%;
}

.main {
  width: 90%;
  margin: 0 auto;
}

.main .charaname {
  text-align: center;
  margin-bottom: 10px;
  font-size: 120%;
  background-color: white;
  padding-bottom: 5px;
  border-bottom: 1px solid gray;

}

.main .character > div:not(:first-child)  {
  margin-left: 5px;
}

.main div.box:last-child {
  margin-bottom: 1.5rem;
}

#close-settings {
  width: 100%;
  background-color: #e0e0e0;
}

#open-settings {
  display: inline-block;
  background-color: #e0e0e0;
  width: 150px;
  margin-left: auto;
  margin-right: 0;
}

.hero-body {
  width: 350px;
  background-color: #ef6034;
  margin: 2em 0 0 0;
  padding: 0.5em 0 0.5em 2em;
}

.title {
  color: white;
}

p.setting-desc {
  width: 90%;
  padding: 5px 10px;
  margin: 0 auto;
}

.nextchallenge {
  font-size: 0.8em;
  line-height: 1;
}

.character > div:not(.charaname) {
  margin-bottom: 5px;
}

div#reset-settings {
  width: 180px;
  margin: 0 30px 10px 10px;
}

div#open-howtouse {
  display: inline-block;
  width: 150px;
  margin: 0 0 0 auto;
}

nav {
  width: 90%;
  margin: 0 auto;
  text-align: right;
}

#howtouse-desc, #layer {
  display: none;
}

#layer {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.2;
  z-index: 2;
}

#howtouse-desc {
  position: fixed;
  left: 49%;
  top: 49%;
  width: 1%;
  height: 1%;
  background-color: white;
  border-radius: 5px;
  z-index: 3;
  overflow: auto;
}

#close-howtouse {
  position: absolute;
  top: -5%;
  left: 97%;
}

#howtouse-title {
  text-align: center;
  font-size: 1.5em;
}

#howtouse-content {
  width: 95%;
  margin: 0 auto;
}

#howtouse-content .column {
  border: 1px solid gray;
  border-radius: 3px;
}

#howtouse-content .column:not(:last-child) {
  margin-right: 1%;
  margin-bottom: 3%;
}

#howtouse-content img {
  display: block;
  width: 90%;
  margin: 0 auto 10px;
}

#howtouse-content p {
  margin-bottom: 10px;
}

.copypaste {
  margin-top: 10px;
  display: flex;
  justify-content: space-around;
}

#paste-to-all {
  margin: 0 30px 10px 10px;
}
