html {
    position: relative;
    min-height: 100%;
    color:#333;
}

body{
    margin:0;
    margin-bottom: 80px;
}

.header_contents,
.footer_contents{
    padding:10px;
    /*max-width:900px;*/
    /*max-width:1420px;*/
    margin: 0 auto;
    background:#B0CDF0;
}
.header_contents{text-align: center;}
.header_contents .logo{display: inline;}
.header_contents h1{display: inline; color: #000; vertical-align: bottom;padding-left: 0.5em;}
.header_contents .logo img{
    max-width:100%;
}

.footer_contents{
    position: absolute;
    height: 50px;
    bottom: 0;
    right: 0;
    left: 0;
    margin:auto;
    text-align:right;
}

.footer_contents small{
    font-size:90%;
}

.footer_contents .guide {
    text-align:left;
    font-size:90%;
}

.loading{
    display:none;
    text-align:center;
}

main{
    color:#333;
    /*max-width:900px;*/
    /*max-width:1550px;*/
    max-width:1650px;
    margin:auto;
    padding:5px;
}

main *{
    box-sizing:border-box;
}

main h1{
    font-size:160%;
    text-align:center;
}

.schedule select,
.schedule input[type="file"],
.schedule input[type="text"]{
    margin-top: 8px;
    padding: 10px;
    background-color: #e7e7e7;
    border: none;
}

.schedule input.display_date{
    font-size:105%;
}

.schedule input[type="file"]{
    background-color: #fff;
}

.schedule span.attention{
    color:#f00;
    font-size:90%;
    margin-top:8px;
    padding-left: calc( 19.5em * 1.55);
}

.schedule span.attention:before{
    content:"※";
}

.schedule label {
    border-left: 4px solid #333;
    padding: 0px 10px;
    font-weight: bold;
    display: inline-block;
    min-width: 7em;
    margin-top: 10px;
    border-left: 4px solid #d0f18f;
}

.schedule button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

.schedule button:disabled{
    color:#b1b1b1;
}

.schedule{
    text-align:center;
}

.schedule .txt{
    display:inline-block;
    text-align:left;
    padding: 1.5em 0 0.5em;
}

.schedule .box{
    border:1px solid #ddd;
    margin-top:1em;
}

.schedule .cancel,
.schedule .input_area{
    margin:1.5em 0;
    text-align:center;
}
.schedule .input_area * {
    display: inline-block;
    vertical-align: middle;
}

.schedule .zip_area{
    text-align:left;
    display:inline-block;
}

.schedule .address_area{
    width:100%;
    padding:0.5em;
}
.schedule #address{width:0;height:0;}

.schedule .address_display{
    margin:0.5em;
}

.schedule .address_display.success{
    font-size:120%;
    font-weight:bold;
    padding:0.1em 0.5em;
    /*border-bottom:2px solid #333;*/
    background: #E6E6E6;
}

.schedule .calendar_area,
.schedule #calendar {
    text-align:center;
}

.schedule #calendar {
    display:inline-block;
}

.schedule #calendar.success {
    min-height:20em;
}

.schedule #calendar h2{
    margin:0;

}

.schedule table {
    border-spacing: 0;
    border-collapse: collapse;
}

.schedule td {
    border: 1px solid #ddd;
    /*padding: 5px;*/
    padding: 1px;
    text-align: center;
}

.schedule td span{
    padding:0.3em 0;
    display:inline-block;
}

.schedule td:first-child {
    color: red;
}

.schedule td:last-child {
    color: royalblue;
}

.schedule td.is-disabled {
    color: #ccc;
}

.schedule .calendar_area button[class^="d-"] {
    background-color:#004feb;
    padding:0.3em 0.8em;
}

.schedule .calendar_area button[class^="d-"].date_select {
    background-color:#ffeb3b;
}

.schedule .calendar_area button[class^="d-"]{
    margin:1px;
}

.schedule .calendar_area button[class^="d-"]:disabled{
    background-color:#eeeeee !important;
}

.schedule .calendar_area .ex{
    padding:0.2em 0;
    text-align:right;
    margin-bottom:0.5em;
    font-size:90%;
}

.schedule .calendar_area .ex button[class^="d-"]{
    width:2.5em;
}

.schedule .calendar_area .control{
    position:relative;
}

.schedule .calendar_area .control button{
    bottom:0;
    position:absolute;
    background: #000;
    color: #FFF;
    padding: 0.2em 0.5em;
}

.schedule .calendar_area .control button:hover{
    border-color:#333;
    text-decoration:underline;
}

.schedule .calendar_area .control button:disabled,
.schedule .calendar_area .control button:disabled:hover{
    color:#b1b1b1;
    text-decoration:none;
}

.schedule .calendar_area .control #prev{left:0;}

.schedule .calendar_area .control #next{right:0;}

.registration .input_area{
    padding:1em;
    text-align:left;
    margin:1em auto;
    display:inline-block;
}

.registration .input_area label{
    /*min-width:27em;*/
    min-width:31em;
}

.registration .input_area .check_value {
    margin-top:10px;
}

.registration .input_area.order_check label{
    /*min-width:8em*/;
    min-width:12em;
}

.registration .input_area.order_check span.check_value {
    /*max-width:calc(100% - 8em);*/
    max-width:calc(100% - 12em);
}

.registration input[type="text"],
.registration select{
    width:24em;
}

.registration .question_image{
    margin:0.5em auto;
    display:block;
    text-align:center;
    max-width:630px;
}

.registration .question_image img{
    max-width:100%;
}

.registration .question_image.toggle{
    margin:0 auto;
    position:relative;
}

.registration .question_image .toggle_btn{
    position:absolute;
    width:1.4em;
    height:1.4em;
    border-radius:50%;
    background-color:#333;
    color:#fff;
    right:-7em;
    top:-2.2em;
    vertical-align:middle;
    font-size:80%;
}

.registration .question_image .toggle_btn:before{
    content:"？";
}

.registration .question_image .toggle_item{
    display:none;
    padding:0.5em 0;
}

.registration label {
    border-left: 4px solid #333;
    padding: 0px 10px;
    font-weight: bold;
    display: inline-block;
    max-width: 1em;
    margin-top: 10px;
}

.search .input_area{
    text-align:center;
}

.search .input_area label{
    min-width:7em;
}

.search span.attention{
    padding-left: 0;
}

a.btn{
    text-decoration:none;
}

a.btn,
button[type="submit"]{
    font-size:90%;
    margin-bottom:8px;
    padding: 0.5em 2em;
    border:none;
    border-radius:5em;
    width:13em;
    text-align:center;
    margin:auto;
    margin-top:2em;
    background:#004feb;
    border: 3px solid #004feb;
    color:#fff;
    box-shadow: 0px 2px 8px -4px rgba(0,0,0,0.6);
    cursor:pointer;
    display:block !important;
    box-sizing:border-box;
}

a.btn.white,
button.white{
    color: #004feb;
    background-color: #fff;
}

a.btn:focus,
button[type="submit"]:focus{
    outline:none;
    box-shadow: 0 0 4px 1px #1589ee;
}

a.btn:disabled,
button[type="submit"]:disabled{
    background-color:#999999 !important;
    color:#fff;
    border-color:#999999 !important;
}

.button_horizontal{
    display:block;
    width:100%;
    text-align:center;
    margin-top:1em;
}

.button_horizontal button[type="submit"]{
    display:inline-block !important;
    margin:1em 0.5em;
    margin-bottom:0;
}

span.check_value.image{
    vertical-align:top;
    font-size:90%;
}

@media screen and ( max-width:1550px) {
        .schedule .calendar_area button[class^="d-"]{
        width:100%;
        text-align:center;
    }
}

.btn_camera{
    display: none!important;
}

/*デバイス幅860px以下*/
@media screen and ( max-width:860px) {
    .schedule .box{
        border-left:none;
        border-right:none;
        margin-top:1em;
        padding:0.5em;
    }

    .schedule #calendar,
    .schedule #calendar table{
        width:100%;
    }

    .schedule #calendar td{
        padding:3px;
    }

    .schedule .calendar_area button[class^="d-"]{
        width:100%;
        padding:0.4em 0;
        text-align:center;
    }

    .schedule .calendar_area button[class^="d-"]+button[class^="d-"]{
        margin-left:0;
        margin-top:3px;
    }

    .btn_camera{
    display: inline-block!important;
}
}


@media screen and ( max-width:730px) {
    .registration .input_area label{
        min-width:100% !important;
        margin-top:1.5em;
    }

    .registration .question_image .toggle_btn{
        right:-1.8em;
        top:-1.7em;
    }

    .registration .question_image .toggle_btn:hover:after{
        content:"";
    }

    .registration .input_area .attention{
        margin-top:0;
    }

    .registration input[type="text"],
    .registration select{
        width:100%;
    }

    .registration .input_area.order_check span.check_value {
        max-width:100%;
    }

    .schedule span.attention{
        padding-left: 0;
    }

    .check_value{
        margin:0.5em;
    }
}

/*デバイス幅500px以下*/
@media screen and ( max-width:500px) {
.header_contents .logo{display: block;}
.header_contents h1{display:block; color: #000; vertical-align: bottom;padding-left: 0em;font-size:130%;}
}

@media screen and ( max-width:380px) {
    .schedule .zip_area{
        width:100%;
    }

    .schedule .zip_area input{
        width:100%;
    }

    .registration .input_area{
        padding:0 1em 0 0;
    }
}

/*ステップバー*/
.stepbar {
    display: flex;
    position: relative;
    padding: 0;
    text-align: center;
    align-items: center;
    justify-content: center;
    max-width:240px;
    justify-content: space-between;
    margin:auto;
    margin-top:20px;
    margin-bottom:30px;
}

.stepbar li {
    font-size: 12px;
    list-style: none;
    position: relative;
    max-width: 100px;
    color:#999;
    font-weight:bold;
    padding-top:32px;
    width:calc(100%/5);
}

.stepbar li:before {
    content:"　";
    background-color: #999;
    border-radius: 50%;
    color: #fff;
    display: inline-block;
    height: 24px;
    width: 24px;
    line-height: 24px;
    margin-bottom: 4px;
    text-align: center;
    border-radius: 50%;
    position:absolute;
    margin:auto;
    left:0;
    right:0;
    top:0;
    z-index:10;
}

 .stepbar li+li:after {
    background-color: #999;
    content: "";
    height: 2px;
    left: -130%;
    position: absolute;
    top: 11px;
    width: 160%;
    z-index:1;
}

.stepbar .done {
    color:#004feb;
}

.stepbar .done:after {
    background-color: #004feb;
}

.stepbar .done:before {
    content:"\02714";
    background-color: #004feb;
}

.stepbar .done.active:before {
    content:"　";
    background-color:#fff;
    box-shadow: inset 0 0 0 3px #004feb;
}

/*enet*/
.enet a.btn,
.enet button[type="submit"]{
    background:#004feb;
    border-color:#004feb;
}

.enet a.btn.white,
.enet button.white{
    color: #004feb;
    background-color: #fff;
}

.enet .schedule .calendar_area button[class^="d-"] {
    background-color:#90d4f3;
}

.enet .schedule .calendar_area button[class^="d-"].date_select {
    background-color:#1e91ff;
}

.enet .stepbar .done {
    color:#004feb;
}

.enet .stepbar .done:after {
    background-color: #004feb;
}

.enet .stepbar .done:before {
    background-color: #004feb;
}

.enet .stepbar .done.active:before {
    background-color:#fff;
    box-shadow: inset 0 0 0 3px #004feb;
}

/*irisplaza*/
.irisplaza a.btn,
.irisplaza button[type="submit"]{
    background:#EB0007;
    border-color:#EB0007;
}

.irisplaza a.btn.white,
.irisplaza button.white{
    color: #EB0007;
    background-color: #fff;
}

.irisplaza .schedule .calendar_area button[class^="d-"] {
    background-color:#ffb8ba;
}

.irisplaza .schedule .calendar_area button[class^="d-"].date_select {
    background-color:#ff4a4f ;
}

.irisplaza .stepbar .done {
    color:#EB0007;
}

.irisplaza .stepbar .done:after {
    background-color: #EB0007;
}

.irisplaza .stepbar .done:before {
    background-color: #EB0007;
}

.irisplaza .stepbar .done.active:before {
        background-color:#fff;
    box-shadow: inset 0 0 0 3px #EB0007;
}

/*ins*/
.ins a.btn,
.ins button[type="submit"]{
    background:#8DC816;
    border-color:#8DC816;
}

.ins a.btn.white,
.ins button.white{
    color: #8DC816;
    background-color: #fff;
}

.ins .schedule .calendar_area button[class^="d-"] {
    background-color:#d0f18f;
}

.ins .schedule .calendar_area button[class^="d-"].date_select {
    background-color:#ffeb3b;
}

.ins .stepbar .done {
    color:#8DC816;
}

.ins .stepbar .done:after {
    background-color: #8DC816;
}

.ins .stepbar .done:before {
    background-color: #8DC816;
}

.ins .stepbar .done.active:before {
    background-color:#fff;
    box-shadow: inset 0 0 0 3px #8DC816;
}

/*--------------------
 キャンセル画面用
--------------------*/
.frame {
    width: 80%;
    margin: 30px auto 20px;
    padding: 10px 20px 0;
    border: 3px solid #aaa;
    position: relative;
    border-radius: 3px;
    background-color: #fff;
    text-align: left;
}

.frame-title {
    position: absolute;
    top: -13px;
    left: 20px;
    padding: 0 5px;
    background-color: #fff;
    font-weight: bold
}

.frame-title .fa {
    margin-right: 5px;
}

.caution {
    background-color: #fea723;
    border: 2px solid #fea723;
    color: #fff;
    border-radius: 3px;
}

.information {
    background-color: #0080ff;
    border: 2px solid #0080ff;
    color: #fff;
    border-radius: 3px;
}

.frame-red {
    border-color: #fea723;
}

.frame-blue {
    border-color: #0080ff;
}

#err_message {
    display: none;
    color:  #ff0000;
}

#wng_message {
    color:  #ff0000;
}

#info_message {
    color:  #ff0000;
}

.registration span.attention_img {
    padding-left: 0;
}

.modal-overlay {
     display:none;
     position:fixed;
     width:100%;
     height:100%;
     background:rgba(0,0,0,0.4);
}

.modal-content {
     display:none;
     position:fixed;
     width:90%;
     height:80%;
     z-index:3;
     background:#fff;
     overflow-y:scroll;
}

#link-style-btn{
    cursor: pointer;
    border: none;
    background: none;
    color: #0033cc;
    padding:0;
    margin:0;
    width:auto;
    box-shadow:none;
    display:inline-block !important;
    font-size:100%;
}

#link-style-btn:hover{
    text-decoration: underline;
    color: #002080;
}

.radiogrp {
    font-size: 0;
}

.radiogrp label {
    font-size: 16px;
    background-color: #fff;
    padding: 10px 30px;
    margin: 0px;
    border: 1px solid #ddd;
    cursor: pointer;
}

.radiobutton:checked + label {
    background-color: #ccffcc;
}

.question_label {
    white-space: pre;
}

span.recycle_price {
    font-size:80%;
}

.rakuten_caution {
    display:inline-block;
    text-align:left;
    font-size:80%;
    margin: 0 auto 2em auto;
    padding: 1.0em 1.2em;
    border-top: 1px #444 solid;
    border-bottom: 1px #444 solid;
}

.schedule_caution {
    color:  #ff0000;
    font-size:120%;
}
