@charset "UTF-8";

.container {
    background-color: rgb(240, 241, 240);
    padding-top: 20px;
    padding-bottom: 80px;
}

.step-block li {
    position: relative;
    display: inline-block;
    width: calc(99.3% / 3);
    padding: 10px 0 5px 35px;
    background-color: rgb(215, 216, 216);
    color: #000;
}

li.now-step {
    background-color: rgb(106, 107, 106);
    color: #fff;
}

li.step1:after,
li.step2:after {
    content: "";
    position: absolute;
    right: -20px;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 0 35px 20px;
    border-color: transparent transparent transparent rgb(215, 216, 216);
    z-index: 2;
}

li.now-step:after {
    border-color: transparent transparent transparent rgb(106, 107, 106);
}

li.step2:before,
li.step3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 35px 0 35px 20px;
    border-color: transparent transparent transparent #fff;
    z-index: 1;
}

.step1 p:first-child,
.step2 p:first-child,
.step3 p:first-child {
    margin: 0;
}

.step1 p:last-child,
.step2 p:last-child,
.step3 p:last-child {
    font-size: 18px;
    font-weight: bold;
}

.attention-block {
    margin: 30px 0;
}

.attention-block p {
    color: #ff0000;
}

.block-head {
    padding: 10px;
    background-color: rgb(44, 63, 82);
    border-left: solid 12px rgb(26, 44, 66);
    font-size: 18px;
    color: #fff;
}

span.required {
    padding: 0 10px;	
    background-color: #fff;
    color: red;
    font-size: 14px;
    font-weight: bold;
}

.plan-block label {
    margin: 60px auto 70px auto;
}

.plan-block label span {
    max-width: 100%;
}

.plan-block .plan-name {
    width: 488px;
    height: 80px;
    padding: 30px 0;
    background-color: rgb(44, 63, 82);
    color: #fff;
    text-align: center;
    vertical-align: middle;
    float: left;
}

.clearfix {
    clear: both;
}

.plan-block input[type=radio] {
    display: none;
}

.radio-button {
    width: 80px;
    height: 80px;
    display: inline-grid;
    position: relative;
    border: solid 12px #fff;
}

.plan-block input[type=radio]:checked + .radio-button:before {
    border-right: 5px solid black;
    border-bottom: 5px solid black;
    transform: rotate(45deg);
    content: '';
    height: 42px;
    left: 18px;
    width: 22px;
    position: absolute;
}

table {
    margin: 30px auto;
    background-color: #fff;
    border: solid 1px rgb(240, 241, 240);
}

.ui-datepicker-trigger {
    width: 30px;
}

.airframe-block span.required,
.user-block span.required {
    float: right;
}

.airframe-block th,
.user-block th {
    height: 80px;
    padding-left: 30px;
    padding-right: 30px;
    background-color: rgb(44, 63, 82);
    color: #fff;
}

td {
    padding: 20px;
}

input {
    height: 40px;
    background-color: rgb(233, 233, 232);
    border: none;
    padding: 10px;
}

.airframe-block input {
    width: 100%;
}

.user-block input {
    width: 50%;
}

.airframe-block input.year,
.airframe-block input.desired_year {
    width: 10%;
    text-align: center;
}

.airframe-block input.month,
.airframe-block input.date,
.airframe-block input.desired_month,
.airframe-block input.desired_date {
    width: 7%;
    text-align: center;
}

.airframe-block .not_buy {
    margin-top: 10px;
}

.airframe-block .not_buy > input {
    width: auto;
    height: auto;
}

.airframe-block img {
    max-width: 100%;
}

.airframe-block ol {
    padding-inline-start: 20px;
}

.airframe-block li.bought_other {
    list-style: decimal;
    padding-left: unset;
}

.airframe-block li.bought_other input {
    width: 100%;
    margin-bottom: 10px;
}

.airframe-block #add_btn {
    padding: 10px 15px;
    background-color: rgb(44, 63, 82);
    color: #fff;
    border-radius: 7px;
}

.airframe-block .what_sn {
    text-align: right;
}

.airframe-block input.total_fee {
    width: 50%;
}

.user-block .use_type {
    margin-right: 20px;
}

.user-block .use_type > input {
    width: auto;
    height: auto;
    margin-right: 5px;
}

.user-block .address-area div {
    margin-bottom: 10px;
}

.user-block .address-area div:last-child {
    margin-bottom: 0;
}

.user-block .address-area label {
    width: 20%;
}

.user-block .address-area input {
    width: 79%;
}

.user-block input.email {
    margin-bottom: 20px;
}

.agreement_check_area {
    background: #e6f2ff;
    text-align: center;
    padding: 0 50px;
}

.agreement_check_area span.required {
    display: table-cell;
    background-color: red;
    color: #fff;
    float: left;
    margin: 5px 0;
}

p.input_end_description {
    text-align: center;
    margin: 40px 0;
}

.privacy_description {
    display: inline-block;
    margin: 30px 0 40px 0;
}

.privacy-policy {
    margin-bottom: 40px;
    overflow-y: scroll;
    height: 180px;
    border: 1px solid #adadad;
    padding: 20px;
    background: #fff;
}

.agreement_check_area input {
    height: 13px;
    margin: 10px 0;
}

#agree_ok {
    position: relative;
    padding: 15px 80px 15px 100px;
    background: #ff6347;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    border-style: none;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
    border-radius: 7px;
    margin: auto;
    display: block;
    box-shadow: 2px 2px 1px rgba(0, 0, 0, 0.2);
}

#agree_ok:hover {
    background: #f34b2e;
}

button:focus {
	outline:0;
}

#agree_ok span:before {
    display: block;
    content: "";
    position: absolute;
    top: 47%;
    left: 19px;
    width: 20px;
    height: 20px;
    margin-top: -8px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    background: #fff;
}

#agree_ok span:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 27px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;
    border-left: 5px solid #ff6347;
}

#agree_ok span:hover:after {
    border-left: 5px solid #f34b2e;
}

.sp_br {
    display: none;
}

@media screen and (max-width: 1199px) {
    .step-block ul {
        display: flex;
    }

    li.step1:after,
    li.step2:after {
        right: -17px;
    }

    .plan-block label {
        margin: 10px auto;
        display: table;
    }

    .plan-block .plan-name {
        width: 316px;
    }

    .airframe-block th,
    .user-block th {
        padding-left: 10px;
        padding-right: 10px;
    }

    .sp_br {
        display: block;
    }
}

@media screen and (max-width: 767px) {
    table,
    table th[class*=col-] {
        width: 100%;
        height: auto;
    }

    table td[class*=col-],
    table th[class*=col-] {
        display: block;
    }

    .airframe-block th,
    .user-block th {
        padding: 10px 30px;
        height: 40px;
    }

    .airframe-block input.year,
    .airframe-block input.desired_year {
        width: 20%;
    }
    
    .airframe-block input.month,
    .airframe-block input.date,
    .airframe-block input.desired_month,
    .airframe-block input.desired_date {
        width: 14%;
    }
}

@media screen and (max-width: 550px) {
    .step-block p:first-child,
    .step-block p:last-child {
        font-size: 10px;
    }

    .step-block li {
        padding-left: 22px;
    }

    li.step1:after,
    li.step2:after,
    li.step2:before,
    li.step3:before {
        border-width: 18px 0 20px 20px;
        top: 7px;
    }

    .user-block .address-area label {
        width: 100%;
    }

    .user-block .address-area input,
    .user-block input {
        width: 100%;
    }
}

@media screen and (max-width: 425px) {
    .plan-block .plan-name {
        width: 210px;
        height: 60px;
        padding: 20px 0;
    }

    .radio-button {
        width: 60px;
        height: 60px;
        display: inline-grid;
    }

    .agreement_check_area {
        padding: 0 10px;
    }

    #agree_ok {
        padding: 15px 40px 15px 60px;
        font-size: 17px;
    }

    #agree_ok span:before {
        left: 13px;
    }

    #agree_ok span:after {
        left: 21px;
    }

    .circle {
        margin-right: 20px;
    }

    .plan-block input[type=radio]:checked + .radio-button:before {
        height: 28px;
        left: 10px;
        width: 18px;
    }
}

@media screen and (max-width: 359px) {
    .ui-datepicker-trigger {
        margin-top: 12px;
    }
}

#confirm input,
#confirm textarea {
    background-color: #fff;
    outline: 0;
}

#confirm .plan-block label {
    display: table;
    margin: 20px auto 10px auto;
}

#confirm .airframe-block input.total_fee {
    width: 30%;
}

#confirm .user-block input.email {
    margin-bottom: 0;
}

#confirm .confirm_btn {
    width: 100%;
    margin: 10px auto;
    display: flex;
}

#confirm .confirm_btn button.btn_send {
    color: #fff;
    background-color: #ff6347;
}

#confirm .confirm_btn button.btn_send:hover {
    background-color: #f34b2e;
}

#confirm .confirm_btn button.btn_back {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

#confirm .confirm_btn button.btn_back:hover {
    background-color: #ccc;
}

#confirm .confirm_btn button {
    height: 50px;
    margin: 30px 40px;
}

#confirm .none {
    display: none;
}

@media screen and (max-width: 767px) {
    #confirm .confirm_btn button {
        margin: 10px;
    }

    #confirm .airframe-block input.total_fee {
        width: auto;
    }
}

#complete span.glyphicon {
    width: 100%;
    margin-top: 50px;
    text-align: center;
    font-size: 60px;
}
#complete .thanks_area p {
    text-align: center;
    margin: 40px 0;
}

#complete .btn_top {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
    display: table;
    margin: 130px auto;
    padding: 15px;
}

#complete .btn_top:hover {
    background-color: #ccc;
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
    -webkit-appearance: none; 
    margin: 0; 
}

input[type="number"] { 
    -moz-appearance:textfield; 
}

#complete .auth-description {
	border: 5px solid rgb(54, 77, 100);
	border-radius: 50px;
	background-color: #fff;
	padding: 0 15px;
}
#complete .important-txt {
	color: rgb(54, 77, 100);
	font-size: 18px;
	font-weight: bold;
}
#complete .important-txt span {
	color:#fff;
	background: rgb(54, 77, 100);
	padding: 1px;
	margin-right: 3px;
}
#complete .red-txt {
	color: red;
	font-weight: bold;
	border-bottom: 2px solid red;
}
#complete p.step-title {
	display: flex;
	align-items: center;
	margin: 15px 0;
}
#complete .step-title::before,
#complete .step-title::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #333;
}
#complete .step-title::before {
	margin-right: 1em;
}
#complete .step-title::after {
	margin-left: 1em;
}
#complete .step-area {
	width: 100%;
	text-align: center;
}
#complete .auth-description .step-box img {
	float: left;
	width: 70px;
	margin: 10px;
}
#complete .auth-description .step-box:first-of-type {
	border: none;
}
#complete .auth-description .step-box {
	clear: both;
	display: inline-block;
	border-left: 2px dashed #ccc;
	padding: 20px 0;
	margin-bottom: 20px;
	width: 33%;
}
#complete .auth-description .step-box .important-txt {
	margin: 10px 0;
	font-size: 14px;
}
#complete .auth-description .step-box li {
	margin: 0;
	font-size: 12px;
	text-align: left;
}

@media screen and (max-width: 991px) {
	#complete p.step-title {
		border-top: 1px solid #333;
		padding-top: 20px;
		display: block;
	}
	#complete .step-title::before,
	#complete .step-title::after {
		display: none;
	}
	#complete .auth-description .step-box {
		border: none;
		width: 350px;
	}
	#complete .auth-description .step-box img {
		margin: 10px 10px 20px 0;
	}
}

@media screen and (max-width: 414px) {
	#complete .auth-description .step-box {
		width: 250px;
	}
	#complete .sp-br {
		display: none;
	}
}
