section h1 {
  border-bottom: 1px solid #D6D6D6;
}
section h1 + div {
  width: 600px;
  margin: 0 auto;
  padding: 40px 0 0 0;
}
section h1 + div .upper, section h1 + div .middle {
  display: flex;
  padding: 30px 0;
  border-bottom: 1px solid #D6D6D6;
}
section h1 + div .upper h2, section h1 + div .middle h2 {
  width: 8em;
}
section h1 + div .upper > div:last-child, section h1 + div .middle > div:last-child {
  width: calc(100% - 8em);
  padding-top: 6px;
}
section h1 + div .upper p:first-child span:last-child {
  font-size: 85%;
  color: #666;
  padding-left: 1em;
}
section h1 + div .upper p:nth-child(2) {
  font-weight: 700;
  margin-bottom: 20px;
}
section h1 + div .upper input[type=text], section h1 + div .upper input[type=email], section h1 + div .upper input[type=password] {
  display: block;
  width: 100%;
  padding: 0.5em 1em;
  border-radius: 6px;
  border: none;
  background-color: white;
  margin-bottom: 20px;
}
section h1 + div .upper input[type=text]:disabled, section h1 + div .upper input[type=email]:disabled, section h1 + div .upper input[type=password]:disabled {
  background-color: #ebebeb;
}
section h1 + div .middle {
  margin-bottom: 40px;
}
section h1 + div .middle label {
  display: block;
}
section h1 + div .middle label input {
  margin-right: 0.5em;
}
section h1 + div .middle label:last-of-type {
  margin-bottom: 20px;
}
section h1 + div .middle p.opt01-caution {
  padding-left: 1.6em;
  color: red;
  font-size: 85%;
  text-indent: -1em;
  margin-bottom: 12px;
}
section h1 + div .lower {
  display: flex;
  justify-content: center;
  padding-bottom: 60px;
}
section h1 + div .lower button.btn01 {
  width: 12em;
}
section h1 + div .lower button.btn01.update {
  margin-right: 1em;
}
section h1 + div .lower button.cancel {
  font-size: 100%;
  width: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #888;
  background-color: #D9D9D9;
  transition: background-color 300ms ease;
  border: 1px solid #D9D9D9;
  position: relative;
  padding: 0.6em 0;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 700;
  transition: color 300ms ease, background-color 300ms ease;
}
section h1 + div .lower button.cancel:hover {
  background-color: white;
  transition: background-color 300ms ease;
}
section h1 + div.unsubscribe p.caution {
  background-color: white;
  border-radius: 6px;
  padding: 1em;
  margin-bottom: 30px;
  border: 1px solid #D6D6D6;
}
section h1 + div.unsubscribe form label, section h1 + div.unsubscribe form textarea {
  display: block;
}
section h1 + div.unsubscribe form label {
  font-size: 115%;
  font-weight: 700;
  margin-bottom: 10px;
}
section h1 + div.unsubscribe form textarea {
  margin-bottom: 30px;
  width: 100%;
  padding: 1em;
  font-size: 100%;
  border: none;
  border-radius: 6px;
}
section h1 + div.unsubscribe form button.btn01 {
  margin: 0 auto;
}
section #form-message.success-message {
  color: green;
  border: 2px solid green;
  padding: 1em 1.6em;
  margin-bottom: 20px;
}
section #form-message.error-message {
  color: red;
  border: 2px solid red;
  padding: 1em 1.6em;
  margin-bottom: 20px;
}

@media screen and (max-width: 660px) {
  section .container {
    width: 92%;
  }
  section h1 + div {
    width: 100%;
  }
  section h1 + div .upper, section h1 + div .middle {
    display: block;
  }
  section h1 + div .upper h2, section h1 + div .middle h2 {
    width: 100%;
  }
  section h1 + div .upper > div:last-child, section h1 + div .middle > div:last-child {
    width: 100%;
  }
  section h1 + div.unsubscribe button.btn01 {
    width: 90%;
  }
}