body {
    min-height: 100vh;
}

body.entry-form-entered {
    background-color: #afafaf;
}
body.entry-form-entered.entry-form-cameback{
	background:unset;
}
.pl-entry-form {

}

.pl-entry-form__progress {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
}

.pl-entry-form__progress-steps {
    width: 200px;
    font-weight: bold;
}

.pl-entry-form__progress-steps span {
    font-size: 2.4rem;
    font-weight: bold;
    margin-right: 12px;
}

.pl-entry-form__progress-bar {
    display: flex;
    align-items: center;
    width: calc(100% - 200px);
    border: 1px solid #ccc;
    background-color: #fafafa;
}

.pl-entry-form__progress-bar span {
    display: block;
    height: 30px;
    width: 0;
    background-color: #ffc107;
}

.pl-entry-form__page {
    display: none;
}

.pl-entry-form__page.current {
    display: block;
}

.pl-entry-form label.form-label {
    display: inline-block;
    min-width: 150px;
}
.pl-entry-form span.mwform-radio-field.vertical-item:has(input:checked) {
    background: none;
}

@media screen and (max-width: 576px) {
    .pl-entry-form label.form-label {
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }
}

.pl-entry-form__question {
    font-size: 1.6rem;
    letter-spacing: 2px;
    margin-bottom: 2rem;
    font-weight: bold;
}

.pl-entry-form__question small {
    display: inline-block;
    font-size: 0.9rem;
    margin-left: 1rem;
}

.pl-entry-form__answer {
    font-weight: bold;
    margin-bottom: 4rem;
}

.pl-entry-form input, select, textarea {
    max-width: 100%;
}

.pl-entry-form input[type=submit] {
    display: none;
}

.pl-entry-form input[type=radio] {
    display: none;
}

.pl-entry-form input[type=checkbox] {
    display: none;
}

.pl-entry-form input[type=text] {
    width: 100%;
}

.pl-entry-form input[type=text].hidden {
    display: none;
}

.pl-entry-form select {
    width: auto;
}
/* 追加 */
.pl-entry-form select[name="age"] {
    width: 100%;
}

.pl-entry-form textarea {
    width: 100%;
}

.pl-entry-form .mwform-checkbox-field label,
.pl-entry-form .mwform-radio-field label {
    display: block;
    border: 2px solid #333333;
/*     border-radius: 10px; */
    background-color: #ffffff;
    padding: .5em 1em;
    font-weight: bold;
    font-size: 1rem;
/*     letter-spacing: 2px; */
}

.pl-entry-form__control.pl-entry-form__control_2cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 .5rem;
}
.pl-entry-form__control+.pl-entry-form__control {
    margin-top: 2rem;
}

.contactform-addlist-2cols {
/* 郵便番号＆都道府県用	 */
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.pl-entry-form__control input#zip {
    width: 10em !important;
    min-width: unset;
}

.pl-entry-form__control select#pref-ishikawa {
    width: 100%;
}


body.entry-form-entered .pl-entry-form .mwform-checkbox-field label,
body.entry-form-entered .pl-entry-form .mwform-radio-field label{
    background-color: #afafaf;
}

.pl-entry-form input[type=text].entered,
.pl-entry-form textarea.entered {
    background-color: #f6b6b6 !important;
}

.pl-entry-form select.selected {
    background-color: #f6b6b6 !important;
}

.pl-entry-form .mwform-checkbox-field label.checked,
.pl-entry-form .mwform-radio-field label.checked {
    background-color: #f6b6b6 !important;
}


.pl-entry-form__buttons {
    display: flex;
    align-items: center;
	justify-content: center;
}

.pl-entry-form__back {
    margin-right: 10px;
    cursor: pointer;
    padding: 10px;
    width: 260px;
    background-color: #bdbdbd;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: normal;
    letter-spacing: 4px;
    border: none;
}

.pl-entry-form__submit,
.pl-entry-form__next {
    position: relative;
    cursor: pointer;
    padding: 10px;
    width: 260px;
    background-color: #e87c2a;
    color: #ffffff;
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 4px;
    border: none;
/*     border-radius: 4px; */
    overflow: hidden;
}

.pl-entry-form__submit:hover,
.pl-entry-form__next:hover {
    transition: all 0.3s ease;
    opacity: 0.8;
}

.pl-entry-form__submit::before,
.pl-entry-form__next::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #f7d1b4;
    transition: all 0.3s ease;
    animation: shiny 2.5s ease-in-out infinite;
}

@-webkit-keyframes shiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}