    @charset "utf-8";
    select{
        appearance: auto;
        -webkit-appearance:auto;
        font-size: 1.25rem;
        color: #373737;
        padding: 0.5em 1em;
        border: solid 0.1rem #CCCFDF;
        background-color: #fff;
        border-radius: 0.3rem;
    }
    #href .blue{
        color:#437dd3;
    }
    #href .blue:hover{
        color:#437dd3;
        text-decoration:underline;
    }
    #href{
        margin: 25px 0 20px 0;
    }
    textarea {
        width: 100%; 
        height: 200px; 
        font-size: 1.25rem;
        padding: 0.5em 1em;
        background-color: #fff;
        border-radius: 0.3rem;
        color: #373737;
        border: solid 0.1rem #CCCFDF;
        box-sizing:border-box;
    }

    .footerBottom{
        display: grid;
        min-height: 100vh;
        grid-template-rows: auto 1fr auto;
    }
    .headline{
        font-weight: bold;
        font-size: 2.5rem;
        text-align: center;
        margin: 5rem 0 5rem;
    }
    
	.fm_wrap{
		padding:2rem 10%;
	}
   
	.input_group{
		display: flex;
		flex-direction: column;
		margin-bottom: 1.3rem;
		font-size: 1rem;
	}
    input[type="text"], input[type="tel"], input[type="email"]{
        font-size: 1.25rem;
        padding: 0.5em 1em;
        background-color: #fff;
        border-radius: 0.3rem;
        color: #373737;
        border: solid 0.1rem #CCCFDF;
    }
    ::placeholder{
        font-size: 1.25rem;
        color: #b4b4b4;
    }
	input[type="radio"] {
		display: none;
	}
	input[type="radio"]:checked + .radio_box:before {
		background-color: #00125E;
	}
    
	.radio_box:before {
		content: "";
		display: inline-block;
		width: 1.2rem;
		height: 1.2rem;
		margin-right: 0.5rem;
		margin-bottom: -0.1rem;
		border: 1px solid #00125E;
		border-radius: 50%;
		padding: 1px;
		background-clip: content-box;
		cursor: pointer;
	}



    input[type="checkbox"] {
		display: none;
	}
	input[type="checkbox"]:checked + .checkbox:before {
		background-color: #00125E;
	}
    
	.checkbox:before {
		content: "";
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-right: 0.5rem;
		margin-bottom: -0.1rem;
		border: 1px solid #00125E;
		padding: 1px;
		background-clip: content-box;
		cursor: pointer;
	}

    

	.box_prchk {
		display: flex;
		flex-wrap: wrap;
	}
	.box_prchk .reason_detail {
		margin-left: 2rem;
		margin-top: 0;
		font-size: 1.2rem;
		line-height: 1.3;
	}
	.box_privacy {
		margin-top: 3rem;
	}
	.box_privacy .outer {
		margin-bottom: 0.5rem;
		overflow-y: scroll;
		border: solid .1rem #CCCFDF;
		font-size: 1.3rem;
		padding: 0 1rem 2rem;
		height: 20rem;
	}
	.box_privacy .outer {
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	} 
	.reason_detail {
		list-style: inside;
	}
	.Note{
		font-size: 1.3rem;
		margin-bottom: 1rem;
	}
	#title{
		font-size: 1.3rem;
	}
	#Profession{
		margin-bottom: 1rem;
	}
	#join_reason{
		margin-bottom: 2rem;
	}
	#mail{
		margin-top: 2.5rem;
	}
	#MAIL_ADDRESS_CHECK{
		margin-bottom: 1.5rem;
	}
	#errProfession,#errJoin_reason,#errInteresting,#errLocation,#errOffer{
		font-size: 1.3rem;
	}
	label {
		font-size: 1.3rem;
		margin-right: 1rem;
	}
    
	.box_check label {
		cursor: pointer;
		display: flex;
		align-items: center;
	}
	.box_check input{
		width: 1.3rem;
		height: 1.3rem;
		border: solid 0.1rem #00125E;
		outline: none;
		-webkit-appearance: none;
		appearance: none;
		display: flex;
		align-items: center;
		margin-right: 1rem;
		background-color:#FFF;
	}
	.box_check input:checked {
		background-color:#00125E;
	}
	.box_check input:checked::before {
		font-family: Material Icons;
		content: "\e876";
		font-size: 1.3rem;
		color: #FFF;
	}
    .box_check input:disabled {
        background-color: #DBE0E8;
    }

	#sm_form {
		cursor: unset;
        margin: 4rem 0 8rem;
	}
    #sm_form.sm_on{
        background-color: #00125E;
        color: #FFF;
        cursor: pointer;
	}
	#sm_form.sm_on:hover{
		background-color: #4D5A8F;
	}
	.txt_red{
			color:  #B10606;
	}
    address{
        background: #DDD;
        padding: 1.5em 2em;
        font-style: normal;
        text-align: center;
        line-height: 1.8;
        flex: 0 1 auto;
    }
    .fotter{
        margin-top: 100px;
    }

    #complete_fm{
        margin: 50px 0 100px 0;
    }
    .complete_title{
        font-size: 2.5rem;
        margin-bottom: 30px;
    } 

    header{
        height: 140px;
    }

	@media (min-width: 768px) {
        .all_wrap{
            width: 88rem;
            margin: 100px auto 0;
            padding: 0;
        }
        .box_privacy .outer {
            margin-bottom: 0.5rem;
            overflow-y: scroll;
            border: solid .1rem #CCCFDF;
            font-size: 1.3rem;
            padding: 0 1rem 2rem;
            height: 30rem;
        }
        header{
            height: 82px;
        }
	}
