p.small { font-size: 86%;}

#status {
  display: flex;
  margin-top: 70px;
}
#status li {
  background: #002c5b;
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  height: 60px;
  line-height: 60px;
  width: 33.3333%;
  position: relative;
   z-index: 1;
}
#status li:first-child { border-radius: 0 0 0 0;}
#status li:last-child { border-radius: 0 0 0 0;}
#status.status1 li:first-child,
#status.status2 li:nth-child(2),
#status.status3 li:last-child{
  background: #c7a840;
  color: #002c5b;
  z-index: 3;
}
#status.status1 li:nth-child(2) {
  z-index: 2;
}
#status.status1 li:first-child::before,
#status.status1 li:nth-child(2)::before,
#status.status1 li:nth-child(2)::after,
#status.status2 li:nth-child(2)::before,
#status.status2 li:nth-child(2)::after,
#status.status3 li:nth-child(2)::before,
#status.status3 li:nth-child(2)::after,
#status.status3 li:last-child::before {
  content: "";
  width: 34px;
  height: 60px;
  position: absolute;
  top: 0;
  right: -34px;
  box-sizing: border-box;
  border: transparent 30px solid;
  border-right: transparent 17px solid;
  border-left: #c7a840 17px solid;
}
#status.status1 li:nth-child(2)::before {
  border-left: #f1f1f1 17px solid;
  z-index: 2;
  transform: scale(1.05);
}
#status.status1 li:nth-child(2)::after {
  border-left: #002c5b 17px solid;
  right: -33px;
  z-index: 3;
}
#status.status2 li:nth-child(2):before {
  right: auto;
  left: 0;
  border-left: #002c5b 17px solid;
}
#status.status3 li:nth-child(2)::before {
  right: auto;
  left: 0;
  border-left: #f1f1f1 17px solid;
  z-index: 2;
  transform: scale(1.05);
}
#status.status3 li:nth-child(2)::after {
  border-left: #002c5b 17px solid;
  right: auto;
  left: -1px;
  z-index: 3;
}
#status.status3 li:last-child::before {
  right: auto;
  left: 0;
  border-left: #002c5b 17px solid;
  z-index: 3;
}
@media only screen and (max-width: 782px) {
  #status {
    margin-top: 30px;
    flex-direction: column;
  }
  #status li {
    font-size: 1.3rem;
    height: 60px;
    line-height: 60px;
    width: auto;
  }
  #status li:first-child { border-radius: 0px;}
  #status li:last-child { border-radius: 0;}
  #status.status1 li:first-child::before,
  #status.status1 li:nth-child(2)::before,
  #status.status1 li:nth-child(2)::after,
  #status.status2 li:nth-child(2)::before,
  #status.status2 li:nth-child(2)::after,
  #status.status3 li:first-child::before,
  #status.status3 li:nth-child(2)::before,
  #status.status3 li:nth-child(2)::after,
  #status.status3 li:last-child::before {
    content: "";
    width: 40px;
    height: 20px;
    top: auto;
    bottom: -20px;
    right: auto;
    left: calc(50% - 20px);
    border: transparent 20px solid;
    border-bottom: transparent 10px solid;
    border-top: #c7a840 10px solid;
  }
  #status.status1 li:nth-child(2)::before {
    border-top: #f1f1f1 10px solid;
    z-index: 2;
    transform: scale(1);
  }
  #status.status1 li:nth-child(2)::after {
    border-top: #002c5b 10px solid;
    bottom: -19px;
    z-index: 3;
  }
  #status.status2 li:nth-child(2):before {
    bottom: auto;
    top: 0;
    border-top: #002c5b 10px solid;
  }
  #status.status3 li:first-child::before {
    position: absolute;
    box-sizing: border-box;
    border-top: #002c5b 10px solid;
    bottom: -19px;
    z-index: 3;
  }
  #status.status3 li:nth-child(2)::before {
    top: 0;
    bottom: auto;
    border-top: #f1f1f1 10px solid;
    z-index: 2;
  }
  #status.status3 li:nth-child(2)::after {
    border-top: #002c5b 10px solid;
    bottom: -19px;
    z-index: 3;
  }
  #status.status3 li:last-child::before {
    border-top: #c7a840 10px solid;
    z-index: 3;
  }
  
  #status.status3 li:first-child::after,
  #status.status3 li:last-child::after,
  #status.status1 li:last-child::after{
    content: "";
    width: 100%;
    height: 1px;
    background: #f1f1f1;
    position: absolute;
    top: 0;
    left: 0;
  }
  #status.status3 li:first-child::after { top: auto; bottom: 0;}
  
  #status.status3 li:first-child { z-index: 3;}

  #status.status3 li:nth-child(2) { z-index: 2;}
  #status.status3 li:last-child { z-index: 1;}
}


.tb-contact {
  margin: 0 0 0 0;
  border-collapse: collapse;
  padding: 0;
  width: 100%;
}
.tb-contact th {
  font-weight: bold;
  text-align: left;
  padding: 3.2rem 1rem 3.2rem 3.5rem;
  position: relative;
  white-space: nowrap;
  vertical-align: top;
  width: 18rem;
  background: #fff;
  border-top: #f1f1f1 5px solid;
}
.tb-contact th span.small {
  display: block;
  font-size: 86%;
}
.tb-contact th::before { content: "□"; font-size: 1.5rem;}
.tb-contact .must th::before { content: "■"; }
.tb-contact td { padding: 1.5rem; background: #fff;border-top: #f1f1f1 5px solid;}
.confirm .tb-contact { margin-top: 5px; background: #fff; padding: 20px 30px;border-collapse: separate; box-sizing: border-box; }
.confirm .tb-contact th { padding: 5px 0; border:none;}
.confirm .tb-contact td { padding: 5px 0; border:none;}
td .flex { display: flex; align-items: center;}
td .note { white-space: nowrap; margin-left: 2rem;}
p.check { margin-top: 6rem; text-align: center;}
p.btn {
  display: flex;
  justify-content: center;
  margin: 8rem 0 0 0;
}

.h301 {
  margin-top: 5rem;
  font-size: 2.4rem !important;
  text-align: center;
}

@media only screen and (max-width: 782px) {
  .tb-contact {
    display: block;
    width: auto;
  }
  .tb-contact tbody, .tb-contact tr, .tb-contact th, .tb-contact td { display: block;}
  .tb-contact th {
    font-weight: bold;
    padding: 1rem 0 0 1rem;
    width: auto;
    border-top: #f1f1f1 2.5px solid;
    font-size: 86%;
  }
  .tb-contact th::before { top: 2.3rem;}
  .tb-contact .must th::before { top: 2.3rem;}
  .tb-contact th span.small { padding-left: 10px; font-weight: normal; display: inline-block;}
  .tb-contact td { padding: 0.6rem;border-top: none;}
  .confirm .tb-contact { margin-top: 2.5px; padding: 15px 2.5vw;}
  .confirm .tb-contact th { padding: 5px 0;}
  .confirm .tb-contact td { padding: 0 0 5px 0;}
  td .flex { display: flex; align-items: center;}
  th .note {  margin-left: 2rem; font-weight: normal;}
  p.check { margin: 2rem 0 0 0; text-align: left;}
  p.check + p.check { text-align: center;}
  p.btn {
    display: flex;
    justify-content: center;
    margin: 3rem 0 0 0;
  }
  p.btn input { margin: 0;}

}

p.check label { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
p.check label a { }
i.icon-check {
  width: 25px;
  height: 25px;
  box-sizing: border-box;
  position: relative;
  background: #fff;
  border: #d9d9d9 2px solid;
  border-radius: 0;
  display: inline-block;
  margin-right: 20px;
}
input:checked + i.icon-check::before {
  content: "";
  width: 11px;
  height: 22px;
  border-right: #c7a840 5px solid;
  border-bottom: #c7a840 5px solid;
  transform: rotate(45deg);
  left: 8px;
  top: -11px;
  display: block;
  z-index: 2;
  position: absolute;
}
input.err + i.icon-check {
  background-color: #fff;
	border-color: #c7a840;
}
@media only screen and (max-width: 782px) {
	input[type="radio"] {
	  margin-top: 0;
	}
  td label { padding-top: 0.3rem; padding-bottom: 0.3rem; align-items: center;}
  i.icon-check { transform: scale(0.8);}
}

input::placeholder {
  color: #666666;
}

/* IE */
input:-ms-input-placeholder {
  color: #666666;
}

/* Edge */
input::-ms-input-placeholder {
  color: #666666;
}
input:focus::placeholder {
  color: #9c9c9c;
}

/* IE */
input:focus:-ms-input-placeholder {
  color: #9c9c9c;
}

/* Edge */
input:focus::-ms-input-placeholder {
  color: #9c9c9c;
}

input[type="text"].err,
input[type="email"].err,
textarea.err {
	background-color: #6a354c;
	color: #000;
	border: #c7a840 3px solid;
}

input + span { margin-left: 10px;}

.cp_ipselect {
  width: 500px;
  max-width: 100%;
  border-radius: 0;
}
.cp_ipselect select {
  padding: 2em 38px 2em 2.8rem;
  background: #f6f6f6;
  box-sizing: border-box;
}

.maxw960 + .h202 { margin-top: 100px;}
.h202 + p { margin-top: 40px;}
.large.tel { font-size: 40px; display: inline-block; margin-right: 10px; line-height: 1.3;}
.large.tel + span { font-weight: bold;}
.mt0 { margin-top: 0;}
@media only screen and (max-width: 782px) {
  .cp_ipselect { margin-top: 0;}
  .cp_ipselect select { padding: 1.6rem 1.8rem;}
  .maxw960 + .h202 { margin-top: 50px;}
  .h202 + p { margin-top: 20px;}
  .large.tel { font-size: 20px; margin-right: 6px;}
}

.box {
  margin-top: 5px;
  background: #fff;
  padding: 30px;
}
.box p:first-child { margin-top: 0;}
.maxw960 { width: min(100%, 960px); margin-left:auto; margin-right: auto;}