@charset "UTF-8";

@media screen and (min-width: 769px){
    #header{
        position: sticky;
    }
}

.key-visual01 .bg{
    background-image: url(../images/entry-key-visual.jpg);
}

.Contact-outer{
    padding-top: 0;
    display: none;
}
.Contact-outer.-on{
    display: block;
}

/* +++#sec01+++ */
#sec01{
    padding-top: 10rem;
}
#sec01 .message{
    text-align: center;
    font-size: 2.4rem;
    margin-bottom: 2.5rem;
}
#sec01 .tel-number-area{
    padding-bottom: 3.8rem;
    /*
        border-bottom: 1px solid #fff;
    */
    border-bottom: 1px solid rgba(255,255,255,.5);
    justify-content: center;
}
#sec01 .tel-number-area a{
    align-items: flex-end;
}
.tel-label{
    font-size: 2.4rem;
}
.tel-number{
    font-size: 7rem;
}
.tel-caption{
    margin-left: 1.8rem;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.75;
    text-indent: -.5em;
}

/* +++#sec02+++ */

#sec02-Contact,
#sec02-Confirm{
    /*
        padding-top: 5rem;
    */
    padding-top: 4.5rem;
    font-weight: 400;
}
.form-title,
#sec02-Contact dl,
#sec02-Confirm dl *{
    letter-spacing: -.02em;
}
.form-box{
    margin-top: 8.5rem;
}
.form-title{
    font-weight: 600;
    font-size: 2.7rem;
    margin-bottom: 4.8rem;
    align-items: center;
}
.form-title:before{
    content: attr(data-no);
    margin-right: 1.4rem;
}
.form-box dt{
    font-size: 1.8rem;
    font-weight: 500;
    padding-bottom: 2.3rem;
    align-items: center;
}
.required{
    justify-content: center;
    align-items: center;
    background: #00763f;
    font-size: 1.4rem;
    width: 5rem;
    height: 2rem;
    border-radius: 999px;
    margin-inline: .6rem 1rem;
    padding-bottom: .12em;
}
.form-caption{
    font-weight: 400;
    font-size: 1.4rem;
    color: #9fa0a0;
}
.form-box dd{
    font-size: 1.8rem;
}
.wpcf7-form-control-wrap{
    display: block;
}
.wpcf7-list-item:not(.last){
    margin-right: 6rem;
}

.wpcf7-list-item{
    display: flex;
    align-items: center;
}
.wpcf7-checkbox,
.wpcf7-radio{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
input[type='checkbox'],
input[type='radio']{
    appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    background-color: transparent;
    /*
        border: 1px solid #9fa0a0;
    */
    border: 1px solid rgba(159,160,160,.5);
    border-radius: .2rem;
    margin-right: .8rem;
    width: 2rem;
    height: 2rem;
    display: block;
}
input[type='checkbox']:checked,
input[type='radio']:checked{
    background-image: url(../images/check-icon01.svg);
    background-repeat: no-repeat;
    background-size: 80% auto;
    background-position: center;
}
.form-box dl:not(:last-of-type){
    margin-bottom: 3.6rem;
}

input[type='text'],
input[type='email'],
input[type='tel'],
input[type='number'],
select{
    appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    background-color: #fff;
    border: 1px solid #9fa0a0;
    height: 4rem;
    width: 100%;
    display: flex;
    align-items: center;
    border-radius: .2rem;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    /*
        padding-inline: 1em;
    */
    padding-inline: .8em;
    padding-bottom: .12em;
}
::placeholder{
    color: #c9caca;
}
.form-box li{
    display: flex;
    align-items: center;
}
label{
    display: flex;
}
.form-box li label{
    width: 10rem;
}
.form-box li .wpcf7-form-control-wrap{
    width: calc(100% - 10rem);
}
.form-box li:not(:last-of-type){
    margin-bottom: 1.8rem;
}
.form-box li:nth-of-type(1) .wpcf7-form-control-wrap{
    max-width: 11.6rem;
    margin-right: 1.8rem;
}
.form-box li:nth-of-type(2) .wpcf7-form-control-wrap{
    max-width: 26.6rem;
}
select{
    background-image: url(../images/select-arrow01.svg);
    background-repeat: no-repeat;
    background-position: right 2rem center;
    background-size: 1rem auto;
}
.form-title .form-caption{
    font-weight: 400;
    margin-left: 1.8rem;
}
input[type='file']{
    appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    border: none;
    position: relative;
    color: #c9caca;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
}
input[type='file']::file-selector-button{
    width: 16.8rem;
    height: 3rem;
    color: #fff;
    background: #c9caca;
    border-radius: .2rem;
    border: none;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.4rem;
    opacity: 0;
}
input[type='file']:before{
    position: absolute;
    width: 15rem;
    height: 3rem;
    content: "PDFのアップロード";
    left: 0;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.4rem;
    background: #c9caca;
    border-radius: .2rem;
    color: #fff;
}
[data-name='field-file1'],
[data-name='field-file2']{
    width: 100%;
    background: #fff;
    border-radius: .2rem;
    border: 1px solid #9fa0a0;
    height: 4rem;
    width: 100%;
    padding: .4rem;
}
textarea{
    appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    background-color: #fff;
    border: 1px solid #9fa0a0;
    height: 25rem;
    width: 100%;
    border-radius: .2rem;
    line-height: 1.75;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    padding-inline: 1em;
}
.privacy-check{
    padding-block: 7.3rem 6.5rem;
    display: flex;
    justify-content: center;
    padding-left: 2.8rem;
}
.privacy-check a{
    text-decoration: underline;
}
.recaptcha-check{
    margin-bottom: 5rem;
}
.submit-button{
    display: flex;
    justify-conetnt: center;
    align-items: center;
    color: #fff;
    width: 18rem;
    height: 5rem;
    margin-inline: auto;
    position: relative;
}
input[type='submit'],
input[type='button'],
.submit-button a{
    appearance: none;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 1.8rem;
    color: #fff;
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 9;
    border: 1px solid #00763f;
    background: #00763f;
    transition: .3s all ease;
}

input[type='submit']:hover,
input[type='button'].-back,
input[type='button'].-confirm:hover,
.submit-button a:hover{
    color: #00763f;
    background: #fff;
}
input[type='button'].-back:hover{
    color: #fff;
    background: #00763f;
}

.vertical-center{
    align-items: center;
}
#birth-year,
#birth-month,
#birth-day,
#age{
    width: 7rem;
    margin-right: 1.2rem;
}
.age-outer{
    display: flex;
    align-items: center;
}
#birth-month,
#birth-day,
#age{
    margin-left: 1.6rem;
}
#birth-full, /* 結合用フィールドを非表示にしておく */
#address{
    display: none;
}

.wpcf7-not-valid-tip{
	margin-top: .5em;
}
.wpcf7-spinner{
	display: none !important;
}


/* ++++確認画面++++ */
.cf7msm-ro{
    display: block;
}
.form-box:nth-of-type(4) .cf7msm-ro{
    line-height: 1.75;
    margin-bottom: 8.5rem;
}
.cf7msm-ro a{
    text-decoration: underline;
}
.cf7msm-ro a:hover{
    text-decoration: none;
}
.button-area{
    justify-content: center;
}
.button-area .submit-button{
    margin: 0 1rem;
}


/* ++++完了画面++++ */
.complete-message{
    margin-bottom: 6rem;
	padding-top: 10rem;
	font-weight: 400;
}


@media screen and (max-width: 768px){
    .key-visual01 .bg{
        background-image: url(../images/sp-entry-key-visual.jpg);
    }


    /* +++#sec01+++ */
    #sec01{
        padding-top: 7.5rem;
    }
    #sec01 .message{
        line-height: 1.72222;
        font-size: 3.6rem;
        margin-bottom: 5.5rem;
    }
    #sec01 .tel-number-area{
        padding-bottom: 3.8rem;
        justify-content: center;
    }
    #sec01 .tel-number-area a{
        justify-content: center;
    }
    .tel-caption{
        width: 100%;
        display: flex;
        justify-content: center;
        margin-left: 0;
        font-weight: 400;
        letter-spacing: -.02em;
        line-height: 1.77692;
        text-indent: 0;
        font-size: 2.6rem;
        text-align: center;
        margin-top: 2.5rem;
    }



    /* +++#sec02+++ */
    #sec02-Contact,
    #sec02-Confirm{
        padding-top: 6rem;
    }
    .form-message{
        font-size: 2.8rem;
        line-height: 1;
        letter-spacing: -.02em;
    }
    .form-title,
    #sec02-Contact dl *,
    #sec02-Confirm dl *{
        letter-spacing: -.02em;
    }
    .form-box{
        margin-top: 12rem;
    }
    .form-title{
        font-size: 4.5rem;
        margin-bottom: 6rem;
        align-items: center;
    }
    .form-title:before{
        content: attr(data-no);
        margin-right: 2.8rem;
        letter-spacing: .08em;
    }
    .form-box dt{
        font-size: 3.1rem;
        padding-bottom: 4rem;
    }
    .required{
        font-size: 2.38rem;
        width: 8.5rem;
        height: 3.4rem;
        margin: .6rem 2rem .6rem 1rem;
        padding-bottom: .12em;
    }
    .form-caption{
        font-size: 2.6rem;
    }
    .form-box dd,
	#confirm-field-pr{
        font-size: 3rem;
    }
    .wpcf7-list-item{
        margin-right: 0 !important;
        min-width: 17.6rem;
	margin-left: 0 !important;

    }
    .wpcf7-list-item:nth-of-type(3),
    .wpcf7-list-item:nth-of-type(4){
        width: auto;
    }

    .wpcf7-list-item:nth-of-type(n+4){
        margin-top: 3.6rem;
    }

    input[type='checkbox'],
    input[type='radio']{
        margin-right: 1.4rem;
        width: 3.4rem;
        height: 3.4rem;
    }
    .form-box dl:not(:last-of-type){
        margin-bottom: 6.4rem;
    }
	.form-box:nth-of-type(1) dl:nth-of-type(1){
		margin-bottom: 5.2rem;
	}

    input[type='text'],
    input[type='email'],
    input[type='tel'],
    input[type='number'],
    select{
        height: 6.8rem;
        border-radius: .2rem;
        font-size: 3rem;
        padding-inline: .8em;
        padding-bottom: .12em;
    }

    .form-box li label{
        width: 17rem;
    }
    .form-box li .wpcf7-form-control-wrap{
        width: calc(100% - 17rem);
    }
    .form-box li:not(:last-of-type){
        margin-bottom: 3.2rem;
    }
    .form-box li:nth-of-type(1) .wpcf7-form-control-wrap{
        max-width: 18.5rem;
        margin-right: 1.8rem;
    }
    .form-box li:nth-of-type(2) .wpcf7-form-control-wrap{
        max-width: calc(100% - 17rem);
    }
    select{
        background-position: right 3.2rem center;
        background-size: 1.7rem auto;
    }
    .form-box:nth-of-type(3) .form-caption{
        display: block;
        margin: 2.4rem 0 0 0;
    }
    .form-title .form-caption{
        font-weight: 400;
        margin-left: 1.8rem;
    }
    input[type='file']{
        padding-left: 11.5rem;
        font-size: 3rem;
    }
    .form-box:nth-of-type(4) .form-title{
        margin-bottom: 3rem;
    }
    input[type='file']::file-selector-button{
        width: 16.8rem;
        height: 6.8rem;
        color: #fff;
        background: #c9caca;
        border-radius: .2rem;
        border: none;
        font-family: "M PLUS 2", YuGothic, 游ゴシック, メイリオ, Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
        font-size: 1.4rem;
        opacity: 0;
    }
    input[type='file']:before{
        width: 27.2rem;
        height: 5.2rem;
        font-size: 2.6rem;
    }
    [data-name='field-file1'],
    [data-name='field-file2']{
        height: 6.8rem;
        padding: .8rem;
        overflow: hidden;
    }
    textarea{
        height: 55rem;
        font-size: 3rem;
        line-height: 1.586666;
    }
    .privacy-check{
        padding-block: 13rem 10.6rem;
        padding-left: 0;
        font-size: 3rem;
    }
    .recaptcha-check{
        margin-bottom: 10rem;
    }

    .submit-button{
        width: 29rem;
        height: 8rem;
    }
    input[type='submit'],
    input[type='button'],
    .submit-button a{
        font-size: 2.8rem;
    }

    input[type='submit']:hover,
    input[type='button'].-back,
    .submit-button a:hover{
        color: #00763f;
        background: #fff;
    }
    input[type='button'].-back:hover{
        color: #fff;
        background: #00763f;
    }

    .vertical-center{
        align-items: center;
    }
    #birth-year,
    #birth-month,
    #birth-day,
    #age{
        width: 12rem;
        margin-right: 2rem;
    }
    #birth-month,
    #birth-day,
    #age{
        margin-left: 4rem;
    }
    #age{
        margin-left: 0;
    }
    .age-outer{
        margin-top: 4rem;
    }



/* ++++完了画面++++ */
	.complete-message{
		margin-bottom: 5rem;
		padding-top: 7rem;
		font-weight: 400;
		line-height: 1.75 !important;
	}
	.back-button-area{
		margin-bottom: -7rem;
	}
}