.contact-contents{background: #FFF;}
.contact-contents .page-title{padding:20px 0px 10px 0px;}
.contact-contents .title{
    font-size: 24px;
    line-height: 38px;
    letter-spacing: 1.92px;
}
.contact-contents .title > span{
    color: #BEA000;
    font-size: 16px;
    line-height: 38px;
    letter-spacing: 1.28px;
    padding:0;
}
.contact-contents #after-container > .contents{
    border-radius: 0;
    padding:30px 0px;
    background: #F4E9BF;
}
.contact-contents #after-container .box .catch{display:none;}
.contact-contents #after-container .contact-link{display:none;}
.contact-header{
    display: flex;
    justify-content: center;
    align-items: center;
    padding:40px 0px;
}
.contact-header > .no{
    display: flex;
    width: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 10px
}
.contact-header > .no > span{
    display: flex;
    border-radius: 60px;
    background: #7B7B6D;
    width: 40px;
    height: 40px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}
.contact-header > .no > p{
    color: #7B7B6D;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
}
.contact-header > .now > span{background: #BEA000;}
.contact-header > .now > p{color: #BEA000;}
.contact-header > .line{
    display: flex;
    width: 50px;
    padding: 21px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    position: relative;
}
.contact-header > .line::before{
    content:"";
    display: block;
    width: 50px;
    height: 2px;
    background: #BBB;
    position: absolute;
    top:7px;
    left:0;
}
@media screen and (max-width: 768px){
    .contact-contents .page-title{padding:30px 0px;}
    .contact-contents .title{
        font-size: 20px;
        letter-spacing: 0.6px;
        line-height: normal;
        margin:0px;
    }
    .contact-contents .title > span{
        font-size: 14px;
        letter-spacing: 0.42px;
    }
    .contact-contents #after-container > .contents{padding:25px 0px}
    .contact-header{padding: 30px 0 10px 0;}
    .contact-header > .no{gap:0;}
    .contact-header > .no > p{font-size: 14px;}
    .contact-header > .line::before{top:12px}
}

input[type="radio"]{margin:0px 20px 0px 0px;}
input[type="text"],input[type="tel"],input[type="email"]{
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 1.28px;
    color:#483841;
    border-radius: 8px;
    border: 1px solid #BBB;
    background: #FFF;
    padding:10px 20px;
    width:calc(600px - 40px);
}
table label{
    cursor: pointer;
    color: #483841;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
    display: block;
}
table textarea{
    width:calc(600px - 50px);
    height: 180px;
    border-radius: 8px;
    border:1px solid #BBB;
    background: #FFF;
    padding:10px 25px;
    font-family: "Noto Sans JP";
    color:#483841;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
}
@media screen and (max-width: 768px){
    input[type="text"],input[type="tel"],input[type="email"]{
        width:calc(100% - 40px);

    }
    table textarea{width:calc(100% - 50px)};
}

table{
    border-collapse: collapse;
    width:100%;
}
table th{
    width:244px;
    color: #483841;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    padding:20px 0px;
    border-bottom:1px solid #BBB;
    vertical-align: top;
}
table th > span{
    padding:0px 0px 0px 54px;
    display: block;
}
table th > .required{padding:0px;}
table th > .required::before{
    content:"必須";
    background: #D20606;
    padding: 0px 10px;
    color:#FFF;
    font-size: 12px;
    font-weight: 600;
    margin:0px 10px 0px 0px
}
table td{
    padding:20px 0px;
    border-bottom:1px solid #BBB;
}
table tr:last-child th,table tr:last-child td{border:none}
table .location-button > label{
    display: flex;
    width: 220px;
    align-items: center;
    padding:0px 0px 0px 20px;
    border-radius: 12px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
    margin:0px 0px 10px 0px;
    cursor: pointer;
}
table .location-button > .saitama-kawaguchi{
    border: 1px solid #95BF61;
    background: rgba(149, 191, 97, 0.20);
    color: #95BF61;
}
table .location-button > .saitama-kawaguchi:has(input[type="radio"]:checked) {
    background: #95BF61;
    color: #FFF;
}
table .location-button > .tokyo-ikebukuro{
    border: 1px solid #EA967A;
    background: rgba(234, 150, 122, 0.20);
    color:#EA967A;
}
table .location-button > .tokyo-ikebukuro:has(input[type="radio"]:checked) {
    background: #EA967A;
    color: #FFF;
}
table .location-button > .yokohama-aoba{
    border: 1px solid #69A3B7;
    background: rgba(105, 163, 183, 0.20);
    color: #69A3B7;
}
table .location-button > .yokohama-aoba:has(input[type="radio"]:checked) {
    background: #69A3B7;
    color: #FFF;
}
table .contact-genre > label{
    cursor: pointer;
    color: #483841;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
    display: block;
}
table .check th,table .check td{
    border-bottom:none;
    color: #D20606;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 1.2px;
    padding:20px 0px 0px 0px;
}
table .reply th,table .reply td{padding:10px 0px 20px 0px}
.checkbox > label{
    display: flex;
    padding: 20px 0;
    align-items: center;
    gap: 10px;
    background: rgba(26, 115, 232, 0.10);
    color: #483841;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    justify-content: center;
    flex-wrap: wrap;
}
.checkbox a{
    color: #1A73E8;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}
.checkbox input[type="submit"]{
    display: flex;
    margin:40px auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    gap: 10px;
    border-radius: 12px;
    width: 220px;
    font-size: 16px;
    font-weight: 600;
    line-height: 38px;
    color: #FFF;
    background: #1A73E8;
    border: none;
    cursor: pointer;
}
.checkbox input[type="submit"]:disabled{background: #BBB;}
.recaptcha-text{
    color: #000;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    padding:10px 0px 0px 0px;
}
.recaptcha-text > a{
    color: #000;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}
@media screen and (max-width: 768px){
    table{
        width:calc(100% - 40px);
        margin:auto;
    }
    table th,table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    table th{
        width:100%;
        padding:20px 0px 0px 0px;
        border:none;
    }
    table td{padding:14px 0px 20px 0px;}
    table .location-button{padding:20px 0px 10px 0px}
    table th > span{padding:0}
    table th > .required::before{
        padding:0px 10px;
        font-size: 12px;
    }
    .checkbox {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0px;
        width: calc(100% - 20px);
        box-sizing: border-box;
        margin:auto;
    }
    .checkbox label[for="agree_check"] {
        display: block;
        padding: 20px 20px 20px 45px; 
        text-indent: -25px; 
        text-align: left;
        width: 100%;
        box-sizing: border-box;
        font-size: 15px;
        cursor: pointer;
    }
    .checkbox label input[type="checkbox"] {
        margin: 0 9px 0 0; 
        width: 16px;
        height: 16px;
        vertical-align: middle;
    }
    .recaptcha-text{
        font-size: 11px;
        line-height: 140%;
    }
    .recaptcha-text > a{
        font-size: 11px;
        line-height: 140%;
    }
    .grecaptcha-badge{
        margin:0px 0px 70px 0px;
        z-index:1;
    }
    .checkbox input[type="submit"]{
        width:calc(100% - 60px);
        max-width:240px;
    }
}

.recaptcha-error{
    padding:0px 0px 40px 0px;
    color: #483842;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 1.2px;
}
.check-header{padding:0px 0px 40px 0px;}
.check-table th{
    color: #BBB;
    font-size: 13px;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0;
    border: none;
    padding:10px 0px;
}
.check-table td{
    padding:10px 0px;
    color: #483841;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
    letter-spacing: 0;
    border:none;
}
.check-table .post-location > div{
    border-radius: 12px;
    display: flex;
    width: 220px;
    padding: 0 10px 0 20px;
    align-items: center;
    gap: 10px;
    color: #FFF;
    font-size: 15px;
    font-weight: 600;
    line-height: 38px;
}
.check-table .post-location > .saitama-kawaguchi{background: #95BF61;}
.check-table .post-location > .tokyo-ikebukuro{background: #EA967A;}
.check-table .post-location > .yokohama-aoba{background: #69A3B7;}
.submit-check{
    padding: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}
.submit-check > input[type="button"],.submit-check > input[type="submit"]{
    border-radius: 12px;
    display: flex;
    width: 220px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 38px;
    border:none;
    cursor: pointer;
}
.submit-check > input[type="button"]{background: #BBB;}
.submit-check > input[type="submit"]{background: #1A73E8;}

@media screen and (max-width: 768px){
    .check-table td{border-bottom: 1px solid #DDD;}
    .check-table tr:last-child td{border-bottom: 1px solid #DDD;}
    .submit-check{
        padding: 40px 30px;
        flex-direction: column;
        align-items: center;
        gap: 20px;
        align-self: stretch;
    }
    .submit-check > input[type="button"],.submit-check > input[type="submit"]{
        width:100%;
        max-width:240px;
    }
}

.thanks-box{
    display: flex;
    padding: 0 50px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}
.thanks-box > p{
    color: #483842;
    font-size: 15px;
    font-weight: 400;
    line-height: 30px;
    letter-spacing: 1.2px;
}
.thanks-box > .point{
    background: #FDF4F2;
    display: flex;
    padding: 10px;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    margin:0px 0px 40px 0px;
    text-align: left;
}
.thanks-box > .point > p{
    color: #483842;
    font-size: 15px;
    line-height: 28px;
}
.thanks-box > .point > p > span,.thanks-box > .point > p > .tel-link{
    font-family: Inter;
    font-size: 15px;
    font-weight: 700;
    line-height: 28px;
}
.thanks-box > .point > p > .tel-link strong{
    font-family: "Noto Sans JP";
    font-weight: 400;
}
.thanks-icon{
    text-align:center;
    padding:0px 0px 20px 0px;
}
.thanks-icon > img{
    width: 140px;
    aspect-ratio: 14/13;
    display: block;
    margin:auto;
}
@media screen and (max-width: 768px){
    .thanks-box{padding:0px 10px;}
    .thanks-box > .point > p > .tel-link{
        color: #1A73E8;
        font-family: Inter;
        font-size: 15px;
        font-weight: 700;
        line-height: 28px;
        text-decoration-line: underline;
        text-decoration-style: solid;
        text-decoration-skip-ink: auto;
        text-decoration-thickness: auto;
        text-underline-offset: auto;
        text-underline-position: from-font;
    }
    .thanks-box > .point > p > .tel-link > strong{
        font-family: "Noto Sans JP";
        font-weight: 400;
    }
}