#title{
	height:200px;
    margin-top: 0;
}

#title .pane {
    top: 20%;
}

#inquiry .container{
    padding: 1rem;
    max-width: 900px;
    margin: 0 auto;
}

#inquiry .container .inquiry table {
    width: 100%;
}

#inquiry .container .inquiry th {
    padding: 1rem 0 1rem 1rem;
    text-align: left;
}
#inquiry .container .inquiry td
 {
    padding: 1rem 0;
    text-align: left;
    border : 0;
}

#inquiry .container .inquiry tr
 {
    border-top: 2px solid #c7c7c7;
    border-bottom: 2px solid #c7c7c7;
}

/* 必須マーカー */
.inquiry span.required {
    background-color: #dc3545;
    display: inline-block;
    padding: .35em .65em;
    font-size: .75em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border-radius: .25rem;
}

.inquiry .error {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545;
}

.inquiry .invalid .error {
    display: block;
}

.inquiry .invalid input[type=text],
.inquiry .invalid textarea
 {
    border-color: #dc3545;
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.inquiry .invalid input[type=text]:focus,
.inquiry .invalid textarea:focus
 {
    border-color: #dc3545;
    outline-color: #dc3545;
}

.inquiry .valid input[type=text],
.inquiry .valid textarea {
    border-color: #198754;
    background-repeat: no-repeat;
    background-position: right calc(.375em + .1875rem) center;
    background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

.inquiry .valid input[type=text]:focus,
.inquiry .valid textarea:focus
 {
    border-color: #198754;
    outline-color: #198754;
}

/* 各要素の設定 */
.content {
    margin: 0!important;
}

.row {
    margin-left: -1rem;
    margin-right: -1rem;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

textarea#inquiry_text {
    height: 300px;
}

hr.border-line {
    margin: 1rem 0;
    color: #212529;
    width: 100%;
}

.step_buttons .step_button{
    margin-top: 1rem;
    padding-bottom: 1rem;
}

.step_button > div {
    display: flex;
}

/* 現在のステップのものだけを表示する制御 */
._step1, ._step2, ._step3 {
    display: none;
}

.inquiry.step1 ._step1 {
    display: inline-block;
    width: 100%;
}
.inquiry.step2 ._step2 {
    display: inline-block;
    width: 100%;
}
.inquiry.step3 ._step3 {
    display: inline-block;
    width: 100%;
}

/* ステップバー */
.step_bar {
    position: relative;
    margin: 0 100px;
    user-select: none;
}
.step_bar .lines {
    position: absolute;
    z-index: -1;
    top: 5px;
    left: 2rem;
    right: 2rem;
    bottom: 0;
}
.step_bar hr.base {
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #c7c7c7;
    border: 0;
    height: 5px;
}
.step_bar hr.progress {
    position: absolute;
    content: "";
    z-index: 1;
    top: 0;
    left: 0;
    bottom: 0;
    background-color: #33a8f1 ;
    border: 0;
    height: 5px;
}
.inquiry.step1 .step_bar hr.progress {
    right: 100%;
}
.inquiry.step2 .step_bar hr.progress {
    right: 50%;
}
.inquiry.step3 .step_bar hr.progress {
    right: 0;
}
.step_bar ul{
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: space-between;
}
.step_bar li .step {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.step_bar li .step .step_dot {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background-color: #c7c7c7;
    border-radius: 50%;
    margin-bottom: 0.5rem;
}

/* 進捗に応じて色変化 */
.inquiry.step1 .step_bar li:nth-child(1) .step .step_dot,
.inquiry.step2 .step_bar li:nth-child(2) .step .step_dot,
.inquiry.step3 .step_bar li:nth-child(3) .step .step_dot{
    background-color: #0d6efd;
    color: #fff;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #0d6efd;
}

.inquiry.step2 .step_bar li:nth-child(1) .step .step_dot,
.inquiry.step3 .step_bar li:nth-child(1) .step .step_dot{
    background-color: #33a8f1 ;
    color: #fff;
}
.inquiry.step3 .step_bar li:nth-child(2) .step .step_dot
{
    background-color: #33a8f1 ;
    color: #fff;
}

/* 確認欄の書式 */
.inquiry .field .confirm ul{
    margin: 0;
    padding: 0;
    list-style: none;
}



@media only screen and (min-width: 0px) and (max-width: 700px) {
    #title{
        height:100px;
    }
    /* 横幅が狭いとき、進捗バーのmarginを変更 */
    .inquiry .step_bar {
        margin: 0;
    }
    /* 横幅が狭いとき、テーブルを縦並びにする */
	.inquiry table th, td {
		width: 100%;
		display: block;
	}
    .inquiry table th {
        border-right:0px;
        padding-left: 0!important;
        padding-bottom: 0!important;
    }
    .inquiry table td {
        padding-top: 0.5rem!important;
    }
}