@charset "utf-8";

img, object, embed, video {
	max-width: 100%;
}

body{
    color:#444;
    font-family: "ヒラギノ角ゴ ProN W3","HiraKakuProN-W3","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","helvetica","arial",sans-serif;

}
a{
    font-weight: bold;
    color: #000;    
    -moz-transition-delay:0ms;
    -webkit-transition-delay:0ms;
    -o-transition-delay:0ms;
    -ms-transition-delay:0ms;
}
a:hover{
    opacity: 0.5;

    /* この２行がCSS3 */
    transition-property: all!important;
    transition: 0.3s linear!important;

}
li{
    margin-top: 15px;
}
.list-check li:before{
    margin:0 10px 0 0;
    content:" ";
    display:inline-block;
    width: 18px;
    height: 16px;
    background:url("../img/common/check.png");    
    background-size:contain;
    vertical-align:text-top;
}
.list-normal li:before{
    margin:0 10px 0 0;
    content:"・";
    display:inline-block;  
    background-size:contain;
    vertical-align:text-top;
}

.img-icon{
    vertical-align: middle;
}

.gradation-button {
    margin: 2%;
    padding: 10px 10% 10px 10%;
    font-weight: bold;

    color: #ffe;
    
    background: #002f4f; /* Old browsers */
    background: -moz-linear-gradient(top, #004f8f 4%, #004f8f 4%, #004fab 4%, #00aefe 100%, #0086b2 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #004f8f 4%, #004f8f 4%, #004fab 4%, #00aefe 100%, #0086b2 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #004f8f 4%, #004f8f 4%, #004fab 4%, #00aefe 100%, #0086b2 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#004f8f', endColorstr='#0086b2',GradientType=0 ); /* IE6-9 */
}
.white-button{
    padding: 10px 20px;
    display: inline-block;

    color: white;
    border: 2px solid rgb(255,255,255);

    text-decoration: none;
    font-family: "ＭＳ Ｐ明朝";
}
.blue-button{
    padding: 10px 20px;
    display: inline-block;

    color: #5fc5e0;
    border: 2px solid #5fc5e0;

    text-decoration: none;
    font-weight: bold;
/*    font-family: "游ゴシック";*/
}
.design-button{
    padding: 15px 20px;
    display: inline-block;
    font-weight: bold;
    border: 2px solid #5fc5e0;
    
    color: #fff;
    background-color: #5fc5e0;

    text-decoration: none;
/*    font-family: "ＭＳ Ｐ明朝";*/
}
.design-button:hover,
.blue-button:hover,
.white-button:hover
{
    opacity: 0.7;

    /* この２行がCSS3 */
    transition-property: all!important;
    transition: 0.3s linear!important;
    
    cursor: pointer;
}

h1{
    font-size: 1.75em;
    font-weight: bold;
    
    font-family: "ＭＳ Ｐ明朝";
    background-color: #5fc5e0;
    color:#fff;
}

h3 {
    font-size: 1.05em;
    font-weight: bold;
    
    padding-top: 5px;
    padding-bottom: 5px;
}

#wrap{
    margin-left: auto;
    margin-right: auto;
    min-width: 320px;
}
#contents{
    width: 100%;
    max-width: 2080px;
    margin-left: auto;
    margin-right: auto;
}
.portfolios{
    text-align: center;
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;

    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;

    flex-wrap : wrap;
    justify-content:center;
}

.portfolios::after{
    content:"";
    display: inline;

    width:300px;
    margin: 30px;
}
.portfolios .portfolio{
    display: inline;
    margin: 30px;
    width: 300px;

    text-align: center;
}

.portfolio-title,
.portfolio-title a
{
    padding-top:10px;
    padding-bottom:10px;

    text-align: center;

    color:#5fc5e0;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4;
}
.portfolio-image{
    background-color: #f5f5f5;
    
    width: 300px;
    height: 300px;
    
    display: inline-block;
    position: relative;
}
.portfolio-image img{
    position: absolute;
    max-width: 250px;
    max-height: 250px;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#services{
    text-align: center;
}
#services h2{
    text-align: left;
    font-size: 1.4em;
    font-weight: bold;
}
.service-category{
    margin-top: 30px;
    margin-bottom: 70px;

    margin-left: auto;
    margin-right: auto;
    
    width: 100%;
    text-align: left;
}
.service-category img{
    width: 200px;
    height: 200px;
}

.service-box, .service-box-nolink{
    width: 200px;
    height: 250px;
    
    display: inline-block;
    text-align: center;
    
    margin-right: 3%;
    margin-bottom: 60px;
    
    vertical-align: top;
}
.service-box a{
    color: #666;
    font-weight: normal;
}
.service-box:hover{
    opacity: 0.5;

    /* この２行がCSS3 */
    transition-property: all!important;
    transition: 0.3s linear!important;

}
.service-title{
    width: 100%;
    font-size: 0.9em;
}



/***************************
item-list
****************************/
.item-list{
    text-align: center;
    margin: 0 auto;
    width: 95%;
    max-width: 1100px;

    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;

    flex-wrap : wrap;
    justify-content:center;
}
.item-list::after{
    content:"";
    display: block;

    width:300px;
    margin: 10px;
}

.item-list .item{
    display: inline-block;
    margin: 10px;
    width: 300px;

    text-align: center;
}
.item-list .item p{
    margin-top: 10px;
    margin-bottom: 10px;
}
.item-list .item .item-title{
    font-weight: bold;
    margin: 10px auto;
}
.item-list .item .item-title a{
    color: #999;
}
.item-list .item .item-text{
    margin: 20px auto;
}
.item-list .item .item-description{
    text-align: left;
}


/***************************
slider
****************************/
.slider{
    display: none;
}
.slider.slick-initialized{
    display: block; /*slick-initializedが付与されたら表示*/
}
.slider .slick-dots li button:before{
    font-size: 20px;
    content: "■";
    top:100px;
    z-index: 10;
}

#slider img{
    display: block;
    width: 100%;
    
    background-size:contain;
    background-position:bottom ;

    margin-left: auto;
    margin-right: auto;
}
#slider .phrase{
    color:#fff;
    font-size: 62px;
    font-weight: bold;
}

#slider .child{
    width: 100%;
    top:20%;
    left:3%;
}
#slider h1{
    color:#fff;
    font-size: 35px;
    font-weight: bold;

    margin-top: 2%;
    margin-left: 3%;
    margin-right: 7%;
}
#slider li{
    margin: 0 auto;
}


/***************************
common-parts subject-list
****************************/
#subject-list{
    margin-top: 30px;
    color: #333;
    background-position:center;
}
#subject-list a{
    color:#333;
    font-size: 1.25em;
    text-decoration:none;
}
#subject-list li{
    margin-bottom:30px;
}
.subject-list-text {
    background: rgba(255,255,255,0.5);
    padding-top:150px;
    padding-bottom:150px;
}


/***************************
header
****************************/

#header{
    height: 70px;
    background-color: #fff;/*#0cd;*/
    color: #444;
    padding-top: 30px;
}
#header #logo{
    display: inline-block;
    margin-left: 2%;
    margin-right: 10px;
    vertical-align:middle;
}
#header #logo img{
    height: 32px;
}
#header #title{
    display: inline-block;
    vertical-align:middle;
}
#header #title a{
    color: #666;
    font-weight: bold;
    text-decoration: none;
    
    font-family: "ＭＳ Ｐ明朝";
    font-size: 1.1em;
}

/***************************
footer
****************************/

#footer {
    width: 100%;
    display: block;
}
#footer a{
    color: #444;
    font-weight: normal;
}
#footer #footer-menu{
    padding-top:30px;
    padding-bottom: 30px;
    padding-left: 2%;
    background-color: #f7f7f7;
    color:#444;
    font-weight: bold;
}
#footer #footer-menu-title{
    font-size: 1.15em;
}
#footer #footer-menu-list{
    margin-top: 15px;
    padding-left:2%;
}
#footer #footer-menu-list li{
}


#footer #copyright{
    padding-top: 20px;
    padding-bottom: 20px;
    
    background-color: #5fc5e0; 
    color: #fff;
    
    text-align: center;
    padding-right: 2%;
    width: 98%;
    font-size: 0.75em;
}
#footer #copyright a{
    text-decoration: none;
    font-weight: bold;
    font-size: 1em;
    color:#fff;
}

/***************************
共通
****************************/
.basewidth{
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}
.baseinner{
    margin: 0 5%; 
}
.bg-blue{
    background-color: #5fc5e0;
}

/***************************
  index-pc
****************************/

#index p{
    display: inline-block;
    text-align: left;
    margin-left: 5%;
    margin-right: 5%;
    max-width: 960px;
}

#index #top-image{
    width: 100%;
    max-height: 980px;
    overflow: hidden;
    text-align: center;
    
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
    padding-bottom: 100px;
}
#index #top-image img{
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    
    background-size:cover;
    background-position: center;
}

#index #wakayama-web-design-company{
    padding: 100px 0 100px 0;
    background-color: #f7f7f7;
    
    width: 100%;
    text-align: center;
    margin: 0 auto;
}
#index #wakayama-web-design-company h1{
    text-align: center;
    margin-bottom: 30px;
    
    background-color: inherit;
    color: #444;
    
    font-family: "游ゴシック";
    font-weight: bold;
    font-size: 30px;
}
#index .index-separate img{
    width: 100%;
    display: block;
}
#index #index-services{
    margin-top: 200px;
    margin-bottom: 200px;
    text-align: center;
}
#index #index-services h2{
    color: #555;
    border: none;
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 20px;
}
#index #index-services img{
    width: 220px;
}
#index #index-services p{
    color: #444;
    font-weight: normal;
}
#index #index-webmake-title{
    color:#fff;
    font-size: 28px;
    font-weight: bold;
    
    background-color: #5fc5e0;
    padding: 20 0 20 0;
    text-align: center;
}
#index #index-webmake-merit{
    vertical-align: top;
    text-align: center;
    margin: 0 auto;
    padding-top: 150px;
    padding-bottom: 150px;
    
    background-color: #fafafa;
    background-image: url("../img/index/webdesign-company-vl-point.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    
}
#index #index-webmake-merit h3{
    color:#ec714a;
    margin-top: 50px;
    font-size: 1.3em;
    padding: 0;
    text-align: left;
    margin-left: 5%;
    margin-right: 5%;
}
#index #index-webmake-merit-image{
    margin: 0px auto 50px auto;
    text-align: center;
}
#index #index-webmake-merit-image img{
    width: 70%;
    max-width: 348px;
}
#index #index-webmake-merit-contents{
    display: inline-block;
    padding: 80px 2%;
    margin: 0 5%;
    
    line-height:1.8;
    font-size: 1.2em;
    
    text-align: left;
    
    border: #ec714a 4px solid;
    background-color: rgba(255,255,255,0.95);
    color: #000;
}
#index #index-webdesign-review{
    background-color: #5fc5e0;
    color: #fff;
    text-align: center;
    padding: 150px 0 150px 0;
}
#index #index-webdesign-review img{
    margin-bottom: 30px;
    margin-left: 3%;
    width: 80%;
    max-width: 413px;
}
#index #index-webdesign-review .item-list::after{
    content:none;
    display: block;

    width:300px;
    margin: 25px;
}
#index #index-webdesign-review .item-list .item{
    width: 45%;
    font-size: 20px;
}
#index #index-webdesign-review .item .review-client{
    font-weight: bold;
    font-size: 23px;
}
#index #index-webdesign-review .item .review-text{
    text-align: left;
    line-height: 2;
}

#index .index-column{
    padding: 150px 0 150px 0;
    background-color: #f7f7f7;

    width: 100%;
    text-align: center;
    margin: 0 auto;
}
#index .index-column h2{
    text-align: center;
    margin-bottom: 30px;

    background-color: inherit;
    color: #444;
    border: none;

    font-family: "游ゴシック";
    font-weight: bold;
    font-size: 30px;
}
#index #index-column1{
    padding-top: 250px;
}
#index #index-column2{
    background-color: #fff;
}
#index #index-column3{
    padding-bottom: 250px;
}

#index #index-contact{
    background-image: url("../img/index/index-contact.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #f5f5f5;
/*    background-color: #5fc5e0;*/
    
    padding-top: 150px;
    padding-bottom: 150px;
    
    line-height: 2.1;
    
    text-align: center;
    color: #fff;
    
}
#index #index-contact h2{
    border: none;
    color: #fff;
    font-weight: bold;
    font-size: 28px;
}
#index #index-contact p{
    margin: 0 auto;
    width: 90%;
    text-align: left;
    max-width: 540px;
    display: block;
}



/***************************
 works-pc
****************************/
#work{
    text-align: center;
}
#work #subject-list{
    background-image: url("../img/common/big-image/68.jpg");
}
#work #service-design, #work #service-realestate{
    background-color: #fff;
    padding: 100px 0;
}
#work #service-pc{
    background-color: #fafafa;
    padding: 100px 0;
}

/***************************
about-pc
****************************/
/*
#about h2 {
    font-size: 1.25em;
    font-weight: bold;

    border-bottom: solid 2px #5fc5e0;
    border-top: solid 2px #5fc5e0;
    padding-left: 15%;
    padding-right: 15%;
    display: inline-block;

    margin-bottom: 7px;
}
*/
#about h2{
    color: #444;
    border: none;
    font-size: 28px;
}
#about{
    margin: 0,auto;
    text-align: center;
    
    width: 100%;
}
#about #subject-list{
    background-image: url("../img/common/big-image/51.jpg");
}

#about #about-profile, #about #about-contact, #about #about-officer{
    padding-top: 80px;
    padding-bottom: 80px;
    
    margin-left: auto;
    margin-right: auto;
    
/*
    width: 70%;
    max-width: 600px;
*/
    text-align: left;
}
#about #about-contact{
    background-color: #fafafa;
}
#about #about-contact .about-contact-title{
    font-weight: bold;
    margin-left: 10px;
}
#about #about-contact .about-contact-value{
    font-weight: bold;
    margin-left: 10px;
}
#about #about-table{
    margin: 0,auto;
    text-align: left;
}
#about #about-table .about-row{
    margin-top: 20px; 
/*    margin-left: 20px;*/
    margin-bottom: 20px;

}
#about #about-table .about-row .about-title{
    display: inline-block;
    width: 100px;
    margin-right: 20px; 
    font-weight: bold;
    vertical-align:top;
}
#about #about-table .about-row .about-item{
    display: inline-block;
    width: 70%;
}

#about #about-contact .contact-tel,
#about #about-contact .contact-form,
#about #about-contact .contact-mail{
/*    text-align: left;*/
    margin-bottom: 30px;
/*    margin-left: 15%;*/
}
#about #about-contact .contact-tel p,
#about #about-contact .contact-form p,
#about #about-contact .contact-mail p{
    display: inline-block;
}
#about #about-contact .contact-tel img,
#about #about-contact .contact-form img,
#about #about-contact .contact-mail img{
    display: inline;
/*    margin-left: 20px;*/
}

#about #about-officer .officer-part{
    width: 150px;
    
    margin-top: 15px;
    margin-bottom: 15px;

    display: inline-block;
}
#about #about-officer .officer-part .job-title{
    font-weight: bold;
}

/***************************
  contactus
****************************/
#contactus{
    margin-top: 80px;
    margin-bottom: 100px;
    
    margin-left: auto;
    margin-right: auto;
    line-height: 2.1;
}
#contactus input,
#contactus select,
#contactus textarea
{
    padding: 7px;
}

#contactus h1{
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    
    display: block;

    color: #444;
    border: none;
    font-size: 28px;
    
    font-weight: bold;
    font-family: "游ゴシック";
    background-color: inherit;
}
#contactus-input table {
    width: 90%;
    margin-right: 4%;
    margin-left: 5%;
    text-align: left;
}

#contactus-input th {
    width: 15%;
    color:#666;
}

#contactus-input input {
    width: 80%;
    height: 20px;
}

#contactus textarea, #contactus-input textarea {
    resize: none;
    width: 95%;
    height: 150px;
}

#contactus-input tr,
#contactus-input th,
#contactus-input td {
    vertical-align: middle;
    padding-top: 10px;
    padding-bottom: 10px;
}

.input-confirm  {
    background-color: #ddd;
}

/***************************
detail
****************************/
#detail{
    padding-bottom: 100px;
}
#detail #detail-title{
    text-align: center;
}
#detail h1{
    display: inline-block;
    text-align: left;
    
    font-size: 32px;
    font-weight: bold;
    color:#444;
/*    font-family: "游ゴシック";*/
    background-color: inherit;
    line-height: 1.4;
}
#detail h2{
    color: #444;
    border: none;
    font-size: 24px;
    font-weight:bold;
    font-family: "游ゴシック";
    margin-top: 150px;
    margin-bottom: 20px;
    
}
#detail #detail-image{
    display: block;
    max-width: 300px;
    margin-top: 25px;
    margin-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
    vertical-align: middle;
}
#detail #detail-text{
    display: block;
    width: 75%;
    
    margin-top: 25px;
    margin-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
    
    vertical-align: middle;
    text-align: left;
}
#detail #detail-sample img{
    border: 1px solid #ddd;
}
#detail .table{
    text-align: left;
    display: inline-block;
}
#detail .table .tr{
    margin-bottom: 20px;
}
#detail .table .td .detail-price-value{
    font-size: 1.55em;
    font-weight: bold;
    color:#d00;
    
    margin-left: 10px;
    margin-right: 3px;
}

#detail #detail-flow .detail-flow-title{
    display: inline-block;
    border: solid 1px #ccc;
    padding: 10px;
    
}
#detail #detail-flow .detail-flow-arrow:before{
    margin: 10px;
    display: block;
    content: "↓";
}
#detail #detail-order-text{
    text-align: center;
    display: inline-block;
}

@media screen and (max-width: 1300px) {
    #index #top-image{
        padding-top: 0px;
        padding-bottom: 50px;
    }
}
@media screen and (max-width: 1200px) {
    #index #index-webdesign-review .item-list .item{
        width: 320px;
        font-size: 16px;
    }
}


/****************************************************************************************************
*  SP
****************************************************************************************************/

@media screen and (max-width: 767px) {
    /*　画面サイズが767px以下の場合、ここのスタイルを読み込む　*/

    /* SPの場合のみ改行コード挿入 */
    .sp-br:before{
        content:"\A";
        white-space:pre;
    }

    .pc-only{
        display: none !important;
    }

    .sp-only{
        display: block;
    }

    #footer{
        font-size: 12px;
    }

    .service-category{
        max-width: 100%;
    }
    
    .item-list .item{
        width: 320px;
        margin: 25px 0px;
    }

    /***********************/
    /* header
    /***********************/
    #header{
        height: 53px;
        background-color: #fff;
        padding-top: 30px;
    }
    #header #title{
        vertical-align:top;
        line-height: 1.3;
    }

    /***********************/
    /* index
    /***********************/

    #index #top-image .blueline{
        border:solid #5fc5e0 0px;
        z-index: -1;
    }
    #index #top-image{
        padding-top: 10px;
        padding-bottom: 50px;
    }
    .slider .slick-dots li button:before{
        font-size: 20px;
        content: "■";
        top:65px;
    }
    .slider .slick-prev:before, .slider .slick-next:before{
        display: none;
    }
    
    #index #wakayama-web-design-company h1{
        font-size: 5.5vw;
    }
    #index #index-services h2{
        font-size: 20px;
    }

    #index #index-webmake-title{
        font-size: 1.2em;
        line-height: 1.6;
        padding: 10px 0;
    }
    #index #index-webmake-merit{
        padding-top: 0px;
        padding-bottom: 50px;
        background-color: #fff;
        background-image: none;
    }
    #index #index-webmake-merit h3{
        font-size: 1.1em;
    }
    #index #index-webmake-merit-contents{
        padding: 50px 2%;
        margin: 0 2%;
        border: none;
        font-size: 1em;
    }
    #index .index-column h2{
        font-size: 5.5vw;
    }

    
    /***********************/
    /* contact
    /***********************/
    #contactus{
        margin-top: 30px;
    }
    #contactus h1{
        background-color: #5fc5e0;
        text-align: center;
        color: #fff;
        padding: 1% 20px;
        margin-bottom: 30px;
        font-size: 20px;
        font-weight: bold;
    }
    
    /***********************/
    /* detail
    /***********************/
    #detail h1{
        font-size: 20px;
    }
    #detail #detail-text{
        width: 100%;
    }
    #detail #detail-flow .detail-flow-title{
        width: 230px;
        text-align: left;
    }
    #detail .table .tr{
        margin-top: 80px;
        margin-bottom: 10px;
    }
    #detail .table .td .detail-price-value{
        margin-left: 0px;
        margin-right: 0px;
    }
    #detail #detail-order-text{
        text-align: left;
    }

}

@media screen and (max-width: 567px) {
    /*　画面サイズが567px以下の場合、ここのスタイルを読み込む　*/

    /***********************/
    /* About
    /***********************/
    #about .box{
        width: 94%;
        padding: 3%;
        margin-left: 0px;
    }
    #about #about-profile,
    #about #about-officer{
        text-align: center;
    }
    #about #about-table{
        text-align: center;
    }
    #about #about-contact .contact-tel,
    #about #about-contact .contact-form,
    #about #about-contact .contact-mail{
        text-align: center;
        margin-top: 15px;
        margin-bottom: 30px;

        margin-left: 0px;
    }
    #about #about-contact .contact-tel p,
    #about #about-contact .contact-form p,
    #about #about-contact .contact-mail p{
        display: block;
    }    
    #about #about-contact .contact-tel img,
    #about #about-contact .contact-form img,
    #about #about-contact .contact-mail img{
        display: inline-block;
        margin-left: 0px;
        margin-top: 30px;
    }
    #about h2{
        text-align: center;
    }
    #about #about-profile, 
    #about #about-contact, 
    #about #about-officer{
        width: 100%;
        margin-left:0px;
        margin-right: 0px;

    }
    #about #about-table .about-row{
        margin-top: 50px;  
    }
    #about #about-table .about-row .about-title{
        display: block;
        width: auto;
        margin-right: auto;
        font-weight: bold;

    }
    #about #about-table .about-row .about-item{
        display: block;
        width: 100%;

    }
    #about #about-contact .about-contact-title{
        margin-left: 0px;
    }
    #about #about-contact .about-contact-value{
        margin-left: 0px;
    }
    #about #about-officer .officer-part{
        display: block;
        text-align: center;
        margin: 30px auto;
    }
}

@media screen and (max-width: 481px) {
    /*　画面サイズが481px以下の場合、ここのスタイルを読み込む　*/
    .service-box-list{
        text-align: center;
    }

}





