@charset "UTF-8";
main{
	margin-bottom: 6em;
}
h1{
	color: #000;
    margin: 0;
    border-bottom: 1px solid #000;
    font-size: 1.5em;
}
h3{
	font-size: 1.25em;
	margin: 0.5em 0;
}
select{
    background-color: #FFF;
    color: #000;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.5em;
    max-width: 100%;
    margin: 0 0.5em 0.5em 0;
}
button, input, optgroup, select, textarea{
    line-height: 1.5;
}
.red{
	color: #BF0000;
}
.icon_window{
    padding-left: 0.25em;
    vertical-align: middle;
}
.link{
	list-style: none;
	padding-left: 1em;
}
.link > li::before{
	content: "";
    width: 1em;
    height: 1em;
    padding-right: 1em;
    background: url(/support/share/images/arrow_black.png) no-repeat center;
}
.link > li > a{
	color: #43677E;
}
.inner_link{
	margin: 0 0 2em;
}
div.link{
	padding: 0;
	margin: 1em 0;
}
div.link a{
	color: #43677E;
}
div.link::before{
	content: "";
    width: 1em;
    height: 1em;
    padding-right: 1em;
    background: url(/support/share/images/arrow_black.png) no-repeat center;
}
a.link_in{
	color: #43677E;
    padding-right: 0.25em;
}
a.link_in::before{
	content: "";
    width: 1em;
    height: 1em;
    padding-right: 1em;
    background: url(/support/share/images/arrow_black.png) no-repeat center;
}
.hide{
	display: none!important;
}
@media screen and (max-width: 640px){
    .s5-container{
        padding: 0 0.5em;
    }
}
.border_box{
    border: 1px solid #000;
    padding: 1em;
    display: block;
}
.gray_box{
    padding: 1em;
    display: inline-block;
    background: #e9e9e9;
    border-radius: 8px;
    color: #000;
}
/*********************
    手順
*********************/
.lead{
    margin-bottom: 3em;
}
.lead .note{
    border: 1px solid #000;
    padding: 1em;
    display: block;
    margin: 2em 0;
}
.lead .note dt{
    font-weight: bold;
    margin-bottom: 0.5em;
}
.lead .note dd{
    margin: 0;
}
.procedure{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin-bottom: 3em;
    padding: 0;
    list-style: none;
    counter-reset: li_count;
}
.procedure > li{
    text-align: center;
    width: 150px;
    position: relative;
    font-weight: bold;
}
.procedure > li:not(:last-child){
    margin-right: 1em;
}
.procedure > li::before{
    counter-increment: li_count;
    content: counter(li_count);
    background-color: #28282d;
    color: #FFF;
    border-radius: 50%;
    width: 2.25em;
    padding-top: 0.25em;
    height: 2em;
    display: block;
    margin: 0 auto 0.5em;
}
.procedure > li:not(:last-child)::after{
    content: url("/support/xperia-sp/repair/images/icon_dot.png");
    position: absolute;
    top: 0.5em;
    left: 85%;
}
@media (max-width: 640px) {
    .procedure{
        display: block;
    }
    .procedure > li{
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        width: 100%;
        align-items: center;
    }
    .procedure > li::before{
        margin: 1em;
    }
    .procedure > li:not(:last-child)::after{
        content: url("/support/xperia-sp/repair/images/icon_dot_v.png");
        position: absolute;
        top: 3.5em;
        left: 1.75em;
    }
}
/*********************
    STEP
*********************/
.step{
    position: relative;
    padding-bottom: 5em;
}
.step:not(.current)::before{
    content: "";
    position: absolute;
    height: 100%;
    width: 0.0625em;
    /* 直線 */
    /*background: #000;*/
    /* ドット柄 */
    border-left: 1px dotted #28282d;
    left: 2em;
    z-index: -1;
}
.step .cnt{
    padding-left: 4.5em;
}
@media (max-width: 640px) {
    .step:not(.current)::before{
        left: 1.5em;
    }
    /*デフォルト*/
    /*
    .step .cnt{
        padding-left: 3.5em;
    }
    */
    /*移動*/
    .step .cnt{
        padding-left: 0.5em;
        transition: 0.5s ease-out;
    }
    .step:not(.current) .cnt{
        padding-left: 3.5em;
    }
    /*線無*/
    /*
    .step:not(.current)::before{
        border: none;
    }
    .step .cnt{
        padding-left: 0.5em;
    }
    */
}
/*********************
    STEP 見出し
*********************/
.title{
    display: table;
    font-size: 1.25em;
    margin: 0;
}
.title > .left{
    background-color: #28282d;
    color: #FFF;
    border-radius: 50%;
    display: table-cell;
    vertical-align: middle;
    height: 3em;
    font-size: 0.85em;
    text-align: center;
    line-height: 1;
    padding: 0.25em 0.5em;
}
.title > .left > span{
    display: block;
}
.title > .right{
    display: table-cell;
    vertical-align: middle;
    padding-left: 0.5em;
}
@media (max-width: 640px) {
    .title{
        font-size: 1em;
    }
}
/***************************
	STEP1
***************************/
#step1 .gray_box ul li{
	margin-bottom: 0.5em;
}
/***************************
	STEP2
***************************/
#symptom_reference .answer {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    padding: 0;
}
/***************************
	STEP3
***************************/
#repairable_result{
    margin: 2em 0;
}
#repairable_result .next{
    margin: 3em 0;
}
#repairable_result dl{
    margin: 1em 0;
}
#repairable_result dl div{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin-bottom: 1em;
}
#repairable_result dl div dt::after{
    content: "：";
}
#repairable_result dl div dd{
    margin: 0;
}

/***************************
	STEP4
***************************/
#step4 .note > p:first-child{
    margin-top: 0;
}
#step4 .note > ul{
    list-style: none;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin-bottom: 0;
}
#step4 .note > ul > li {
    margin: 0 0.5em 0.5em 0;
    max-width: 250px;
    width: 100%;
}
#step4 .note > dl > dt{
    font-weight: bold;
}
#step4 .note > dl > dd{
    margin:  0 0 1em 0;
}
/***************************
	STEP4 修理目安料金テーブル
***************************/
#repair_fee .result{
    margin: 0 0 3em;
}
#repair_fee table{
	margin: 0 0 2em;
	width: 100%;
}
#repair_fee table th,
#repair_fee table td{
	border: 1px solid #ccc;
	padding: 1em 0.5em;
}
#repair_fee table th{
	background-color: #EFF1F5;
	text-align: left;
}
#repair_fee table td ul{
    padding-left: 1.5em;
}
@media (max-width: 640px) {
	#repair_fee table th{
		width: 30%;
	}
}
/* add 2023 Oct */
#repair_fee .result table td .strongRed {
	font-weight: bold;
	color: #c93434 !important;
}

/***************************
	STEP5 question
***************************/
#question{
	margin-bottom: 3em;
}
#question ol{
    padding-left: 1.5em;
    margin: 1em 0 2em;
}
#question ol > li{
	margin-bottom: 2em;
}
#question ol > li ul{
    list-style: disc;
    padding-left: 1.5em;
    margin: 1em 0;
}
#question ol > li ul.link{
    list-style: none;
    padding-left: 0;
}
@media (max-width: 640px) {
	#question > ol{
		padding-left: 1.5em;
		margin-right: 0.5em;
	}
}
#question label{
	display: block;
	margin-bottom: 0.5em;
}
#question select{
	border: 1px solid #ccc;
	padding: 0.5em;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0.5em 0.5em 0;
    background-color: #FFF;
    border-radius: 2px;
}
#question textarea{
	display: block;
	box-sizing: border-box;
	background-color: #FFF;
	height: 125px;
	width: 100%;
	padding: 0.5em;
    border: 1px solid #ccc;
    border-radius: 2px;
}
#question input[type="checkbox"]{
	margin-right: 0.5em;
}

#question .border_box{
	max-width: 100%;
}

#request .agree{
	margin: 1em 0;
	text-align: center;
}
#request.border_box{
	max-width: 100%;
}

/* add 2023 Oct */
/* 最終同意チェックボックス */
.agree_last {
	text-align: left !important;
	font-size: 1.2em;
	margin: 10px 10px 30px 40px !important;
}
.agree_last input[type=checkbox] {
	transform: scale(3);
}
.agree_last label {
	display: flex;
	align-items: center;
	justify-content: center;
}
.agree_last p {
	line-height: 1.5em;
	margin: 0 0 0 30px;
	font-weight: bold;
}

/***************************
	STEP5 pickupText
***************************/
#pickupText{
	text-align: center;
	margin-top: 2em;
}
/***************************
	STEP5 inWarranty
***************************/
#inWarranty{
    margin-bottom: 3em;
}
#inWarranty > ul{
	padding-left: 1.5em;
}

#inWarranty > ul > li{
	margin-bottom: 1em;
}
#inWarranty .agree{
	margin: 3em 0;
	text-align: center;
}

/* add 2023 Oct */
#inWarranty > ul > li:nth-child(3) {
	display: none !important;
}

/***************************
	STEP5 mynaportal
***************************/
#mynaportal{
	margin-bottom: 3em;
}
/***************************
	ボタン
***************************/
.btn_submit{
	background-color: #28282d;
	color: #FFF;
	border: none;
	border-radius: 4px;
	padding: 0.5em;
	min-width: 80px;
    line-height: 1.5;
}
.btn_submit:hover,
.btn_submit:focus{
	opacity: 0.8;
}
.btn_link_w{
	display: block;
	padding: 0.5em;
	margin: 1em auto 2em;
	border: 1px solid #28282d;
	border-radius: 4px;
	background-color: #FFF;
	color: #000;
	width: 100%;
	max-width: 200px;
	text-align: center;
}
.btn_link_w::before{
	content: "";
    width: 1em;
    height: 1em;
    padding-right: 1em;
    background: url(/support/share/images/arrow_black.png) no-repeat center;
}
.btn_link_w:hover,
.btn_link_w:focus{
	opacity: 0.8;
	text-decoration: none;
}
.btn_link{
	background-color: #28282d;
    display: block;
    color: #FFF;
    border: none;
    padding: 1em 2em;
    margin: 1em 0;
    position: relative;
    box-sizing: border-box;
	max-width: 250px;
    line-height: 1.5;
}
.btn_frmSubmit{
	background-color: #28282d;
    display: block;
    color: #FFF;
    border: none;
    padding: 1em 2em;
    margin: 1em auto;
    position: relative;
    box-sizing: border-box;
    line-height: 1.5;
}
.btn_link::before,
.btn_frmSubmit::before{
	content: "";
	border: 6px solid transparent;
	border-left: 6px solid #FFF;
	position: absolute;
	left: 1em;
	top: 38%;
}
.btn_frmSubmit:disabled{
	background-color: #434343!important;
	opacity: 0.3!important;
}
.btn_frmSubmit:disabled:hover,
.btn_frmSubmit:disabled:focus{
	background-color: #434343!important;
	opacity: 0.3!important;
}
.btn_link:hover,
.btn_frmSubmit:hover,
.btn_link:focus,
.btn_frmSubmit:focus{
	text-decoration: none;
	opacity: 0.8;
	color: #FFF;
}
.btn_submit:hover,
.btn_submit:focus{
	opacity: 0.8;
}
.btn_next{
	background-color: #28282d;
	color: #FFF;
	border: none;
	padding: 0.5em;
	text-decoration: none;
	display: inline-block;
    line-height: 1.5;
}
.btn_next:hover,
.btn_next:focus{
	opacity: 0.8;
	text-decoration: none;
	color: #FFF;
}
.btn_select{
	display: block;
	padding: 0.5em;
	margin: 0 0.5em 0.5em 0;
	border: 1px solid #28282d;
	border-radius: 4px;
	background-color: #FFF;
	color: #000;
	width: 100%;
	max-width: 250px;
    line-height: 1.5;
}
.btn_select:hover,
.btn_select:focus,
.btn_select.checked{
	color: #FFF!important;
	background-color: #28282d!important;
}
/***************************
	step note
***************************/
.step .note{
    border-left: 4px solid #28282d;
    padding: 0.5em 0.5em 0.5em 1em;
    margin: 3em 0;
}

/***************************
	enquete
***************************/
#sbi_comment1 table {
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 640px) {
	#sbi_comment1 table{
		width: auto;
		margin-bottom:20px;
		margin-left: 0.5em;		
		margin-right: 0.5em;
	}
	#sbi_comment1 table input{
		max-width:97px;
		width: 30%;
		height:auto;
	}
}


