@charset "euc-jp";
/*

    申し込みフォーム用スタイル
   
*/

/* =================================================================


    レイアウト共通


================================================================== */

.w200 { width: 200px !important; }

.ie8 .holder-sml {
    width: 940px;
    margin: 0 auto;
}
.table { margin-bottom: 20px; }

.test-none {
	display: none;
}
.test-show {
	display: block!important;
}

body {
	visibility: visible !important;
	padding: 25px 0 0 0;
	font-size: 16px;
	background: none;
}

a { color: #04c; }


/* ----------------------------------------------------------
    幅、余白確保ボックス / .holder-*
------------------------------------------------------------- */

/* スマホ */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .holder-s,
    .holder-sm, 
    .holder-sl,
    .holder-sml {
        width: 93.75%;
        margin-left: auto;
        margin-right: auto;
    }
}
/* タブレット */
@media only screen and (min-width: 768px) and (max-width: 849px) {
    .holder-m,
    .holder-sm, 
    .holder-ml,
    .holder-sml {
        width: 94.79%;
        margin-left: auto;
        margin-right: auto;
    }
}
/* PC */
@media only screen and (min-width: 850px) {
    .holder-l,
    .holder-sl, 
    .holder-ml,
    .holder-sml {
        width: 850px;
        margin-left: auto;
        margin-right: auto;
    }
}


.order { }

.order_body {
	width: 850px;
	margin: 0 auto;
}

.order_header {
    margin-bottom: 10px;
    text-align: center;
}
.order_header > p {
    margin-top: 30px;
}
.order_ttl {
    text-align: center;
    font-weight: bold;
    padding: 0 10px 20px;
}
.order_logo-txt {
    display: inline-block;
    position: relative;
    top: .3em;
    margin-left: 10px;
    font-size: 1.25rem;
    font-weight: bold;
    color: #4a67a8;
}

.order_logo img {
    position: relative;
    top:2px;
}

.order_msg {
    margin: 0 80px 40px 80px;
    padding: 15px;
    font-size: 14px;
    background: #fff url(../img/common/bg_grid_small.png);
    border: none;
}
.order_msg .msg_ttl {
    margin: 0 0 10px;
    color: #32699c;
    font-size: 16px;
    font-weight: bold;
}

.order_link {
    margin-bottom: 40px;
    text-align: center;
}

.order_footer {
    border-top: 1px solid #aeaeae;
    font-size: 12px;
    margin: 80px 0 10px;
    padding-top: 10px;
    text-align: center;
    width: 100%;
}
.order_footer > p { margin-bottom: 0; }
.order_footer small { font-size: 12px; }

/* Tab + SP */
@media only screen and (min-width: 0) and (max-width: 849px) {
    .order_ttl {
        padding: 0 10px 10px;
    }
    .order_body { 
    	width: auto;
    	margin: 0 auto;
   	}
    .order_msg {
        margin: 0 10px 20px 10px;
        padding: 15px;
    }
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	.order_logo img {
        width: 48%;
        display: block;
        margin: 0 auto;
        padding-bottom:3px;
    }
	.order_logo-txt {
        font-size: .85rem;
        margin-left: 0;
    }
}

/* ----------------------------------------------------------
    分岐ボタン / .branch
------------------------------------------------------------- */

.branch_wrapper {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: stretch;
}

.branch {
    padding: 30px;
}

.branch_left {
    background: #fefaef;
    width: 50%;
    margin: 10px;
}
.branch_right {
    background: #f3f3f5;
    width: 50%;
    margin: 10px;
}

.branch_new-ttl,
.branch_login-ttl {
    text-align: center;
    font-size: 17px;
    line-height: 1.4;
    margin-bottom: 20px;
    padding-bottom: 5px;
}

.branch_left .branch_new-ttl {
    border-bottom: solid 1px #fdf0ce;
    margin-bottom: 100px;
}
.branch_left .branch_new-ttl.cp_on {
    margin-bottom: 70px;
}
.branch_right .branch_login-ttl {
    border-bottom: solid 1px #d1d1d5;
}

.branch_cptxt {
    display: inline-block;
    margin: 0 0 5px;
    font-weight: bold;
    text-align: center;
    color: #22335a;
    font-size: 14px;
}

.branch_btn {
    display: block;
    margin: 0 auto;
    font-weight: bold;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none!important;
    text-align: center;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.3);
    transition: .3s;
    cursor: pointer;
}

.btn_new {
    padding: 20px 0;
    background-color: #f9cc5b;
    color: #22335a;
}

.btn_login {
    width: 100%;
    padding: 20px 0;
    background-color: #4a67a8;
    color: #fff;
    border: none;
}

.btn_new:hover {
    box-shadow:0 0 2px 0 rgba(0,0,0,0.2);
    opacity: 0.6;
    transition: .3s;
    color: #22335a;
}

.btn_login:hover {
    box-shadow:0 0 2px 0 rgba(0,0,0,0.2);
    opacity: 0.6;
    transition: .3s;
    color: #fff;
}

.branch_input_form {
    width: 90%;
    border: solid 1px #999!important;
    border-radius: 2px!important;
    padding: 14px 5%!important;
    background: #fff!important;
    font-size: 15px;
    line-height: 1;
}

.btn--loading.isLoading {
    pointer-events: none;
    transition: 0s;
}
.btn--loading.isLoading.btn_new {
    background: #f9cc5b url(../xdrive/img/ico_loading_pri.gif) no-repeat center !important;
    color: rgba(34,51,90,.1) !important;
}
.btn--loading.isLoading.btn_login {
    background: #4a67a8 url(../xdrive/img/ico_loading_sec.gif) no-repeat center !important;
    color: rgba(255,255,255,.1) !important;
}

/* placeholder */
:placeholder-shown {
    font-size:15px;
    color: #aaa;
    vertical-align: middle;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
    font-size:15px;
    color: #aaa; }

/* Firefox 18- */
:-moz-placeholder {
    font-size:15px;
    color: #aaa; opacity: 1; }

/* Firefox 19+ */
::-moz-placeholder {
    color: #aaa; opacity: 1;
    font-size:15px;
}

/* IE 10+ */
:-ms-input-placeholder {
    color: #aaa;
    font-size:15px;
}

/* Tab + SP */
@media only screen and (min-width: 0) and (max-width: 849px) {

}

/* タブレット */
@media only screen and (min-width: 768px) and (max-width: 969px) {
    .branch {
        padding: 20px;
    }
    .branch_new-ttl, .branch_login-ttl {
        font-size: 15px;
    }
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {

    .branch_wrapper {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .branch {
        margin-top: 0;
        padding: 20px 5% 25px;
    }

    .branch_left .branch_new-ttl {
        margin-bottom: 40px;
    }
    .branch_left .branch_new-ttl.cp_on {
        margin-bottom: 20px;
    }

    .branch_left {
        width: 90%;
        margin: 0 0 10px;
    }
    .branch_right {
        width: 90%;
        margin: 0;
    }

}

/* ----------------------------------------------------------
   申し込み / .order
------------------------------------------------------------- */

.order_sub-ttl {
	margin-bottom: 10px;
    font-size: 20px;
    font-weight: normal;
    color: #4a67a8;
}
.order_inner {
	margin: 0 0 40px 0;
}

/* ----------------------------------------------------------
    申し込みフロー
------------------------------------------------------------- */

.order_flow {
    margin: 0 0 40px 0;
    text-align: center;
}
.order_flow li {
    display: inline-block;
    margin-right: 7px;
    padding: 0 35px 18px 35px;
    line-height: 1;
    color: #666;
    border-bottom: 2px solid #ccc;
}
.order_flow li:last-child { margin-right: 0; }
.order_flow .is-current {
    color: #4a67a8;
    border-bottom: 2px solid #4a67a8;
}
.order_flow li .order_flow_num {
    padding-right: 5px;
}
.order_flow li .order_flow_num:after {
    content:".";
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	.order_flow {
		margin: 0 0 20px 0;
	}
	.order_flow li {
		display: inline-block;
		width: 10em;
		margin: 0 7px 7px 0 ;
		padding: 0 15px 10px 15px;
		line-height: 1;
		color: #666;
		border-bottom: 2px solid #ccc;
	}
}

/* ----------------------------------------------------------
    サイトシール / .ssl
------------------------------------------------------------- */
.ssl {
    width: 500px;
    margin: 0 auto;
}
.ssl_siteseal {
    width: 115px;
    height: 82px;
}
.ssl .media_body { 
    overflow: hidden;
    padding-top: 20px;
}


/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	.ssl { 
		width: auto;
		margin-bottom: 15px;
	}
    .ssl_siteseal { width: auto; }
    .ssl .media_body { padding-top: 0; }
}

/* ----------------------------------------------------------
    フォームテーブル / .form-table 
------------------------------------------------------------- */
.form-table { 
	margin-bottom: 15px;
	font-size: 14px;
}

.form-table th { width: 30%; }
.form-table td { 
    background-color: #fff;
    padding:15px !important; 
}

.form-table_name {
    float: left;
    display: block;
    width: 81%;
}
.form-table_icon {
    float: right;
    display: block;
    padding: 2px 4px;
    background-color: #222;
    color: #fff;
    font-size: 80%;
}

/* 必須項目 */
.no-js .form-table_icon_js { display: none !important; }
.form-table_icon_no-js { display: none !important; }
.no-js .form-table_icon_no-js { display: block !important; }


.form-table_required th .form-table_icon {
    float: right;
    display: block;
    padding: 3px 4px;
    background-color: #fa3636;
    color: #fff;
    font-size: 80%;
}
.form-table_required.is-success th .form-table_icon {
    float: right;
    padding: 2px 3px;
    background: #fff !important;
    border: 1px solid #2ecc71 !important;
    color: #2ecc71 !important;
    font-size: 80%;
    font-weight: bold;
}
.form-table_required.is-success th {
    background: #dff2e7 !important;
    color: #222 !important;
}
.form-table_required th {
    background: #ffdfdf !important;
    color: #fa3636 !important;
}
.ie8 .form-table_required th { width: 30%; }

.form-table input.is-success {
    background: #dff2e7;
    border: 1px solid #2ecc71;
}
.form-table select.is-success {
    background: #fff;
    border: 1px solid #ddd;
}
.form_message_list .success {
    padding: 0 0 0 18px;
    background: url(../img/common/ico_ok.png) 0 .3em no-repeat;
    color: #2ecc71;
}
.form-table .is-error {
    background: #ffdfdf;
    border: 1px solid #fa3636;
}
.form-table select.is-error {
    background: #fff;
    border: 1px solid #ddd;
}
.form_message_list .error {
    padding: 0 0 0 18px;
    background: url(../img/common/ico_error.png) 5px .2em no-repeat;
    color: #fa3636;
}
.valid-icon { display: none; }
.is-success + .valid-icon {
    display: inline-block;
    width: 26px;
    height: 26px;
    background: url(../img/common/ico_ok.png) 50% 50% no-repeat;
    vertical-align: middle;
}
.form_message_list .wait {
    display: inline-block;
    width: 16px;
    height: 16px;
    overflow: hidden;
    background: url(../img/common/spinner.gif) 0 0 no-repeat;
    text-indent: 100%;
}

.document {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 15px;
    background: #fff;
    line-height: 1.6;
}
.document:focus {
    outline: none;
    border: 1px solid #ddd;
}
.document { height: 300px; }
.privacy { margin: 0 0 20px; }
.privacy_ttl {
    margin-bottom: 5px;
    padding: 5px;
    background-color: #ddd;
    font-size: 16px;
    font-weight: bold;
}
.agree {
    margin: 30px 0;
    padding: 12px 15px;
    background-color: #f7f7f7;
    border: 1px solid #ccc;
}
.privacy_body { padding: 0 0 20px; }

/* Tab */
@media only screen and (min-width: 768px) and (max-width: 969px) {
	
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	.form-table th {
        position: relative;
        width: 100%;
    }
    .form-table input { margin-bottom: 5px; }
    .form-table_co { border-bottom: 1px solid #ccc; }
    .form-table_name {
        float: none;
        display: inline-block;
        width: 75%;
        font-size: 14px;
    }
    .form-table_icon {
        position: absolute;
        right: 10px;
        float: none;
        display: inline;
        padding: 3px 4px;
        background-color: #222;
        color: #fff;
        font-size: 80%;
    }
    .form-table_required th .form-table_icon {
        position: absolute;
        right: 10px;
        float: none;
        display: inline;
        padding: 3px 4px;
        background-color: #fa3636!important;
        color: #fff;
        font-size: 80%;
    }

}

/* ----------------------------------------------------------
    フォーム系パーツ
------------------------------------------------------------- */
.i-username {
    width: 200px;
    margin: 5px;
}
.i-domain {

    width: 200px;
    margin: 5px;
}

.i-shorter { width: 60px; }
.i-short { width: 150px; }
.i-middle { width: 300px; }
.i-long { width: 450px; }
.i-wrapper {
    display: inline-block;
    margin: 0 5px;
    padding: 10px 15px;
    background: #fff;
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
.i-wrapper input { margin-right: 5px; }
.i-wrapper.policy {
    background: #ffdfdf;
    border: 1px solid #fa3636;
}
.i-wrapper.is-error {
    background: #ffdfdf;
    border: 1px solid #fa3636;
}
.i-wrapper.is-selected {
    background: #dff2e7!important;
    border: 1px solid #2ecc71;
}
.form-table input[type=radio].is-success  {
    background: none;
    border: none;
}
.no-js .i-wrapper.policy {
    background: #fff;
    border: 1px solid #ccc;
}
.no-js .btn_xinfo_zip { display: none; }
.btn_xinfo_input.is-disabled {
    cursor: default;
    opacity: .3;
	filter: alpha(opacity=30);
}





/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	.i-short { width: 150px; }
    .i-middle { width: 200px; }
    .i-long { width: 200px; }
    
    .i-wrapper { margin: 3px; }

}



/* ----------------------------------------------------------
    プラン選択
------------------------------------------------------------- */
.planlist {
    margin:5px 0;
}

.planttl {
    font-weight:bold;
    padding:6px;
    border-radius: 2px;
    margin-bottom:10px;
}
/*
.planttl--std {background-color:#2366a6;}
.planttl--biz {background-color:#4a67a8;}
.planttl--bizex {background-color:#22335a;}*/


.planttl--std {background-color:#e9eff6; color:#2366a6;}
.planttl--biz {background-color:#edf0f6; color:#4a67a8;}
.planttl--bizex {background-color:#e8eaee; color:#22335a;}


.planlist li {
    display:inline-block;
    margin-bottom:20px;
}

.planlist .i-wrapper {
    font-weight:bold;
    width:210px;
    padding:20px 10px 20px 15px;
}

/*.planlist .planlist--std {
    color:#2366a6;
}
.planlist .planlist--biz {
    color:#4a67a8;
}
.planlist .planlist--bizex {
    color:#22335a;
}
*/


/* ----------------------------------------------------------
    各ボタン
------------------------------------------------------------- */

.btn {
    cursor: pointer;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 5px;
    padding: 6px 10px;
    border: none;
    font-size: 14px;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif;
    text-align: center;
    -webkit-transition-property: transform, background-color;
    -o-transition-property: transform, background-color;
    transition-property: transform, background-color;
    -webkit-transition-duration: .1s;
    -o-transition-duration: .1s;
    transition-duration: .1s;
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -webkit-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.2);
}
a.btn { text-decoration: none !important; }

.btn_xinfo_zip {
	background: #fff;
    border: 1px solid #4a67a8;
    color: #4a67a8 !important;
}

.btn_xinfo_input,
.btn_xinfo_rivision,
.btn_xinfo_sms {
	padding: 20px 60px;
	font-size: 16px;
	color: #333333;
	background: #f9cc5b;
	border: 1px solid #fff;
}

.btn_xinfo_conf {
	padding: 12px 28px;
	font-size: 16px;
	color: #222;
	background: #f0f0f0;
	border: 1px solid #fff;
}


/* ----------------------------------------------------------
    キャンペーン
------------------------------------------------------------- */
.xs_campaign-banner {
	display: none;
}
#form_campaign-banner {
	width: 550px;
    margin: 0 auto 30px;
    border: 1px solid #f7931e;
	position: relative;
}
.form_campaign-banner_header {
	    background: #f7931e;
}
#form_campaign-banner h3 {
    color: white;
    padding: 12px;
    margin-left: 60px;
    font-size: 15px;
}
.campaign-date {
	background: #ffce0a;
	font-size: 11px;
	padding: 5px;
	color: #333;
}
.form_campaign-banner_info p {
	font-size: 12px;
	padding: 7px;
	margin: 0 0 0 53px;
}
.form_campaign-banner_info p span {
	font-size: 11px;
}

.campaign-medal {
	position: absolute;
	top: 5px;
	left: 3px;
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	#form_campaign-banner {

		width: 90%;
		margin-bottom: 20px;
	}
	.dt_campaign-banner {
		display: none;
	}
	.xs_campaign-banner {
		display: block;
		max-width: 90%;
		margin: 0 auto;
	}
	.campaign-date {
		display: block;
		padding: 2px 3px;
		margin-top: 5px;
		text-align: center;
	}
	.form_campaign-banner_info p {
		margin: 0;
		text-align: center;
	}
	#form_campaign-banner h3 {
		margin-left: 0;
		text-align: center;
	}
	.campaign-medal {
		top: -15px;
		left: -13px;
	} 

}


/* ----------------------------------------------------------
    完了画面
------------------------------------------------------------- */

.doBox {
    margin-bottom:40px;
    position:relative;
}


.doBox__first {
    background-color: #edf0f6;
}

.doBox__second {
    border:2px solid #edf0f6;
}

.doBox__second .doBox__child--body {
    border-left:2px solid #edf0f6;
    margin-left:200px;
}

.doBox__child--head {
    float:left;
    padding:20px 20px 14px 20px;
    width:160px;
    text-align:center;
}

.doBox__child--head span {
    font-size:12px;
}

.doBox__child--body {
    padding:20px 20px 14px 20px;
}


.arrow:after {
    content: "";
    display: block;
    position: absolute;
    border-top:40px solid #4a67a8;
    border-left:60px solid transparent;
    border-right:60px solid transparent;
    left: calc((100% - 90px) / 2);
    top: 100%;
}

.expBox {
    border-left:4px solid #4a67a8;
    padding-left:1rem;
    margin-top:20px;
    margin-left:180px;
}

.checkList li {
    background: #edf0f6 url(../images/xdrive/i_check.png) 10px 14px no-repeat;
    border-radius:2px;
    padding:10px 10px 10px 34px;
    margin-bottom:6px;
}

.checkList li p {
    margin:0;
}
.manualLink {
    font-size:12px;
    font-weight:normal;
}

.btn--white {
    display:inline-block;
    padding:8px 12px 8px 16px;
    border:1px solid #ddd;
    position:relative;
    padding-left:1em;
    background:linear-gradient(to bottom, #fff, #ddd);
    border-radius: 2px;
}

.ico--arrow {
    padding-left:1em;
    display:block;
}

.ico--arrow:before {
    margin-left:1em;
    content: "";
    display: block;
    position: absolute;
    border-top:5px solid transparent;
    border-left:10px solid #4a67a8;
    border-bottom:5px solid transparent;
    border-bottom:5px solid transparent;
    top:16px;
    left:0;
}

.cpnBox{
     margin-bottom:5px;
     padding:20px 25px 10px 25px;
     font-size:14px;
     background-color: #f2f1ef;
 }

.cpnBox_title{
    color:#4a67a8;
    font-size:16px;
}


/* スマホ */
@media only screen and (min-width: 0) and (max-width: 767px) {

    .doBox__second .doBox__child--body {
        border-left:0;
        margin-left:0px;
    }
    .doBox__child--head {
        float: none;
        text-align:center;
        width:100%;
        padding:30px 0 0;
    }

    .expBox {
        border-left:0;
        padding-left:0rem;
        margin-top:20px;
        margin-left:0px;
    }

    .doBox__child--body {
        padding:30px 20px 24px 20px;
    }

    .checkList li {
        display:block;
    }

    .cpnBox{
        margin-bottom:5px;
        padding:20px 25px 10px 25px;
        font-size:14px;
        background-color: #f2f1ef;
    }
}

/*
.order_do-ttl{
    margin-bottom: 35px;
    font-size: 24px;
    font-weight: normal;
    text-align: center;
    color: #4a67a8;
}

.order_do_btn {
	padding: 20px 30px;
	font-size: 16px;
	color: #4a67a8;
	border: 1px solid #4a67a8;
}

!* SP *!
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	.order_do-ttl{
        margin-bottom: 20px;
        font-size: 20px;
    }

	.order_do_btn {
		padding: 15px 20px;
	}
	
}
*/

/* ----------------------------------------------------------
    ログイン画面
------------------------------------------------------------- */

.order_login {
	margin-bottom: 40px;
	padding: 40px 20px;
	text-align: center;
    border: 1px solid #4a67a8;
}

.order_login-ttl {
	margin-bottom: 10px;
	font-size: 24px;
	color: #4a67a8;
}

.order_login > dd {
	margin-bottom: 35px;
	font-size: 14px;
}
.order_login > dd:last-child {
	margin-bottom: 0px;
}
.order_login > dd > input {
	width: 350px;
	margin-bottom: 5px;
	font-size: 16px;
}

.btn_xinfo_login {
	padding: 20px 80px;
	font-size: 16px;
	color: #333333;
	background: #f9cc5b;
	border: 1px solid #fff;
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
	
	.order_login {
		margin-bottom: 20px;
		padding: 20px 10px;
	}

	.order_login-ttl { font-size: 18px; }
	.order_login > dd { margin-bottom: 20px; }

	.order_login > dd > input { width: 230px; }
	
}

/* ----------------------------------------------------------
    SMS認証関連
------------------------------------------------------------- */

.sms-form {
    max-width: 540px!important;
}

.sms-form .order_header , .sms-form .order_ttl {
    margin: 0 0 20px!important;
}

.flow-ttl {
    margin: 0 0 10px;
    background: #edf0f6;
    line-height: 1.2;
    font-size: 16px;
    font-weight: bold;
}

.flow-number {
    display: inline-block;
    padding: 18px 12px;
    margin: 0 8px 0 0;
    background: #4a67a8;
    font-size: 21px;
    color: #fff;
    text-align: center;
    line-height: 1px;
}

.flow_inner {
    margin: 20px 0 35px;
    text-align: center;
}

.sms_txt {
    padding: 5px 8px;
    height: 30px;
    max-width: 270px;
    border-radius: 3px;
    border: 1px solid #ccc;
    position: relative;
    top: -2px;
}

.sms_select {
    padding: 8px;
    max-width: 150px;
    border-radius: 3px;
    border: 1px solid #ccc;
}

.sms_radio {
    width: 200px;
    height: 20px;
    margin: 0 2px;
    padding: 10px 5px;
    border-radius: 3px;
    border: 1px solid #ccc;
    font-size: 11px;
    text-align: center;
}

.sms-form input.is-success , .sms-form select.is-success {
    background: #dff2e7;
    border: 1px solid #2ecc71;
}

.sms-form .error {
    margin: 10px 0;
    text-align: center;
}

.sms_send {
    padding: 15px;
}

.sms_back {
    background: #939393;/* Old Browsers */
    background: -moz-linear-gradient(top, #acacac 0, #a1a1a1 50%, #959595 51%, #939393 100%); /* FF3.6+ */
    background: -webkit-gradient(left top, left bottom, color-stop(0%, #acacac), color-stop(50%, #a1a1a1), color-stop(51%, #959595), color-stop(100%, #939393));/* Chrome, Safari4+ */
    background: -webkit-linear-gradient(top, #acacac 0, #a1a1a1 50%, #959595 51%, #939393 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #acacac 0, #a1a1a1 50%, #959595 51%, #939393 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #acacac 0, #a1a1a1 50%, #959595 51%, #939393 100%); /* IE 10+ */
    background: linear-gradient(to bottom, #acacac 0, #a1a1a1 50%, #959595 51%, #939393 100%);/* W3C */
    text-shadow: 0 -1px 0 #777;
}

.sms-sub-ttl {
    padding: 10px;
    background: #edf0f6;
    line-height: 1.2;
    font-size: 16px;
    font-weight: bold;
}

.code_anchor {
    border: none;
    background: none;
    text-decoration: underline;
    color: #333;
    cursor: pointer;
}

.sms-msg {
    margin: 10px auto 30px;
    max-width: 80%;
}

.sms_check {
    display: inline-block;
    padding: 5px 12px 5px 28px;
    margin-top: 30px;
    background: url(../img/common/ico_ok.png) 11px 50% no-repeat;
    font-size: 16px;
    font-weight: bold;
    color: #39cc74;
    border: 1px solid #39cc74;
}

/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    
    .sms-form .order_header , .sms-form .order_ttl {
        margin: 0 0 5px!important;
    }
	
	.flow-ttl {
        display: flex;
        margin: 0 0 10px;
        line-height: 1.2;
        font-size: 14px;
        font-weight: bold;
    }

    .flow-number {
        display: inline-block;
        padding: 14px 8px;
        margin: 0 8px 0 0;
        font-size: 18px;
        color: #fff;
        text-align: center;
        line-height: 1px;
    }
    
    .flow-txt {
        display: inline-block;
        padding: 8px 0;
    }
    
    .sms_select , .sms_radio {
        margin: 0 0 10px;
    }
    
    .sms-msg {
    margin: 10px auto 20px;
    max-width: 80%;
}
}

.campaignBnr {
    text-align: center;
}

.campaignBnr__forPC {
    margin-bottom: 35px;
}
/* SP */
@media only screen and (min-width: 0) and (max-width: 767px) {
    .campaignBnr__forPC {
        display: none;
    }

}

.campaignBnr__forPC img {
    max-width: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 999px) {
    .campaignBnr__forPC {
        margin: 0 auto 35px;
        max-width: 90%;
    }

}

.campaignBnr__forMobile {
    padding: .8rem 0;
    margin-bottom: 20px;
    background: #339c9c;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
}
/* PC + tab */
@media only screen and (min-width: 768px) {
    .campaignBnr__forMobile {
        display: none;
        font-size: 14px;
    }
}

.afterInfo {
    padding: 10px 8px;
    margin: 0 0 5px;
    border: 1px solid #ece3a6;
    background: #fffdef;
    position: relative;
    font-size: 12px;
    text-align: left!important;
}

.afterInfo::before {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin: 0 2px 0 0;
    background: url(../img/common/after_info_ico.png) 0 0 no-repeat;
    content: '';
    position: relative;
    top: 3px;
}

.color_red {
    color: #ff0000;
}

.campaignBnr__forPC .fukidashi{
    text-align: center;
    font-size: 14px;
    margin-bottom:5px;
    font-weight: bold;
}

.campaignBnr__forPC .fukidashi span{
    color:#e74c3c;
}
