@charset "utf-8";

/* STEP1
---------------------------------------------------------- */

.area-top{
  width: 96%;
  max-width: 1200px;
  padding-top: 34px;
  margin: 0 auto 15px;
}
.area-top > p:first-child{
  margin-bottom: 55px;
}
.area-top .inner{
  max-width: 760px;
  width: 100%;
  margin: 0 auto;
}
.area-top .inner img{
  width: 100%;
  height: auto;
}
.area-top .inner p{
  font-weight: bold;
}
.area-top > p{
  margin-top: 30px;
}

/* table各要素の高さ、幅固定 */

table{
  width: 96%;
  max-width: 1200px;
  margin: 0 auto 40px;
  table-layout:fixed;
}
tr{
  width: 100%;
  border: solid 1px #dcdcdc;
  border-bottom: none;
}
tr:last-child{
  border-bottom: solid 1px #dcdcdc;
}
th{
  width: 35%;
  box-sizing: border-box;
  vertical-align: baseline;
}
tr.postal-box th:nth-child(1){
  width: 14%;
}
tr.postal-box th:nth-child(2),tr.prefectures-box th,tr.municipality-box th,tr.apartment-box th{
  width: 21%;
  max-width: 255px;
  border-left: solid 1px #dcdcdc;
}
td{
  width: 65%;
  box-sizing: border-box;
  border-left: solid 1px #dcdcdc;
  padding: 20px 22px 0 22px;
}
th,td{
  height: 94px;
}
tr.mail-box th,tr.mail-box td{
  height: 174px;
}
tr.postal-box th,tr.birth-box th,tr.birth-box td,tr.job-box th,tr.job-box td,tr.pass-box th,tr.pass-box th{
  height: 101px;
}
tr.prefectures-box th,tr.prefectures-box td,tr.municipality-box th,tr.municipality-box td{
  height: 88px;
}
tr.postal-box td {
  height: 120px;
}
td, th { border-bottom: 0 none; word-break: break-word; }

/* table各中身のレイアウト */

th{
  padding: 19px 0 0 0px;
  background-color: #f4f4f4;
}
th p{
  font-weight: bold;
  text-align: left;
  position: relative;
  padding-left: 35px;
  background: url("/cp/img/ico_form_01.jpg")no-repeat 23px top;
}
th p:after{
  content: "";
  width: 45px;
  height: 20px;
  background: url("/cp/img/ico_form_02_pc.jpg")no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -31px;
  left: 22px;
}
tr.postal-box th:first-child p:after{
  content: none;
}
.postal-box th p:first-child:after
tr.postal-box th:nth-child(2),tr.prefectures-box th,tr.municipality-box th,tr.apartment-box th{
  background-color: #f4f4f4;
  padding:18px 0 0 0;
}
tr.postal-box th:nth-child(2) p,tr.prefectures-box th p,tr.municipality-box th p,tr.apartment-box th p{
  font-size: 15px;
  background: none;
  padding-left: 12px;
}
tr.apartment-box th{
  padding:13px 0 0 0;
}
tr.apartment-box th p{
  padding-left:012px;
}
tr.postal-box th:nth-child(2) p:after,tr.prefectures-box th p:after,tr.municipality-box th p:after{
  top: 26px;
  left: 11px;
}
tr.apartment-box th p:after{
  background: url("/cp/img/ico_form_03_pc.jpg")no-repeat;
  bottom: -23px;
  left: 11px;
  top: inherit;
}
input[type="text"],input[type="tel"],input[type="password"],input[type="email"]{
  width: 100%;
  height: 35px;
  border: solid 1px #bebebe;
  box-sizing: border-box;
  padding: 0 10px;
}
input[type="password"]{
  width: 100%;
}
.pass-box input[type="text"]{
  width: 100%;
  ime-mode: disabled;
}
.postal-box input[type="tel"]{
  width: 100%;
  max-width: 210px;
}
select{
  width: 210px;
  height: 35px;
  box-sizing: border-box;
  padding-left: 10px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: url("/cp/img/select-ico_form_01.jpg")no-repeat right center;
  background-color: #fff;
  cursor: pointer;
  border: solid 1px #bebebe;
}
input[type="text"]:focus,input[type="tel"]:focus,input[type="password"]:focus{
  border: solid 1px #1f6ebb;
}
select::-ms-expand {
  display: none;
}
input[type="radio"]{
  display: none;
}
.label-radio{
  display: block;
  font-size: 14px;
  font-weight: bold;
  float: left;
  width: 30%;
  height: 25px;
  line-height: 25px;
  box-sizing: border-box;
  padding-left: 32px;
  margin-bottom: 7px;
  position: relative;
  background-color:transparent;
  -webkit-touch-callout:none;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
.label-radio:before{
  content: "";
  background: url("/cp/img/radio-button_form_02_pc_off.png")no-repeat;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  left: 0;
}
input[type="radio"]:checked + .label-radio:before{
  background: url("/cp/img/radio-button_form_01_pc_on.png")no-repeat;
}
.year-box,.date-box{
  display: inline-block;
}
.birth-box td select:nth-child(1){
  width: 210px;
}
.birth-box td select:nth-child(3),.birth-box td select:nth-child(5){
  width: 90px;
}
.birth-box td span{
  font-weight: bold;
  margin-left: 2px;
  margin-right: 2px;
}
.mail-box td input{
  margin-bottom: 45px;
}
.mail-box td > p:nth-child(3) span{
  font-size: 14px;
}
.mail-box td .err-box p:nth-child(2) span,
.mail-box td .err-box p:nth-child(3) span{
  font-size: 14px;
  color: #1f6ebd;
  cursor: pointer;
  margin-bottom: 3px;
  position: absolute;
  padding-left: 10px;
  background: url(/cp/img/list-icon_form-modal_01.png)no-repeat left 4px;
  top: 40px;
  right: 0;
}
.mail-box td .err-box p:nth-child(3) span{
  top: 65px;
}
.url-large{
  font-size: 180%;
  font-weight: bold;
  word-break: break-word;
}
.pass-box .err-box{
  padding-right: 180px;
  box-sizing: border-box;
}
.pass-box td .err-box span:nth-child(3){
  display: none;
  width: 168px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  background-color: #484848;
  font-size: 13px;
  color: #fff;
  border-radius: 4px;
  margin-left: 3px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
}
.pass-box td p{
  font-size: 14px;
  margin-top: 7px;
}
.postal-box .err-box p:nth-child(3){
  font-size: 14px;
  margin-top: 7px;
}
.phone-box .err-box p:nth-child(2){
  font-size: 14px;
  margin-top: 7px;
}

/* エラー時のレイアウト */

td.err{
  background-color: #ffc7c7;
}
.err-box{
  position: relative;
}
.pass-box .err-box{
  display: inline-block;
  width: 100%;
}
.err-box > p:last-child{
  position: absolute;
  display: block;
  background-color: #1f6ebd;
  height: 27px;
  line-height: 27px;
  padding: 0 17px 0 8px;
  font-size: 13px;
  color: #ffffff;
  border-radius: 3px;
  top: -35px;
  left: 0;
}
.err-box > p:last-child:before{
  content: "";
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top: 5px solid #1f6ebd;
  position: absolute;
  top: 27px;
  left: 10px;
}
.err-box > p:last-child span{
  display: block;
  width: 8px;
  height: 8px;
  cursor: pointer;
  position: absolute;
  top: 3px;
  right: 4px;
  text-indent: -9999px;
  background: url(/cp/img/err_close_01.png) no-repeat;
}
.pass-box .err-box p:last-child{
  margin: 0;
}
.birth-box .err-box p:last-child span{
  margin: 0;
}
.button-err img.only-sp{
  display: none;
}
.button-err img{
  display: block;
  margin: 0 auto 40px;
  cursor: pointer;
}

/* 規約 */

.area-kiyaku{
  width: 96%;
  max-width:1200px;
  margin: 0 auto 40px;
  position: relative;
}
.area-kiyaku .inner{
  height:172px;
  box-sizing: border-box;
  overflow: auto;
  border: solid 1px #dcdcdc;
  padding: 12px 15px 6px;
}
.area-kiyaku h2{
  text-align: center;
  font-weight: bold;
  margin-bottom: 12px;
}
.area-kiyaku p{
  width: 100%;
  max-width: 1160px;
  font-size: 14px;
  word-break: break-all;
  margin-bottom: 15px;
}
.area-kiyaku a{
  color: #1f6ebd;
}
.area-kiyaku > span{
  display: none;
}

/* 送信ボタン */

.button-conts{
  text-align: center;
}
button{
  display: block;
  width: 290px;
  height: 56px;
  border: none;
  text-align: center;
  line-height: 56px;
  margin: 0 auto 40px;
  background: url(/shared/img/svg/ico_arr_01_cr.svg) center right 5% no-repeat;
  background-color: #e10000;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 0 0 3px 1px rgba(0,0,0,.2);
}
button:hover{
  text-decoration: none;
  background-color: #fff;
  color: #e10000;
  background: url(/shared/img/svg/ico_arr_01.svg) center right 5% no-repeat;
}
.button-err p.button-01{
  display: block;
  width: 300px;
  height: 56px;
  border: 1px solid #707070;
  text-align: center;
  line-height: 56px;
  margin: 0 auto 40px;
  background-image: url(/shared/img/attention.png);
  background-repeat: no-repeat;
  background-position: center left 15px;
  background-color: rgba(0,0,0,0.5);
  color: #fff;
  font-weight: bold;
  padding-left: 15px;
  cursor: pointer;
}

/* モーダル */

.modal-bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  z-index: 1;
  display: none;
}
.modal-conts{
  position: absolute;
  top: 290px;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 31px 27px;
  box-sizing: border-box;
  width: 94%;
  max-width: 900px;
  background: #ffffff;
  z-index: 2;
  display: none;
}
.modal-conts h2{
  color: #e10000;
  font-size: 18px;
  font-weight: bold;
  border-bottom: solid 1px #e10000;
  padding-bottom: 8px;
  margin-bottom: 14px;
}
.modal-conts p span{
  font-weight: bold;
}
.modal-conts p{
  line-height: 25px;
  font-size: 14px;
  word-break:break-all;
}
.modal-conts > p:nth-child(2){
  margin-bottom: 23px;
}
.modal-conts > p:nth-child(3){
  margin-bottom: 13px;
}
.modal-conts > p:nth-child(4){
  color: #e10000;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}
.modal-conts .inner{
  box-sizing: border-box;
  border: solid 1px #dcdcdc;
  padding: 18px 21px;
  margin-bottom: 10px;
}
.modal-conts .inner li{
  font-size: 13px;
  line-height: 23px;
}
.modal-conts .inner li:nth-child(1){
  font-weight: bold;
}
.modal-conts .inner li:nth-child(2) a,.modal-conts .inner li:nth-child(3) a{
  color: #1f6ebd;
  padding-left: 13px;
  background: url("/cp/img/list-icon_form-modal_01.png")no-repeat left center;
}
.modal-conts .inner li:nth-child(2) a span,.modal-conts .inner li:nth-child(3) a span{
  color: #000000;
}
.modal-conts .inner li:nth-child(4){
  padding-left: 4px;
}
.modal-conts .inner p{
  margin-top: 23px;
  font-size: 13px;
  line-height: 23px;
}
.modal-conts > p:nth-child(6){
  margin-bottom: 20px;
}
.modal-conts > p:nth-child(6){
  margin-bottom: 20px;
}
.modal-conts > p:nth-child(8){
  margin-bottom: 25px;
}
.modal-conts > p:nth-child(8) a{
  color: #1f6ebd;
  padding-left: 13px;
  background: url("/cp/img/list-icon_form-modal_01.png")no-repeat left center;
}
.modal-conts > p:nth-child(9){
  text-align: center;
}
.modal-conts > p:nth-child(9) img{
  cursor: pointer;
}
.modal-conts > span:last-child{
  content: "";
  width: 38px;
  height: 38px;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  top: -19px;
  right: -19px;
}

/* メール登録エラー */

.mail-err-massage-conts{
  padding-bottom: 15px;
}
.mail-err-massage-conts .inner{
  width: 96%;
  max-width: 1200px;
  box-sizing: border-box;
  margin: 0 auto;
  background-color: #ffc7c7;
  padding: 15px 16px;
  font-weight: bold;
  line-height: 15px;
}
.mail-err-massage-conts .inner p{
  font-weight: bold;
  font-size: 14px;
  line-height: 20px;
}
.mail-err-massage-conts .inner a{
  font-size: 13px;
  color: #1f6ebd;
}

/* 会員チェックボックス */
.admission-box p.about_link {
  margin: 40px 0 0 0;
}
.admission-box p.about_link a {
  display: inline-block;
  background: url(/shared/img/svg/ico_arr05.svg) right bottom no-repeat;
  padding: 0px 15px 0 0;
  font-size: 16px;
  line-height: 1.3;
}
.admission-box p.about_link a:hover {
  text-decoration: underline;
}
.admission-box{
  width: 96%;
  max-width: 1200px;
  margin: 0 auto 40px;
  text-align: center;
}
.admission-box input{
  display: none;
}
.admission-box label{
  font-weight: bold;
  padding-left: 33px;
  position: relative;
}
.admission-box label:after{
  content: "";
  width: 25px;
  height: 25px;
  background: url("/cp/img/check-button_form_02_pc_off.jpg")no-repeat;
  background-size: 25px 25px;
  position: absolute;
  top: -1px;
  left: 0;
}
.admission-box input:checked + label:after{
  background: url("/cp/img/check-button_form_01_pc_on.jpg")no-repeat;
  background-size: 25px 25px;
}
.admission-slide{
  display: block;
}
/* =================================
responsive
================================= */

@media screen and (max-width: 640px){

  /* STEP1
  ---------------------------------------------------------- */

  .area-top{
    width: 100%;
    padding: 0 3%;
    box-sizing: border-box;
  }
  .area-top p{
    font-size: 11px;
  }
  .area-top p:first-child{
    font-size: 13px;
    margin-bottom: 13px;
  }
  .area-top .inner{
    width: 94%;
  }
  .area-top .inner p{
    font-size: 13px;
    font-weight: bold;
  }

  /* table各要素の高さ、幅指定 */

  table,tbody,tr,th,td{
    display: block;
  }
  table{
    width: 100%;
    padding: 0 3%;
    box-sizing: border-box;
  }
  tbody,tr,th,td{
    width: 100%;
    padding: 0;
  }
  tr{
    margin-bottom: 20px;
  }
  tr:last-child{
    border-bottom: none;
  }
  td{
    border-top: solid 1px #dcdcdc;
    border-bottom: solid 1px #dcdcdc;
  }
  tr.mail-box th,tr.postal-box th,tr.birth-box th,tr.job-box th,tr.pass-box th,th{
    height: 45px;
    font-size: 14px;
    line-height: 47px;
    background-color: #f4f4f4;
    background-size: 3px 15px;
  }
  th p{
    padding-left: 22px;
    background: url(/cp/img/ico_form_01.jpg)no-repeat 11px center;
  }
  tr.postal-box th:nth-child(1){
    width: 100%;
  }
  tr.mail-box td,tr.postal-box td,tr.birth-box td,tr.job-box td,tr.prefectures-box td,tr.municipality-box td,td{
    height: auto;
    box-sizing: border-box;
    padding: 16px 11px;
    border-left: none;
  }
  tr.postal-box,tr.prefectures-box,tr.municipality-box{
    margin: 0;
  }
  tr.postal-box td,tr.prefectures-box td,tr.municipality-box td{
    border-bottom: 0;
  }
  tr.prefectures-box td,tr.municipality-box td,tr.apartment-box td{
    border-top: 0;
  }
  tr.apartment-box{
    margin-bottom: 45px;
  }
  .postal-box th:nth-child(2),.prefectures-box th,.municipality-box th,.apartment-box th{
    display: none;
  }
  th p:after,.postal-box .err-box p:first-child:after,.prefectures-box .err-box p:first-child:after,.municipality-box .err-box p:first-child:after{
    content: "必須";
    display: block;
    color: #fff;
    height: 19px;
    width: 37px;
    text-align: center;
    border-radius: 3px;
    line-height: 20px;
    background: #f00;
    font-weight: normal;
    position: absolute;
    top: 13px;
    left: 0;
  }
  .mail-box th p:after{
    left: 197px;
  }
  .pass-box th p:after{
    left: 102px;
  }
  .birth-box th p:after,.phone-box th p:after{
    left: 88px;
  }
  .job-box th p:after,.sex-box th p:after{
    left: 63px;
  }
  .fullname-box th p:after{
    left: 77px;
  }
  .nickname-box th p:after{
    left: 115px;
  }
  .postal-box .err-box p:first-child:after,.prefectures-box .err-box p:first-child:after,.municipality-box .err-box p:first-child:after{
    top: 0px;
  }
  .postal-box .err-box p:first-child:after,.prefectures-box .err-box p:first-child:after,.municipality-box .err-box p:first-child:after{
    left: inherit;
    right: -50px;
  }
  .apartment-box td p:first-child:after{
    content: "任意";
    display: block;
    color: #fff;
    height: 19px;
    width: 37px;
    text-align: center;
    border-radius: 3px;
    line-height: 20px;
    background: #929292;
    top: 13px;
    font-weight: normal;
    position: absolute;
    top: 0px;
    right: -50px;
  }

  /* table各中身のレイアウト */

  .mail-box td .err-box{
    box-sizing: border-box;
    padding-bottom: 35px;
  }
  .mail-box td .err-box p:nth-child(2) span,
  .mail-box td .err-box p:nth-child(3) span{
    top: inherit;
    right: inherit;
    bottom: 0;
    left: 0;
  }
  .mail-box td .err-box p:nth-child(3) span{
    bottom: -25px;
  }
  .mail-box td input{
    margin-bottom: 0;
  }
  .mail-box td > p:nth-child(2){
    line-height: 34px;
    margin-top: 30px;
    padding-bottom: 12px;
  }
  .mail-box td > p:nth-child(2) span{
    margin-left: 0;
    font-size: 14px;
  }
  .pass-box .err-box p:nth-child(2){
    margin-top: 15px;
  }
  input[type="text"],input[type="tel"],input[type="password"],.postal-box input[type="tel"],input[type="email"]{
    width: 100%;
    border-radius: 0;
    height: 40px;
  }
  .postal-box input[type="tel"]{
    max-width: 100%;
  }
  .pass-box input[type="text"]{
    width: 100%;
  }
  select{
    border-radius: 0;
  }
  .label-radio{
    float: none;
    width: 100%;
    margin-bottom: 15px;
  }
  input[type="radio"]:checked + .label-radio:before {
    background: url(/cp/img/radio-button_form_01_sp_on.png)no-repeat;
    background-size: contain;
  }
  .label-radio:before {
    content: "";
    background: url(/cp/img/radio-button_form_02_sp_off.png)no-repeat;
    width: 25px;
    height: 25px;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
  }
  .postal-box .err-box p:first-child,.prefectures-box .err-box p:first-child,.municipality-box .err-box p:first-child,.apartment-box td p:first-child{
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 14px;
    position: relative;
    display: inline-block;
  }
  .postal-box .err-box p:nth-child(3){
    margin-top: 8px;
  }
  .birth-box td select:nth-child(1) {
    width: 215px;
  }
  .birth-box td span{
    margin-left: 4px;
    margin-right: 4px;
  }
  .birth-box .err-box span:nth-child(2):after{
    content: "";
    display: block;
  }
  .birth-box .err-box span:nth-child(2){
    margin-right: 0;
  }
  .birth-box .err-box span:nth-child(2),.birth-box .err-box select:nth-child(3),.birth-box .err-box span:nth-child(4),.birth-box .err-box select:nth-child(5){
    margin-top: 10px;
    vertical-align: inherit;
    width: 90px;
  }

  /* エラー時のレイアウト */

  tr.pass-box td .err-box{
    padding-bottom: 51px;
  }
  .pass-box td .err-box span:nth-child(3){
    position: absolute;
    right: inherit;
    top: inherit;
    bottom: 0;
    left: 0;
  }
  .err-box > p:last-child{
    width: 100%;
    height: auto;
    font-weight: bold;
    line-height: inherit;
    display: block;
    font-size: 13px;
    box-sizing: border-box;
    border-radius: 0;
    padding: 8px;
    margin-top: 14px;
    position: relative;
    top: 0;
    left: 0;
  }
  .mail-box .err-box p:last-child{
    margin-top: 14px;
  }
  .pass-box .err-box p:last-child{
    width: 100%;
    margin-top: 14px;
  }
  .err-box p:last-child:before{
    content: none;
  }
  .err-box p:last-child span{
    display: none;
  }
  .pass-box .err-box{
    display : block;
    padding-right: 0;
  }

  /* 規約 */

  .area-kiyaku{
    width: 94%;
    padding: 12px 15px;
    box-sizing: border-box;
    border: solid 1px #dcdcdc;
  }
  .area-kiyaku h2{
    text-align: left;
    margin-bottom: 0;
  }
  .area-kiyaku p{
    width: 100%;
  }
  .area-kiyaku .inner{
    margin-top: 25px;
    height: auto;
    padding: 0;
    border: none;
    display: none;
  }
  .area-kiyaku > span.kiyaku-open{
    background: url("/cp/img/kiyaku_open_01.png")no-repeat;
    background-size: cover;
  }
  .area-kiyaku > span.kiyaku-close{
    background: url("/cp/img/kiyaku_close_02.png")no-repeat;
    background-size: cover;
  }

  /* 送信ボタン */

  button{
    width: 290px;
  }
  .button-err img.only-pc{
    display: none;
  }
  .button-err img.only-sp{
    width: 250px;
    display: block;
    height: auto;
    margin: 0 auto 40px;
  }

  /* モーダル */

  .modal-conts{
    width: 88%;
    top: 45px;
  }
  .modal-conts > span:last-child{
    top: -20px;
    right: -12px;
  }
  .area-kiyaku > span{
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 18px;
    right: 12px;
  }

  /* メール登録エラー */

  .mail-err-massage-conts .inner{
    width: 94%;
    margin: 0 auto;
    padding: 15px 3%;
  }
  .mail-err-massage-conts .inner p{
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 4px;
  }
  .mail-err-massage-conts .inner a{
    font-size: 13px;
    color: #1f6ebd;
  }
}


.admission-box,
.admission-slide{
  display: none;
  /*display: block!important;*/
}


/*add 191225*/

.modal-conts03 {
  position: absolute;
  top: 290px;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 31px 27px;
  box-sizing: border-box;
  width: 94%;
  max-width: 900px;
  background: #ffffff;
  z-index: 2;
  display: none;
}
.modal-conts03 h2 {
  color: #e10000;
  font-size: 18px;
  font-weight: bold;
  border-bottom: solid 1px #e10000;
  padding-bottom: 8px;
  margin-bottom: 14px;
}
.modal-conts03 p {
  line-height: 25px;
  font-size: 14px;
  word-break: break-all;
  margin-bottom: 23px;
}
.modal-conts03 dl {
  width: calc(100% - 40px);
  margin: 0 auto;
}
.modal-conts03 dl + dl {
  margin-top: 20px;
}
.modal-conts03 dt {
  border-bottom: solid 2px #e10000;
  font-weight: bold;
  margin-bottom: 5px;
}
.modal-conts03 > span:last-child {
  content: "";
  width: 38px;
  height: 38px;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  top: -19px;
  right: -19px;
}
.modal-conts03 .m_txt_u {
  margin-top: 20px;
  margin-bottom: 0;
}
.modal-conts03 .m_txt_u a {
  color: #1f6ebd;
}
@media screen and (max-width: 640px) {
  .modal-conts03 {
    width: 88%;
    top: 45px;
  }
  .modal-conts03 > span:last-child {
    top: -20px;
    right: -12px;
  }
  .modal-conts03 dl {
    width: 100%;
  }
  .modal-conts03 dt,
  .modal-conts03 dd {
    font-size: 14px;
  }
}

/*add 210826*/
.postal-box-inner {
    display: block;
    font-size: 12px;
    margin: 19px 22px;
    text-align: left;
}
.birth-box th p:after,
.sex-box th p:after,
.job-box th p:after {
  background: url(/form/img/ico_form_03_pc.jpg)no-repeat;
}
@media screen and (max-width: 640px){
  .postal-box th[rowspan] {
    height: auto;
  }
  .postal-box-inner {
    line-height: 1.2;
    margin: 0;
    display: block;
    padding: 0 10px 10px;
  }

  .birth-box th p:after,
  .sex-box th p:after,
  .job-box th p:after {
    content: "任意";
    background-image: none;
    background-color: #929292;
  }
}

a.open-modal6 {
  display: inline-block;
  padding: 0 15px 0 18px; /* 左も右もアイコン分余白確保 */
  color: #000;
  margin-right: 8px;
  background-repeat: no-repeat;
  background-position: left 50%, right 50%; /* 左右両方にアイコン */
  background-size: 5px auto, 10px auto;
  background-image: url(/shared/img/svg/ico_arr10.svg), url(/shared/img/svg/ico_blank.svg);
}

/* キングダム応募用ポップアップ用 */
.modal-conts06 h2 {
  color: #e10000;
  font-size: 18px;
  font-weight: bold;
  border-bottom: solid 1px #e10000;
  padding-bottom: 8px;
  margin-bottom: 14px;
}
.modal-conts06 p {
  line-height: 25px;
  font-size: 14px;
  word-break: break-all;
  margin-bottom: 23px;
}
.modal-conts06 dl {
  width: calc(100% - 40px);
  margin: 0 auto;
}
.modal-conts06 dl + dl {
  margin-top: 20px;
}
.modal-conts06 dt {
  border-bottom: solid 2px #e10000;
  font-weight: bold;
  margin-bottom: 5px;
}
.modal-conts06 > span:last-child {
  content: "";
  width: 38px;
  height: 38px;
  background-size: cover;
  cursor: pointer;
  position: absolute;
  top: -19px;
  right: -19px;
}
.modal-conts06 .m_txt_u {
  margin-top: 20px;
  margin-bottom: 0;
}
.modal-conts06 .m_txt_u a {
  color: #1f6ebd;
}
@media screen and (max-width: 640px) {
  .modal-conts06 {
    width: 88%;
    top: 45px;
  }
  .modal-conts06 > span:last-child {
    top: -20px;
    right: -12px;
  }
  .modal-conts06 dl {
    width: 100%;
  }
  .modal-conts06 dt,
  .modal-conts06 dd {
    font-size: 14px;
  }
}
