@charset "Shift_JIS";

/* # Update: 2022.03.02 - 01 */

html * {
  box-sizing: border-box;
}

#SMP_STYLE .body {
  margin: 0;
  padding: 0;
  background: #F4F4F4;
  font-size: 13px;
  *font-size: small;
  *font: x-small;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#SMP_STYLE .body_tbl {
  width: 900px;
  margin: 0 auto;
  padding-bottom: 30px;
  border: 1px solid #999999;
  background: #FFFFFF;
}

#SMP_STYLE h1 {
  margin: 0;
  padding: 10px 10px 10px 10px;
  background: #333333;
  color: #FFFFFF;
  font-size: 153.9%;
  font-weight: bold;
  text-align: center;
}

#SMP_STYLE .header_img_smartphone {
  display: none;
}

#SMP_STYLE .header_img_tablet {
  display: none;
}

#SMP_STYLE .header_img_pc {
  display: block;
}

#SMP_STYLE .header_text {
  margin: 0;
  padding: 20px 70px 20px 70px;
  background: #F1F1F1;
  color: #111111;
  font-size: 100%;
  font-weight: normal;
  text-align: left;
}

#SMP_STYLE .header_rmesg {
  margin: 0;
  padding: 0;
  color: #111111;
  font-size: 100%;
  font-weight: normal;
  text-align: left;
}

#SMP_STYLE .header_emesg {
  color: #FF0000;
  font-size: 100%;
  font-weight: normal;
  text-align: left;
}

#SMP_STYLE .smp_tmpl {
  width: 760px;
  padding: 0;
  margin: 0 70px;
}

#SMP_STYLE .body_tbl>.attention {
  width: 760px;
  margin: 0 auto;
  text-align: left;
  font-size: 109%;
}

#SMP_STYLE .body_tbl>.attention h3 {
  border-bottom: 1px dashed #000;
  font-size: 150%;
  text-align: center;
}

#SMP_STYLE .smp_tmpl #stamp img {
  /* スタンプラリー */
  width: auto;
  max-width: 100%;
  height: auto;
}

#SMP_STYLE dl {
  position: relative;
  margin: 0;
  padding: 13px 0 0 0;
  width: 760px;
  border-bottom: 1px solid #DDDDDD;
}

#SMP_STYLE dl.top {
  border-top: 1px solid #DDDDDD;
}

#SMP_STYLE dt.title {
  display: inline-block;
  width: 220px;
  margin: 0;
  padding: 23px 15px 18px 0;
  color: #333333;
  font-size: 108%;
  font-weight: bold;
  text-align: left;
  line-height: 1.2;
  vertical-align: top;
}

#SMP_STYLE dt.title .caution {
  display: block;
  width: 220px;
  color: #5F5F5F;
  font-size: 85%;
  font-weight: normal;
  padding: 10px 0 0 0;
  line-height: 1.2;
  text-align: left;
}

#SMP_STYLE dd.data {
  display: inline-block;
  width: 520px;
  margin: 0;
  padding: 18px 0;
  color: #5F5F5F;
  font-size: 150%;
  font-weight: bold;
  text-align: left;
}

#SMP_STYLE .input {
  margin-bottom: 8px;
  padding: 3px;
  color: #333333;
  border: 1px solid #999999;
  border-radius: 3px 3px 3px 3px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2) inset;
  font-size: 100%;
  text-align: left;
}

#SMP_STYLE .zipcode li.code01 input {
  width: 4em;
}

#SMP_STYLE .zipcode li.code02 input {
  width: 5em;
}

#SMP_STYLE .phone li.num01 input {
  width: 5em;
}

#SMP_STYLE .phone li.num02 input {
  width: 5em;
}

#SMP_STYLE .phone li.num03 input {
  width: 5em;
}

#SMP_STYLE .price input {
  width: 200px;
}

#SMP_STYLE .num input {
  width: 60px;
}

#SMP_STYLE .integer input {
  width: 90px;
}

#SMP_STYLE .real input {
  width: 170px;
}

#SMP_STYLE .pass input {
  width: 150px;
}

#SMP_STYLE .epass input {
  width: 160px;
}

#SMP_STYLE .time input {
  width: 20px;
}

#SMP_STYLE .time .year {
  width: 40px;
}

#SMP_STYLE ul,
#smp_style li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SMP_STYLE .zipcode ul li,
#SMP_STYLE .phone ul li,
#SMP_STYLE .time ul li {
  width: auto;
  float: left;
  margin: 0 3px 0 0;
  padding: 0;
  height: 35px;
  line-height: 35px;
}

#SMP_STYLE .multi1 label {
  display: block;
  float: left;
  min-width: 135px;
  margin: 0 0 7px 0;
  padding: 0 10px;
  text-align: left;
}

#SMP_STYLE .multi1 label input {
  display: block;
  float: left;
  width: 1em;
  height: 1em;
  margin: 0.4em 0 0 0;
  padding: 0;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
  border-radius: 0 0 0 0;
  overflow: hidden;
}

#SMP_STYLE .multi1 label span {
  display: block;
  margin: 0 0 0 30px;
  font-size: 108%;
  font-weight: normal;
}

#SMP_STYLE .multi1 .radio input {
  border-radius: 1em;
}

#SMP_STYLE .multi2 li {
  display: inline;
  float: left;
  min-width: 135px;
  margin: 0 0 0 0;
  padding: 0 5px 2px 10px;
  text-align: left;
  clear: both;
}

#SMP_STYLE dd.data span {
  font-size: 73%;
}

#SMP_STYLE dl.cf span.exp{
  display:inline-block;
  line-height:1.8;
}

#SMP_STYLE .multi2 label input {
  display: block;
  float: left;
  width: 1em;
  height: 1em;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
  margin: 0;
  padding: 0;
  border-radius: 0 0 0 0;
  overflow: hidden;
}

#SMP_STYLE .multi2 li label {
  line-height: 1.8;
}

#SMP_STYLE .multi2 label span {
  display: block;
  margin: 0 0 0 30px;
  font-size: 80%;
  font-weight: normal;
}

#SMP_STYLE .multi2 .radio input {
  border-radius: 1em;
}

#SMP_STYLE .multi2 .radio input,
#SMP_STYLE .multi2 .checkbox input {
  margin-top: 0.15em;
}

#SMP_STYLE select {
  margin-bottom: 8px;
  margin-top: 1px;
  font-size: 85%;
  height: 1.8em;
  max-width: 100%;
  border: 1px solid #666;
}

dd.data span:first-child {
  display: inline-block;
  margin-bottom: 3px;
}

#SMP_STYLE textarea {
  width: 510px;
  padding: 5px;
  border: 1px solid #999999;
  border-radius: 3px 3px 3px 3px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2) inset;
  font-size: 100%;
  text-align: left;
}

#SMP_STYLE .image input {
  width: 100%;
}

#SMP_STYLE .file input {
  width: 100%;
  font-size: 85%;
}

#SMP_STYLE input.clear {
  width: 55px;
  text-align: center;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

input[type="checkbox"] {
  vertical-align: middle;
}

#SMP_STYLE input.submit {
  width: 270px;
  height: 43px;
  line-height: 41px;
  margin: 40px 0 10px 0;
  border: hidden;
  border-radius: 7px;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: normal;
  text-align: center;
  cursor: pointer;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#SMP_STYLE a.btn {
  width: auto;
  max-width: 500px;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  border-radius: 7px;
  height: 42px;
  line-height: 44px;
  font-size: 20px;
  text-align: center;
  padding: 0 1em;
}

#SMP_STYLE .body_tbl a.btn.return {
  padding-left: 1.5em;
}

#SMP_STYLE a.btn+a.btn,
#SMP_STYLE input.submit+input.submit,
#SMP_STYLE input.submit+a.btn,
#SMP_STYLE a.btn+input.submit {
  margin-top: 1em;
}

#SMP_STYLE input.submit:hover,
#SMP_STYLE a.btn:hover {
  filter: alpha(opacity=90);
  -ms-filter: alpha(opacity=90);
  opacity: 0.9;
}

#SMP_STYLE a.btn span {
  line-height: 21px;
  display: inline-block;
  padding-top: 1px;
}

#SMP_STYLE a.btn span>span {
  font-size: 85%;
  display: block;
}

#SMP_STYLE input.image {
  margin: 40px 0 40px 0;
  width: auto;
  border: none;
  padding: 0;
  vertical-align: middle;
}

#SMP_STYLE span.sample {
  color: #555555;
  font-weight: normal;
  text-align: left;
  line-height: 1.2;
  font-size: 73%;
}

#SMP_STYLE .time span {
  font-size: 85%;
}

#SMP_STYLE .suffix {
  color: #111111;
  font-size: 100%;
  font-weight: normal;
  text-align: left;
  height: 35px;
  line-height: 35px;
}

#SMP_STYLE .need {
  color: #CC0000;
  font-size: 100%;
  font-weight: bold;
  text-align: left;
}

#SMP_STYLE .msg {
  display: block;
  color: #DD0000;
  font-size: 85%;
  font-weight: bold;
  margin-bottom: 5px;
  text-align: left;
}

#SMP_STYLE .error {
  background: #FFE4E4;
}

#SMP_STYLE .spiralSeal {
  width: 80%;
  overflow: hidden;
  margin: 0;
  background-color: #FFFFFF;
  border: 1px solid #CCCCCC;
}

#SMP_STYLE .spiralSeal tr td.description {
  display: table-cell;
  text-align: left;
  overflow: auto;
}

#SMP_STYLE .spiralSeal tr td.img {
  display: table-cell;
  margin-left: 0px;
  margin-right: 0px;
  overflow: auto;
  text-align: center;
}

#SMP_STYLE .footer_text {
  width: auto;
  font-size: 100%;
  margin: 30px 0 0 0;
  font-weight: normal;
}

#SMP_STYLE .cf:before,
#SMP_STYLE .cf:after {
  content: "";
  display: table;
}

#SMP_STYLE .cf:after {
  clear: both;
}

#SMP_STYLE .cf {
  *zoom: 1;
}

.sponly {
  display: none;
}

.pconly {
  display: inline;
}

div.pconly,
p.pconly {
  display: block;
}

::placeholder {
  color: #ccc;
}


@media screen and (min-width:726px) and (max-width:981px) {

  #SMP_STYLE .body_tbl {
    width: 100%;
    border: none;
  }

  #SMP_STYLE .header_img_smartphone {
    display: none;
  }

  #SMP_STYLE .header_img_tablet {
    display: block;
  }

  #SMP_STYLE .header_img_pc {
    display: none;
  }

  #SMP_STYLE .header_text {
    padding: 15px 70px 15px 70px;
    font-size: 93%;
  }

  #SMP_STYLE .header_emesg {
    width: 80%;
    margin: 30px auto 10px;
    padding: 15px 15px 15px 15px;
  }

  #SMP_STYLE .smp_tmpl {
    width: 80%;
    margin: 0 auto;
    padding: 20px 0 0 0;
  }

  #SMP_STYLE .body_tbl>.attention {
    width: 80%;
    max-width: initial;
    margin: 0 auto;
  }

  #SMP_STYLE dl {
    display: table;
    width: 100%;
  }

  #SMP_STYLE dt.title {
    width: 20%;
    line-height: 1.2;
  }

  #SMP_STYLE dt.title .caution {
    width: 100%;
  }

  #SMP_STYLE dd.data {
    width: 70%;
  }

  #SMP_STYLE .phone li.num01 input {
    width: 50px;
  }

  #SMP_STYLE .phone li.num02 input {
    width: 40px;
  }

  #SMP_STYLE .phone li.num03 input {
    width: 40px;
  }

  #SMP_STYLE .price input {
    width: 200px;
  }

  #SMP_STYLE .num input {
    width: 60px;
  }

  #SMP_STYLE .integer input {
    width: 90px;
  }

  #SMP_STYLE .real input {
    width: 170px;
  }

  #SMP_STYLE .pass input {
    width: 50%;
  }

  #SMP_STYLE .epass input {
    width: 50%;
  }

  #SMP_STYLE .time input {
    width: 20px;
  }

  #SMP_STYLE .time .year {
    width: 40px;
  }

  #SMP_STYLE .time .new_line {
    clear: both;
  }

  #SMP_STYLE ul,
  #smp_style li {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SMP_STYLE .zipcode ul li,
  #SMP_STYLE .phone ul li,
  #SMP_STYLE .time ul li {
    width: auto;
    float: left;
    margin: 0 3px 0 0;
    padding: 0;
    height: 35px;
    line-height: 35px;
  }

  #SMP_STYLE .multi1 label {
    display: block;
    float: left;
    min-width: 126px;
    margin: 0 10px 7px 0;
    padding: 10px 10px 0 10px;
    border-radius: 4px 4px 4px 4px;
    background: #F1F1F1;
    text-align: left;
  }

  #SMP_STYLE .multi1 label input {
    display: block;
    float: left;
    width: 20px;
    margin: 0.2em 0 0 0;
    padding: 0;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
    border-radius: 3px 3px 3px 3px;
    text-align: left;
    overflow: hidden;
  }

  #SMP_STYLE .multi1 label span {
    display: block;
    margin: 0 0 10px 30px;
  }

  #SMP_STYLE .multi1 .radio input {
    border-radius: 1em;
  }

  #SMP_STYLE .multi2 li {
    display: inline;
    float: left;
    width: 100%;
    margin: 0 0 7px 0;
    padding: 10px 10px 10px 10px;
    border-radius: 4px 4px 4px 4px;
    background: #EEEEEE;
    text-align: left;
    clear: both;
  }

  #SMP_STYLE .multi2 label input {
    display: block;
    float: left;
    width: 20px;
    margin: 0 0 0 0;
    padding: 0;
    text-align: left;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
    border-radius: 3px 3px 3px 3px;
    overflow: hidden;
  }

  #SMP_STYLE .multi2 label span {
    display: block;
    margin: 0 0 0 30px;
  }

  #SMP_STYLE .multi2 .radio input {
    border-radius: 1em;
  }

  #SMP_STYLE select {
    margin-bottom: 8px;
  }

  #SMP_STYLE textarea {
    width: 100%;
    padding: 5px;
    border: 1px solid #999999;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2) inset;
    text-align: left;
  }

  #SMP_STYLE .image input {
    width: 100%;
  }

  #SMP_STYLE .file input {
    width: 100%;
  }

  #SMP_STYLE input.clear {
    width: 55px;
    text-align: center;
  }

  #SMP_STYLE input.submit {
    width: 40%;
    margin: 40px auto 10px auto;
  }


  #SMP_STYLE .sub_text {
    width: 80%;
  }

  #SMP_STYLE .footer_text {
    width: 80%;
    font-size: 93%;
    text-align: left;
  }

}


@media screen and (max-width:725px) {

  #SMP_STYLE .body_tbl {
    width: 100%;
    border: none;
  }

  #SMP_STYLE .header_img_smartphone {
    display: block;
  }

  #SMP_STYLE .header_img_tablet {
    display: none;
  }

  #SMP_STYLE .header_img_pc {
    display: none;
  }

  #SMP_STYLE .header_text {
    padding: 15px 15px 15px 15px;
    font-size: 85%;
  }

  #SMP_STYLE .smp_tmpl {
    width: 300px;
    margin: 0 auto;
    padding: 0;
  }

  #SMP_STYLE .body_tbl>.attention {
    width: 90%;
    max-width: initial;
    margin: 0 auto;
  }

  #SMP_STYLE dl {
    display: block;
    margin: 0 0 10px 0;
    padding: 20px 0 0 0;
    width: 100%;
  }

  #SMP_STYLE dt.title {
    display: block;
    width: 270px;
    padding: 0 0 0 0;
    vertical-align: middle;
  }

  #SMP_STYLE dt.title .caution {
    width: 270px;
  }

  #SMP_STYLE dd.data {
    position: relative;
    display: block;
    width: 270px;
    margin: 0 0 10px 0;
    padding: 18px 0 10px 0;
  }

  #SMP_STYLE .phone li.num01 input {
    width: 50px;
  }

  #SMP_STYLE .phone li.num02 input {
    width: 40px;
  }

  #SMP_STYLE .phone li.num03 input {
    width: 40px;
  }

  #SMP_STYLE .price input {
    width: 150px;
  }

  #SMP_STYLE .num input {
    width: 60px;
  }

  #SMP_STYLE .integer input {
    width: 90px;
  }

  #SMP_STYLE .real input {
    width: 170px;
  }

  #SMP_STYLE .pass input {
    width: 150px;
  }

  #SMP_STYLE .epass input {
    width: 160px;
  }

  #SMP_STYLE .time input {
    width: 20px;
  }

  #SMP_STYLE .time .year {
    width: 40px;
  }

  #SMP_STYLE .time .new_line {
    clear: both;
  }

  #SMP_STYLE ul,
  #smp_style li {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SMP_STYLE .zipcode ul li,
  #SMP_STYLE .phone ul li,
  #SMP_STYLE .time ul li {
    width: auto;
    float: left;
    margin: 0 3px 0 0;
    padding: 0;
    height: 35px;
    line-height: 35px;
  }

  #SMP_STYLE .multi1 label {
    display: block;
    min-width: 250px;
    margin: 0 10px 10px 0;
    padding: 10px;
    border-radius: 4px 4px 4px 4px;
    background: #F1F1F1;
    text-align: left;
  }

  #SMP_STYLE .multi1 label input {
    display: block;
    float: left;
    width: 20px;
    margin: 0.2em 0 0 0;
    padding: 0;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
    border-radius: 3px 3px 3px 3px;
    text-align: left;
    overflow: hidden;
  }

  #SMP_STYLE .multi1 label span {
    display: block;
    margin: 0 0 0 25px;
  }

  #SMP_STYLE .multi1 .radio input {
    border-radius: 1em;
  }

  #SMP_STYLE .multi2 li {
    display: block;
    min-width: 250px;
    margin: 0 10px 10px 0;
    padding: 10px;
    border-radius: 4px 4px 4px 4px;
    background: #F1F1F1;
    text-align: left;
    width: auto;
  }

  #SMP_STYLE .multi2 label input {
    display: block;
    float: left;
    width: 20px;
    margin: 0.2em 0 0 0;
    padding: 0;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0) inset;
    border-radius: 3px 3px 3px 3px;
    text-align: left;
    overflow: hidden;
  }

  #SMP_STYLE .multi2 label span {
    display: block;
    margin: 0 0 0 25px;
  }

  #SMP_STYLE .multi2 .radio input {
    border-radius: 1em;
  }

  #SMP_STYLE select {
    margin-bottom: 8px;
  }

  #SMP_STYLE textarea {
    width: 260px;
    padding: 5px;
    border: 1px solid #999999;
    border-radius: 3px 3px 3px 3px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2) inset;
    text-align: left;
  }

  #SMP_STYLE .image input {
    width: 100%;
  }

  #SMP_STYLE input.clear {
    width: 55px;
    text-align: center;
  }

  #SMP_STYLE input.submit {
    width: calc(100% - 40px);
    max-width: initial;
    margin: 20px auto 10px auto;
  }

  #SMP_STYLE input.submit:last-child {
    margin-bottom: 40px;
  }

  #SMP_STYLE .sub_text {
    width: 90%;
  }

  #SMP_STYLE .spiralSeal {
    width: 90%;
  }

  #SMP_STYLE .spiralSeal tr td.description {
    display: block;
  }

  #SMP_STYLE .spiralSeal tr td.img {
    display: block;
    margin-left: 60px;
    margin-right: 60px;
  }

  #SMP_STYLE .footer_text {
    width: 95%;
    font-size: 85%;
  }

}

/* ---------- CSSカスタマイズ ここから ---------- */
/* ---------- 基本の色変更は1348行ぐらいから ---------- */

/* base */


@media screen and (max-width: 600px) {

  .pconly,
  div.pconly,
  p.pconly {
    display: none;
  }

  .sponly {
    display: inline;
  }

  div.sponly,
  p.sponly {
    display: block;
  }
}

html#SMP_STYLE body.body div.body_tbl {
  width: 100%;
  max-width: initial;
  border: none;
  text-align: center;
  padding-bottom: 0;
}

html#SMP_STYLE body.body div.body_tbl {
  width: 100%;
  max-width: initial;
  border: none;
  text-align: center;
  margin: 0;
}


/* header */
html#SMP_STYLE body h1.header {
  margin: 0;
  padding: 0;
  text-align: center;
}

h1.header img.pconly {
  width: 100%;
  max-width: 980px;
  height: auto;
  vertical-align: bottom;
}

/* step arrow */
ul#step {
  padding: 0 40px 0 20px;
  margin: 40px auto;
  list-style: none outside;
  overflow: hidden;
  max-width: 900px;
}

ul#step li {
  color: #fff;
  height: 70px;
  line-height: 70px;
  position: relative;
  display: inline-block;
  width: 34%;
  list-style: none outside;
  text-align: center;
  font-size: 18px;
  padding-left: 30px;
}

ul#step li:first-child {
  padding-left: 10px;
  width: 32%;
}

ul#step li:before {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -25px;
  top: -25px;
  content: "";
  border-left: 30px solid;
  border-top: 60px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 60px solid transparent;
  z-index: 2;
}

ul#step li:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -15px;
  top: -25px;
  content: "";
  border-left: 30px solid;
  border-top: 60px solid transparent;
  border-right: 0 solid transparent;
  border-bottom: 60px solid transparent;
  z-index: 3;
}

ul#step li span {
  z-index: 4;
  position: relative;
}

/* message */
#SMP_STYLE p.header_rmesg,
#SMP_STYLE p.header_emesg {
  display: block;
  text-align: left;
  margin-left: calc((100% - 820px) / 2);
  border: none;
  padding: 0;
  width: 100%;
  max-width: 820px;
  font-size: 113%;
  margin-bottom: 1em;
}

@media screen and (max-width: 900px) {

  #SMP_STYLE p.header_rmesg,
  #SMP_STYLE p.header_emesg {
    margin-left: 40px;
    width: auto;
  }
}

html#SMP_STYLE body h1.header+p {
  margin-top: 40px;
}


/* form */
div.body_tbl form {
  text-align: center;
}

#SMP_STYLE div.smp_tmpl {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}

#SMP_STYLE div.smp_tmpl dl.cf {
  width: 100%;
  margin: 10px 0;
  padding: 0 20px 15px 20px;
  text-align: left;
  border-bottom-color: #333;
}

#SMP_STYLE div.smp_tmpl dl.cf dt.title {
  width: 200px;
  padding: 15px 15px 10px 0;
  margin: 0;
  display: inline-block;
  vertical-align: top;
}

#SMP_STYLE div.smp_tmpl dl.cf dd.data {
  width: calc(100% - 200px);
  padding: 10px 0;
  margin: 0;
  display: inline-block;
  vertical-align: top;
}

#SMP_STYLE div.smp_tmpl dl.cf dd.data .input[type="text"],
#SMP_STYLE div.smp_tmpl dl.cf dd.data .input[type="email"],
#SMP_STYLE div.smp_tmpl dl.cf dd.data textarea {
  width: 100%;
}

#SMP_STYLE div.smp_tmpl dl.cf dd.data.time ul.cf li {
  width: 32%;
  max-width: 7em;
}

#SMP_STYLE div.smp_tmpl dl.cf dd.data.time ul.cf li input {
  width: 75%;
  margin-right: 3px;
}

#SMP_STYLE input.serial {
  width: 4em;
}

#SMP_STYLE .multi2 li {
  margin-top: 0.7em;
  margin-bottom: 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
}

#SMP_STYLE div.smp_tmpl>p:last-of-type {
  display: inline-block;
  text-align: left;
  padding-left: 20px;
  padding-right: 20px;
}

@media screen and (max-width: 640px) {

  html#SMP_STYLE body h1.header+p {
    margin-top: 20px;
  }

  ul#step li {
    height: 3em;
    line-height: 3em;
  }

  ul#step li:before,
  ul#step li:after {
    top: -1.8em;
  }

  #SMP_STYLE p.header_rmesg,
  #SMP_STYLE p.header_emesg {
    margin-left: 20px;
    margin-right: 10px;
  }


  #SMP_STYLE input.serial {
    width: calc(25% - 0.5em);
  }

  #SMP_STYLE input.submit,
  #SMP_STYLE a.btn {
    font-size: 5vw;
    height: 12vw;
    line-height: 11.5vw;
  }

  #SMP_STYLE a.btn {
    width: calc(100% - 40px);
    max-width: initial;
    margin: 20px auto 10px auto;
  }

  #SMP_STYLE a.btn span {
    line-height: 5.7vw;
    display: inline-block;
  }

  #SMP_STYLE .sub_text a.btn {
    width: 95%;
  }
}

#SMP_STYLE input.submit[value*="戻る"],
#SMP_STYLE a.btn.return {
  margin-top: 10px;
  padding-left: 1em;
  padding-right: 1em;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  box-sizing: border-box;
}

#SMP_STYLE input.submit[value*="戻る"]:hover,
#SMP_STYLE a.btn.return:hover {
  background-color: #f9f9f9;
}

#SMP_STYLE span.button_arrow {
  width: 12px;
  height: 12px;
  display: block;
  z-index: 2;
  position: absolute;
  left: 10px;
  bottom: calc(2em - 1px);
  border-width: 2px;
  border-style: solid;
  transform: rotate(45deg);
  pointer-events: none;
  border-color:transparent transparent #666 #666;
}

#SMP_STYLE a.btn.return:before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  left: 5px;
  top: calc(50% - 1px);
  border-width: 2px;
  border-style: solid;
  transform: rotate(45deg) translate(0, -50%);
  pointer-events: none;
  box-sizing: border-box;
  border-color:transparent transparent #666 #666;
}


#SMP_STYLE div#button-wrap {
  position: relative;
  margin-bottom: 3em;
}

@media screen and (min-width: 641px) {
  #SMP_STYLE div#button-wrap {
    width: 60%;
    max-width: 500px;
    display: block;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
  }

  #SMP_STYLE input.submit,
  #SMP_STYLE div#button-wrap a.btn {
    width: 100%;
  }

  #SMP_STYLE input.submit[value*="戻る"],
  #SMP_STYLE div#button-wrap a.btn.return {
    width: 50%;
  }
}

@media screen and (max-width: 640px) {
  #SMP_STYLE input.submit+input.submit {
    margin-top: 0;
  }

  #SMP_STYLE span.button_arrow {
    width: 4vw;
    height: 4vw;
    display: inline-block;
    z-index: 2;
    position: absolute;
    left: 4vw;
    bottom: 4vw;
    border-width: 1vw;
    border-style: solid;
    border-color: transparent transparent #666 #666;
    transform: rotate(45deg);
    margin-bottom: 10px;
    margin-left: 20px;
  }

  #SMP_STYLE a.btn.return:before {
    width: 4vw;
    height: 4vw;
    display: inline-block;
    z-index: 2;
    position: absolute;
    left: -0.5vw;
    top: calc(50% - 0.5vw);
    border-width: 1vw;
    border-style: solid;
    border-color: transparent transparent #666 #666;
    transform: rotate(45deg) translate(0, -50%);
    margin-bottom: 10px;
    margin-left: 20px;
  }
}

/* sub_text */
html#SMP_STYLE .sub_text {
  display: inline-block;
  width: auto;
  max-width: initial;
  font-weight: normal;
  text-align: center;
  color: #111111;
  font-size: 125%;
}

html#SMP_STYLE .sub_text.wrap {
  display: block;
  width: 100%;
}

html#SMP_STYLE div.smp_tmpl .sub_text {
  padding: 50px 0 0 0;
}

html#SMP_STYLE ul+div.smp_tmpl .sub_text,
html#SMP_STYLE p.header_emesg+div.smp_tmpl .sub_text {
  padding: 0;
}

html#SMP_STYLE .sub_text img {
  margin: 0 auto 10px auto;
  width: auto;
  max-width: 80%;
  display: block;
}


/* footer */
.footer {
  text-align: center;
  font-size: 85%;
  display: block;
  padding: 30px 0;
  line-height: 3;
  margin: 50px 0 0 0;
}

.footer a {
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

.footer span img {
  width: auto;
  max-width: 206px;
  display: block;
  margin: 0 auto;
}


/*ガラポンサイズ調整*/
div#container {
  text-align: center;
  width: auto;
  max-width: 900px;
  margin: 1em auto;
}

div#container>div#panelbox,
div#container>div#panelbox_fin {
  box-sizing: border-box;
  display: inline-block;
  width: auto;
  max-width: 300px;
  margin: 0 auto;
  background-color: #fff;
  padding: 1em 5em;
  cursor: pointer;
}

div#container>div#panelbox img,
.body_tbl>div#panelbox img,
div#container>div#panelbox_fin img,
.body_tbl>div#panelbox_fin img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.body_tbl>div#panelbox,
.body_tbl>div#panelbox_fin {
  box-sizing: border-box;
  width: auto;
  max-width: 900px;
  margin: 1em auto;
  padding: 1em 0;
  text-align: center;
}



@media screen and (max-width: 725px) {
  #SMP_STYLE div.smp_tmpl dl.cf {
    width: 100%;
    margin: 10px 0;
    padding: 0 20px 15px 20px;
  }

  #SMP_STYLE .multi2 li {
    margin-top: 0.5em;
    margin-bottom: 0;
    padding: 0;
    width: 100%;
    background-color: #fff;
    border: 1px solid #666;
    border-radius: 5px;
  }

  #SMP_STYLE .multi2 li label {
    display: block;
    padding: 5px 10px 3px 10px;
  }
}

@media screen and (max-width: 640px) {
  ul#step {
    padding: 0 20px 0 10px;
    margin: 20px auto;
  }

  #SMP_STYLE div.smp_tmpl {
    padding-left: 0;
    padding-right: 0;
  }

  #SMP_STYLE div.smp_tmpl dl.cf {
    width: 100%;
    margin: 10px 0;
    padding: 0 20px 15px 20px;
  }

  #SMP_STYLE div.smp_tmpl dl.cf dt.title {
    width: 100%;
    padding: 15px 15px 10px 0;
    margin: 0;
    display: inline-block;
    vertical-align: top;
  }

  #SMP_STYLE div.smp_tmpl dl.cf dd.data {
    width: 100%;
    padding: 0;
    margin: 0;
    display: inline-block;
    vertical-align: top;
  }

  html#SMP_STYLE div.smp_tmpl .sub_text p {
    margin-left: 3px;
    margin-right: 3px;
  }

  .footer a {
    display: block;
  }
}

/* 基本の色変更はここから下のコメントアウトを切り替え */
/* 基本から外れる場合はコピペして追加してください */


/* --------------- color grayscale --------------- */
/*
html#SMP_STYLE body.body div.body_tbl{
  background-color:#f1f1f1;
}

html#SMP_STYLE body h1.header{
  background-color:#000;
}

ul#step li{
  background-color:#999;
}

ul#step li:before{
  border-left-color:#f1f1f1;
}

ul#step li:after{
  border-left-color:#999;
}

ul#step li.current{
  background-color:#000;
}

ul#step li.current:after{
  border-left-color:#000;
}

html#SMP_STYLE input.submit,
a.btn{
  background:#333;
  border:2px solid #333;
}

a.btn.gray,
html#SMP_STYLE input.submit.gray{
  background:#999;
  border:2px solid #999;
}

#SMP_STYLE input.submit[value*="戻る"],
#SMP_STYLE a.btn.return{
  color:#666;
  background-color:#fff;
  border:2px solid #666;
}

#SMP_STYLE span.button_arrow,
#SMP_STYLE a.btn.return:before{
  border-color:transparent transparent #666 #666;
}

.footer{
  background-color:#fff;
  color:#000;
}

.footer a{
  color:#000;
}
*/

/* --------------- color C --------------- */
/*
html#SMP_STYLE body.body div.body_tbl{
  background-color:#e6f0fe;
}

html#SMP_STYLE body h1.header{
  background-color:#39f;
}

html ul#step li{
  background-color:#0d66bf;
}

html ul#step li:before{
  border-left-color:#e6f0fe;
}

html ul#step li:after{
  border-left-color:#0d66bf;
}

html ul#step li.current{
  background-color:#39f;
}

html ul#step li.current:after{
  border-left-color:#39f;
}

html#SMP_STYLE input.submit,
a.btn{
  background:#39f;
  border:2px solid #39f;
}

a.btn.gray,
html#SMP_STYLE input.submit.gray{
  background:#999;
  border:2px solid #999;
}

#SMP_STYLE input.submit[value*="戻る"],
#SMP_STYLE a.btn.return{
  color:#0d66bf;
  background-color:#fff;
  border:2px solid #0d66bf;
}

#SMP_STYLE span.button_arrow,
#SMP_STYLE a.btn.return:before{
  border-color:transparent transparent #39f #39f;
}

html .footer{
  background-color:#0d66bf;
  color:#000;
}

html .footer a{
  color:#000;
}
*/

/* --------------- color M --------------- */
/*
html#SMP_STYLE body.body div.body_tbl{
  background-color:#fce9ef;
}

html#SMP_STYLE body h1.header{
  background-color:#ff74a1;
}

html ul#step li{
  background-color:#e14f7e;
}

html ul#step li:before{
  border-left-color:#fce9ef;
}

html ul#step li:after{
  border-left-color:#e14f7e;
}

html ul#step li.current{
  background-color:#ff74a1;
}

html ul#step li.current:after{
  border-left-color:#ff74a1;
}

html#SMP_STYLE input.submit,
a.btn{
  background:#ff74a1;
  border:2px solid #ff74a1;
}

a.btn.gray,
html#SMP_STYLE input.submit.gray{
  background:#999;
  border:2px solid #999;
}

#SMP_STYLE input.submit[value*="戻る"],
#SMP_STYLE a.btn.return{
  color:#e14f7e;
  background-color:#fff;
  border:2px solid #e14f7e;
}

#SMP_STYLE span.button_arrow,
#SMP_STYLE a.btn.return:before{
border-color:transparent transparent #e14f7e #e14f7e;	
}

html .footer{
  background-color:#fff;
  color:#000;
}

html .footer a{
  color:#000;
}
*/

/* --------------- color Y --------------- */
/*
html#SMP_STYLE body.body div.body_tbl{
  background-color:#fcf2e6;
}

html#SMP_STYLE body h1.header{
  background-color:#ff9934;
}

html ul#step li{
  background-color:#e2681f;
}

html ul#step li:before{
  border-left-color:#fcf2e6;
}

html ul#step li:after{
  border-left-color:#e2681f;
}

html ul#step li.current{
  background-color:#ff9934;
}

html ul#step li.current:after{
  border-left-color:#ff9934;
}

html#SMP_STYLE input.submit,
a.btn{
  background:#ff9934;
  border:2px solid #ff9934;
}

a.btn.gray,
html#SMP_STYLE body.body input.submit.gray{
  background:#999;
  border:2px solid #999;
}

#SMP_STYLE input.submit[value*="戻る"],
#SMP_STYLE a.btn.return{
  color:#e2681f;
  background-color:#fff;
  border:2px solid #e2681f;
}

#SMP_STYLE span.button_arrow,
#SMP_STYLE a.btn.return:before{
  border-color:transparent transparent #e2681f #e2681f;	
}

html .footer{
  background-color:#fff;
  color:#000;
}

html .footer a{
  color:#000;
}
*/