.contents_ttl {
    font-size: 2.5rem;
	margin-bottom: 2rem;
}

form{
    padding: 70px 0 0;
	width: 600px;
	margin: 0 auto;
}
.confirm form{
    padding: 70px 0 0;
	width: 100%;
}

form h1 {
    letter-spacing: 2px;
    margin: 0 0 15px;
    font-size: 22px;
    font-weight: bold;
    color: #333333;
}

form label{
	display: block;
    width: 600px;
    font-size: 16px;
	margin: 0 auto;
	margin-bottom: 5px;
    /*padding: 7px 0 0 90px;*/
	font-weight: bold;
}

form label span{
    border: 1px solid #ff6464;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    color: #ff6464;
    font-weight: bold;
    font-size: 10px;
    margin-left: 15px;
    padding: 2px 5px;
	position: relative;
    top: -2px;
}

button {
    display: block;
    margin: 20px auto 0;
    padding: 10px 13px 11px;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
    letter-spacing: 3px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    color: #fff;
    border: 1px solid #24b6ff;
    background: #24b6ff;
    min-width: 235px;
    height: 60px;
	width: 94%;
    border-radius: 6px;
	margin-top: 3rem;
	margin-bottom: 3rem;
	font-family: 'GenJyuuB', 'Lucida Grande', Arial, 'Hiragino Kaku Gothic Pro', Meiryo, 'メイリオ', sans-serif;
}
.confirm button {
	width: auto;
}

button:hover{
    /*color: #24b6ff;
    border: 1px solid #24b6ff;
    background: #fff;*/
	opacity: 0.7;
	transition: 0.5s;
}


form > div > div {
    padding: 0 20px 35px;
}
.confirm form > div > div {
    padding: 0 125px 35px;
}
.confirm .confirm-date p {
    display: inline-block;
	width: 22%;
}

form > div > div:before, form > div > div:after {
    display: table;
    content: " ";
    clear: both;
}
form > div input[type=text], form > div input[type=email], form > div textarea, form > div select {
    display: block;
    width: 100%;
    height: 38px;
    padding: 12px;
    font-size: 14px;
    color: #555;
    border: 0;
    background-color: #dbf4ff;
	border-radius: 6px;
	margin: 0 auto;
}
:focus {
    outline: none;
}
form > div input[type=text]:focus, form > div input[type=email]:focus, form > div textarea:focus {
    border: 3px solid #9fdbf5;
}
form > div textarea {
    min-height: 140px;
}
input[type=radio] {
    margin: 12px 6px 0 0;
    cursor: pointer;
}
input[type="radio"]:last-child {
    margin-left: 40px;
}
.radio_el label {
	width: 290px;
    display: inline-block;
}


body > div > a > button {
    margin-left: 0;
    margin: 0 auto;
    display: block;
}
a + button {
    margin-left: 20px
}
a {
    text-decoration: none;
}
a:focus, a:hover {
    outline: none;
    text-decoration: none;
}
input::-webkit-input-placeholder {
    color: #6dc4ef;
}
textarea::-webkit-input-placeholder {
    color: #6dc4ef;
}
input[type=button] + button {
    display: inline-block;
}
input + div, select + div, textarea + div {
    width: 100%;
}
.btn_area{
    text-align: center;
}
.button_fix{
    margin: 20px 25px 0 0;
    padding: 10px 13px 11px;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
    letter-spacing: 3px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    color: #000;
    border: 1px solid #d8d8d8;
    background: #d8d8d8;
    min-width: 235px;
    height: 60px;
	border-radius: 6px;
    margin-top: 3rem;
    margin-bottom: 3rem;
}
.button_fix:hover{
    color: #7c7c7c;
    background: #fff;
}

.radio_el{
    margin: 0;
}
.radio_el dd{
    padding: 11px 0;
}
.radio_el label{
    padding: 7px 0 0px 0px;
}
.radio_el label.form-check-label{
    padding: 0;
    float: none;
    font-size: 15px;
}
.radio_el input{
    margin: 0 6px 0 0!important;
}
.form-check{
    padding: 5px 0 5px 0px;
}
.date_text{
    padding: 0 0 35px 20px;
}
.error {
    color: red;
    display: inline-block;
    margin-left: 0px;
}
.radio_el section {
	background: #F3F6F7;
	border-radius: 5px;
	padding: 2rem;
}
.date_s {font-weight: bold; font-size:16px;}
p.date_s {padding-bottom: 20px;}
div.date_s {padding-bottom: 10px;}
.date_s label {color: #b4b4b4; font-size:14px; width: 18% !important;}
.date_s input {width: 30% !important;}
.date_s label, .date_s input, .date_s select {display:inline-block !important;font-family: 'GenJyuuB', 'Lucida Grande', Arial, 'Hiragino Kaku Gothic Pro', Meiryo, 'メイリオ', sans-serif;}
.date_s select {width: 20%;}
.date_s select {
    width: 20%;
    height: 38px;
    padding: 6px 3px;
    font-size: 14px;
    color: #555;
    border: 3px solid #cae7f4;
    background-color: #fff;
	border-radius: 6px;
	margin: 0 auto;
	margin-left: 1%;
}
.confirm form p {
	color: #a7a6a6;
    padding-bottom: 10px;
    border-bottom: 1px dashed #c3c3c3;
}
.confirm form .confirm-date p {border-bottom: none;}
.confirm-date.date2 label, .confirm-date.date3 label {
	border-top: 1px dashed #c3c3c3; 
	padding-top: 2.5rem;
}
.confirm-date {padding-bottom: 5px !important;}
.confirm-date.date3 div {
	border-top: 1px dashed #c3c3c3; 
	padding-top: 1rem;
	margin-top: 0.5rem;
}

/*------ 送信エラー時 メッセージ --------------------------------*/
.area_company .error,
.area_name .error,
.area_email .error,
.area_address .error,
.area_tel .error {
    position: absolute;
    width: auto;
    min-width: 560px;
}
.area_company .error::after,
.area_name .error::after,
.area_email .error::after,
.area_address .error::after,
.area_tel .error::after {
    position: absolute;
    background: #fff;
    content: '※入力内容に不備があります。';
    left: 0;
    width: 100%;
    max-width: 560px;
    text-align: center;
}
.area_company .error::after {
    top: 955px;
}
.area_name .error::after {
    top: 853px;
}
.area_email .error::after{
    top: 751px;
}
.area_address .error::after {
    top: 649px;
}
.area_tel .error::after {
    top: 547px;
}



@media ( max-width: 768px ) {
    form{
        padding: 45px 0 0;
		width: 100%;
    }

    form > div input[type=text], form > div input[type=email], form > div textarea, form > div select{
        max-width: 100%;
        height: 42px;
        font-size: 16px;
    }

    form > div > div{
        padding: 0 20px 30px;
    }

    form label{
        width: 100%;
        padding: 0 0 8px 4px;
		margin-bottom: -5px;
    }

    input + div, select + div, textarea + div{
        float: left;
        display: inline-block;
        max-width: 100%;
        padding: 4px 0 0 8px;
    }

    .radio_el label {
        padding: 0 0 15px;
		width: 270px;
    }
	.radio_el section {
		padding: 1rem;
		padding-bottom: 1.5rem;
	}

    .form-check{
        padding: 10px 0;
    }
    .date_text{
        padding: 0px 20px 30px;
    }
    .button_fix{
        margin: 50px 0 0;
        font-size: 18px;
		width: 88% !important;
    }
    button{
        font-size: 18px;
		width: 88% !important;
		padding: 0 30px;
		margin: 50px auto;
    }
    .error{
        margin-left: 0;
    }
	.contents_ttl {
		text-align: center;
		font-size: 35px;
		font-weight: 700;
		line-height: 1.3;
		margin-bottom: 3rem;
	}
	.date_s label {font-size: 13px; width: 19% !important; padding: 0;}
	.date_s input {font-size:13px; width: 47% !important;}
	.date_s select {width: 30% !important;}
	
	.confirm form{width: 95%;}
	.confirm form > div > div {
    padding: 0 25px 35px;
}
	.confirm .confirm-date p {
    width: 40%;
}
	.btn_area button {
		margin: 15px auto 80px;
    }
    
    /*------ 送信エラー時 メッセージ --------------------------------*/
    .area_company .error,
    .area_name .error,
    .area_email .error,
    .area_address .error,
    .area_tel .error {
        min-width: 230px;
    }
    .area_company .error::after {
        top: 960px;
    }
    .area_name .error::after {
        top: 862px;
    }
    .area_email .error::after{
        top: 763px;
    }
    .area_address .error::after {
        top: 664px;
    }
    .area_tel .error::after {
        top: 565px;
    }

}
