#mainimg::after {
  content: "";
  display: block;
  background: #3672dd;
  z-index: 1;
  height: 115px;
}
@media only screen and (min-width: 783px) {
  #mainimg::after {height: 220px;}
}
main.js-sticky{ margin-top: 100px;}

@media only screen and (min-width: 783px) {
  main.js-sticky{ margin-top: 160px;}
}

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

#status {
  display: flex;
  margin-top: 70px;
}
#status li {
  background: #272727;
  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: 7px 0 0 7px;}
#status li:last-child { border-radius: 0 7px 7px 0;}
#status.status1 li:first-child,
#status.status2 li:nth-child(2),
#status.status3 li:last-child{
  background: #3672dd;
  color: #fff;
  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: #3672dd 17px solid;
}
#status.status1 li:nth-child(2)::before {
  border-left: #fff 17px solid;
  z-index: 2;
  transform: scale(1.05);
}
#status.status1 li:nth-child(2)::after {
  border-left: #272727 17px solid;
  right: -33px;
  z-index: 3;
}
#status.status2 li:nth-child(2):before {
  right: auto;
  left: 0;
  border-left: #272727 17px solid;
}
#status.status3 li:nth-child(2)::before {
  right: auto;
  left: 0;
  border-left: #fff 17px solid;
  z-index: 2;
  transform: scale(1.05);
}
#status.status3 li:nth-child(2)::after {
  border-left: #272727 17px solid;
  right: auto;
  left: -1px;
  z-index: 3;
}
#status.status3 li:last-child::before {
  right: auto;
  left: 0;
  border-left: #272727 17px solid;
  z-index: 3;
}
@media only screen and (max-width: 782px) {
  
  #status {
    margin-top: 40px;
  }
  #status li {
    font-size: 1.2rem;
    height: 45px;
    line-height: 45px;
  }
  #status li:first-child { border-radius: 4px 0 0 4px;}
  #status li:last-child { border-radius: 0 4px 4px 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:nth-child(2)::before,
  #status.status3 li:nth-child(2)::after,
  #status.status3 li:last-child::before {
    width: 20px;
    height: 45px;
    right: -20px;
    border: transparent 22.5px solid;
    border-right: transparent 10px solid;
    border-left: #3672dd 10px solid;
  }
  #status.status1 li:nth-child(2)::before {
    border-left: #fff 10px solid;
  }
  #status.status1 li:nth-child(2)::after {
    border-left: #272727 10px solid;
    right: -19px;
  }
  #status.status2 li:nth-child(2):before {
    border-left: #272727 10px solid;
  }
  #status.status3 li:nth-child(2)::before {
    border-left: #fff 10px solid;
  }
  #status.status3 li:nth-child(2)::after {
    border-left: #272727 10px solid;
  }
  #status.status3 li:last-child::before {
    border-left: #272727 10px solid;
  }
}
@media only screen and (max-width: 480px) {
  #status li {font-size: 10px;}
  #status li:first-child { width: 32.3333%;}
  #status li:nth-child(2) { width: 39.3333%;}
  #status li:last-child { width: 28.3333%;}
}

.tb-contact {
  margin: 20px 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-bottom: #7e8491 1px dotted;
}
.tb-contact span.small {
  font-size: 86%;
}
.tb-contact:not(.noicon) th::before { content: "◇ "; font-size: 1.5rem; color: #3672dd;}
.tb-contact:not(.noicon) .must th::before { content: "◆ "; color: #3672dd; }
.tb-contact td { padding: 1.5rem; background: #fff;border-bottom: #7e8491 1px dotted;}
.lnav-confirm .tb-contact.noicon td { padding: 3.5rem 1.5rem;}
.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 0;
    width: auto;
    border-bottom: none;
    font-size: 86%;
    letter-spacing: 0;
  }
  .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 0 1.2rem;border-bottom: #7e8491 1px dotted;}
  .lnav-confirm .tb-contact.noicon td { padding: 1.5rem 1.5rem;}
  .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;}

}

.tb-contact tr.noborder td,
.tb-contact tr.noborder th { border: none;}

.check label { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.check label a { }

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: #3672dd 1px solid;
}

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

.check input[type="checkbox"] { opacity: 0; position: absolute;}
tr.check td { vertical-align: middle; border-top: none;}
tr.check th { border-top: none;}

/*
.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;}

.section {
  margin-top: 60px;
}
.section h2 {
  border-top: currentColor 2px solid;
  padding: 20px 0 0 0;
  font-weight: bold;
  font-size: 20px;
}
.section h2 + p { margin-top: 4rem;}
p.tel_time strong {
  display: block;
  font-size: 136%;
}
.h302 {
  margin-top: 30px;
  border-top: #3672dd 1px solid;
  padding: 25px 0 0 0;
  font-weight: bold;
  font-size: 15px;
  color: #3672dd;
}
.h302 + h4 { padding-bottom: 25px; font-weight: bold;border-bottom: #7e8491 1px dotted;}
.section h2 + p { margin-top: 4rem;}
@media only screen and (min-width: 783px) {
  .section {margin-top: 120px;}
  .section h2 {
    border-top: currentColor 4px solid;
    padding: 40px 0 0 0;
    font-size: 30px;
  }
  p.tel_time strong {display: inline-block;margin-right: 2rem;}
  .h302 {
    margin-top: 60px;
    padding: 30px 0 0 0;
    font-size: 20px;
  }
  .h302 + h4 {padding-bottom: 35px; }
}
.h302 + h4 + .tb-contact { margin-top: 0;}

.coloring { color: #3672dd;}

td .flx { display: flex; align-items: center;}
td .flx span { margin-right: 10px;}
td .flx-wrap { display: flex; align-items: center; flex-wrap: wrap;}
@media only screen and (min-width: 783px) {
  td .pcFlx { display: flex; align-items: center;}
  td .pcFlx span { margin-right: 10px;}
  input[type="text"][name="tel_must"],
  input[type="text"][name="mail_must"],
  input[type="text"][name="mail_confirm"]{ width: 480px;}
}
[name="address_must"] { margin-top: 10px;}
tr.radio td { vertical-align: middle;}

.mr30 { margin-right: 30px;}
.inline-flex {
  display: inline-flex;
  align-items: center;
}
.inline-flex:not(:last-of-type) { margin-right: 10px;}
.inline-flex label { white-space: nowrap;}

.tb-contact.noicon input[type='text'] { margin: 5px 0;}
@media only screen and (min-width: 783px) {
  .tb-contact.noicon input[type='text'] { width: 360px;}
}

.notionbox {
  margin: 45px 0 0 0;
  background: #f2f2f2;
  padding: 5vw;
}
.notionbox h5 {
  font-weight: bold;
}
.notionbox p { font-size: 86%;}
@media only screen and (min-width: 783px) {
  .notionbox {margin: 90px 0 0 0;padding: 35px 40px 40px;}
}
.h303 {
  margin: 25px 0 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 114%;
}
p.center { text-align: center;}
p + .tb-contact { margin-top: 30px;}
@media only screen and (min-width: 783px) {
  .h303 {margin: 50px 0 0 0;}
  p + .tb-contact { margin-top: 60px;}
  .lnav-confirm .tb-contact td { vertical-align: middle;}
}

@media only screen and (min-width: 783px) {
  .year-select-width { min-width: 230px}
}

.forumBtn.navBtn {
  margin-top: 20px;
}
.forumBtn.navBtn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.forumBtn.navBtn a i {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background:#202020;
  display: block;
  margin-right: 8px;
  position: relative;
}
.forumBtn.navBtn a i::before {
  content: "…";
  letter-spacing: 2px;
  color: #000;
  font-size: 9px;
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-radius: 2px;
  width: 56%;
  height: 45%;
  left: 22%;
  top: 25%;
  background: #fff;
  z-index: 2;
}
.forumBtn.navBtn a i::after {
  content: "";
  position: absolute;
  right: calc(50% - 7px);
  bottom: calc(50% - 18px);
  width: 8px;
  height: 16px;
  box-sizing: border-box;
  border: transparent 4px solid;
  border-top: #fff 8px solid;
  border-bottom: transparent 8px solid;
  transform: rotate(-25deg);
  z-index: 1;
}