*,
:after,
:before {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  background: none;
}

.main_width {
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 940px;
}

#container {
  text-align: left;
}

#header {
  margin-bottom: 80px;
  width: 100%;
  height: 114px;
  border-bottom: 1px solid #ccc;
}
#header .main_width {
  position: relative;
  height: 100px;
}

.p_index .contents {
  margin-bottom: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 16px;
}
.p_index .contents.con02 {
  display: block;
}
.p_index .contents.con03 {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 20px;
}
.p_index .main {
  width: calc(100% - 220px);
  text-align: left;
}
.p_index .main h2 {
  margin-bottom: 40px;
  font-size: 24px;
  text-align: center;
}
.p_index .main p {
  margin-bottom: 1em;
}
.p_index .main .contact {
  margin-top: 50px;
  margin-bottom: 50px;
}
.p_index .main .contact p {
  margin-bottom: 0;
}
.p_index .main .contact p span {
  padding-top: 10px;
  padding-bottom: 10px;
  font-weight: 700;
  display: inline-block;
}
.p_index .main .contact p.sign {
  padding-top: 2em;
  text-align: right;
}
.p_index .main dl {
  margin-bottom: 1em;
}
.p_index .main dl dt {
  font-weight: 700;
}
.p_index .side {
  width: 180px;
}
.p_index .side img {
  width: 100%;
  height: auto;
}
.p_index .con02 h2 {
  margin-bottom: 40px;
  font-size: 24px;
  text-align: center;
}
.p_index .con02 .btnbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 40px;
}
.p_index .con02 .btnbox .btn a {
  padding: 20px 50px;
  min-width: 200px;
  color: #FFF;
  display: block;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 700;
  text-align: center;
}
.p_index .con02 .btnbox .btn a.salon {
  background: #ffb643;
}
.p_index .con02 .btnbox .btn a.member {
  background: #dc68ae;
}
.p_index .con02 .btnbox .btn a:hover {
  opacity: 0.7;
}

/*-- common --*/
.contents_head .h2box {
  position: relative;
}
.contents_head .h2box h2 {
  margin-bottom: 40px;
  font-size: 28px;
  text-align: center;
}
.contents_head .h2box .btn {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
}
.contents_head .h2box .btn span {
  padding: 8px 25px;
  min-width: 100px;
  color: #FFF;
  font-size: 16px;
  display: block;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 700;
}
.contents_head .h2box .btn span.salon {
  background: #ffb643;
}
.contents_head .h2box .btn span.member {
  background: #dc68ae;
}
.contents_head p.lead {
  font-size: 16px;
  text-align: left;
}

.orderBlock {
  /*
    &.conf {
      .btnbox {
        a {
          display: block;
          button {
            padding: 20px 50px;
            min-width: 200px;
            color: #000;
            border-radius: 5px;
            font-size: 16px;
            font-weight: 700;
            text-align: center;
            outline: none;
            border: none;
            appearance: none;
            background: #ccc;
            cursor: pointer;
            &:hover {
              opacity: .7;
            }
          }
        }
      }
    }
  */
}
.orderBlock .inner1 {
  margin-bottom: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 40px;
}
.orderBlock .inner1 .lBlock {
  max-width: 230px;
}
.orderBlock .inner1 .rBlock {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: left;
}
.orderBlock .inner1 .rBlock dl.txt1 {
  margin-bottom: 20px;
}
.orderBlock .inner1 .rBlock dl.txt1 dt {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 5px 0;
}
.orderBlock .inner1 .rBlock ul.txt2 {
  font-size: 14px;
  padding: 5px 10px;
  background: #ffe4b9;
  border: solid 1px #dcdcdc;
}
.orderBlock .inner1 .rBlock ul.txt2 li {
  padding: 3px 0;
}
.orderBlock .inner1 .rBlock ul.txt2 li.txt01 span {
  font-size: 14px;
  font-weight: bold;
}
.orderBlock .inner1 .rBlock ul.txt2 li.txt02 span {
  font-size: 16px;
  font-weight: bold;
}
.orderBlock .inner1 .rBlock ul.txt3 {
  padding: 12px 20px;
  border: solid 1px #dcdcdc;
  border-top: 0;
}
.orderBlock .inner1 .rBlock select {
  font-size: 16px;
}
.orderBlock .attBox {
  margin: 0 0 30px 0;
  padding: 8px 12px;
  border: solid 4px #ddd;
}
.orderBlock .attBox dl dt {
  font-size: 16px;
  margin: 0 0 5px 0;
  text-align: left;
}
.orderBlock .attBox dl dd ul.txtList1 {
  margin-left: 1.2em;
  list-style-type: none;
  text-align: left;
}
.orderBlock .attBox dl dd ul.txtList1 li {
  width: 100%;
  position: relative;
}
.orderBlock .attBox dl dd ul.txtList1 li span {
  position: absolute;
  top: 0;
  left: -1.2em;
}
.orderBlock h3 {
  margin-top: 80px;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}
.orderBlock .err {
  color: #f00;
  font-size: 14px;
  font-weight: 700;
}
.orderBlock .err.num {
  margin-bottom: 20px;
}
.orderBlock table.inner2 {
  width: 100%;
  margin: 0 0 25px 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}
.orderBlock table.inner2 th,
.orderBlock table.inner2 td {
  text-align: left;
  vertical-align: middle;
  border: solid 1px #bdbcbd;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .orderBlock table.inner2 th,
  .orderBlock table.inner2 td {
    display: block;
  }
}
.orderBlock table.inner2 th {
  padding: 12px 0;
  width: 300px;
  background: #ffe4b9;
  font-weight: normal;
}
.orderBlock table.inner2 th p {
  margin: 0 5px 0 20px;
}
.orderBlock table.inner2 th p span {
  color: #f00;
  font-size: 10px;
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  display: inline-block;
}
.orderBlock table.inner2 td {
  padding: 12px 10px 12px 20px;
  background: #fff;
}
.orderBlock table.inner2 input,
.orderBlock table.inner2 select,
.orderBlock table.inner2 textarea {
  padding: 2px;
  font-size: 16px;
}
.orderBlock .btnbox {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 40px;
}
.orderBlock .btnbox .btn a {
  display: block;
  text-decoration: none;
}
.orderBlock .btnbox .btn a,
.orderBlock .btnbox .btn input {
  padding: 20px 50px;
  min-width: 200px;
  color: #000;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  outline: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
.orderBlock .btnbox .btn a.back,
.orderBlock .btnbox .btn input.back {
  background: #ccc;
}
.orderBlock .btnbox .btn a.send,
.orderBlock .btnbox .btn input.send {
  background: #ffb643;
}
.orderBlock .btnbox .btn a:hover,
.orderBlock .btnbox .btn input:hover {
  opacity: 0.7;
  cursor: pointer;
}
.orderBlock .btnbox button {
  padding: 20px 50px;
  min-width: 200px;
  color: #000;
  border-radius: 5px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  outline: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #ccc;
  cursor: pointer;
}
.orderBlock .btnbox button:hover {
  opacity: 0.7;
}
.orderBlock.thanks .compBox h3 {
  margin-bottom: 30px;
}

/*-- p_salon --*/
/*-- p_member --*/
.p_salon .contents,
.p_member .contents {
  margin-bottom: 100px;
  font-size: 16px;
}
.p_salon.thanks #footer,
.p_member.thanks #footer {
  position: absolute;
  bottom: 0;
}