@charset "utf-8";

body{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-size: 16px;;
    color: #010101;
    background-color: #fff;
    /* background: repeating-linear-gradient(90deg, black 1px, white 274px); */
}

.sp{
    display: none;
}

button:hover{
    opacity: .7;
}

@media screen and (max-width: 1499px){
    body{
        font-size: 1.07vw;
    }
}

@media screen and (max-width: 768px){
    img.pc{
        display: none;
    }

    img.sp{
        display: inherit;
    }
}

/* #region header */
.entry_KV{
    position: relative;
    width: 100vw;
    height: 360px;
    background: linear-gradient(90deg, #0187a9, #00adbd);
}

.entry_title{
    color: #fff;
    font-family: "Avenir", "Futura";
    font-weight: bold;
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    top: 147px;
}

.main_title{
    font-size: 66px;
    margin-bottom: 10px;
}

.sub_title{
    font-size: 18px;
}

@media screen and (max-width: 1499px){
    .entry_KV{
        height: 24vw;
    }

    .entry_title{
        top: 9.8vw;
    }

    .main_title{
        font-size: 4.4vw;
        margin-bottom: .67vw;
    }

    .sub_title{
        font-size: 1.2vw;
    }
}

@media screen and (max-width: 768px){
    .entry_KV{
        width: 100vw;
        height: 53.33vw;
    }

    .entry_title{
        top: 21.67vw;
    }

    .main_title{
        font-size: 9.33vw;
        margin-bottom: 2.13vw;
    }

    .sub_title{
        font-size: 3.2vw;
    }
}
/* #endregion header */

/* #region entry1 */
.entry_form{
    padding: 94px 0 214px;
}

img.phase.pc{
    width: 357px;
    display: block;
    margin: 0 auto;
}

.entry_form p.entry_intro{
    font-size: 16px;
    display: block;
    text-align: center;
    margin: 58px 0 66px;
}

.entry_list{
    width: 946px;
    margin: 0 auto;
}

.entry_list li{
    display: flex;
    justify-content: flex-start;
    align-content: center;
    margin-bottom: 41px;
}

.entry_list li br{
    display: none;
}
.entry_list li:last-of-type{
    margin-bottom: 71px;
}

.entry_list label{
    font-size: 16px;
    width: 334px;
    font-weight: bold;
    position: relative;
    top: 10px;
}

.entry_list label.must::after {
    content: "";
    width: 60px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    background-image: url(../img/other/icon_must.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: -3px;
    right: 36px;
}

::placeholder{
    font-size: 14px;
    color: #9d9d9d;
}

.entry_list input,
.entry_list select,
.entry_list textarea{
    font-size: 14px;
    border: solid 1px #d8d6d6;
    border-radius: 5px;
    background-color: #fff;
}

.entry_list input{
    box-sizing: border-box;
    width: 500px;
    height: 40px;
    padding-left: 12px;
}

.entry_list select{
    width: 245px;
    height: 40px;
}

.entry_list textarea{
    resize: none;
    box-sizing: border-box;
    width: 612px;
    height: 150px;
    padding-left: 12px;
    padding-top: 9px;
    line-height: 1.86;
}

.entry_list #i_file_attache1,.entry_list #i_file_attache2 {
    line-height: 2.67vw;
}

.entry_list .mwform-file-delete {
    line-height: 2.67vw;
}

.btn_entry{
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background-color: #149ac2;
    border: none;
    position: relative;
}

.btn_entry::after{
    content: "";
    width: 10px;
    height: 16px;
    background-image: url(../img/other/vek_btn.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    position: absolute;
    top: 27px;
    right: 29px;
}

.confirm_btn{
    height: 70px;
    width: 400px;
    text-align: center;
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 1499px){
    .entry_form{
        padding: 6.27vw 0 14.27vw;
    }

    img.phase.pc{
        width: 23.8vw;
    }

    .entry_form p.entry_intro{
        font-size: 1.07vw;
        margin: 3.87vw 0 4.4vw;
    }

    .entry_list{
        /* padding: 0 18.47vw; */
        width: 63.07vw;
    }

    .entry_list li{
        margin-bottom: 2.73vw;
    }

    .entry_list li:last-of-type{
        margin-bottom: 4.73vw;
    }

    .entry_list label{
        font-size: 1.07vw;
        width: 22.29vw;
        top: .67vw;
    }

    .entry_list label::after {
        width: 4vw;
        height: 1.6vw;
        top: -.2vw;
        right: 2.4vw;
    }

    ::placeholder{
        font-size: .93vw;
    }

    .entry_list input,
    .entry_list select,
    .entry_list textarea{
        font-size: .93vw;
        border: solid .07vw #d8d6d6;
        border-radius: .33vw;
    }

    .entry_list input{
        width: 33.33vw;
        height: 2.67vw;
        padding-left: .8vw;
    }

    .entry_list select{
        width: 16.33vw;
        height: 2.67vw;
    }

    .entry_list textarea{
        width: 40.8vw;
        height: 10vw;
        padding-left: .8vw;
        padding-top: .57vw;
    }

    .btn_entry{
        font-size: 1.33vw;
    }

    .btn_entry::after{
        width: .67vw;
        height: 1.07vw;
        top: 1.8vw;
        right: 1.93vw;
    }

    .confirm_btn{
        height: 4.67vw;
        width: 26.67vw;
    }
}
@media screen and (max-width: 768px){
    .sp {
        display: block;
    }
    .entry_form{
        padding: 9.2vw 0 25.87vw;
    }

    img.phase.pc{
        display: none;
    }

    img.phase.sp{
        width: 63.33vw;
        display: block;
        margin: 0 auto;
    }

    .entry_form p.entry_intro{
        width: 92vw;
        font-size: 3.47vw;
        margin: 8.8vw auto 10.4vw;
    }

    .entry_list{
        width: 92vw;
    }

    .entry_list li{
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        margin-bottom: 0;
    }

    .entry_list li:last-of-type{
        margin-bottom: 9.33vw;
    }

    .entry_list label{
        font-size: 4vw;
        width: 92vw;
        top: 0;
        margin-bottom: 2.4vw;
    }

    .entry_list label.must::after {
        width: 12vw;
        height: 4.27vw;
        align-items: flex-end;
        background-image: url(../img/other/SP_icon_must.png);
        position: relative;
        top: .37vw;
        right: -3.2vw;
    }

    ::placeholder{
        font-size: 3.47vw;
    }

    .entry_list input,
    .entry_list select,
    .entry_list textarea{
        font-size: 3.47vw;
        border: solid .27vw #d8d6d6;
        border-radius: .67vw;
        margin-bottom: 6.67vw;
    }

    .entry_list input{
        width: 92vw;
        height: 10.67vw;
        padding-left: 2.4vw;
    }

    .entry_list select{
        width: 92vw;
        height: 10.67vw;
    }

    .entry_list textarea{
        width: 92vw;
        height: 35.07vw;
        padding-left: 2.27vw;
        padding-top: 2.4vw;
        line-height: 1.69;
        margin-bottom: 0;
    }

    .btn_entry{
        font-size: 4vw;
    }

    .btn_entry::after{
        width: 2vw;
        height: 3.2vw;
        top: 5.07vw;
        right: 5.33vw;
    }

    .confirm_btn{
        height: 13.33vw;
        width: 92vw;
    }
}
/* #endregion entry1 */

/* #region entry2 */
.confirm_form{
    padding: 94px 0 224px;
}
.confirm_form .entry_list label::after{
    content: none;
}
.confirm_form p.entry_intro{
    font-size: 16px;
    display: flex;
    justify-content: center;
    margin: 58px 0 66px;
}
.confirm_form .entry_list{
    font-size: 0;
    width: 909px;
    margin: 0 auto;
}
.confirm_form .entry_list li{
    font-size: 16px;
    line-height: 1.88;
    color: #4b4b4a;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 51px;
}
.confirm_form .entry_list li label{
    font-weight: bold;
    width: 303px;
    color: #000;
    top: 0;
}
.buttons{
    display: flex;
    justify-content: center;
}
.buttons > button{
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.correct_btn{
    font-size: 20px;
    font-weight: bold;
    color: #9a9896;
    background-color: #fff;
    border: solid 2px #9a9896;
    width: 200px;
    margin-right: 31px;
    position: relative;
}
.correct_btn::before{
    content: "";
    width: 10px;
    height: 16px;
    background-image: url(../img/other/vek_correct.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
    position: absolute;
    top: 26px;
    left: 20px;
}
.submit_btn{
    width: 400px;
}

@media screen and (max-width: 1499px){
    .confirm_form{
        padding: 6.27vw 0 14.93vw;
    }
    .confirm_form p.entry_intro{
        font-size: 1.07vw;
        margin: 3.87vw 0 4.4vw;
    }
    .confirm_form .entry_list{
        font-size: 0;
        width: 60.6vw;
    }
    .confirm_form .entry_list li{
        font-size: 1.07vw;
        margin-bottom: 3.4vw;
    }
    .confirm_form .entry_list li label{
        width: 20.2vw;
    }
    .buttons > button{
        height: 4.67vw;
    }
    .correct_btn{
        font-size: 1.33vw;
        border: solid .13vw #9a9896;
        width: 13.33vw;
        margin-right: 2.07vw;
    }
    .correct_btn::before{
        width: .67vw;
        height: 1.07vw;
        top: 1.67vw;
        left: 1.33vw;
    }
    .submit_btn{
        width: 26.67vw;
    }
}
@media screen and (max-width: 768px){
    .confirm_form{
        padding: 9.2vw 0 20.13vw;
    }
    .confirm_form p.entry_intro{
        font-size: 3.47vw;
        margin: 8.8vw 0 10.4vw;
    }
    .confirm_form .entry_list{
        width: 92vw;
    }
    .confirm_form .entry_list li{
        width: 100%;
        margin-bottom: 8.13vw;
        font-size: 4vw;
        line-height: 1.67;
    }
    .confirm_form .entry_list li label{
        width: 100%;
        line-height: 1;
        margin-bottom: 2.13vw;
    }
    .buttons > button{
        height: 13.33vw;
    }
    .correct_btn{
        font-size: 4vw;
        line-height: 1;
        border: solid .53vw #9a9896;
        width: 32vw;
        margin-right: 2.93vw;
    }
    .correct_btn::before{
        width: 2vw;
        height: 3.2vw;
        top: 4.43vw;
        left: 2.33vw;
    }
    .submit_btn{
        width: 57.33vw;
    }
}
/* #endregion contact2 */

/* #region entry3 */
.completed{
    width: 819px;
    margin: 0 auto;
    padding: 94px 0 274px;
}

.completed h2,
.completed p{
    display: flex;
    justify-content: center;
    text-align: center;
}

.completed h2{
    font-size: 24px;
    font-weight: bold;
    margin-top: 87px;
}

.completed p.entry_intro{
    font-size: 16px;
    line-height: 1.88;
    margin: 35px 0 72px;
}

.top_btn{
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
    color: #787776;
    background-color: #fff;
    border: solid 1px #bfbebe;
    height: 70px;
    width: 400px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-decoration: none;
}

@media screen and (max-width: 1499px){
    .completed{
        width: 54.6vw;
        padding: 6.27vw 0 18.27vw;
    }

    .completed h2{
        font-size: 1.6vw;
        margin-top: 5.8vw;
    }

    .completed p{
        font-size: 1.07vw;
        margin: 2.33vw 0 4.8vw;
    }

    .top_btn{
        font-size: 1.33vw;
        border: solid .07vw #bfbebe;
        height: 4.67vw;
        width: 26.67vw;
    }
}
@media screen and (max-width: 768px){
    .completed{
        padding: 9.2vw 0 36.53vw;
        width: 92vw;
    }

    .completed h2,
    .completed p{
        text-align: left;
    }

    .completed h2{
        font-size: 4.8vw;
        margin-top: 8.8vw;
    }

    .completed p{
        font-size: 3.2vw;
        line-height: 1.58;
        margin: 6.4vw 0 9.6vw;
    }

    .top_btn{
        font-size: 4vw;
        border: solid .27vw #bfbebe;
        width: 66.67vw;
        height: 13.33vw;
    }
}
/* #endregion contact3 */

/* #region entry4 */
.entry_form.error .entry_list input.error_frame,
.entry_form.error .entry_list select.error_frame,
.entry_form.error .entry_list textarea.error_frame{
    border: solid 1px #e04a4a;
}

.entry_form.error .entry_list li{
    position: relative;
}

.mw_wp_form .error {
    font-size: 12px !important;
    color: #e04a4a !important;
    position: absolute;
    left: 334px;
    top: -24px;
}
.mw_wp_form .error:nth-of-type(2){
    left: 444px;
}

@media screen and (max-width: 1499px){
    .entry_form.error .entry_list input.error_frame,
    .entry_form.error .entry_list select.error_frame,
    .entry_form.error .entry_list textarea.error_frame{
        border: solid .07vw #e04a4a;
    }
    .mw_wp_form .error {
        font-size: .8vw !important;
        left: 22.27vw;
        top: -1.6vw;
    }
    .mw_wp_form .error:nth-of-type(2){
        left: 22.27vw;
        /* 問題あり */
    }
}
@media screen and (max-width: 768px){
    .entry_form.error .entry_list input.error_frame,
    .entry_form.error .entry_list select.error_frame,
    .entry_form.error .entry_list textarea.error_frame{
        border: solid .27vw #e04a4a;
    }
    .mw_wp_form .error {
        font-size: 3.47vw !important;
        top: 7.67vw;
        left: -.13vw;
    }
    .entry_form.error .entry_list label {
        margin-bottom: 9.6vw;
    }
    .mw_wp_form .error:nth-of-type(2){
        left: 32vw;
        /* 問題あり */
    }
}
/* #endregion contact4 */
