@charset "utf-8";


/* --------------------------------
   □ accentarea
-------------------------------- */

.contents .accentarea{
    box-sizing:border-box;
    display: table;
    background-image: url("../../images/business/business_bg.jpg");
    background-color: #dadada;
    width: 100%;
    background-size: cover;
}
.contents .accentarea h2{
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
.contents .accentarea .commit{
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    width: 609px;
}
    .contents .accentarea .commit h3{
        font-size: 175%;
        position: relative;
    }
        .contents .accentarea .commit h3:after{
            content: "";
            display: block;
            width: 36px;
            height: 2px;
            background-color: #fff;
            position: absolute;
            bottom: -30px;
            left: 50%;
            transform: translateX(-50%);
            -webkit-transform:translateX(-50%);
        }
    .contents .accentarea .commit p.text{
        font-size: 87.5%;
        text-align: center;
        margin: 60px auto;
    }
    .contents .accentarea .commit .flex_container{
        display: flex;
        justify-content: space-between;
        width: 609px;
    }

.contents .contactBy ul{
    width: 100%;
    margin-top: 40px;
}
    .contents .contactBy li{
        box-sizing: border-box;
        display: inline-block;
        width: 509px;
        height: 120px;
        padding: 10px 10px 10px 50px;
        border: 2px solid #D4D4D4;
        text-align: center;
        margin: 10px;
    }
    .contents .contactBy li em{
        font-size: 225%;
        font-weight: 700;
        margin-left: 40px;
    }
    .contents .contactBy li.tel{
        float: left;
    }
    .contents .contactBy li.fax{
        padding-top: 20px;
    }
.contents .contactBy li.tel em{
    position: relative;
}
    .contents .contactBy li.tel em:before{
        position: absolute;
        content: url("../../images/business/tel_icon.png");
        width: 36px;
        height: 34px;
        top: 0px;
        left: -60px;
    }
.contents .contactBy li.fax em{
    position: relative;
}
    .contents .contactBy li.fax em:before{
        position: absolute;
        content: url("../../images/business/fax_icon.png");
        width: 48px;
        height: 40px;
        top: 0px;
        left: -60px;
    }


.contents .contactBy.top{
    background-color: #444444;
    color: #fff;
    width: 100%;
    padding: 20px 0;
}
.contents .contactBy.top ul{
    margin-top: 0;
    width: 1080px;
    margin: 0 auto;
}
.contents .contactBy.top ul li{
    height: 109px;
}
.contents .contactBy.top li.tel em{
    position: relative;
    line-height: 1;
}
    .contents .contactBy.top li.tel em:before {
        position: absolute;
        content: url(../../images/business/tel_icon_w.svg);
        width: 36px;
        height: 34px;
        top: 10px;
        left: -80px;
    }
    .contents .contactBy.top li.tel a{
        color: #fff;
    }
    .contents .contactBy.top li.tel .caution{
        font-size: 87.5%;
        margin-top: 0;
        line-height: 1;
    }
.contents .contactBy.top li.mail{
    background-color:#FCF069;
    color: #444;
    border: none;
    text-align: left;
    padding: 0;
}
    .contents .contactBy.top li.mail a{
        position: relative;
        font-size: 125%;
        padding: 25px 80px 20px 150px;
        background-color: #FCF069;
        height: 109px;
        border: none;
    }
    .contents .contactBy.top li.mail a:before {
        position: absolute;
        content: url(../../images/business/mail_icon.svg);
        width: 40px;
        height: 29px;
        top: 40px;
        left: 70px;
    }
    .contents .contactBy.top li.mail a:hover{
        color: #444;
        background: #ded13c;
    }
    .contents .contactBy.top li.mail.buttonStyle a:hover:after{
        border-top: solid 2px #444;
        border-right: solid 2px #444;
    }

.contents .contactBy.top .fax{
    width: 1080px;
    margin: 10px auto 0;
    text-align: center;
}
.contents .contactBy.top .fax span{
    font-size: 81.25%;
    vertical-align: text-top;
}
.contents .contactBy.top .fax em{
    display: inline-block;
    padding-left: 40px;
    position: relative;
    font-size: 137.5%;
}
    .contents .contactBy.top .fax em:before {
        position: absolute;
        content: url(../../images/business/fax_icon_w.svg);
        width: 29px;
        height: 28px;
        top: 0px;
        left: 0px;
    }

/* --------------------------------
   □
-------------------------------- */

.contents main section h3{
    margin: 58px auto;
}

/* --------------------------------
   □ commitments
-------------------------------- */

#commitments{
    margin-top: 82px;
}
#commitments .flex_container{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#commitments .flex_container .flex_item{
    width: 517px;
}
    #commitments .flex_container .flex_item:nth-child(n+3){
        margin-top: 90px;
    }
#commitments .top_text{
    width: 512px;
    margin: 0 auto;
}
#commitments h4{
    font-size: 150%;
    margin-bottom: 30px;
    background: #FFFCF1;
    color: #444;
    text-align: center;
    vertical-align: middle;
    position: relative;
    padding: 10px 0 10px 43px;
    margin: 0 auto 28px;
}
#commitments h4 .number{
    position: absolute;
    background-color: #FCF069;
    color: #444;
    display: inline-block;
    left: 0;
    top: 0;
    width: 87px;
    font-weight: 700;
    text-align: center;
    padding: 0;

}
#commitments h4 .number span {
    display: inline-block;
    font-size: 277.77%;
    padding: 9px 0;
    text-align: left;
}
#commitments .flex_container .flex_item p.image{
    width: 180px;
    float: left;
    padding: 15px 0;
}
#commitments .flex_container .flex_item p.explanation{
    width: 337px;
    float: right;
}

/* --------------------------------
   □ ranking
-------------------------------- */

.contents main section h4{
    font-size: 225%;
    background: #8ED2E0;
    color: #fff;
    padding: 20px 250px;
    line-height: 1.5;

}
    .contents main section h4 span{
        display: inline-block;
        font-size: 38.88%;
        padding: 10px 0;
        text-align: left;
    }
ul.ranking{
    overflow: hidden;
    margin-top: -100px;
    padding-top: 100px;
}
    ul.ranking > li{
        width: 340px;
        /*height: 662px;*/
        margin-right: 30px;
        margin-bottom: 45px;
        float: left;
        box-sizing: border-box;
    }
    ul.ranking > li a{
        display: block;
        padding: 30px 20px 50px 20px;
        color: #444;
        background: #F5F5F5;
    }
    ul.ranking > li a:hover{
        text-decoration: none;
        background-color: #dadada;
    }
    ul.ranking > li:last-child{
        margin-right: 0;
    }
    ul.ranking > li p.no{
        padding-bottom: 5px;
        padding-left: 50px;
        font-size: 125%;
    }
    ul.ranking > li p.no em{
        font-size: 188%;
        margin-left: 5px;
    }
        ul.ranking > li p.no1{
            border-bottom: 1px solid #BFA86E;
            background: url("../../images/business/crown_1.png") 0 50% no-repeat;
            color: #BFA86E;
        }
        ul.ranking > li p.no2{
            border-bottom: 1px solid #ACA9A9;
            background: url("../../images/business/crown_2.png") 0 50% no-repeat;
            color: #ACA9A9;
        }
        ul.ranking > li p.no3{
            border-bottom: 1px solid #B97D6B;
            background: url("../../images/business/crown_3.png") 0 50% no-repeat;
            color: #B97D6B;
        }
    ul.ranking > li dl dt{
        margin-bottom: 20px;
        background-color: #FFF;
        width: 300px;
        height: 300px;
        align-items: center;
        display: flex;
        justify-content: center;
    }
        ul.ranking > li dl dt img{
            width: auto;
        }
    ul.ranking > li dl dd p{
        margin-bottom: 10px;
    }
        ul.ranking > li dl dd p.name{
            font-size: 113%;
            font-weight: 700;
            margin-top: 10px;
        }
        ul.ranking > li dl dd p.price{
            font-size: 82%;
            color: #DF2C2C;
            margin-bottom: 0;
        }
        ul.ranking > li dl dd p.price em{
            font-size: 250%;
            color: #DF2C2C;
        }
        ul.ranking > li dl dd p.number{
            font-size: 82%;
        }
    ul.ranking > li dl dd ul.spec li{
        display: inline-block;
        padding: 3px 15px;
        border: 1px solid #D4D4D4;
        background-color: #FFF;
        margin-right: 5px;
        font-size: 82%;
    }

#recommendation{
    margin-bottom: 18px;
}

/* --------------------------------
   □ business_contact
-------------------------------- */

#business_contact, #business_contact h3{
    margin-top: 0;
}
.text-center{
    text-align: center;
}
.text.border{
    margin: 35px 0 0 0;
}
    .text.border strong{
        font-weight: 700;
    }

.contents .mail table.tableStyle{
   margin-bottom: 0;
   margin-top: 50px;
}
.contents .mail table.tableStyle .text.link{
    margin: 18px auto 0;
}
    .text.link a{
        font-size: 120%;
    }
.contents .mail table.tableStyle #quantity{
    width: 25%;
}

.contents .attach_file .select_file {
    display: flex;
    margin: 30px auto 30px 212px;
}

ul.submitArea_ li.buttonStyle {
    margin: 0 auto 30px auto;
}

table.tableStyle th, table.tableStyle td {
    font-size: 100%;
}


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

/* --------------------------------
   □
-------------------------------- */

    .contents main > section{
        margin-right: 0;
        margin-left: 0;
    }
    .contents .chapter{
        margin-right: 0;
        margin-left: 0;
    }
        .contents .chapter:last-child{
        margin-bottom: 30px;
    }
    .contents section.wide{
        margin-right: 0;
        margin-left: 0;
    }
    .contents .wide .container{
        margin-right: 0%;
        margin-left: 0%;
    }

    .contents .accentarea{
        display: block;
        width: 104%;
        margin-left: -2%;
        margin-right: -0%;
        padding: 30px;
    }
    .contents .accentarea h2{
        display: block;
    }
    .contents .accentarea .commit{
        display: block;
        width: auto;
    }
       .contents .accentarea .commit p.text {
        font-size: 100%;
        margin: 20px auto;
    }

    .text-center{
       text-align: left;
    }

    .contents .contactBy.top{
        background-color: #F57F24;
        width: 104%;
        margin-left: -2%;
        margin-right: -0%;
    }
    .contents .contactBy.top ul{
        width: auto;
    }

    .contents .contactBy.top li{
        display: block;
        width: auto;
        font-size: 90%;
        padding: 10px;
    }
        .contents .contactBy.top li.tel{
            float: none;
            height: auto;
            padding: 10px;
            border: 2px solid #fff;
        }
        .contents .contactBy.top li.tel em:before{
            top: 5px;
            left: -50px;
        }
        .contents .contactBy.top li.tel a{
            color: #fff;
        }
        .contents .contactBy.top li.mail{
            float: none;
            height: auto;
            padding: 0;
            width: auto;
        }
        .contents .contactBy.top li.mail a{
            height: auto;
            padding: 10px 10px 10px 70px;
            width: 100%;
        }
        .contents .contactBy.top li.mail a:before {
            top:20px;
            left: 20px;
        }
   .contents .contactBy.top .fax{
        width: auto;
    }

    .contents main section h3 {
        width: 104%;
        margin: 30px -2% 25px -2%;
        padding: 15px 0;
    }

    /* --------------------------------
   □  #commitments
    -------------------------------- */

    #commitments {
        margin: 0 auto;
    }
    #commitments .top_text{
        width: auto;
    }
    #commitments h4 {
        font-size: 120%;
        padding-left: 80px;
    }
    #commitments h4 .number span{
        padding: 7px 0;
    }
    #commitments .flex_container .flex_item p.image {
        width: 25%;
        padding-top: 70px;
    }
    #commitments .flex_container .flex_item p.explanation {
        width: 70%;
    }
    #commitments .flex_container .flex_item:nth-child(n+3) {
        margin-top: 0;
    }

   /* --------------------------------
   □  #discount
    -------------------------------- */

    #discount{
        margin-bottom: 0;
    }

   /* --------------------------------
   □  #recommendation
    -------------------------------- */

    #recommendation h4{
        font-size: 150%;
        padding: 10px;
        width: auto;
        margin-right: -2%;
        margin-left: -2%;
        margin-top: 30px;
    }
        #recommendation h4 span{
            font-size: 60%;
        }

     ul.ranking > li{
        width: 100%;
        height: auto;
        margin: 10px 0;
     }
        ul.ranking > li a{
            padding: 30px 20px;
        }

    ul.ranking > li dl {
        overflow: hidden;
    }
        ul.ranking > li dl dt{
            width: 25%;
            height: 25%;
            float: left;
            margin-right: 5%;
        }
            ul.ranking > li dl dt img{
               max-width: 100%;
               height:auto;
            }
        ul.ranking > li dl dd{
            display: inline-block;
            width: 70%;
        }
        ul.ranking > li p.no{
            font-size: 100%;
            padding-bottom: 0;
        }
        ul.ranking > li p.no em{
            font-size: 150%;
        }
        ul.ranking > li dl dd p.name{
            margin-bottom: 0;
            font-size: 100%;
        }
        ul.ranking > li dl dd ul.spec li{
            float: left;
            padding: 3px 10px;
            margin-right: 10px;
        }

 /*  ul.ranking > li:first-child{
        width: 100%;
        height: auto;
        margin-right: 0;
        margin-bottom: 20px;
    }
        ul.ranking > li:first-child dl dt{
            width: 25%;
            height: 25%;
            float: left;
            margin-right: 5%;
        }
            ul.ranking > li:first-child dl dt img{
               max-width: 100%;
               height:auto;
            }
        ul.ranking > li:first-child dl dd{
            display: inline-block;
            width: 70%;
        }
        ul.ranking > li:first-child p.no{
            font-size: 100%;
            padding-bottom: 0;
        }
        ul.ranking > li p.no em{
            font-size: 150%;
        }
        ul.ranking > li dl dd p.name {
            margin-bottom: 0;
            font-size: 100%;
        }
        ul.ranking > li:first-child dl dd ul.spec li{
            float: left;
            padding: 3px 10px;
            margin-right: 10px;
        }

    ul.ranking > li:nth-child(2),
    ul.ranking > li:last-child{
        width: 48%;
        height: auto;
        margin-right: 4%;
    }

    ul.ranking > li:nth-child(2) dl dd ul.spec li.size,
    ul.ranking > li:last-child dl dd ul.spec li.size{
        margin-top: 5px;
    }
    ul.ranking > li:last-child{
        margin-right: 0;
    }*/


   /* --------------------------------
   □  #business_contact
    -------------------------------- */

    #business_contact h3{
        font-size: 150%;
        padding: 15px 0;
        margin: 30px -2% 25px;
    }
    .contents .mail table.tableStyle #quantity {
        width: 50%;
    }

    table .text.link a{
        font-size: 114%;
    }

    /* --------------------------------
   □  .contactBy.bottom
    -------------------------------- */

    .contents .contactBy.bottom{
        margin-bottom: 30px;
    }
    .contents .contactBy.bottom li{
        width: 100%;
        height: auto;
        font-size: 90%;
        padding: 10px;
        margin: 10px 0;
        float: none;
        border: 2px solid #D4D4D4;
    }
        .contents .contactBy.bottom li#tel,
        .contents .contactBy.bottom li#fax{
            float: none;
            padding: 10px;
        }
        .contents .contactBy.bottom li em{
            font-size: 200%;
        }
}
