﻿@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Roboto:400,100,300,500,700,900);


.margin-top20 {
    margin-top: 20px !important;
}
.table_scroll {
    /*height: 320px;
    overflow-y: auto;
    overflow-x: hidden;*/
}

.sample3-wrap {
    padding: 0;
    width: 300px;
    overflow-x: hidden;
    overflow-y: hidden;
    border: 1px solid #ccc
}
.sample3-ul {
    margin: 0;
    padding: 0;
    height: 96px;
    width: 317px;
    padding-right: 17px;
    overflow-y: scroll;
}
.sample3-li {
    list-style: none !important;
    padding: 4px;
    width: 300px;
}

    .sample3-li:nth-child(even) {
        background: #eff
    }

    .sample3-li:nth-child(odd) {
        background: #fec;
    }

.clear {
    clear: both;
}
img {
    line-height: 0;
}

div.reserv {
    display: inline-block;
    padding-top: 20px;
    text-align: center;
    width: 100%;
}

a.reserve_button0 {
    display: inline-block;
    width: 200px;
    margin: 0px 0px 0px;
    padding: 8px 20px 8px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 192px 50%;
    background-size: 15px 15px;
    border: solid 0px #ffffff;
    border-radius: 5px;
}


/* スマホ用のスタイル記述 */
/* 共通用のスタイル記述 */
body {
    font-family: 'Roboto', Arial, 'Noto Sans Japanese',"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    /*background-color: #D5E6DE;*/
    color: #000000;
    font-size: 13px;
    line-height: 1.75em;
    letter-spacing: 0.05em;
}

.br-pc {
    display: none;
}
.br-sp {
    display: block;
}
.pc-display {
    display: none;
}
.sp-display {
    display: block;
}
.display-none {
    display: none !important;
}
a:hover {
    opacity: 0.5;
}

.Alert {
    margin: 8px;
    padding: 8px;
    border: 1px solid #dc0000;
    background-color: #fff;
}

.Alert__text {
    color: #dc0000;
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4;
}

/* ★★★★★★★★★★　header　★★★★★★★★★★ */
header {
    width: 100%;
    background-color: #227D51;
    padding: 0px 0px 10px 0px;
}
.header_inner {
    width: 90%;
    margin: 0px 5%;
}
.title {
    margin: 0px 0px 0px 0px;
    padding: 20px 0px 10px 0px;
    float: none;
    color: #ffffff;
}
    .title h1 {
        margin: 0px 64px 6px 0px;
        font-size: 16px;
        font-weight: 500;
    }
        .title h1 a {
            color: #ffffff;
        }
    .title p {
        margin: 0px 0px 0px 0px;
        font-weight: normal;
        font-size: 11px;
        line-height: 1.5em;
    }
.header_tel {
    position: absolute;
    top: 0;
    right: 10px;
    float: none;
    margin: -4px auto 0px auto;
    padding: 0px 0px 0px 0px;
    font-size: 8px;
    text-align: center;
    line-height: 1.2em;
    color: #227D51;
    border-radius: 2px;
    background: #ffffff url(./svg/1_tel.svg) no-repeat 11px 8px;
    background-size: 26px 26px;
}
    .header_tel a {
        display: block;
        padding: 35px 10px 3px 10px;
        color: #227D51;
    }

.header_mypage {
    position: absolute;
    top: 0px;
    right: 10px;
    float: none;
    margin: -4px auto 0px auto;
    padding: 0px 0px 0px 0px;
    font-size: 8px;
    text-align: center;
    line-height: 1.2em;
    color: #227D51;
    border-radius: 2px;
    background: #ffffff;
    background-size: 26px 26px;
}
    .header_mypage a {
        display: block;
        padding: 15px 10px 10px 10px;
        color: #227D51;
        font-size: 10px;
    }
/* ★★★★★★★★★★　コンテンツ　★★★★★★★★★★ */
#wrapper {
    background-color: #D5E6DE;
    width: 100%;
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
}
section {
    width: 82%;
    margin: 20px 5%;
    padding: 4%;
    background-color: #ffffff;
    border-radius: 5px;
}
h3 {
    margin: 14px 0px 28px 0px;
    padding: 2px 0px 2px 10px;
    border-left: solid 5px #227D51;
    font-size: 16px;
    font-weight: 500;
    color: #227D51;
}
.title_kanja {
    margin: 14px 0px 0px 0px;
    padding: 0px 0px 2px 42px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_login_kanja_active.svg) no-repeat;
    background-size: 32px 32px;
    background-position: left 1px;
    font-weight: 500;
    color: #227D51;
    line-height: 1.4em;
}

.title_step1 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow1_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_step2 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow2_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_step3 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow3_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_step4 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow4_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_step5 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow5_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_step6 {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_flow6_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_login {
    margin: 14px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_login_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
}
.title_cal {
    position: relative !important;
    margin: 5px 0px 14px 0px;
    padding: 0px 0px 2px 32px;
    border-left: solid 0px #227D51;
    background: url(./svg/1_login_cal_active.svg) no-repeat;
    background-size: 21px 21px;
    background-position: left top;
    float: left;
}

.step_history {
    margin: 0px 0px 20px 0px;
    padding: 0px 0px 6px 0px;
    border-bottom: dotted 1px #777;
}
.title_step1_black {
    margin: 0px 0px 5px 0px;
    padding: 0px 0px 0px 22px;
    border-left: solid 0px #227D51;
    background: url(./svg/0_flow1.svg) no-repeat;
    background-size: 16px 16px;
    background-position: left 3px;
    opacity: 0.7;
    letter-spacing: 0em;
}
.title_step2_black {
    margin: 0px 0px 5px 0px;
    padding: 0px 0px 0px 22px;
    border-left: solid 0px #227D51;
    background: url(./svg/0_flow2.svg) no-repeat;
    background-size: 16px 16px;
    background-position: left 3px;
    opacity: 0.7;
    letter-spacing: 0em;
}
.title_step3_black {
    margin: 0px 0px 5px 0px;
    padding: 0px 0px 0px 22px;
    border-left: solid 0px #227D51;
    background: url(./svg/0_flow3.svg) no-repeat;
    background-size: 16px 16px;
    background-position: left 3px;
    opacity: 0.7;
    letter-spacing: 0em;
}
hr{
    /*margin: 28px 0px 28px 0px;*/
    padding: 0px 0px 0px 0px;
}
.button1 {
    width: 80%;
    margin: 0px 10% 4px 10%;
    font-size: 21px;
    letter-spacing: 0.1em;
    float: none;
}
    .button1 a {
        display: block;
        padding: 17px 0px 18px 30px;
        border-radius: 5px;
        color: #ffffff;
        cursor: pointer;
        background: #227D51 url(./svg/1_go.svg) no-repeat 90% 16px;
        background-size: 24px 24px;
    }
        .button1 a:hover {
            opacity: 0.5;
        }
.remark1 {
    float: none;
    width: 80%;
    margin: 0px 10% 32px 10%;
    word-break: break-word;
}

.patient_name {
    text-align: center;
    margin-top: 10px
}

div.content_center {
    width: 320px;
    margin: 0 auto;
    text-align: center;
}

/* ★★★★★★★★★★　message　★★★★★★★★★★ */
.message {
    width: 90%;
    margin: 16px 5% 12px;
    padding: 0%;
}

/* ★★★★★★★★★★　step1　★★★★★★★★★★ */
.button2 {
    width: 100%;
    margin-bottom: 20px;
    float: left;
}
    .button2 a {
        display: block;
        background-color: #227D51;
        padding: 16px 5% 16px 7%;
        border-radius: 5px;
        color: #ffffff;
        cursor: pointer;
    }
        .button2 a:hover {
            opacity: 0.5;
        }
.menu_title {
    font-size: 16px;
    margin: 0px 0px 0px 0px;
    padding: 0px 20px 0px 0px;
    background: #227D51 url(./svg/1_go.svg) no-repeat right 3px;
    background-position: right center;
    background-size: 21px 21px;
}
.menu-deteal {
    border-top: solid 1px #ffffff;
    margin: 10px 0px 0px 0px;
    padding: 8px 0px 0px 0px;
}
.button2 a img {
    width: 50%;
    height: auto;
    float: left;
    margin: 5px 16px 0px 0px;
}
.menu_text {
}
/* ★★★★★★★★★★　step2　★★★★★★★★★★ */
.menu_title2 {
    font-size: 16px;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    background: #227D51 url(./svg/1_go.svg) no-repeat right top;
    background-size: 21px 21px;
}

/* ★★★★★★★★★★　step3-a　★★★★★★★★★★ */
#table-msg {
    margin: -10px 0px 6px 15px;
}
    #table-msg ul {
    }
        #table-msg ul li {
            display: inline;
            margin: 0px 10px 0px 0px;
            padding: 0px 0px 0px 0px;
            font-size: 12px;
        }

.tabel_cal_wrap1 {
    position: relative;
    /*border: solid 1px #111;*/
    /*padding: 10px 20px;*/
    padding: 10px 0;
}
.pull-left {
    position: absolute;
    /*top:10px;*/
    top: 5px;
    left: 20px;
}
    .pull-left button,
    .pull-right button {
        background-color: #ed8599;
        border: solid 0px #ffffff;
        border-radius: 12px;
        padding: 2px 10px;
        /*font-size: 12px;*/
        font-size: 15px;
        color: #ffffff;
    }
.table_cal_title {
    /*font-size: 16px;*/
    font-size: 18px;
    font-weight: 500;
    text-align: center;
}
.pull-right {
    position: absolute;
    /*top: 10px*/;
    top: 5px;
    right: 20px;
}
table.table_cal {
    width: 100%;
    margin: 20px auto 0px;
}
    table.table_cal thead {
        margin: 0px 0px 0px 0px;
        border-bottom: solid 1px #111;
    }

        table.table_cal thead tr td {
            padding-top: 4px;
            padding-bottom: 4px;
        }

    table.table_cal td {
        width: calc(100% / 7);
        text-align: center;
        vertical-align: top;
        padding: 0px 0px 0px 0px;
        font-size: 15px;
        border: solid 1px #ccc;
    }
        table.table_cal td i {
            padding: 0px 0px 8px 0px;
        }
        table.table_cal td span {
            display: block;
            padding: 2px 0px 0px 0px;
        }
        table.table_cal td a {
            display: block;
            padding: 0px 0px 0px 0px;
        }
            /*table.table_cal td a:hover {
                color: cornflowerblue;
                opacity: 1.0;
            }*/
    /*table.table_cal > tbody tr td:hover {
        background-color: yellow;
    }*/
    table.table_cal > tbody tr td:hover > i.fa,
    table.table_cal > tbody td:hover > i.fa {
    }

.cal_4 {
    color: #008cd6;
}

.cal_5 {
    color: #a0a0a0;
    /*font-weight: 700;*/
}

.cal_grey {
    background-color: #ececec;
    /*color: #a0a0a0;*/
}
.cal_red {
    background-color: #FFDEE7;
    /*padding-top: 4px !important;
    padding-bottom: 4px !important;*/
}
.cal_blue {
    background-color: #CDE5F3;
    /*padding-top: 4px !important;
    padding-bottom: 4px !important;*/
}

.hyphenForCalendar {
    width: 0.8em;
    vertical-align: middle;
}

.hyphen {
    width: 1.0em;
    vertical-align: middle;
}
.cal_1 {
    background: url(./svg/0_cal_circle_black.svg) no-repeat;
    background-size: 20px 20px;
    background-position: 50% 82%;
}
    .cal_1:hover {
        background: #227D51 url(./svg/0_cal_circle_white.svg) no-repeat;
        background-size: 20px 20px;
        background-position: 50% 82%;
        color: #fff;
        cursor: pointer;
    }
.cal_2 {
    background: url(./svg/0_cal_triangle_black.svg) no-repeat;
    background-size: 20px 20px;
    background-position: 50% 82%;
}
    .cal_2:hover {
        background: #227D51 url(./svg/0_cal_triangle_white.svg) no-repeat;
        background-size: 20px 20px;
        background-position: 50% 82%;
        color: #fff;
        cursor: pointer;
    }
.cal_3 {
    background: url(./svg/0_cal_cross_black.svg) no-repeat;
    background-size: 20px 20px;
    background-position: 50% 82%;
}



/* ★★★★★★★★★★　step3-b　★★★★★★★★★★ */
.tabel_cal_wrap2 {
    position: relative;
    /*border: solid 1px #111;*/
    /*padding: 0px 5px;*/
    padding: 0px 0px;
}

.pull-left2 {
    display: inline-block;
    margin-bottom: 5px;
    margin-top: 5px;
    margin-left: 20px;
}

    .pull-left2 button,
    .pull-right2 button {
        background-color: #ed8599;
        border: solid 0px #ffffff;
        border-radius: 12px;
        padding: 2px 10px;
        /*font-size: 12px;*/
        font-size: 15px;
        color: #ffffff;
    }
.pull-right2 {
    display: inline-block;
    float: right;
    margin-bottom: 5px;
    margin-top: 5px;
    margin-right: 20px;
}

table.table_cal_w {
    width: 100%;
    table-layout: auto;
    margin: 2px 0px 0px 0px;
    text-align: center;
    border-bottom: solid 2px #ccc;
}

.stickDisplay {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 56px;
    z-index: 999;
    background-color: white;
}

table.table_cal_w2 {
    width: 100%;
    table-layout: auto;
    /*margin: 0px auto 0px;*/
    margin: 0;
    text-align: center;
}
    table.table_cal_w thead,
    table.table_cal_w2 thead {
        margin: 0px 0px 0px 0px;
        /*border-bottom: solid 1px #111;*/
    }
table.table_cal_w td {
    text-align: center;
    vertical-align: middle !important;
    /*width:100px;*/
    border: solid 1px #ccc;
    padding: 0px 0px 0px 0px;
    /*font-size: 10px;
    line-height: 1em;*/
}
table.table_cal_w2 td {
    text-align: center;
    vertical-align: middle !important;
    /*width:100px;*/
    border: solid 1px #ccc;
    padding: 8px 0px 5px 0px;
    /*font-size: 10px;
    line-height: 1em;*/
}

    table.table_cal_w td.selected,
    table.table_cal_w2 td.selected {
        background-color: lightgoldenrodyellow;
    }
        /*table.table_cal_w td.selected i,
        table.table_cal_w td.unselect i {
            color: cornflowerblue !important;
        }*/
    table.table_cal_w td span,
    table.table_cal_w2 td span {
        display: block;
        padding: 5px 0px 5px 0px;
        line-height: 1.3em;
    }
    table.table_cal_w td a,
    table.table_cal_w2 td a {
        display: block;
        padding: 10px 0px 10px 0px;
    }
        /*table.table_cal_w td a:hover {
            color: #ffffff;
            opacity: 1.0;
        }*/

/*table.table_cal_w > thead tr td {
    width: -webkit-calc(100% / 7);
    width: calc(100% / 7) !important;
}*/

.w12p {
    width: 12%;
}
.w16p {
    width: 16%;
}
.w20p {
    width: 20%;
}

.fixDisFor7 {
    position: fixed;
    top: 276px;
    height: 320px;
    width: 39px;
    padding-top: 120px;
}

.fixDisFor5 {
    position: fixed;
    top: 276px;
    height: 320px;
    width: 52px;
    padding-top: 120px;
}

/*table.table_cal_w > tbody tr td {
    width: -webkit-calc(100% / 7);
    width: calc(100% / 7) !important;
}*/

/*table.table_cal_w2 > tbody tr td:first-child {
    background-color: #EDEAE5;
    padding: 5px 0px 5px 0px;
}*/

.hhmm {
    background-color: #EDEAE5;
    padding: 5px 0px 5px 0px;
}


/*table.table_cal_w > tbody tr td:first-child,
table.table_cal_w > tbody tr td:last-child {
    background-color: #eee;
    padding: 5px 0px 5px 0px;
}
table.table_cal_w > tbody tr:hover {
    background-color: lightgoldenrodyellow;
}
    table.table_cal_w > tbody tr:hover td:first-child,
    table.table_cal_w > tbody tr:hover td:last-child {
        background-color: yellow;
    }*/
/*table.table_cal_w > tbody tr td > i.fa {
    font-size: 30px;
    color: yellow;
    cursor: pointer;
}*/
/*table.table_cal_w > tbody td:hover {
    background-color: yellow;
}*/
.backgroud_yellow {
    background: yellow !important;
}
/*table.table_cal_w > tbody tr td:hover > i.fa {
    color: #fff;
}*/
table.table_cal_w td.cal_1 {
    background: url(./svg/0_cal_circle_black.svg) no-repeat;
    background-size: 18px 18px;
    background-position: 50% 50%;
}
/*    table.table_cal_w td.cal_1:hover {
        background: yellow url(./svg/0_cal_circle_white.svg) no-repeat;
        background-size: 18px 18px;
        background-position: 50% 50%;
        color: #fff;
        cursor: pointer;
    }*/

.closeTop {
    border-bottom-width: 0px !important;
}
.closeMiddle {
    border-top-width: 0px !important;
    border-bottom-width: 0px !important;
}
.closeBottom {
    border-top-width: 0px !important;
}

/* ★★★★★★★★★★　STEP4-form　★★★★★★★★★★ */
#input-form {
    width: 90%;
    padding: 5%;
    border: solid 1px #227D51;
    display: inline-block;
}
/*.form-group {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 1px #eee;
}
    .form-group label {
        font-weight: normal;
        width: 90%;
        float: none;
        text-align: left;
        margin-right: 0px;
        padding: 2px 0px 0px 0px;
    }
    .form-group input {
        width: 90% !important;
    }*/
.form-group select.page_birthday_1i {
    width: 100% !important;
}
.form-group select.page_birthday_2i,
.form-group select.page_birthday_3i {
    width: 48% !important;
    float: left;
    margin-top: 10px;
    margin-bottom: 12px;
}
.form-group select.page_birthday_2i {
    margin-right: 4%;
}
.form-group select {
    display: block;
    height: 34px;
    margin: 0px 0px 0px 0px;
    padding: 0px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.form-control {
    display: block;
    width: 90%;
    height: 24px;
    margin: 0px 0px 0px 0px;
    padding: 4px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
    -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}
.form_answer {
    font-size: 16px;
    font-weight: 500;
    padding: 2px 0px 0px 0px;
}
#input-form button.btn {
    width: 90%;
    height: 48px;
    margin: 12px 5% 12px;
    padding: 0px 20px 0px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 92% 50%;
    background-size: 24px 24px;
    border: solid 0px #ffffff;
    border-radius: 5px;
}
    #input-form button.btn:hover {
        opacity: 0.5;
    }

/* ★★★★★★★★★★　attention　メール設定の注意書き　★★★★★★★★★★ */
.attention {
    margin: 40px 0px 0px 0px;
    font-size: 12px;
}
.notice {
    margin: 16px 0px 0px 0px;
    color: red;
}
.mobile_career {
    margin: 5px 0px 5px 0px;
    line-height: 1.5em;
}

    .mobile_career a {
        display: block;
        width: 90%;
        margin: 0px 5% 10px 5%;
        padding: 8px 0px;
        background-color: #eee;
        text-align: center;
    }

/* ★★★★★★★★★★　step5_notice　★★★★★★★★★★ */
.step5_notice {
    margin: -6px 0px 12px 0px;
    font-size: 12px;
    line-height: 1.4em;
}


/* ★★★★★★★★★★　login-form　★★★★★★★★★★ */
#input-form-login {
    width: 90%;
    padding: 3% 5% 5% 5%;
    float: none;
    border: solid 1px #227D51;
    margin-top: -1px;
}
    #input-form-login h3 {
        margin-bottom: 14px;
    }
.form-group-login {
    margin-bottom: 10px;
}
    .form-group-login label {
        font-weight: normal;
        width: 90%;
        float: left;
        text-align: left;
        margin-right: 0px;
        padding: 2px 0px 0px 0px;
    }
    .form-group-login input {
        width: 90% !important;
    }
    .form-group-login select.page_birthday_1i {
        width: 98% !important;
    }
    .form-group-login select.page_birthday_2i,
    .form-group-login select.page_birthday_3i {
        width: 47% !important;
        float: left;
        margin-top: 10px;
        margin-bottom: 12px;
    }
    .form-group-login select.page_birthday_2i {
        margin-right: 4%;
    }
    .form-group-login select {
        display: block;
        height: 34px;
        margin: 0px 0px 0px 0px;
        padding: 0px;
        font-size: 14px;
        line-height: 1.42857143;
        color: #555;
        background-color: #fff;
        background-image: none;
        border: 1px solid #ccc;
        border-radius: 4px;
        -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
        box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
        -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
        -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
        transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
    }
#input-form-login button.btn {
    width: 80%;
    height: 40px;
    margin: 10px 10% 10px;
    padding: 0px 0px 0px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 90% 50%;
    background-size: 16px 16px;
    border: solid 0px #ffffff;
    border-radius: 5px;
}
    #input-form-login button.btn:hover {
        opacity: 0.5;
    }

.birthday {
    width: 60px;
    /*height: 30px;*/
    margin-right: 10px;
    /*background-color: lightgoldenrodyellow;
    border-radius: 4px;
    font-size: 14px;*/
}

/* ★★★★★★★★★★　my_page　★★★★★★★★★★ */
.my_page {
    border: solid 1px #333;
    border-radius: 5px;
    width: 90%;
    padding: 3% 5% 5% 5%;
}
.reserve_box {
    margin: 0px 0px 11px 0px;
    padding: 0px 0px 18px 0px;
    border-bottom: solid 1px #333;
}
.reserve_date {
    width: 100%;
    float: none;
    line-height: 2.4em;
}
.reserve_button_area {
    width: 100%;
    float: none;
}
a.logoff {
    display: block;
    width: 100px;
    margin: 0px 0px 12px;
    padding: 4px 20px 4px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 92px 50%;
    background-size: 15px 15px;
    border: solid 0px #ffffff;
    border-radius: 5px;
    float: right;
}
a.reserve_button1 {
    display: block;
    width: 42%;
    margin: 0px 0px 0px;
    padding: 8px 5% 8px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 90% 50%;
    background-size: 15px 15px;
    border: solid 0px #ffffff;
    border-radius: 5px;
    float: left;
}
a.cancel {
    margin: 0px 0px 0px 6%;
    background: #E93231 url(./svg/0_go_red.svg) no-repeat 90% 50%;
    background-size: 15px 15px;
}
a.reserve_button2 {
    display: block;
    width: 95%;
    margin: 0px 0px 0px;
    padding: 8px 5% 8px 0px;
    font-size: 14px;
    text-align: center;
    letter-spacing: 0.1em;
    color: #fff;
    background: #227D51 url(./svg/1_go.svg) no-repeat 95% 50%;
    background-size: 15px 15px;
    border: solid 0px #ffffff;
    border-radius: 5px;
}

/* ★★★★★★★★★★　予約状況一覧　★★★★★★★★★★ */
.situation {
    margin-left: 30px;
    margin-right: 30px;
    font-size: medium;
}

.details {
    box-sizing: border-box;
    font-size: large;
    margin: 6px auto;
    /*max-height: 360px;*/
    max-width: 380px;
    overflow: auto;
    padding: 10px 0;
    position: relative;
}
    .details p {
        text-decoration: underline !important;
    }
    .details li {
        align-items: center;
        display: flex;
        padding-left: 12px;
    }
        .details li:not(:last-child) {
            border-bottom: 1px solid #ccc;
            margin-bottom: 6px;
        }
        .details li.selected {
            background-color: aquamarine;
            border-radius: 6px;
            box-shadow: 2px 2px 6px #333333;
        }

/* ★★★★★★★★★★　footer　★★★★★★★★★★ */
/*footer {
    background-color: #227D51;
    padding: 30px 0px 24px 0px;
    color: #ffffff;
    font-size: 12px;
}*/
.footer_inner {
    width: 90%;
    margin: 0px 5%;
}
    .footer_inner a {
        color: #ffffff;
    }
.footer_info1 {
    width: 100%;
    float: none;
    margin: 0px 0px 0px 0px;
}
.footer_info2 {
    width: 100%;
    float: none;
    margin: 0px 0px 0px 0px;
}
.footer_info3 {
    width: 100%;
    float: none;
    margin: 0px 0px 0px 0px;
}

.footer_info {
    width: 100%;
    float: none;
}
.footer_info1 img {
    width: 70%;
    margin: 0px 0% 6px 0%;
    height: auto;
    float: none;
}
.footer_name {
    margin: 6px 0px 12px 0px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.1em;
}
table.kyushin {
    width: 100%;
    max-width: 100%;
    margin: 10px 0px 20px 0px;
    border-bottom: 1px solid #ddd;
}
    table.kyushin tbody {
        display: table-row-group;
        vertical-align: middle;
        border-color: inherit;
    }
        table.kyushin tbody tr {
            display: table-row;
            vertical-align: inherit;
            border-color: inherit;
        }
            table.kyushin tbody tr td {
                text-align: center;
                padding: 6px;
                line-height: 1.42857143;
                vertical-align: top;
                border-top: 1px solid #ddd;
            }

ul.footer_nav {
    border-top: solid 0px #ffffff;
    margin: 20px 0px 0px 0px;
    padding: 10px 0px 0px 0px;
    text-align: center;
}
    ul.footer_nav li {
        display: inline;
        margin: 0px 10px 0px 10px;
    }
.copyright {
    display: block !important;
    margin: 10px 0px 0px 0px !important;
    text-align: center;
}

.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    -moz-box-shadow: 0px -2px 12px #333333;
    -webkit-box-shadow: 0px -2px 12px #333333;
    box-shadow: 0px -2px 12px #333333;
    background-color: white
}



    /* header */
.header {
    width: 100%;
    height: 56px;
    background-color: #ed8599;
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0px;
    z-index: 1002;
}

.head-inner {
    position: relative;
}

.menu-text {
    position: absolute;
    top: 17px;
    left: 60px;
    color: white;
    text-align: center;
    font-size: medium;
}


.menu-trigger,
.menu-trigger .hb {
    display: block;
    -webkit-transition: all .4s;
    -moz-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.menu-trigger {
    width: 30px;
    height: 20px;
    position: absolute;
    top: 17px;
    left: 15px;
    cursor: pointer;
    z-index: 10001;
}

    .menu-trigger .hb {
        position: absolute;
        width: 100%;
        height: 4px;
        background-color: white;
    }

        .menu-trigger .hb:nth-of-type(1) {
            top: 0;
        }

        .menu-trigger .hb:nth-of-type(2) {
            top: 8px;
        }

        .menu-trigger .hb:nth-of-type(3) {
            bottom: 0;
        }

    .menu-trigger.hb-active span:nth-of-type(1) {
        -webkit-transform: translateY(8px) rotate(-45deg);
        -moz-transform: translateY(8px) rotate(-45deg);
        transform: translateY(8px) rotate(-45deg);
        background-color: white;
    }

    .menu-trigger.hb-active span:nth-of-type(2) {
        -webkit-opacity: 0;
        -moz-opacity: 0;
        opacity: 0;
    }

    .menu-trigger.hb-active span:nth-of-type(3) {
        -webkit-transform: translateY(-8px) rotate(45deg);
        -moz-transform: translateY(-8px) rotate(45deg);
        transform: translateY(-8px) rotate(45deg);
        background-color: white;
    }

.nav-wrap {
    display: none;
    width: 100%;
    padding-bottom: 25px;
    background-color: rgba(237,133,153,.8);
    position: absolute;
    top: 56px;
    left: 0;
}

.nav1 {
    margin-bottom: 25px;
}

    .nav1 li {
        font-weight: 700;
        border-bottom: 1px solid rgba(255,255,255,.3);
        position: relative;
    }

    .nav1 a {
        display: block;
        height: 48px;
        padding-left: 15px;
        line-height: 48px;
        text-decoration: none;
        color: #fff;
    }

    .nav1 li:after {
        display: block;
        content: '';
        width: 6px;
        height: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        position: absolute;
        top: 19px;
        right: 15px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

.close-btn {
    display: block;
    width: 40%;
    height: 32px;
    margin: 25px auto 0;
    line-height: 32px;
    border: 1px solid #fff;
    text-align: center;
    color: #fff;
    -webkit-border-radius: 16px;
    border-radius: 16px;
    cursor: pointer;
}

.gradient {
    background: -moz-linear-gradient(top, #ffffff 0%, #c0c0c0 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#c0c0c0 ));
    background: -webkit-linear-gradient(top, #ffffff 0%,#c0c0c0 100%);
    background: -o-linear-gradient(top, #ffffff 0%,#c0c0c0 100%);
    background: -ms-linear-gradient(top, #ffffff 0%,#c0c0c0 100%);
    background: linear-gradient(to bottom, #ffffff 0%,#c0c0c0 100%);
    color: #008cd6 !important;
    font-size: 24px;
    border-color: #a0a0a0;
    /* padding: 10px 30px; */
    width: 300px;
    text-decoration: underline !important;
    text-decoration-color: #008cd6;
}

.gradient2 {
    background: -moz-linear-gradient(top, #ffffff 0%, #EFFFDE 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#EFFFDE ));
    background: -webkit-linear-gradient(top, #ffffff 0%,#EFFFDE 100%);
    background: -o-linear-gradient(top, #ffffff 0%,#EFFFDE 100%);
    background: -ms-linear-gradient(top, #ffffff 0%,#EFFFDE 100%);
    background: linear-gradient(to bottom, #ffffff 0%,#EFFFDE 100%);
    border-color: #00865A;
    color: #495057 !important;
    font-size: medium;
    min-height: 48px;
    width: 300px;
}

input, textarea {
    font-family: inherit;
}

.custom-input {
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    color: #495057;
    font-size: 1rem;
    font-weight: 400;
    height: calc(1.5em + 0.75rem + 2px);
    line-height: 1.5;
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    vertical-align: middle;
}

    .custom-input:focus {
        border-color: #80bdff;
        box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
        outline: 0;
    }

.registerptinfo {
    width: 312px;
    margin: 0 auto;
}

    .registerptinfo .sec_table {
        display: table;
        text-align: left;
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 5px;
        margin-bottom: 0px;
    }

    .registerptinfo #input_name {
        padding: 3px;
        border: solid 1px #aaa;
        border-radius: 3px;
        font-size: 13px;
        width: 250px;
        ime-mode: active;
    }

    .registerptinfo #input_tel {
        padding: 3px;
        border: solid 1px #aaa;
        border-radius: 3px;
        font-size: 13px;
        width: 200px;
    }

    .registerptinfo #textarea_msg {
        padding: 3px;
        border: solid 1px #aaa;
        border-radius: 3px;
        font-size: 13px;
        resize: none;
        width: 300px;
        height: 3em;
        line-height: 1.2;
        ime-mode: active;
    }

    .registerptinfo .p {
        margin-top: 0px;
        margin-bottom: 5px;
    }

    .registerptinfo .sec_table .terms {
        margin-top: 0px;
        margin-bottom: 0px;
        width: auto;
        text-align: center;
    }
    .registerptinfo .sec_table #a_terms {
        font-weight: bold;
        color: #0000ff;
    }

.registermemo {
    width: 312px;
    margin: 0 auto;
}
    .registermemo .sec_table {
        display: table;
        text-align: left;
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 5px;
        margin-bottom: 0px;
    }

    .registermemo #textarea_msg {
        padding: 3px;
        border: solid 1px #aaa;
        border-radius: 3px;
        font-size: 13px;
        resize: none;
        width: 300px;
        height: 18em;
        line-height: 1.2;
        ime-mode: active;
    }

    .registermemo .p {
        margin-top: 0px;
        margin-bottom: 5px;
    }

    .registermemo .sec_table .terms {
        margin-top: 0px;
        margin-bottom: 0px;
        width: auto;
        text-align: center;
    }

    .registermemo .sec_table #a_terms {
        font-weight: bold;
        color: #0000ff;
    }

.checkptinfo {
    width: 312px;
    margin: 0 auto;
}

    .checkptinfo .sec_table {
        display: table;
        text-align: left;
        margin-left: 15px;
        margin-right: 15px;
        margin-top: 5px;
        margin-bottom: 0px;
    }

    .checkptinfo .hr {
        margin-top: 0px;
        margin-bottom: 10px;
        width: 300px;
    }

    .checkptinfo .label15 {
        margin-top: 0px;
        margin-bottom: 0px;
        word-wrap: break-word;
        width: 300px;
        font-size: 15px;
        line-height: 1.2;
    }

.step3 {
    font-size: 1.2em;
    text-align: center;
    line-height: 0.9em;
}

    .step3 .patient_name {
        text-align: center;
        margin-top: 10px;
        font-size: medium;
    }

.abort {
    font-size: 1.2em;
    text-align: center;
    line-height: 0.9em;
}

    .abort .patient_name {
        text-align: center;
        margin-top: 10px;
        font-size: medium;
    }

    .abort .msg {
        text-align: center;
    }

    .abort .msgm {
        text-align: center;
        font-size: medium;
        line-height: 1.3em;
    }

.error {
    width: 320px;
    margin: 0 auto;
    margin-top: 50px;
    text-align: center;
}

    .error .highlightmsg {
        color: red;
        font-size: 17px;
        font-weight: bold;
        margin-top: 20px;
    }

    .error .msg {
        text-align: left;
        line-height: 1.2em;
    }

.timeout {
    width: 320px;
    margin: 0 auto;
    margin-top: 50px;
    text-align: center;
}

    .timeout .highlightmsg {
        color: red;
        font-size: 20px;
        font-weight: bold;
        margin: 0 auto;
    }

    .timeout .msg {
        text-align: left;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.2em;
    }

.reconsultationtime {
    color: #ed8599;
    font-weight: bold;
    font-size: larger;
    margin-top: 10px;
    margin-bottom: 10px;
}

.date-time {
    margin: 0;
    font-size: 2.1em;
    line-height: 1.3em;
    font-weight: 600;
}

.str {
    font-weight: 400;
    font-size: 0.75em;
}

#messageTitle {
    margin-top: 50px;
    color: #e61f19;
    font-weight: 600;
    font-size: 1.2em;
}

.boxContainer {
    display: flex;
    margin-top: 10px;
    justify-content: center;
}

    .boxContainer img {
        width: 100px;
        height: auto;
    }

.item {
    align-self: center;
    line-height: 1.5em;
    text-align: left;
}

.footerbox {
    margin: 10px;
    text-align: center;
}

    .footerbox .footeriteml {
        float: left;
        margin-left: 20px;
        margin-bottom: 10px;
    }

    .footerbox .footeritemr {
        float: right;
        margin-right: 20px;
        margin-bottom: 10px;
    }

    .footerbox .footeritemc {
        margin-bottom: 10px;
    }

    .footerbox .btn {
        background-color: #ed8599;
        border-color: #ed8599;
        color: white;
        width: 140px;
    }

        .footerbox .btn btn-primary {
            background-color: #ed8599;
            border-color: #ed8599;
            color: white;
        }

.modal-body {
}

    .modal-body .modalmsg {
        color: #ed8599;
        font-size: 18px;
        font-weight: bold;
    }

    .modal-body .text_center {
        text-align: center;
    }

    .modal-body .btn {
        background-color: #ed8599;
        color: white;
    }

    .modal-body .footeriteml {
        float: left;
        margin-left: 20px;
        margin-bottom: 10px;
    }

    .modal-body .footeritemr {
        float: right;
        margin-right: 20px;
        margin-bottom: 10px;
    }

    .modal-body .indent {
        text-indent: -1rem;
        padding-left: 1rem;
    }

.label_title {
    margin-top: 0px;
    margin-bottom: 0px;
}

.req {
    color: white;
    background: red;
    margin-right: 5px;
    border-radius: 3px;
    padding: 1px 1px;
    font-size: 13px;
}

.req-n {
    color: white;
    background: gray;
    margin-right: 5px;
    border-radius: 3px;
    padding: 1px 1px;
    font-size: 13px;
}

.p11 {
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 11px;
}

.p12 {
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 12px;
    line-height: 1.2;
}

.p15 {
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 15px;
}

.mb05 {
    margin-bottom: 0.5em;
}
.mb1 {
    margin-bottom: 1em;
}
.mb3 {
    margin-bottom: 3em;
}

.rbsms {
    margin: 10px;
}
