
@media screen and (max-width: 670px) {

    /*common--------------------------------*/
    .sp {
        display: block;
        width: 100%;
        height: auto;
        padding: 0;
        margin: 0;
    }

    .pc {
        display: none;
    }
    

body{
    width: 100%;
}

    .container {
        width: 100%;
        margin: 0 auto;
        position: relative;
        padding: 0;
    }


    article {
        width: 100%;
    }

    img {
        width: 100%;
        height: auto;
    }


    /*header--------------------------------*/

    header #logo {
        display: none
    }



    /*footer--------------------------------*/

    footer {
        background-color: #ececec;
        border-bottom: 5px solid #006160;
        height: auto;
    }

    footer .container {
        height: auto;
    }

    footer .container #pagetop {
        position: static;
        width: auto;
        height: auto;
    }

    footer .container #pagetop img {
        width: 30%;
        height: auto;
        display: block;
        margin: 0 auto;
    }

    footer .container address {
        font-size: 11px;
        text-align: center;
        padding: 10% 0 5%;
    }

    /*----------------------------------------*/
    /* top */
    /*----------------------------------------*/

    /*header--------------------------------*/

    #top header {
        background-image: none;
        width: 100%;
        text-align: center;
        padding-bottom: 10%;
    }

    #top header img.sp {
        width: 100%;
        height: auto;
    }

    #top header h1 {
        text-align: center;
        padding-top: 2%;
        width: 90%;
        margin: 0 auto;
    }

    #top header h2 {
        font-size: 16px;
        text-align: center;
        line-height: 1.3em;
        padding: 5% 0;
        width: 90%;
        margin: 0 auto;
    }

    #top header p {
        font-size: 12px;
        text-align: center; 
        width: 90%;
        margin: 0 auto;   
    }

    #top header dl {
        width: 90%;
        margin: 5% auto;
        border: 1px solid #c5cac3;
    }

    #top header dl dt {
        font-size: 16px;
        text-align: center;
        padding: 2% 0;
        background-color: #ddedd2;
        border-bottom: 1px solid #c5cac3;
    }

    #top header dl dd {
        font-size: 16px;
        text-align: center;
        line-height: 1.3em;
        padding: 2%;
    }

    #top header a {
        display: block;
        width: 80%;
        margin: 0 auto;
    }



    /*sec01--------------------------------*/

    #top #sec01 h3 {
        background:  url('../img/top/sec01_bg.gif') left top;
        width: 100%;
        height: auto;
        font-size: 24px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 4% 0;
    }

    #top #sec01  dl {
        width: 90%;
        margin: 0 auto;
        padding: 10% 0  5%;
    }

    #top #sec01  dl dt {
        width: 35%;
        height: auto;
        float: left;
        padding-bottom: 5%;
        font-size: 16px;
    }

    #top #sec01  dl dd {
        width: 65%;
        height: auto;
        float: left;
        padding-bottom: 5%;
    }

    #top #sec01  dl dd select,
    #top #sec01  dl dd input {
        width: 65%;
    }



    /*sec02--------------------------------*/

    #top #sec02 {
        width: 90%;
        background-color: #fff;
        margin: 0 auto;
        padding-bottom: 5%;
    }

    #top #sec02 h3 {
        background:  url('../img/top/sec01_bg.gif') left top;
        width: 100%;
        height: auto;
        font-size: 24px;
        font-weight: bold;
        color: #fff;
        text-align: center;
        padding: 4% 0;
    }

    #top #sec02 p {
        font-size: 15px;
        text-align: center;
        padding: 5% 0;
        width: 90%;
        margin: 0 auto;
    }

    #top #sec02 .blk01 {
        background: url('../img/top/sec02_bg_sp.png') center top no-repeat;
        background-size: 100% auto;
        width: 80%;
        height: auto;
        padding: 7% 5% 30% 5%;
        margin: 0 auto;
        position: relative;
        z-index: 2;
    }

    #top #sec02 .blk01 img {
        width: 25%;
        height: auto;
        display: block;
        margin: 0 auto 2%;
    }

    #top #sec02 .blk01 dl:first-child {
        float: none;
        padding-bottom: 2%;
    }

    #top #sec02 .blk01 dl:last-child  {
        float: none;
    }

    #top #sec02 .blk01 dl dt {
        font-size: 18px;
        color: #fff;
        text-align: center;
        width: 90%;
        height: auto;
        margin: 0 auto;
        padding: 2%;
        border-radius: 10px;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
    }

    #top #sec02 .blk01 dl:first-child dt {
        background-color: #55b8e2;
    }

    #top #sec02 .blk01 dl:last-child dt {
        background-color: #97c950;
    }

    #top #sec02 .blk01 dl dd {
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        padding-top: 1%;
    }

    #top #sec02 .blk02 {
        padding-top: 0;
        margin-top: -10%;
        position: relative;
        z-index: 1;
    }

    #top #sec02 .blk02  p {
        font-size: 11px;
        width: 95%;
        position: absolute;
        top: -30px;
        left: 38%;
    }

    #top #sec02 .blk02 dl {
        background: url('../img/top/sec02_graph_sp.png') left top no-repeat;
        background-size: contain;
        width: 90%;
        margin: 0 auto;
        position: relative;
        padding: 10% 0 28% 0;
    }

    #top #sec02 .blk02 dl dt {
        display: none;
    }

    #top #sec02 .blk02 dl dd {
        padding: 2% 0 ;
    }

    #top #sec02 .blk02 dl dd#feeNow,
    #top #sec02 .blk02 dl dd#feeCentral {
        display: none
    }

    #top #sec02 .blk02 dl dd.graph {
        width: 100%; 
    }

    #top #sec02 .blk02 dl dd.graph span {
        color: #fff;
        font-size: 11px;
    }

    #top #sec02 .blk02 dl dd.graph#graphNow  {
        position: static;
    }

    #top #sec02 .blk02 dl dd.graph#graphNow div {
        background-color: #55b8e2;
        height: auto;
        padding: 4% 0;
        text-align: center;
    }

    #top #sec02 .blk02 dl dd.graph#graphCentral  {
        position: static;
    }

    #top #sec02 .blk02 dl dd.graph#graphCentral div {
        background-color: #97c950;
        height: auto;
        padding: 4% 0;
        text-align: center;
    }

    #top #sec02 .blk02 dl dd#scale ul {
        position: absolute;
        top: 70%;
        left: -5%;
        width: 110%;
    }

    #top #sec02 .blk02 dl dd#scale ul li {
        font-size: 10px;
        width : 14.2% ;
        text-align: center;
        width : -webkit-calc(100% / 7) ;
        width : calc(100% / 7)) ;
        float: left;
    }

    #top #sec02 .blk02 #result {
        background: url('../img/top/sec02_obj_sp.png') center top no-repeat;
        background-size: contain;
        width: 80%;
        height: auto;
        margin: 0 auto;
        padding: 35% 0 10%;
        position: static;
    }

    #top #sec02 .blk02 #result div {
        font-size: 18px;
        font-weight: bold;
        color: #d93a1a;
        text-align: center;
        line-height: 1.3em
    }

    #top #sec02 .blk02 #result div span,
    #top #sec02 .blk02 #result div#resultText  {
        font-size: 30px;
        line-height: 1.3em
    }
    
    #top #sec02 .blk02 #result div#resultText.price_t  {
        font-size: 18px;
        line-height: 1.2em;
        width: 9em;
        display: block;
        margin: 0 auto;
    }

    #top #sec02 .blk02 #result div#feeDiff,
    #top #sec02 .blk02 #result div#feeDiff  span {
        font-size: 36px;
        line-height: 1.2em;
        line-height: 1.3em
    }

    #top #sec02 .blk03 table {
        width: 80%;
        margin: 0 auto;
        border-collapse: collapse;
        border: 2px solid #878b8a;
    }

    #top #sec02 .blk03 table thead {
        display: block;
        float: left;
    }

    #top #sec02 .blk03 table thead {
        display: block;
        float: left;
        width: 50%;
    }

    #top #sec02 .blk03 table tbody {
        display: block;
        float: left;
        width: 50%;
    }

    #top #sec02 .blk03 table th {
        background-color: #ddedd2;
        border-right: 1px solid #c5c7c6;
        border-bottom: 1px solid #c5c7c6;
        font-size: 12px;
        text-align: center;
        height: auto;
        padding: 8% 0;
        display: block;
        width: 100%;
        vertical-align: middle;
    }

    #top #sec02 .blk03 table tr {
        display: inline-block;
        width: 100%;
    }

    #top #sec02 .blk03 table td {
        border-bottom: 1px solid #c5c7c6;
        font-size: 12px;
        text-align: center;
        height: auto;
        padding: 8% 0;
        display: block;
        width: 100%;
        vertical-align: middle;
    }

    #top #sec02 .blk03 table th:last-child,
    #top #sec02 .blk03 table td:last-child {
        border-bottom:none;
    }

    #top #sec02 .blk03 p.note {
        font-size: 13px;
        padding: 5px 0 0 0;
        width: 80%;
        margin: 0 auto;
        text-align: right;
    }



    /*sec03--------------------------------*/

    #top #sec03 {
        padding-top: 60px;
    }

    #top #sec03 a {
        display: block;
        width: 80%;
        margin: 0 auto 5%;
    }

    #top #sec03 dl {
        width: 90%;
        margin: 0 auto;
        padding-top: 5%;
    }

    #top #sec03 dl dt {
        font-size: 16px;
        line-height: 1.3em;
    }

    #top #sec03 dl dd {
        font-size: 14px;
        line-height: 1.3em;
        padding-left: 1em;
        text-indent: -1em;
    }

    #top #sec03 dl:last-child dd {
        padding-left: 0;
        text-indent: 0;
    }



    /*----------------------------------------*/
    /* contact */
    /*----------------------------------------*/

    /*header--------------------------------*/

    #contact header p {
        background: url('../img/contact/arrow.png') left 25px no-repeat;
        font-size: 16px;
        text-indent: 1em;
        padding-top: 20px;
        width: 90%;
        margin: 0 auto;
    }


    /*sec01--------------------------------*/

    #contact #sec01 {
        width: 100%;
        padding-top: 5%;
    }

    #contact #sec01 h1 {
        background:  url('../img/top/sec01_bg.gif') left top;
        width: 100%;
        height: auto;
        font-size: 24px;
        font-weight: bold;
        color: #fff;
        padding: 4% 0;
    }

    #contact #sec01 h1 span {
        width: 90%;
        display: block;
        margin: 0 auto;
    }

    #contact #sec01 #wrap {
        width: 90%;
        background-color: #fff;
        padding: 1px;
        margin: 0 auto;
    }

    #contact #sec01 .container {
        width: 99%;
        background-color: #fff;
        border: 1px solid #d6d6d6;
    }

    #contact #sec01 .container #form {
        width: 95%;
        padding-top: 8%;
        margin: 0 auto;
    }

    #contact #sec01 .container #form p {
        padding-top: 10px;
        line-height: 1.5em;
    }

    #contact #sec01 .container table {
        width: 100%;
        padding: 5% 0;
        margin: 0 auto;
        border-bottom: 2px dotted #7d7b7c;
    }

    #contact #sec01 .container table th {
        width: 100%;
        display: block;
        font-size: 14px;
        padding-bottom: 1%;
    }

    #contact #sec01 .container table td {
        width: 100%;
        display: block;
        font-size: 14px;
        padding-bottom: 5%;
    }

    #contact #sec01 .container table td span.red {
        font-size: 12px;
        display: block;
    }

    #contact #sec01 .container table td .input01,
    #contact #sec01 .container table td .select {
        width: 50%;
    }

    #contact #sec01 .container table td .input01.first {
        margin: 0 0 3% 0;
        
    }

    #contact #sec01 .container table td .mail,
    #contact #sec01 .container table td .input02 {
        width: 94%;
    }

    #contact #sec01 .container table td .input03,
    #contact #sec01 .container table td .input04 {
        width: 20%;
    }

    #contact #sec01 .container table td .input05 {
        width: 16%;
        margin-bottom: 3%
    }

    #contact #sec01 .container table td .input06 {
        width: 98%;
        height: 10em;
    }

    #contact #sec01 .container table tr.separate th {
        padding-bottom: 1%;
    }

    #contact #sec01 .container table tr.separate td {
        padding-bottom: 5%;
    }

    #contact #sec01 .container table th.vat {
        vertical-align: middle;
    }

    #contact #sec01 .container table th.vab {
        vertical-align: middle;
    }

    #contact #sec01 .container table td span {
        display: block;
    }

    #contact #sec01 .container table td span.mt15 {
        margin-top: 2%;
    }

    #contact .submitContainer {
        padding: 10% 0;
    }

    #contact .submitContainer #submit {
        background: url('../img/contact/contact_submit.png') center center no-repeat;
        background-size: contain;
        display: block;
        width: 60%;
        height: 50px;
        border: none;
        margin: 0 auto;
        text-indent: -9999px;
        cursor: pointer;
        -webkit-transition: .5s ease-out;
        -moz-transition: .5s ease-out;
        -ms-transition: .5s ease-out;
        transition: .5s ease-out;
    }

    #contact.confirm .submitContainer {
        width: 90%;
        margin: 0 auto;
        padding: 30px 0 40px;
        clear: both;
    }

    #contact.confirm .submitContainer  #btnBack {
        background: url('../img/contact/confirm_btn_back.png') center center no-repeat;
        background-size: contain;
        display: block;
        width: 46%;
        height: 40px;
        border: none;
        float: left;
        text-indent: -9999px;
        cursor: pointer;
        -webkit-transition: .5s ease-out;
        -moz-transition: .5s ease-out;
        -ms-transition: .5s ease-out;
        transition: .5s ease-out;
    }

    #contact.confirm .submitContainer #submit {
        background: url('../img/contact/confirm_submit.png') center center no-repeat;
        background-size: contain;
        display: block;
        width: 46%;
        height: 40px;
        border: none;
        float: right;
        text-indent: -9999px;
        cursor: pointer;
        -webkit-transition: .5s ease-out;
        -moz-transition: .5s ease-out;
        -ms-transition: .5s ease-out;
        transition: .5s ease-out;
    }

    #contact.confirm .submitContainer  #btnTop {
        background: url('../img/contact/complete_btn_back.png') center center no-repeat;
        background-size: contain;
        display: block;
        width: 60%;
        height: 50px;
        border: none;
        margin: 0 auto;
        text-indent: -9999px;
        cursor: pointer;
        -webkit-transition: .5s ease-out;
        -moz-transition: .5s ease-out;
        -ms-transition: .5s ease-out;
        transition: .5s ease-out;
    }

    #contact.confirm  #sec01 .container h2 {
        font-size: 20px;
        color: #015d5c;
        padding: 10% 0;
    }

    #contact.confirm #complete {
        width: 100%;
        padding-top: 30%;
        border-bottom: 2px dotted #7d7b7c;
        position: relative
    }

    #contact.confirm #complete img {
        position: absolute;
        bottom: 0;
        right: 0;
        width: 30%;
        height: auto;
    }

    #contact.confirm .submitContainer.complete {
        padding-top: 10%;
        margin-top: 0;
    }
}

@media screen and (max-width: 360px) {
    #top #sec02 .blk01 img {
        width: 30%;
        height: auto;
        display: block;
        margin: 2% auto 4%;
    }

    #top #sec02 .blk01 dl dd {
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        padding-top: 3%;
    }

    #contact #sec01 .container table td .mail,
    #contact #sec01 .container table td .input02 {
        width: 98%;
    }
}

@media screen and (max-width: 320px) {
    #top #sec02 .blk01 {
        padding: 5% 5% 30% 5%;
    }
    #top #sec02 .blk01 img {
        width: 20%;
        margin: 0 auto 1%;
    }

    #top #sec02 .blk01 dl dd {
        padding-top: 1%;
    }

    #top #sec02 .blk02 dl {
        padding: 5% 0 25% 0;
    }

    #top #sec02 .blk02 dl dd#scale ul {
        position: absolute;
        top: 68%;
    }

    #top #sec02 .blk02 dl dd#scale ul li {
        font-size: 8px;
    }

    #top #sec02 .blk02 #result {
        padding: 32% 0 10%;
    }

    #contact #sec01 .container table td .mail,
    #contact #sec01 .container table td .input02 {
        width: 94%;
    }
}

