@charset "utf-8";
#contents .mandatory {
  color: #FF0000;
  border: 1px solid #FF0000;
  line-height: 16px;
  display: inline-block;
  font-size: 0.8em;
  padding: 0.2em 0.4em;
}
#contents .mBtm10 {
  margin-bottom: 10px;
}
#contents .mBtm20 {
  margin-bottom: 20px;
}
#contents p.step img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  #contents .mBtm30 {
    margin-bottom: 30px;
  }
  #contents .center {
    text-align: center;
  }
}
@media (max-width: 1000px) and (min-width: 768px) {
  #contents .note {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media screen and (max-device-width: 767px) {
  #contents .mBtm30 {
    margin-bottom: 20px;
  }
}
#contents .small {
  font-size: 0.9em;
  line-height: 160%;
}
#contents td .imeiPhoto {
  margin: 5px 0 0;
}
#contents td .imeiPhoto img {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  #contents h1 {
    padding: 1.5em 0;
    font-size: 2em;
    text-align: center;
    letter-spacing: 0.2em;
    font-weight: bold;
  }
  #contents .inner {
    max-width: 960px;
    margin-right: auto;
    margin-left: auto;
    padding: 0px 0px 60px;
  }
  #contents .inner.top {
    text-align: center;
    padding-top: 10px;
  }
  #contents .inner.top img {
    max-width: 100%;
  }
  #contents p {
    line-height: 160%;
  }
  #contents table {
    width: 100%;
    margin-bottom: 40px;
    border-top: 1px solid #999999;
  }
  #contents th {
    padding: 20px;
    text-align: left;
    border-bottom: 1px solid #999999;
    vertical-align: middle;
    font-weight: bold;
    white-space: nowrap;
  }
  #contents th.title {
    background-color: #e6e6e6;
  }
  #contents td {
    padding: 20px;
    text-align: left;
    border-bottom: 1px solid #999999;
    vertical-align: middle;
  }
  #contents td a {
    color: #555555;
  }
  #contents td a.zmPreview {
    display: none;
  }
  #ssl {
    padding: 40px 20px 0;
    margin: 0px auto;
  }
  #ssl .icon {
    float: left;
    margin-right: 20px;
  }
  #ssl p {
    font-size: 14px;
    line-height: 180%;
  }
}
@media screen and (max-device-width: 767px) {
  #contents h1 {
    padding: 1.5em 0;
    font-size: 1.6em;
    text-align: center;
    letter-spacing: 0.2em;
    font-weight: bold;
  }
  #contents {
    width: 100%;
    margin: 0 auto;
    text-align: left;
    padding-bottom: 130px;
  }
  #contents .inner {
    margin: 0 15px;
  }
  #contents .inner.top {
    text-align: center;
    padding-top: 10px;
  }
  #contents .inner.top img {
    max-width: 100%;
  }
  #contents .inner.top .btn img {
    width: 70%;
  }
  #contents p {
    line-height: 160%;
  }
  #contents table {
    width: 100%;
    margin-bottom: 20px;
    border-top: 1px solid #CCCCCC;
  }
  #contents th {
    padding: 15px 5px 0;
    text-align: left;
    vertical-align: middle;
    font-weight: bold;
    white-space: nowrap;
    display: block;
  }
  #contents td {
    padding: 5px 5px 10px 5px;
    text-align: left;
    border-bottom: 1px solid #CCCCCC;
    display: block;
    vertical-align: middle;
  }
  #contents td a {
    color: #555555;
  }
  #contents td a.zmPreview {
    display: none;
  }
  #ssl {
    padding: 30px 0 0;
    margin: 0px auto;
  }
  #ssl .icon {
    text-align: center;
    margin-bottom: 10px;
  }
  #ssl p {
    font-size: 14px;
    line-height: 180%;
  }
}
/* Form
--------------------------------------------------*/
@media screen and (min-width: 768px) {
  input[type="text"], input[type="email"], input[type="tel"] {
    display: inline-block;
    margin: 10px 0;
    font-size: 16px;
    vertical-align: middle;
    border: 1px solid #999999;
    border-radius: 4px;
    min-height: 44px;
    padding: 6px 16px;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  input[type="file"] {
    display: inline-block;
    margin: 10px 0;
  }
  textarea {
    display: inline-block;
    height: 20em;
    margin: 10px 0;
    font-size: 16px;
    border: 1px solid #999999;
    border-radius: 4px;
    padding: 6px 16px;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  select {
    border: 1px solid #999999;
    border-radius: 4px;
    margin: 10px 0;
    min-height: 44px;
    padding: 6px 30px 6px 16px;
    box-sizing: border;
    font-size: 16px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/select_arrow.svg) no-repeat right center;
  }
  select::-ms-expand {
    display: none;
  }
  select option {
    padding: 6px 16px;
  }
  button {
    cursor: pointer;
  }
  .w200 {
    width: 200px;
  }
  .w400 {
    width: 400px;
  }
}
@media (min-width: 1025px) {
  .w600 {
    width: 600px;
  }
}
@media (max-width: 1024px) and (min-width: 768px) {
  .w400 {
    width: 100%;
  }
  .w600 {
    width: 100%;
  }
}
@media screen and (max-device-width: 767px) {
  input[type="text"], input[type="email"], input[type="tel"] {
    display: inline-block;
    margin: 10px 0;
    font-size: 16px;
    vertical-align: middle;
    border: 1px solid #999999;
    border-radius: 4px;
    min-height: 44px;
    padding: 6px 16px;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  input[type="file"] {
    display: inline-block;
    margin: 10px 0;
  }
  textarea {
    display: inline-block;
    height: 20em;
    margin: 10px 0;
    font-size: 16px;
    border: 1px solid #999999;
    border-radius: 4px;
    padding: 6px 16px;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  select {
    border: 1px solid #999999;
    border-radius: 4px;
    min-height: 44px;
    padding: 6px 30px 6px 16px;
    box-sizing: border;
    font-size: 16px;
    margin: 10px 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url(../images/select_arrow.svg) no-repeat right center;
  }
  select option {
    padding: 6px 16px;
  }
  .w200 {
    width: 100%;
  }
  .w400 {
    width: 100%;
  }
  .w600 {
    width: 100%;
  }
}
/* 同意チェック
--------------------------------------------------*/
.agreeContainer {
  margin: 0 auto 20px;
}
@media (min-width: 768px) {
  .agreeContainer {
    position: relative;
  }
}
p.agree {
  cursor: pointer;
  text-align: left;
}
input#agree1-2, input#agree2-2 {
  position: absolute;
}
p.agree input {
  display: none;
}
p.agree input[type=checkbox] {
  display: none;
  margin: 0;
}
p.agree input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  cursor: pointer;
  padding: 0 0 0 30px;
  font-weight: 700;
}
p.agree input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  width: 12px;
  height: 12px;
  margin-top: -9px;
  background: #FFF;
  border: 2px solid #cccccc;
}
p.agree input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  left: 6px;
  width: 20px;
  height: 10px;
  margin-top: -12px;
  border-left: 3px solid #f09600;
  border-bottom: 3px solid #f09600;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
@media (max-width: 767px) {
  p.agree label {
    line-height: 140%;
  }
}
/* Notice1
--------------------------------------------------*/
.notice1 {
  margin: 0 0 40px;
}
.notice1 p.link {
  font-weight: bold;
  margin: 0 0 15px;
}
.notice1 p.link a {
  color: #555555;
}
/* Notice2
--------------------------------------------------*/
.notice2 {
  margin: 0 0 40px;
}
.notice2 h2 {
  font-size: 1.2em;
  font-weight: 700;
  margin: 0 0 15px;
}
.notice2 ul {
  padding-left: 1.5em;
  margin: 0 0 15px;
}
.notice2 ul li {
  margin: 0 0 25px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .notice2 ul li .space {
    width: 5.5em;
    display: inline-block;
  }
}
@media screen and (max-device-width: 767px) {
  .notice2 h2 {
    font-size: 1.15em;
  }
}
/* Button
--------------------------------------------------*/
#contents .button {
  text-align: center;
}
#contents .button button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-style: none;
  background-color: #FFFFFF;
}
/* 確認・エラー画面(check,error)
--------------------------------------------------*/
#contents #confirm td {
  padding: 1em;
}
/*入力エラー*/
#contents strong.error {
  color: #FF0000;
}
/* Message()のメッセージ */
.message {
  text-align: center;
}
/*エラー*/
#contents span.error {
  color: #FF0000;
}
/*エラーなし*/
#contents span.confirm, #contents p.confirm {
  font-size: 1.2em;
  font-weight: 700;
  color: #FF0000;
  line-heigt: 1.6;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #contents p.confirm br.sp {
    display: none;
  }
}
@media screen and (max-device-width: 767px) {
  #contents span.confirm, #contents p.confirm {
    font-size: 1.0em;
  }
}
/* 送信完了(completion.html)
--------------------------------------------------*/
@media screen and (min-width: 768px) {
  #completion .success {
    line-height: 200%;
    text-align: center;
    font-size: 1.2em;
  }
}
@media screen and (max-device-width: 767px) {
  #completion {
    padding-top: 50px;
  }
  #completion .success {
    line-height: 200%;
    text-align: center;
    font-size: 1.1em;
  }
}
#completion .success a {
  color: #555555;
}