:focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
}


main {
    margin-top: 30px;
    padding-top: 0;
}




.recommendForm {
    padding: 40px 0px;
    background-color: rgba(255, 252, 247, 0.528);
    /* background-color: aqua; */
}

.formTitle {
    text-align: center;
    margin-bottom: 60px;
}

.formTitle h2 {
    position: relative;
    display: inline-block;
    border: black 1px solid;
    padding: 10px;
    margin: 20px 0;
    width: 100%;
}

.recommendForm .wrapper {
    margin: 0 auto;
    /* min-width: 450px; */
    max-width: 550px;
}

.instructorDetails,
.studentDetails {
    position: relative;
    height: auto;
    padding-left: 30px;

}

#emailHelp {
    position: relative;
    display: inline-block;
    width: 100%;
    height: auto;
}

#emailHelp p {
    margin: 0;
    padding: 0;
    font-size: 14px;
    color: #6c757d;
}


/* .instructorDetails::before{
    content: "";
    display: block;
    position: absolute;
    border-left: 15px solid #007bff;
    height: 100%;
    left: 0px;
} */

.instructorInfo,
.studentInfo {
    font-size: 20px;
    /* margin-left: 2px; */
    padding-left: 15px;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    width: 100%;
    height: 60px;
    color: white;
}

.instructorInfo {
    background-color: #007bff;

}

.genderSection {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}

.studentInfo {
    background-color: #28a745;
}


.form-label::before {
    content: "";
    display: inline-block;
    position: relative;
    height: 15px;
    width: 15px;
    top: 1px;
    margin-left: -15px;
    left: -5px;
}

.instructorDetails .form-label::before {
    background-color: #007bff;
}

.studentDetails .form-label::before {
    background-color: #28a745;
}


.beforeApply {
    position: relative;
    text-align: center;
    margin: 20px 0;
    font-size: 1.2em;
    color: rgb(255, 255, 255);
    width: 100%;
    right: 0;
    background-color: brown;
}

.event {
    display: flex;
    flex-direction: row;
}

.oneEventDetail {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* width: 70%; */
    /* margin: 0 auto; */
    /* max-width: 700px; */
}

ul {
    margin: 0 0 0 15px;
    padding: 0;
}


.eventTable {
    width: auto;
    max-width: 690px;
}


.tdthumbnail {
    position: relative;
    text-align: center;
    width: 100%;
    display: flex;
    /* justify-content:space-between;
    align-items: center; */
    max-width: 700px;
    /* min-width: 300px; */
    /* margin: 0 auto; */
}

.tdthumbnail div {
    margin: 0 10px;
    position: relative;
    width: 100%;
    max-width: calc(670px / 2);
}

.thumbnailImg {
    position: relative;
    width: 100%;
    height: auto;
    /* max-width: 380px; */
}


.confirmationButton {
    width: 100%;
    margin-top: 20px;
    padding: 10px;
    font-size: 1.2em;
    box-shadow: 5px 10px 15px 0 rgba(0, 0, 0, .5);
    border: 1.9px solid blue;
    font-weight: 450;
}



@media screen and (max-width:480px) {
    main {
        padding: 0 15px;
    }

    .oneEventDetail table tr td {
        padding: 10px;
    }
}


/* 置き換え：ボタンは「disabledの時だけ」取り消し線＆半透明 */
.confirmationButton[disabled] {
    text-decoration: line-through;
    opacity: .6;
    pointer-events: none;
}