body {
    background-color: #ECF2EC;
}

input, select {
  -webkit-appearance: none;
  appearance: none;
}

select {
    background-image: url(../img/select.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 12px 9px;
}

.description {
    justify-content: center;
    display: flex;
}

.main-txt {
    font-weight: 300;
}

select {
    background-color: #EAEDF0;
    border: none;
}

 p {
    margin: 0;
}

.blue-txt {
    font-size: 18px;
    color: #00539A;
}

.dotline {
    height: 4px;
    position: relative;
    max-width: 1032px;
    width: 90%;
    margin-top: 20px;
    margin-bottom: 20px;
}

.dotline::before {
    content: "";
    background-image: linear-gradient(to right, #707070, #707070 8px, transparent 3px, transparent 8px);
    stroke-linejoin:round;
    background-size: 20px 8px;
    background-repeat: repeat-x;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

/* 項目タイトル*/
.reg-inner {
    text-align: left;
    margin-bottom: 40px;
}

.reg-title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.cap {
    height: 22px;
    width: auto;
    margin-left: 8px;
    margin-right: 8px;
    margin-top: 2px;
}
.cap.phone {
    margin-top: 6px;
    margin-bottom: 13px;
}

.pass-sub {
    margin-left: 4px;
}

.subtitle {
    font-size: 22px;
    font-weight: 200;
}

.cont-flex {
    display: flex;
}

.cont-flex2 {
    display: flex;
    margin-bottom: 20px;
}

.cont {
    display: flex;
}

.cont1 {
    display: block;
    margin-bottom: 20px;
}

.cont2 {
    margin-left: 20px;
}

.cont3 {
    display: flex;
    margin-left: 20px;
}

.cont4 {
    display: flex;
    margin-bottom: 20px;
}

.cont-pass {
    display: flex;
    margin-bottom: 20px;
}

.m-form {
    width: 11.8em;
    height: 1em;
    padding: 8px;
    font-size: 22px;
}

.pass-form {
    width: 15.8em;
    height: 1em;
    padding: 8px;
    font-size: 22px;
}

.l-form {
    width: 23.66em;
    height: 1em;
    padding: 8px;
    font-size: 22px;
}

.ss-form {
    width: 2.5em;
    height: 1em;
    padding: 8px;
    font-size: 22px;
}

.num-space {
    margin-left: 8px;
    margin-right: -12px;
}

.label-q {
    margin-bottom: 20px;
    text-align: left;
    font-size: 22px;
    font-weight: 300;
}

/* ラジオボタン*/
.subtitle-r input {
    display: none;
}

.subtitle-r {
    font-size: 22px;
    font-weight: 200;
    position: relative;
    display: block;
    padding-left: 28px;
    cursor: pointer;
    margin-right: 40px;
}

.check {
    position: absolute;
    margin-top: 0.2em;
    left: 0;
    height: 24px;
    width: 24px;
    border: solid 2px #707070;
    border-radius: 50%;
    box-sizing: border-box;
}

.check:after {
    content: "";
    position: absolute;
    background: #80B18F;
    border-radius: 50%;
    top: 2px;
    bottom: 2px;
    left: 2px;
    right: 2px;
    opacity: 0;
}

.subtitle-r input:checked + .check:after {
    opacity: 1;
}

/* セレクト*/
select {
    color: black;
}

select.is-empty {
    color: gray; /* placeholder(初期値)の文字色 */
}

.js-select {
    width: 9.8em;
    height: 1.3em;
    padding: 8px;
    font-size: 18px;
}


/* ボタン*/
.cancel-btn {
    margin-bottom: 40px;
}


/* 950px以下に適用されるCSS（タブレット用） */
@media screen and (max-width: 950px) {
    .main-txt {
        text-align: right;
    }

    .pass-sub {
        min-width: 30%;
    }

    .check {
        margin-top: 0.25em;
    }

    .right {
        text-align: right;
    }

    .cont {
        display: block;
    }

    .cont2 {
        margin-left: 0;
    }

    .cont4 {
        display: block;
    }

    .cont-flex {
        align-items: center;
    }

    .l-form {
        width: 98%;
    }

    .num-space {
        margin-right: 8px;
    }
    
}

/* 540px以下に適用されるCSS（SP版用） */
@media screen and (max-width: 540px) {
    .description {
        padding: 0.8em;
        width: 88%;
    }
    
    /* ボタン*/    
    .cancel-btn {
        margin-bottom: 32px;
    }

    /* 会員登録*/
    .subtitle {
        font-size: 12px;
    }

    .subtitle-r {
        font-size: 12px;
    }
    
    .blue-txt {
        font-size: 12px;
    }

    .label-q {
        font-size: 12px;
    }

    .reg-title {
        margin-bottom: 12px;
    }

    .cap {
        height: 12px;
    }

    .cap.phone {
        height: 12px;
        margin-top: 2px;
    }

    .pass-sub {
        min-width: auto;
        margin-left: 8px;
    }

    .check {
        margin-top: -0.1em;
    }

    .js-select {
        font-size: 12px;
        width: 12em;
        height: 1.3em;
    }

    .m-form {
        width: 11.2em;
        height: 1em;
        font-size: 12px;
    }
    
    .pass-form {
        width: 15.8em;
        height: 1em;
        font-size: 12px;
    }
    
    .l-form {
        width: 21em;
        height: 1em;
        font-size: 12px;
    }
    
    .ss-form {
        width: 2.5em;
        height: 1em;
        font-size: 12px;
    }
    



}