@charset "UTF-8";
/* ===============================
	entry form
 =============================== */

/* entry form common ----------------------------- */

.sec-entry_form {
    background: #f5f5f5 url(../images/bg_02@2x.png) no-repeat 99% 101.5%;
    background-size: 76.9% auto;
    padding: 120px 0 78px;
    position: relative;
    margin: 1.5% auto 0;
}

.sec-entry_form:before {
    content: "";
    background: url(../images/bg_01@2x.png) no-repeat 0% 0%;
    background-size: 77.2% auto;
    width: 100%;
    height: 657px;
    position: absolute;
    top: -1.1%;
    left: 0;
    z-index: 0;
}

.sec-entry_form .wrap-inner_02 {
    max-width: 945px;
    position: relative;
    z-index: 3;;
}
/* .sec-entry_form .top_txt p{
    font-size: 1.6rem;
} */
.sec-entry_form .top_txt .large {
    font-size: 2.2rem;
    line-height: 1.7;
    margin: 0 0 .5em;
}

.entry_form-wrap dl dt,
.entry_form-wrap dl dd{
    margin: 0 0 1em;
    font-size: 2.2rem;
    position: relative;
}

.sec-entry_form .entry_form-wrap .imp:before{
    content: "";
    position: absolute;
    top: calc(50% - 7px);
    left: -10px;
}

.sec-entry_form .entry_form-wrap .imp:before,
.sec-entry_form .top_txt .circle{
    width: 12px;
    height: 12px;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    background: #E60113;
    border-radius: 100%;
    display: inline-block;
    margin: 0 .5em 0 0;
}

.entry_form-wrap{
    margin: 115px auto 80px;
}
.entry_form-wrap dl dd label{
    display: block;
    margin-bottom: 10px;
}
.entry_form-wrap dl dd input[type="text"],
.entry_form-wrap dl dd input[type="email"],
.entry_form-wrap dl dd input[type="tel"],
.entry_form-wrap dl dd textarea{
    width: 100%;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
}

.entry_form-wrap dl dd input[type="text"],
.entry_form-wrap dl dd input[type="email"],
.entry_form-wrap dl dd input[type="tel"],
.entry_form-wrap dl dd select,
.entry_form-wrap dl dd textarea{
    border: none;
    padding: .58em 1.4em;
}

.entry_form-wrap dl dd input[type="radio"] {
    display: inline-block;
    vertical-align: middle;
}

.entry_form-wrap dl dd input[type="checkbox"] {
    position: relative;
    width: 2em;
    height: 2em;
    border: 2px solid #C3C3C3;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 .5em 0 0;
}

.entry_form-wrap dl dd input[type="checkbox"]:checked:before {
    position: absolute;
    top: 0;
    left: .6em;
    transform: rotate(50deg);
    width: .8em;
    height: 1.4em;
    border-right: 3px solid #707070;
    border-bottom: 3px solid #707070;
    content: '';
}
.entry_form-wrap dl dd input[type="radio"]{
    opacity: 0;
    width: 0px;
    height: 0px;
    position: absolute;
}
.radio {
    position: relative;
    padding: 0 0 0 2em;
    display: block;
    height: 2em;
}
.radio::before {
    /* background: white; */
    border: 2px solid #c3c3c3;
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    /*top: calc(50% - 1em);*/
    top: calc(50% - 1em);
    left: 0;
    width: 1.5em;
    height: 1.5em;
}/*
.entry_form-wrap dl dd input[type="radio"]:checked + .radio::after {
    background: #c3c3c3;
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - .5em - 2px);
    left: 2px;
    width: calc(1.5em - 4px);
    height: calc(1.5em - 4px);
    box-sizing: border-box;
    border: .2em solid #f3f3f3;
}
  */
.entry_form-wrap dl dd input[type="radio"]:checked + .radio::after {
    background: #c3c3c3;
    border: 2px solid #f3f3f3;
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1em + 2px);
    left: 2px;
    width: calc(1.5em - 4px);
    height: calc(1.5em - 4px);
    box-sizing: border-box;
    /* border: .2em solid #f3f3f3; */
}
  /* Safari */
  /*
  _::-webkit-full-page-media, _:future, :root .radio::before{
    top: -1px;
  }
  _::-webkit-full-page-media, _:future, :root input[type="radio"]:checked + .radio::after{
    top: 3px;
  }*/
/*
.entry_form-wrap dl dd input[type="radio"]:checked:before {
    position: absolute;
    top: calc(50% - .15em - .75px);
    left: calc(50% - .15em - .75px);
    transform: unset;
    width: .3em;
    height: .3em;
    border-radius: 100%;
    background: #c3c3c3;
    content: '';
    display: inline-block;
}

.entry_form-wrap dl dd input[type="radio"] {
    position: relative;
    width: .6em;
    height: .6em;
    border: 1.5px solid #C3C3C3;
    border-radius: 100%;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: inline-block;
}
*/

.btn_submit-wrap{
    width: 100%;
    max-width: 399px;
    margin: 0 auto 75px;
    position: relative;
}

.btn_submit-wrap:before,
.btn_submit-wrap:after{
    content: "";
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
}
.btn_submit-wrap:before{
    right: 0;
    background: #0376C1;
}
.btn_submit-wrap:after{
    left: 0;
    background: #E60113;
}
.btn_submit-wrap .btn_submit{
    font-size: 2.2rem;
    text-align: center;
    display: block;
    width: 100%;
    min-height: 4.3em;
    padding: 1.6em 0;
    position: relative;
    border: none;
    color: #fff;
    overflow: hidden;
    z-index: 2;
    background: transparent;
    cursor: pointer;
}
.btn_submit-wrap .btn_submit input{
    background: none;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    z-index: 3;
    position: absolute;
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    color: #fff;
}

.btn_submit-wrap:hover{
    opacity: .7;
    transition: all .4s;
    top: 2px;
}

.btn_submit-wrap .btn_submit:before,
.btn_submit-wrap .btn_submit:after{
    content: "";
    width:0;
    height:0;
    border-style:solid;
    position: absolute;
    left: 0;
    z-index: 1;
}
.btn_submit-wrap .btn_submit:before {
    top: 0;
    border-width: 2.2em 9em 0 9em;
    border-color: #EB4A58 transparent transparent transparent;
}
.btn_submit-wrap .btn_submit:after {
    border-width: 0 9em 2.2em 9em;
    bottom: 0;
    border-color: transparent transparent #3992CC transparent;
}

.btn_submit-wrap .btn_submit .btn{
    position: relative;
    z-index: 3;
}

.btn_back{
    text-align: center;
}

.graduation_box.wrap-flex_box {
    justify-content: flex-start;
}


/* form error custom */
.formError{
    position: relative !important;
    top: inherit !important;
    left: inherit !important;
}

.formError .formErrorContent {
    width: 100%;
    background: none;
    position: relative;
    color: #f00;
    min-width: inherit;
    font-size: 11px;
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: unset;
}

.formError .formErrorArrowBottom div{
    display: none;
}

.accept_box .formError .formErrorContent{
    text-align: center;
}

.nav-link{
    text-decoration: underline;
}
.nav-open{
    display: none;
}
.nav-open {
    border: 1px solid #c3c3c3;
    margin: 1em auto;
    padding: 1em;
    background: #fff;
}
.entry_form-wrap .nav-open p, .entry_form-wrap .nav-open li {
    margin: 0 0 1em;
    font-size: 1.2rem;
    line-height: 1.6;
}
.entry_form-wrap .nav-open li {
    padding: 0 0 0 0.7em;
    text-indent: -0.7em;
}
.entry_form-wrap .nav-open .corp_box {
    border: 1px solid #ccc;
    padding: 1em;
    margin: 1em auto 2em;
    font-size: 1.1rem;
    text-indent: 0;
}
@media only screen and (min-width: 641px){
    .remodal {
        max-width: 100%;
    }
}
.remodal-overlay {
    z-index: 10000;
    background: #f5f5f5 url(../images/bg_01@2x.png) no-repeat 49% 48.5%;
    background-size: 80vw auto;
}
.remodal-close{
    left: inherit;
    right: 0;
    z-index: 100;
}
.remodal{
    background: transparent;
}
.message_ttl{
    font-weight: 600;
    line-height: 1.75;
    font-size: min(4.07vw,1.6rem);
    text-align: center;
    color: #E60213;
    font-family: 'Michroma', sans-serif;
    margin-bottom: 20px;
    position: relative;
    display: block;
}
.message_ttl:before {
    content: '';
    background: #E60213;
    width: 1px;
    height: 27px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -30px;
}
.pp_box{
    position: relative;
    max-width: 1014px;
    margin: 0 auto;
}

.pp_box .box_inner{
    background: #fff;
    width: 100%;
    margin: 5% auto 10px;
    position: relative;
    text-align: left;
    padding: 7.5%;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);

}
.remodal-close:before{
    font-size: 40px;
}
.title_pp {
    font-size: 3.4rem;
    line-height: 1.4;
}
.pp_box .acc_list .ttl {
    font-size: 2.2rem;
    font-weight: 600;
    padding-left: 1em;
    position: relative;
    display: block;
    text-indent: -1em;
}
.pp_box .acc_list .ttl:before {
    content: '●';
    color: #E60113;
    position: absolute;
    left: 0;
    top: 0.5em;
    font-size: 1.4rem;
}
.pp_box .acc_list li{
    font-size: 1.9rem;
    margin:0 0 2.5em;
    padding: 0 0 0 1em;
}
.pp_box .acc_list li p{
    margin: 2.5em auto;
}
.entry_form-wrap dl dd .select-wrap input {
    width: 80%;
    max-width: 200px;
}
/*PC Layout
===================================*/
@media screen and (min-width: 769px) {
	
	/* etnry form ----------------------------- */
    
    .sec-entry_form .top_txt .large {
        font-size: clamp(1.3rem, 1vw, 19px);
        }

	.entry_form-wrap dl dt,
	.entry_form-wrap dl dd{
        margin: 0 0 1em;
        font-size: 2.2rem;
        font-size: min(1.15vw,2.2rem);
    }

	.entry_form-wrap dl dt{
        width: 26%;
        font-weight: 600;
        padding: 0 0 0 0.8em;
    }

	.entry_form-wrap dl dd {
        width: 70.5%;
        padding: .1em 1.6em 0 0;
    }

	.entry_form-wrap dl dd p {
        margin: .05em 0 .3em 1.85em;;
        line-height: 1.3;
    }

	.entry_form-wrap dl dd input[type="text"],
    .entry_form-wrap dl dd input[type="email"],
	.entry_form-wrap dl dd input[type="tel"],
	.entry_form-wrap dl dd select,
	.entry_form-wrap dl dd textarea{
        padding: 1.1em 2em 1.2em;
    }

	.entry_form-wrap dl dd textarea{
        min-height: 23em;
    }

	.entry_form-wrap dl dd.min-h textarea{
        min-height: 12em;
    }

	.entry_form-wrap dl dd select{
        width: 8em;
        padding: 1.1em 1.5em 1.2em;
    }
	.entry_form-wrap dl dd .btn-wrap{
        margin: .3em 0 0 1.85em;
    }
	.entry_form-wrap dl dd label{
        display: inline-block;
    }

    /*
	.entry_form-wrap dl dd input[type="radio"] {
        zoom: 2.2;
        margin: .1em .3em .2em 0;
    }
    */

    /*
    .entry_form-wrap dl dd input[type="radio"]:checked:before {
        top: calc(50% - 3px);
        left: calc(50% - 3px);
        width: 6px;
        height: 6px;
    }

    .entry_form-wrap dl dd input[type="radio"] {
        width: 12px;
        height: 12px;
    }*/

	.entry_form-wrap dl dd .addres-wrap li{
        width: 47.5%;
        margin: 0 0 1.2em;
    }

	.entry_form-wrap dl dd .addres-wrap li:last-child{
        width: 100%;
    }

	.entry_form-wrap dl dd .select-wrap{
        width: auto;
    }

	.entry_form-wrap dl dd .graduation_box{
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: center;
    }

	.entry_form-wrap dl dd .graduation_box label span{
        vertical-align: bottom;
        margin: 0 0 0 0.2em;
    }

	.entry_form-wrap dl dd .addres-wrap{
    }

    .message_ttl{
        font-size: min(1.15vw,2.2rem);
        /* font-size: min(1.35vw,1.7rem); */
        line-height: 1.8;
    }
}
/*SP Layout
===================================*/
@media screen and (max-width: 768px) {
	
	/*  entry form ----------------------------- */
    
    .sec-entry_form {
        padding: 13.5% 0 11%;
    }

    .sec-entry_form .top_txt p{
        font-size: min(2.85vw,1.1rem);
        font-size: 1.4rem;
    }

    .sec-entry_form .top_txt .large {
        font-size: min(2.85vw,1.1rem);
        line-height: 1.6;
        margin: 0 0 2.1em;
        font-size: 1.4rem;
    }

    .entry_form-wrap {
        margin: 16% auto 0;
    }

    .entry_form-wrap dl dt, 
    .entry_form-wrap dl dd{
        font-size: min(3.04vw,1.2rem);
        margin: 0 0 1.3em;
        font-size: 1.4rem;
    }

    .entry_form-wrap dl dt{
        font-weight: 600;
        padding: 0 0 0 1.7em;
        margin: 0 0 .5em;
    }

    .sec-entry_form .entry_form-wrap .imp:before, .sec-entry_form .top_txt .circle {
        width: 1em;
        height: 1em;
        display: inline-block;
        margin: 0 .5em 0 0;
    }

    .entry_form-wrap dl .check_val_accept {
        padding: 1em 0 0 1.8em;
    }

    .entry_form-wrap dl dd input::placeholder,
    .entry_form-wrap dl dd textarea::placeholder{
        font-size: min(3.04vw,1.2rem);
    }

    .entry_form-wrap dl dd input[type="text"],
    .entry_form-wrap dl dd input[type="email"],
    .entry_form-wrap dl dd input[type="tel"],
    .entry_form-wrap dl dd select,
    .entry_form-wrap dl dd textarea{
        font-size: max(3.04vw,1.6rem);
    }
    
    .entry_form-wrap dl dd textarea {
        min-height: 24.8em;
    }

    .entry_form-wrap dl .min-h textarea {
        min-height: 13.8em;
    }

    .entry_form-wrap dl dd input[type="checkbox"] {
        width: 2.4em;
        height: 2.4em;
    }
    
    .entry_form-wrap dl dd input[type="checkbox"]:checked:before {
        top: 0.1em;
        left: 0.7em;
    }

    .entry_form-wrap dl dd .btn-wrap input[type="radio"] {
        margin: 2.5px 10px 2.5px 5px;
    }

    .entry_form-wrap dl dd select{
        padding: 1em 1.8em;
    }

    .entry_form-wrap dl dd .check_val{
        display: inline-block;
    }

    .entry_form-wrap dl dd .check_val select{
        padding: .8em 1em;
    }

	.entry_form-wrap dl dd .btn-wrap li{
        margin: 0 1em 0 0;
    }

    .sec-entry_form .entry_form-wrap .imp:before {
        top: calc(50% - .5em);
        left: 0;
    }
	.entry_form-wrap dl dd .btn-wrap{
        margin: 0 0 0 2em;
        justify-content: flex-start;
    }
    .btn_submit-wrap .btn_submit{
        padding: .65em 0;
        font-size: min(3.6vw,1.4rem);
        min-height: 2.9em;
    }
    .btn_submit-wrap {
        width: 42.5vw;
        max-width: 100%;
        margin: 13vw auto 7vw;
    }

    .btn_submit-wrap .btn_submit:before {
        border-width: 1.4em 21.25vw 0 21.25vw;
    }
    .btn_submit-wrap .btn_submit:after{
        border-width: 0 21.25vw 1.4em 21.25vw;
    }
    .entry_form-wrap dl dd .select-wrap input{
        margin-bottom: 10px;
    }
}


/* Layout customize
===================================*/
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 1750px) and (min-width: 769px) {
}
