@charset 'utf-8';
.mt1em { margin-top: 1em;}
.mt2em { margin-top: 2em;}
.mt3em { margin-top: 3em;}
.mt4em { margin-top: 4em;}
.mt5em { margin-top: 5em;}
.registration-search-box { display: grid; grid-template-columns: minmax(0, 1fr) 5rem; margin-bottom: .5em;  }
.registration-search-box .id_input { width: 100%; line-height: 3; padding: .5em; border-radius: 0; border: 1px solid #000; }
.registration-search-box .submit { border-radius: none; color: #FFF; background: #000; border: none; }
.u-br-wrap { word-break: keep-all; overflow-wrap: anywhere; }

.t-ex { font-size: .85em; color: #666; }

.registration-bg {
  background-image: url(../img/registration/registration-kv-bg.jpg);
}

.registration-common-container-l { width: 55vw; margin: 0 auto; }
.registration-common-container { width: 50vw; margin: 0 auto; }

@media screen and (max-width: 767px) {
  .registration-common-container-l { width: 100%; }
  .registration-common-container { width: 100%; }
}

.registration-page-head .desc { margin-top: 1em ;}
.registration-page-head .desc em { font-style: normal; color: #FF0000; }

.list-registration-merit { counter-reset: listnum; border-top: 1px solid; margin-bottom: 1em; }
.list-registration-merit > li { counter-increment: listnum; padding: 2em 0; display: grid; grid-template-columns: 5em minmax(0, 1fr); border-bottom: 1px solid; font-weight: bold; font-size: 1.1rem; }
.list-registration-merit > li::before { content: counter(listnum, decimal-leading-zero); color: #008C4F; text-align: center; font-size: 1.5rem; line-height: 1.2; } 
.list-registration-merit > li:nth-child(2n)::before { color: #0084A1; }

.registration-register-btn { margin-top: 5vw; }
.registration-register-btn .subpage-btn { width: 100%; padding: 1em; font-size: 1.1rem; font-weight: bold; }

.registration-goods { background: #F2EFE9; padding: 14vw 0; }
.registration-goods .title { text-align: center; margin-bottom: 1em; }
.registration-goods .block { border: 2px solid #AFA083; padding: 2em; font-weight: bold; }
.registration-goods .block .note { display: block; line-height: 1.5; margin: .8em 0 1.5em; }

.onlineshop-btn { background: #FFF url(../img/registration/icon-cart.svg) no-repeat right 2em center / 1.5em auto;  display: block; color: #000; border-radius: 1em; padding: 2em 3em 2em 2em ;  }
.onlineshop-btn .text-ja { font-weight: bold; display: block; line-height: 1.5; margin-bottom: .5em; }
.onlineshop-btn .text-ja span{ font-size: .7em; }
.onlineshop-btn .text-en { display: block; }

@media screen and (max-width: 767px) {
  .registration-common-container { width: 100%; }
  .registration-goods-container { padding: 15vw 0; }
  .registration-goods .block { padding: 1.5em; }
  
  .onlineshop-btn { background-position: right 1.5em center; padding: 1.5em 3em 1.5em 1.5em;  }
  .onlineshop-btn .text-ja  { font-size: 3.8vw; }
}

.onlineshop-btn-small { background: #FFF url(../img/registration/icon-cart.svg) no-repeat right 2em center / 1.5em auto;  display: block; color: #000; border-radius: 1em; padding: 1em 5em 1em 1em ; border: 1px solid; width: fit-content;  }



.qa-item { border-top: 1px solid; padding: 2em 1em; }
.qa-item:last-of-type { border-bottom: 1px solid; }
.qa-question,
.qa-answer { display: grid; grid-template-columns: 2em minmax(0, 1fr); font-size: 1.1rem; font-weight: bold; line-height: 2; gap: .5em; }
.qa-question { margin-bottom: 1em ; }
.qa-question::before,
.qa-answer::before { line-height: 1.5;  font-size: 1.5rem; font-weight: bold; }
.qa-question::before { content: 'Q.'; color: #008C4F;  }
.qa-answer::before { content: 'A.'; color: #0084A1;  }

.login-block { width: 90%; max-width: 500px; margin: 0 auto; }

.participant-entry { margin-top: 2em;}
.party-addition .input-field { display: grid; grid-template-areas: 'label input' 'blank error'; grid-template-columns: 10em minmax(0, 1fr);  padding-left: 1.5em; align-items: center; margin-bottom: .5em;}
.party-addition span:first-of-type { grid-area: label; }
.party-addition input,
.party-addition select { grid-area: input; }
.party-addition .input-field input[type="radio"] { margin: 1em 0; }

.party-addition .error-message { grid-area: error; color: #dc3232; }

.form-subblock { display: grid; grid-template-columns: 11em minmax(0, 1fr); align-items: center; row-gap: .5em;  padding-left: 1.5em; margin-bottom: .5em;  }
.form-subblock.-schedule { grid-template-columns: 50% minmax(0, 50%); gap: .5em; }
.form-box_select,
.form-box_select_s { border: none; outline: none; padding: 1.2vw; background: #EAEAEA url(../img/arrow-down-black.svg) no-repeat right 10px center / 10px auto; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.form-box_select { width: 100%; }
.form-box_select_s { width: 8em; margin-right: .5em; }

.registration-form .wpcf7-list-item { display: block; margin-bottom: 1em; }

.form-box_input_s { background-color: #EAEAEA; border: none; outline: none; width: 8em; padding: 1.2vw; margin-right: .5em; }
.tel-wrap { display: grid; grid-template-columns: 40% calc(60% - 5px); gap: 5px; }

.schedule-title { margin-top: 3em; font-weight: bold; }

@media screen and (max-width: 767px) {
  .registration-form .form-box_input,
  .registration-form .form-box_input_s,
  .registration-form .form-box_select,
  .registration-form .form-box_select_s { padding: 1.2em; }
}

.registration-main {  padding-top: 7.5vw; }
.registration-search-section { display: flex; justify-content: space-between; padding-bottom: 7vw; }
.registration-search-head { flex: 1; }
.registration-search-container { flex: 3; }


.registration-form-page .subpage-head-box { max-width: 20%; }
.registration-form-page .wpcf7-checkbox .wpcf7-list-item { display: block; }

.paf-page { margin-top: 1rem; border: 1px solid #DDD; padding: 3rem 2rem; min-width: 210mm; }
.pdf-download-button {  margin: 2em auto ; width: fit-content; display: block; padding: .5em 2em; }
.logout-button { background: none; color: #000; border: none; display: block; margin:10em 0 0 auto; width: fit-content; text-decoration: underline; }

@media screen and (max-width: 230mm) {
  .pdf-wrap { max-width: 100%; overflow-x: scroll; padding-bottom: 1em; }
}
@media screen and (max-width: 767px) {
  
  .registration-form-page .subpage-head-box { max-width: none; }
  .registration-search-section {
    display: block;
  }
  
  .registration-search-head {
    text-align: center; margin-bottom: 3em;
  }
}


.insurance-reccomend { border: 2px solid #DDD; padding: 2.5em; }
.insurance-reccomend .en { margin-top: 2em; padding-top: 2em; border-top: 1px solid #DDD; }
.insurance-reccomend ul { margin: 1em 0; }
.insurance-reccomend ul > li::before { content: ''; width: .4em; height: .4em; display: inline-block; background: currentColor; border-radius: 50%; margin-right: .6em; }

.complete-en { margin-top: 3em; padding-top: 3em; border-top: 1px solid #DDD; }
