:root {

}
body#web header {
    /*height: 100px;*/
    height: 70px;
    max-width: var(--base-width);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    box-shadow: 0 5px 5px -5px var(--dgray-col);
    position: relative;
}
/*
body#web header span.city {

    padding: 0.6rem 1rem 1rem 2rem;
    display: block;
    float: left;
    background-image: url(/reserve_next_agency/src/main/css/img/header_logo.jpg);
    background-repeat: no-repeat;
    background-size: 3rem;
    background-position-x: 0.5rem;
    background-position-y: center;

    font-size: 1.2rem;
    font-weight: bold;
    color: var(--base-col);
}
*/
body#web header a.header_title {
    cursor: pointer;
    display: table;
    border-collapse: separate;
    border-spacing: 1rem;
}
body#web header a.header_title div {
    color: var(--base-col);
    font-weight: bold;
    font-size: 2rem;
    display: table-cell;
    letter-spacing: 0.5rem;
    vertical-align: middle;
}
body#web header a.header_title:hover {
    text-decoration: none;
}

body#web header div.header_menu {
    clear: both;
    background-color: var(--blue-col);
    color: white;
    padding: 0 2rem;
    font-weight: bold;
    font-size: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 4rem;
}
body#web header div.header_menu button {
     background-color: white;
     color: var(--blue-col);
     padding: 0.5rem 1rem;
     margin: 0 1rem 0 0;
}
body#web header table.header_table{
    width:100%;
    height:100%;
}
body#web header table.header_table td {
   width: 1px;
   white-space: nowrap;
   border:none;
}
body#web div.header_menu_btn {
    background-color:var(--base-col);
    display:inline-block;
    cursor: pointer;
    /*
    padding-top:9px;
    padding-bottom:11px;
    padding-left:10px;
    padding-right:10px;
    */
    padding-top:11px;
    box-sizing:border-box;
    /*
    height:60px;
    width:60px;
    */
    height:40px;
    width:40px;
    border-radius:30px;
    text-align:center;
    vertical-align:middle;
    font-size:14px;
    line-height: 15px;
    color:var(--white-col);
    font-weight:bold;
}
body#web div.side_menu div.header_menu_btn {
     padding-top:9px;
}
body#web header div.header_menu_btn {
    margin: 15px;
}
body#web header div.header_menu_btn img{
     display:inline;
     /*
     width:28px;
     height:22px;
     */
     width:22px;
     height:18px;
 }

body#web header table.header_table td.td_header_menu_btn {
   text-align:right;
   width: auto;
   padding-right:20px;
   /*padding-top:20px;*/
}

div.menu_showing_blank{
    width:100%;
    height:100%;
    background-color:gray;
    opacity:0;
    z-index:2147483647;
    /*position:absolute;*/
    position: fixed;
    top:0;
    left:0;
    /*cursor:pointer;*/
}
div.side_menu{
    height:100%;
    background-color:var(--light_yellow-col);
    opacity:1;
    z-index:2147483647;
    position: fixed;
    top:0;
    right:0;
}
div.side_menu > div{
    width:100%;
    box-sizing:border-box;
    /*
    padding-top:20px;
    */
    padding-top:15px;
    padding-bottom:0px;
    padding-left:20px;
    /*
    padding-right:20px;
    */
    padding-right:15px;

}
div.side_menu div.menu_big_btn{
    width:100%;
    height:70px;
    box-sizing:border-box;
    padding-top:15px;
    padding-bottom:15px;
    padding-left:15px;
    padding-right:15px;
    border:2px solid var(--base-col);
    background-color:var(--white-col);
    border-radius:35px;
    text-align: left;
    position:relative;
    cursor:pointer;
}
div.side_menu div.menu_big_btn.btn2 {
    background-color: var( --slight_green-col);
}
div.menu_big_btn > span{
    font-size:22px;
    font-weight:bold;
    color:var(--base-col);
    position:absolute;
    left: 45px;
    top: 17px;
}
div.menu_big_btn >  img{
    position:absolute;
    width: 20px;
    height: 20px;
    top: 24px;
    right: 18px;
}

div.side_menu > div.side_menu_link{
    padding-top:0px;
}
div.side_menu > div.side_menu_link.first{
    margin-top:20px;
}
div.side_menu div.menu_link_btn{
    width:100%;
    height:60px;
    box-sizing:border-box;
    padding-top:10px;
    padding-bottom:10px;
    padding-left:15px;
    padding-right:15px;
    border-bottom:1px dashed var(--base-col);
    text-align: left;
    position:relative;
    cursor:pointer;
}
/*div.side_menu div.menu_link_btn:hover{
    background-color:var( --slight_green-col);
}*/
div.menu_link_btn > span{
    font-size:17px;
    font-weight:bold;
    color:var(--base-col);
    position:absolute;
    left: 27px;
    top: 18px;
}
div.menu_link_btn >  img{
    position:absolute;
    width: 8px;
    height: 14px;
    top: 22px;
    right: 24px;
}


/*
    ヘッダーのサブ
*/
body#web div.body-sub-header{
    width:100%;
    background-color:var(--base-col);
    /*
    height:100px;
    line-height:100px;
    */
    height:70px;
    line-height:70px;
    box-shadow: 0 5px 5px -5px var(--gray-col);
    position: relative;
}
body#web div.body-sub-header > div{
    width: var(--base-width);
    margin:0 auto;
    box-sizing:border-box;
    font-size:25px;
    color:var(--white-col);
    font-weight:bold;
}

/*
    パンくず
*/
body#web div.breadcrumbs {
    width:100%;
    background-color:var(--light_yellow-col);
    padding: 0.5rem 0;
}
body#web div.breadcrumbs > div{
    max-width:var(--base-width);
    width:100%;
    height:100%;
    margin:0 auto;
    box-sizing:border-box;
    color:var(--base-col);
    /*font-size: 0.9rem;*/
    font-size: 20px;
}
body#web div.breadcrumbs > div > span.current{
    color:var(--black-col);
}

body#web div.breadcrumbs > div > img{
    top:1px;
    position:relative;
}

/*
    緑のサブタイトル
*/
div.sub_title {
    max-width:var(--base-width);
    width:100%;
    /*margin: 3rem auto 2rem;*/
    margin: 1rem auto 1rem;
    background-color: var(--base-col);
    border-radius: 0.5rem;
}
div.sub_title > div {
    color: var(--white-col);
    font-size: 1.5rem;
    padding: 0.5rem 1rem 0.5rem 1.5rem;
    position: relative;
}
div.sub_title div::before {
    content: '';
    width: 5px;
    height: 70%;
    top: 15%;
    background-color: var(--white-col);
    position: absolute;
    margin-left: -1rem;
    border-radius: 3px;
}
body#web div.sub_title select {
    height: 2rem;
    margin: 0;
    font-size: 1rem;
}

/*
    STEP
*/
body#web div.flow_box {
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1rem;
    max-width:var(--base-width);
    width:100%;
    box-sizing:border-box;
    margin: 0 auto;
}
body#web div.flow_box div.flow {
    font-size: 0.9rem;
    color: var(--blue-col);
}
body#web div.flow_box div.flow ol {
    list-style-type:none;
    counter-reset:list;
    display: flex;
    justify-content: space-between;
}
body#web div.flow_box div.flow ol li {
    padding-right: 4rem;
}
body#web  div.flow_box div.flow ol li {
    color: var(--dgray-col);
    border: 1px solid var(--dgray-col);
    border-radius: 2rem;
    padding: 0.5rem 0;
    width: 30%;
    text-align: center;
    position: relative;
}
body#web  div.flow_box div.flow ol li.sel {
    color: var(--base-col);
    border-color: var(--base-col);
    background-color: var(--yellow-col);
}
body#web  div.flow_box div.flow ol li::before {
    counter-increment: list;
    content: "STEP "counter(list)".";
    padding: 0 0 0 2rem;
    background-size: contain;
    background-repeat: no-repeat;
}
body#web  div.flow_box div.flow ol li.sel:nth-child(1)::before {
    background-image: url(./images/header/icon_flow01.png);
}
body#web  div.flow_box div.flow ol li:nth-child(1)::before {
    background-image: url(./images/header/icon_flow01_g.png);
}
body#web  div.flow_box div.flow ol li.sel:nth-child(2)::before {
    background-image: url(./images/header/icon_flow02.png);
}
body#web  div.flow_box div.flow ol li:nth-child(2)::before {
    background-image: url(./images/header/icon_flow02_g.png);
}
body#web  div.flow_box div.flow ol li.sel:nth-child(3)::before {
    background-image: url(./images/header/icon_flow03.png);
}
body#web  div.flow_box div.flow ol li:nth-child(3)::before {
    background-image: url(./images/header/icon_flow03_g.png);
}
body#web  div.flow_box div.flow ol li::after {
    content: '';
    position: absolute;
    display: block;
    width: 1rem;
    height: 1rem;
    border-top: solid 1px var(--dgray-col);
    border-right: solid 1px var(--dgray-col);
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-top: -1rem;
    right: -9%;
}
body#web  div.flow_box div.flow ol li:last-child::after {
    content: none;
}

@media screen and (min-width: 1024px) {
    body#web div.body-sub-header > div{
        max-width:var(--base-width);
        width:100%;
    }
    body#web header {
        /*height: 102px;*/
        height: 70px;
    }
    body#web header div.title {
        padding-top: 0;
        padding: 0.75rem 1rem;
    }
    div.side_menu{
        width: 400px;
    }
}
@media screen and (max-width: 1023px) {
    body#web div.body-sub-header {
        padding-left:10px;
        padding-right:10px;
        box-sizing: border-box;
    }
    body#web div.body-sub-header > div {
        max-width:var(--base-width);
        width: calc(100% - 30px);
    }
    body#web div.sub_title {
        width: calc(100% - 2rem);
    }
    body#web div.sub_title > div {
        font-size: 1.3rem;
    }
    div.sub_title {
        width: calc(100% - 2rem);
    }
    body#web div.flow_box div.flow ol {
        margin-left: 5%;
    }
    body#web  div.flow_box div.flow ol li {
        padding: 1rem 0 0;
        border: none;
        width: 33%;
    }
    body#web  div.flow_box div.flow ol li::before {
        padding: 0.5rem 0 0.5rem 2rem;
        background-size: 1.5rem;
        position: absolute;
        top: -0.5rem;
        background-position-y: bottom;
        text-align: center;
        margin-left: -1.5rem;
    }
    body#web  div.flow_box div.flow ol li::after {
        width: 0.5rem;
        height: 0.5rem;
        margin-top: -1.25rem;
        right: 5%;
    }
    body#web div.flow_box div.flow ol li.sel {
        background-color: unset;
    }
    body#web header a.header_link {
        font-size: 3.5vw;
    }
    body#web header span.city {
        font-size: 4vw;
    }
    body#web header div.title {
        font-size: 4vw;
    }
    div.side_menu{
        max-width: 500px;
        width:100%;
    }

    body#web header a.header_title div {
        font-size: 5vw;
        letter-spacing: 0;
        word-break: keep-all;
    }
    body#web div.header_menu_btn {
        margin-left: 0;
    }
}


@media screen and (max-width:932px) {
    /*ヘッダー*/
    body#web header {
        height: 50px;
    }
    body#web header a.header_title {
        border-spacing: 0.4rem;
    }
    body#web header a.header_title div {
        font-size: 4vw;
    }
    body#web header div.header_menu_btn img {
        width: 20px;
        height: 16px;
    }
    body#web header div.header_menu_btn {
        margin-top: 7.5px;
        margin-right: 7.5px;
        padding-top:9.5px;
        padding-bottom:0px;
        padding-left:0px;
        padding-right:0px;
        height:35px;
        width:35px;
        border-radius:30px;
        font-size:10px;
        line-height: 10px;
    }


    /*サイドメニュー*/
    body#web div.side_menu > div {
        padding-top: 7.5px;
        padding-bottom: 7.5px;
        padding-left: 7.5px;
        padding-right: 7.5px;
    }
    body#web div.side_menu div.header_menu_btn img {
        width: 20px;
        height: 20px;
    }
    body#web div.side_menu div.header_menu_btn {
         padding-top:7.5px;
         padding-bottom:0px;
         padding-left:0px;
         padding-right:0px;
         height:35px;
         width:35px;
         border-radius:30px;
         font-size:10px;
         line-height: 9px;
    }


    /*サブヘッダー*/
    body#web div.body-sub-header {
        height: 50px;
        line-height:50px;
    }
    body#web div.body-sub-header > div {
        font-size: 18px;
    }


    /*サブヘッダー下*/
    body#web div.breadcrumbs {
        padding-top: 0.1rem;
        padding-right: 0px;
        padding-bottom: 0.1rem;
        padding-left: 0px;
    }
    body#web div.breadcrumbs > div {
        font-size: 0.9rem;
        padding-right: 10px;
        padding-left: 10px;
    }
    body#web div.breadcrumbs > div > img {
        top: 0px;
        width: 0.5rem;
        height: 0.5rem;
    }


    /*サブタイトル*/
    body#web div.sub_title {
        margin-top: 0.5rem;
        margin-right: auto;
        margin-bottom: 0.5rem;
        margin-left: auto;
    }
    body#web div.sub_title > div {
        font-size: 1rem;
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
    }
    body#web div.sub_title select {
        height: 1.5rem;
        margin: 0;
        font-size: 0.8rem;
    }
    body#web div.sub_title select.hihyouji {
        position: absolute;
        left: -9999px;
    }

    /*ステップ欄*/
    body#web div.flow_box {
        margin-bottom: 0.5rem;
    }
    body#web div.flow_box div.flow {
        font-size: 0.9rem;
    }
    body#web div.flow_box div.flow ol li {
        margin: 0.2rem 0 !important;
        /*padding: 0.5rem 0 0;*/
        padding: 0rem;
    }
    body#web div.flow_box div.flow ol li::before {
        /*padding: 0.1rem 0 0.1rem 2rem;*/
        padding-top: 1.5rem;
        padding-right: 0px;
        padding-bottom: 0rem;
        padding-left: 2rem;
        content: "";
    }
    body#web div.flow_box div.flow ol li.sel:nth-child(1)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li:nth-child(1)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li.sel:nth-child(2)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li:nth-child(2)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li.sel:nth-child(3)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li:nth-child(3)::before {
        /*background-image: none;*/
    }
    body#web div.flow_box div.flow ol li::after {
        margin-top: -0.85rem;
    }
}