@charset "UTF-8";
/* ------------------------------

form

------------------------------ */
.required {
    margin: 0 0 0 3px;
    padding: 3px 5px;
    color: #FFF;
    text-align: center;
    font-size: 11px;
    line-height: 1;
    display: inline-block;
    border-radius: 2px;
    background: #F00;
}

/* ------------------------------

formmail formmailInfo

------------------------------ */
.formmailInfo {
    margin: 1em 0;
}

.formmailInfo li:before {
    line-height: 1.5;
    margin-right: 0.25em;
    content: '・';
}

/* ------------------------------

table

------------------------------ */
.formmailTable {
    margin-bottom: 20px;
}

.formmailTable table {
    width: 100%;
    background: #FFF;
}

.formmailTable th,
.formmailTable td {
    padding: 10px;
    color: #333;
    border: 1px solid #ddd;
}

.formmailTable th {
    width: 17em;
    background: #f1f1f1;
    text-align: left;
}

/* ------------------------------

 フォーム 入力欄

------------------------------ */
select,
textarea {
    margin: 3px 2px;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 5px;
    vertical-align: middle;
}

select {
    line-height: 1.8;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
input[type="search"],
input[type="password"] {
    margin-bottom: 5px;
    padding: 7px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.formBlock {
    display: inline-block;
    margin-bottom: 5px;
    min-width: calc((99% / 2) - 9em);
    vertical-align: top;
}

.formBlock:after {
    content: "";
    clear: both;
    display: block;
}

.formBlock label {
    float: left;
    margin-right: 5px;
}

.formBlock .labelTitle01 {
    float: left;
    margin-right: 10px;
    padding-top: 5px;
}

.formBlockBtn {
    text-align: center;
}


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

.formBlock02 .btn {
    margin-top: 0;
}

.formBlock03 {
    background: #f5f5f5;
    padding: 10px;
    border: 1px solid #ddd;
}
/*
.formBlock04 {
    margin: 0 0 30px;
}
*/
.formBlock04 .btn {
    padding: 6px 12px;
    width: auto;
    min-width: 6em;
}

.formGloup {
    display: inline-block;
}

.inputXs {
    width: 4em;
    min-width: 20px;
}

.inputXs01 {
    width: 5em;
}

.inputXs02 {
    width: 3em;
}

.inputXs03 {
    width: 70px;
    font-size: 12px;
}

input.inputXs04 {
    width: 45px;
    padding: 4px 3px;
    text-align: right;
}


.inputSm {
    width: 10em;
    min-width: 150px;
}

.inputSm01 {
    min-width: 200px;
}

.inputMd {
    width: 20em;
    min-width: 250px;
}

.inputMd01 {
    width: 50%;
}

.inputMd02 {
    width: 75%;
    min-width: 500px;
}

.inputLg {
    width: 99%;
}

.inputLg01 {
    width: 94%;
}

.textareaMd {
    min-width: 500px;
}

.textareaLg {
    width: 99%;
    height: 10em;
}

.selectFz01 {
    font-size: 16px;
}

.selectlg {
    max-width: 700px;
}

/*@media screen and (max-width: 1284px) {
    .inputXs,
    .inputSm {
        width: 10%;
        min-width: 20px;
    }
    .inputSm01,
    .inputMd,
    .inputMd01 {
        width: auto;
        min-width: auto;
    }
}*/

input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
    background-color: #fff8dc;
}

input[type="radio"], input[type="checkbox"] {
    display: none;
}

.radio, .checkbox {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    line-height: 1.3;
    margin: 0 0 5px 0;
    padding: 8px 12px 8px 36px;
    border-radius: 8px;
    background-color: #f6f7f8;
    vertical-align: middle;
    cursor: pointer;
}
input[type="checkbox"]:disabled + .checkbox {
    opacity: 0.6 !important;
}
.checkbox.no_label {
    padding: 0;
}
.radio.assessmentRadio {
    background: none;
}

.checkbox01 {
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    padding: 18px 12px 18px 28px;
    border-radius: 8px;
    background-color: #f6f7f8;
    vertical-align: middle;
    cursor: pointer;
}

.radio:not(.assessmentRadio):hover, .checkbox:hover, .checkbox01:hover {
    background-color: #def1f0;
}

.radio:not(.assessmentRadio):hover:after, .checkbox:hover:after, .checkbox01:hover:after {
    border-color: #00A89C;
}

.radio:after, .checkbox:after, .checkbox01:after {
    -webkit-transition: border-color 0.2s linear;
    transition: border-color 0.2s linear;
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    margin-top: -10px;
    width: 16px;
    height: 16px;
    border: 2px solid #bbb;
    border-radius: 6px;
    content: '';
    background: #FFF;
}

.radio:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 15px;
    display: block;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #00A89C;
    content: '';
    opacity: 0;
    z-index: 1;
}

input[type=radio]:checked + .radio:before {
    opacity: 1;
}
span.checkbox01{
    cursor:auto;
    background-color: #def1f0;
}

span.checkbox01:after{
    border-color: #00A89C;
}
span.checkbox01:before{
    opacity: 1;
}

.checkbox:before, .checkbox01:before {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    position: absolute;
    top: 50%;
    left: 16px;
    display: block;
    margin-top: -7px;
    width: 5px;
    height: 9px;
    border-right: 3px solid #00A89C;
    border-bottom: 3px solid #00A89C;
    content: '';
    opacity: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 1;
}

input[type=checkbox]:checked + .checkbox:before,
input[type=checkbox]:checked + .checkbox01:before {
    opacity: 1;
}


/* disabled */
input[type="radio"][disabled] + .radio:not(.carePlanRadio),
input[type=checkbox][disabled]+.checkbox:not(.assessmentCheckbox),
input[type=checkbox][disabled] + .checkbox:after ,
input[type=checkbox][disabled] + .checkbox01:after {
    color: #DDD;
    border-color: #DDD;
    cursor: default;
}

input[type="radio"][disabled] + .radio:not(.assessmentRadio):hover,
input[type="radio"][disabled] + .checkbox:hover,
input[type="radio"][disabled] + .checkbox01:hover ,
input[type=checkbox][disabled] + .checkbox:hover,
input[type=checkbox][disabled] + .checkbox01:hover {
    background-color: #f6f7f8;
}

input[type="radio"][disabled] + .radio:not(.assessmentRadio .carePlanRadio):hover:after,
input[type="radio"][disabled] + .checkbox:hover:after,
input[type="radio"][disabled] + .checkbox01:hover:after ,
input[type=checkbox][disabled] + .checkbox:hover:after,
input[type=checkbox][disabled] + .checkbox01:hover:after {
    border-color: #DDD;
}

input[type="radio"][disabled] + .carePlanRadio {
    cursor: default;
}


.cell-additional-info {
    border-top: 1px solid #CBCBCB;
    padding-top: 10px;
}

select {
    max-width: 350px;
}

.tglBtn input[type="checkbox"] {
    display: none;
}
.tglBtn input[type="checkbox"]+label,
.tglBtn input[type="checkbox"]+label::before,
.tglBtn input[type="checkbox"]+label::after {
    -webkit-transition: all .2s;
    transition: all .2s;
}
.tglBtn input[type="checkbox"]+label {
    display: inline-block;
    position: relative;
    width: 84px;
    height: 30px;
    border-radius: 24px;
}
.tglBtn input[type="checkbox"]+label::before {
    display: block;
    content: 'OFF';
    position: absolute;
    top: 7px;
    right: 17px;
    color: #FFFFFF;
    font: Bold 14px/17px Lato;
}
.tglBtn input[type="checkbox"]+label::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 26px;
    height: 26px;
    background-color: #FFFFFF;
    border-radius: 50%;
}
.tglBtn input[type="checkbox"]:checked+label::before {
    content: 'ON';
    top: 7px;
    left: 18px;
    right: auto;
    color: #FFFFFF;
}
.tglBtn input[type="checkbox"]:checked+label::after {
    left: 56px;
    background-color: #FFFFFF;
}
.tglBtnInput+label {
    background: #B3B3B3 0% 0% no-repeat padding-box;
}
.tglBtnInput:checked+label {
    background: transparent linear-gradient(180deg, #4DBAB3 0%, #00ADA2 100%) 0% 0% no-repeat padding-box;
}



.chkBtn input[type="checkbox"] {
    display: none;
}
.chkBtn input[type="checkbox"]+label {
    display: inline-block;
    position: relative;
    width: 180px;
    height: 30px;
    border-radius: 5px;
    text-align: center;
    vertical-align: center;
}
.chkBtn input[type="checkbox"]+label::before {
    content: '';
}
.chkBtn input[type="checkbox"]+label::after {
    content: '';
}
.chkBtn input[type="checkbox"]:checked+label::before {
    content: '✔';
    padding-right: 5px;
    color: #FFFFFF;
}
.chkBtn input[type="checkbox"]:checked+label::after {
    content: '';
}
.chkBtnInput+label {
    background: #B3B3B3 0% 0% no-repeat padding-box;
}
.chkBtnInput:checked+label {
    background: transparent linear-gradient(180deg, #4DBAB3 0%, #00ADA2 100%) 0% 0% no-repeat padding-box;
    color: #FFFFFF;
}


/* ------------------------------

Lebel

------------------------------ */

.fixLabel01 label {
    width: 150px;
}

/* ------------------------------

formmail btn

------------------------------ */
.formmailBtn {
    margin: 0 auto 50px;
}

.formmailBtn p {
    line-height: 1.5;
    text-align: center;
    vertical-align: top;
}

.formmailBtn .btn {
    width: auto;
    line-height: 1.5;
    margin-bottom: 10px;
    padding: 12px 20px;
    background: #666;
    border: none;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
}

.formmailBtn .btn:hover {
    filter: alpha(opacity=60);
    opacity: 0.6;
}

/* ------------------------------

privacy box

------------------------------ */
.privacyBox {
    width: 510px;
    margin: 0 auto 50px;
    padding: 15px;
    border: 1px solid #ddd;
}

.privacyBox h3 {
    margin: 0 0 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
    font-size: 14px;
}

.privacyBox p {
    line-height: 1.5;
}

.short_text {
    width: 50%;
}

td.handicap_map_container .left_map {
    display: inline-block;
}
td.handicap_map_container .right_map {
    display: inline-block;
}

td.handicap_map_container .left_map, td.handicap_map_container .right_map {
    /* display: none; */
    width: 49%;
    text-align: center;
}
td.handicap_map_container .left_map .inner_container, td.handicap_map_container .right_map .inner_container {
    position: relative;
    display: inline-block;
}
td.handicap_map_container .left_map img, td.handicap_map_container .right_map img {
    max-width: 100%;
}
td.handicap_map_container .left_map select,
td.handicap_map_container .left_map span,
td.handicap_map_container .right_map select,
td.handicap_map_container .right_map span {
    position: absolute;
}
td.handicap_map_container #front_head {
    top: 60px;
    right: -35px;
}

td.handicap_map_container #front_chest {
    top: 110px;
    right: -35px;
}

td.handicap_map_container #front_left_arm {
    top: 185px;
    right: -35px;
}

td.handicap_map_container #front_left_forearm {
    top: 235px;
    right: -35px;
}

td.handicap_map_container #front_pelvis {
    top: 300px;
    right: -35px;
}

td.handicap_map_container #front_left_leg {
    top: 360px;
    right: -35px;
}

td.handicap_map_container #front_left_foot {
    top: 410px;
    right: -35px;
}

td.handicap_map_container #front_right_arm {
    top: 175px;
    left: -35px;
}

td.handicap_map_container #front_right_forearm {
    left: -35px;
    top: 225px;
}

td.handicap_map_container #front_right_leg {
    left: -35px;
    top: 355px;
}

td.handicap_map_container #front_right_foot {
    left: -35px;
    top: 405px;
}


td.handicap_map_container #back_head {
    top: 60px;
    right: -35px;
}

td.handicap_map_container #back_chest {
    top: 110px;
    right: -35px;
}

td.handicap_map_container #back_left_arm {
    top: 185px;
    right: -35px;
}

td.handicap_map_container #back_left_forearm {
    top: 235px;
    right: -35px;
}

td.handicap_map_container #back_pelvis {
    top: 300px;
    right: -35px;
}

td.handicap_map_container #back_left_leg {
    top: 360px;
    right: -35px;
}

td.handicap_map_container #back_left_foot {
    top: 410px;
    right: -35px;
}

td.handicap_map_container #back_right_arm {
    top: 175px;
    left: -35px;
}

td.handicap_map_container #back_right_forearm {
    top: 225px;
    left: -35px;
}

td.handicap_map_container #back_right_leg {
    top: 355px;
    left: -35px;
}

td.handicap_map_container #back_right_foot {
    top: 405px;
    left: -35px;
}





