/**
++ 基本CSS設計	
	
*/

/**　
＋　Google Web Font をインポート

*/

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700|Open+Sans+Condensed:700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url('https://fonts.googleapis.com/css?family=Cormorant+Infant:300');


/* フォント指定記述方法 */

.googlewebfonts { 
    font-family: "Noto Sans Japanese"; 
    font-family: 'Cormorant Infant';
    font-family: 'Open Sans', sans-serif;
    }



html {
font-family: Verdana, Roboto, 'Lucida sans unicord', 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, 'Droid Sans', 'メイリオ', Meiryo,'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'ＭＳ Ｐゴシック',sans-serif;
    font-family: "Noto Sans Japanese"; 
    font-family: 'Open Sans';
    
font-size: 14px;
}




/*  画像下のスキマ対策 */

img {
vertical-align: bottom;

}


/* 画像の自動拡大縮小 */

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

.clear {
    clear: both;
}

.hidden {
    display: none;
}


/* ///////////　レスポンシブ：Flexbox　//////////// */


.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

/* 横並＋縦中央 */
.flex-c {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

/* 横並＋縦中央＋横中央 */
.flex-cc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}



/* ［スマホ時改行なし］ 640px以下 ------ */

        @media (max-width: 639px) {
                .flex ,
                .flex-c,
                .flex-cc {
                display: block;
                }
        }

/* ［end］スマホ対応：640以下　------ */








.flex-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.flex-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}


div,p,h1,h2,h3,h4,h5,section,ul,li,a,img,header,footer {
    margin: 0;
    padding: 0;
    line-height: 1.75em;
}


ul,li {
    list-style: none;
}




/* ［スマホ時改行なし］ 640px以下 ------ */

    @media (max-width: 639px) {
        .sp-br-off br{
        display: none;
        }
    }

/* ［end］スマホ対応：640以下　------ */




    
/* ------------------------------ */ 
    

body {
margin: 0;
padding: 0;
background: #BBB;
    }


.container {
width: 1080px;
margin: 0 auto;
background-color: #FFF;

}

/* ［スマホ対応］ 640px以下 ------ */

    @media (max-width: 639px) {
        .container {
        width: auto;
        margin: 0 auto;
        padding: 0 2em;
        }
    }

/* ［end］スマホ対応：640以下　------ */


#title {
height: auto;
padding: 150px 0 100px 0;
background: url(img_general/top_sky.jpg) no-repeat center bottom;
}



#title h1 {
    width: 200px;
    height: 100px;
    overflow: hidden;
    margin: 0 auto 80px;
    color: #FFF;
}

#title p {
        color: #FFF;
        display: table;
        margin: 0.5em auto;
        font-size: 1.25em;
        letter-spacing: 0.2em;
}


#title p a{
color: #FFF;
text-decoration: none;
}

#title p a:hover{
color: #FD0;
}



            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {

                        #title {
                        margin: 0 -2em;
                        padding: 50px 0 70px 0;
                        }
                    
                        #title h1 {
                        margin: 0 auto 20px;
                        }
                    
                        #title p {
                        margin: 0.25em auto;
                        }

                }

            /* ［end］スマホ対応：640以下　------ */



#lead {
    margin-bottom: 30px;
}

#lead h3{
font-size: 1.2em;
text-align: center;
}

#lead p{
font-size: 1.2em;
text-align: center;
}

            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                        #lead p{
                        text-align: left;
                        }
                    
                        #lead h3 {
                        margin: 1em -1em 0 -1em;
                        }

                }

            /* ［EDDND：スマホ対応］ 640px以下 ------ */


/* ++++++++++++++++++　レイアウト　++++++++++++++++++++++++++++++++++++++++ */






/* 前職コメント（---　ひとまず非表示　---）


#right em {
    font-size: 0.8em;
    display: inline;
    padding: 0 0.5em;
    color:#6DF;
    }

p.ex {
    font-size: 0.8em;
    color: #777;
    margin-top: 20px;
    }


.ex:before,
.fox:after {
    content: " *";
    font-size: 0.7em;
    color:#6DF;
    margin: 0 0.5em;
}


 */




section,
#works{
    padding: 0 70px;
}

/* 実績など ｜3：1｜#works の中　*/
    #left {-webkit-box-flex:3;-ms-flex:3 1 0%;flex:3 1 0%;}
    #right {-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;}
        #right {padding-left: 20px;}

/* トップページ ｜5：2｜#works の中　*/
    body#index #photo {-webkit-box-flex:5;-ms-flex:5 1 0%;flex:5 1 0%;}
    body#index #right {-webkit-box-flex:2;-ms-flex:2 1 0%;flex:2 1 0%;}
        body#index #right {padding-left: 20px;}







#works #photo {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -10px 0 0 -10px;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    }




#works #photo li {
    position: relative;
    margin: 10px ;
    width: 200px;
    height: 180px;
    overflow: hidden;
    }

#works #photo img {
    width: 100%;
    height: auto;
    }



#works #photo li p{
    position: absolute;
    font-size: 0.9em;
    width: 100%;
    height: 100%;
    color:#FFF;
    background: rgba(0,0,0,0.6) url(img_general/arrow-phlink.png) no-repeat right bottom ;
    opacity: 0;
    margin-top: 180px;
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    
    }

#works #photo li a{
    display:table;
    color:#FFF;
    text-decoration: none;
    margin: 1em;
    height: 100%;
    }

#works #photo li a strong{
    display:block;
    color:#FD0;
    border-bottom: dotted 1px #FD0;
    margin-bottom: 0.5em;
    padding-bottom: 0.25em;
    }

#works #photo li:hover p{
    opacity: 1;
    margin-top: 0;
    }

#works #photo li a:hover p{
    background-position: right bottom ;
    }






            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                            section,
                            #works{
                            padding: 0;
                            }
                    
                            #right {
                            padding-left: 0px;
                            }


                            #works #photo li {
                            margin: 0 auto 20px;
                            }
                    
                            #works #photo li a{
                            display: table;
                            height: auto;
                            padding: 1em;
                            background: rgba(0,0,0,0.3);
                            }
                    
                    
                    
                    
                    
                    
                }

            /* ［END：スマホ対応］ 640px以下 ------ */


/* バグ？　:first...　下の〈li〉中の〈p〉 にまで影響中...　*/

#right p:first-of-type { 
        margin-bottom: 20px;
        color:#000;
        }

#right p:first-of-type strong{
    background: #FE6;
    color:#000;
    font-weight: normal;
}

#right p:first-of-type br {
    padding-bottom: 0em;
    background: #F60;
    display: block;
    
}




.list li {
    padding: 0.5em 0;
    border-top:solid 1px #666; 
    color: #666;
    }

.list li a{
    display: block;
    text-decoration: none;
    color: #444;
    padding-left: 1em;
    background: url(img_general/arrow_999.png) no-repeat -38px center;
    }

.list li a:hover{
    background-color: #FE9;
    background-image: url(img_general/arrow_222.png) ;
    color:#000;
    }



/* 上の:first...の影響消えず（バグ？） */

.list li:last-child p{
    padding: 0.75em 0;
    line-height: 1.75em;
    color:#DDD;
}





            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                            .list li {
                            padding: 0.75em 0;
                            border-top:solid 1px #666; 
                            /*text-align: center;*/
                            }
                    
                            .list li p{
                                padding: 0.75em 0;
                                line-height: 1.75em;
                                color: #08B;
                                
                                display: inline-block;
                                text-align: left;
                                margin: 0 auto;
                            }

                }

            /* ［EDDND：スマホ対応］ 640px以下 ------ */





#about {
padding: 1em 0 2em;
margin: 3em 70px 0;
border-top:solid 1px #DDD;
}




#about img {
margin-right:2em;
}

#about h4 {
font-size: 16px;
color:#333;
}

#about p {
line-height: 1.75em;
letter-spacing: 0.1em;
}



#about p a{
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: #444;
    padding-left: 1em;
    background: url(img_general/arrow_999.png) no-repeat -38px center;
    -webkit-transition: all 0.3s ease;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

#about p a strong{
    display: none;
    position: absolute;
    font-weight: normal;
    white-space: nowrap;
    padding: 0 0.5em;
}

#about p a:hover{
    background-image: url(img_general/arrow_222.png) ;
    background-position: -36px center;
    color: #FFF;
    
}

#about p a:hover strong{
    display: inline-block;
    color: #222;
    background: #FE6;
}





            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                        
                        #about {
                        margin: 0;
                        padding-bottom: 0em;
                        border: none;
                        }

                    
                        #about img {
                        width: 120px;
                        height: auto;
                        display: block;
                        margin: 0 auto;
                        }
                    
                        #about div{
                        display: table;
                        margin: 0 auto 1em;
                        text-align: center;
                        }

                        #about h4 {
                        font-size: 16px;
                        margin: 0.5em 0;
                        border-bottom: solid 1px #666;
                        }

                        #about p {
                        font-size: 14px;
                        line-height: 2em;
                        text-align: center;
                        }

                }

            /* ［END：スマホ対応］ 640px以下 ------ */

                    



#footer {
    font-family: 'Open Sans';
    text-align: center;
    background: #AAA url(img_general/kanji.png) no-repeat center 140px;
    padding: 40px 0 60px;
    letter-spacing: 0.2em;
    overflow: hidden;
    -webkit-animation: bgcolor 25s ease infinite;
    animation: bgcolor 25s ease infinite;
}

@-webkit-keyframes bgcolor {
		0% { background-color: #AAA; 
                background-position: center 140px;}
		50% { background-color: #666; 
                background-position: center -140px;}
		100% { background-color: #AAA; 
                background-position: center -140px;}
}

@keyframes bgcolor {
		0% { background-color: #AAA; 
                background-position: center 140px;}
		50% { background-color: #666; 
                background-position: center -140px;}
		100% { background-color: #AAA; 
                background-position: center -140px;}
}



            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                        #footer {
                        margin: 0 -2em;
                        font-family: 'Open Sans';
                        text-align: center;
                        background-size: cover;
                        padding: 1em 0 2em;
                        letter-spacing: 0.2em;
                        }
                }
                    
            /* ［END：スマホ対応］ 640px以下 ------ */

                    



/* +++++++++++++++++++++++++++++++++++++++++++++++++++++ */



/* +++++++++++++++++++++++++++++++++++++++++++++++++++++ */



#work-title {
    background: url(img_general/top_sky.jpg) no-repeat center top;
    
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    
    padding: 5px 70px;
}

#work-title img{
    width: 120px;
    height: 60px;
    margin-right: 20px;
    margin-left: -50px;
    padding-left: 50px;
    background: url(img_general/arrow-index.png) no-repeat 200px center;
    -webkit-transition: background 0.3s ease;
    transition: background 0.3s ease;

}

#work-title a:hover img{
    background: url(img_general/arrow-index.png) no-repeat left center;
}


#work-title h1{
    font-family: "Noto Sans Japanese" ;
    font-weight: bold;
    font-size: 16px;
    color: #FD0;
    padding: 5px 0 5px;
    
}

#work-title h1 em{
    display: none;
}

#work-title p {
    color: #DDD;
    letter-spacing: 1px;
    border-top:solid 1px #999;
    padding-top: 3px;
}

#work-title a{
    color: #DDD;
    font-style: normal;
    text-decoration: none;
}

#work-title a:hover{
    color:#FD0;
}

#work-title h2{
    font-family: 'Cormorant Infant', serif;
    font-weight: 300;
    font-size: 54px;
    color:#777;
}



            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    

                        #work-title {
                            margin: 0 -50px;
                            display: -webkit-box;
                            display: -ms-flexbox;
                            display: flex;
                        }
                    
                        #work-title img{
                            width: 80px;
                            height: auto;
                            margin-right: 20px;
                        }

                        #work-title h1{
                            display: none;
                        }

                        #work-title p {
                            display: none;
                        }

                        #work-title h2{
                            font-size: 36px;
                            line-height: 1em;
                        }

                }
                    
            /* ［END：スマホ対応］ 640px以下 ------ */


#work-lead{
    font-family: "Noto Sans Japanese" ;
    font-weight: 300;
    margin: 50px 70px 30px;
    border-bottom:solid 6px #DDD;
    
}


#work-lead h3{
    font-family: 'Cormorant Infant', serif;
    font-weight: 300;
    line-height: 1em;
    font-size: 72px;
    margin-right: 20px;
    color:#777;
}

#work-lead h3 em{
    font-weight: 300;
    font-style: normal;
    color:#FC0;
}



            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                        
                            #work-lead{
                            margin: 20px 0;
                            -webkit-box-orient: vertical;
                            -webkit-box-direction: normal;
                            -ms-flex-direction: column;
                            flex-direction: column;
                            -webkit-box-pack: start;
                            -ms-flex-pack: start;
                            justify-content: flex-start;
                            }

                            #work-lead h3{
                            margin: 0;
                            margin-right: auto;
                            line-height: 1em;
                            white-space: nowrap;
                            font-size: 52px;
                                
                            }
                    
                            #work-lead p{
                            margin-right: auto;
                                
                            }
                    
                    
                }
                    
            /* ［END：スマホ対応］ 640px以下 ------ */



.w-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

}

.w-photo img{
    margin-bottom: 10px;
    pointer-events: none; /*［拡大表示防止］*/
    border-radius: 4px;
}

.w-photo li{
    /*padding-right:15px; 
    padding-bottom:20px; */
    
    margin-right:15px; 
    margin-bottom:20px; 
    
    font-size: 0.9em;
    line-height: 1.5em
}


.w-photo li div:not(:first-child){
    margin-top: 10px;
}



/* 背景パターン */

.w-photo {
    margin-bottom: 30px;
    border-top: solid 2px #DDD;
    padding-top: 20px;
}

/* フレーム背景はここで共通設定 */

.w-photo .bgsp,
.w-photo .bgweb,
.w-photo .bg-row,
.w-photo img.bg,
.w-photo .bg{
    background: #ddd url(img_general/bg-pttrn01-05.png) center center;
    background-size: contain;
}


.w-photo .bgline,
.w-photo .bg-row,
.w-photo .bg{
    padding: 20px;
    margin-bottom: 5px;
    border-radius: 4px;
}



.w-photo .bg img,
.w-photo .bg-row img,
.w-photo .bgweb img{
    background: none;
    border-radius: 0px;
    margin-bottom: 0px;
    -webkit-box-shadow: 3px 7px 10px rgba(0,0,0,0.5);
    box-shadow: 3px 7px 10px rgba(0,0,0,0.5);
}



.w-photo .bg-row{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}


.w-photo .bgline{
    border-radius: 4px;
    border: solid 1px #CCC;
}



/* web｜下アキなし・オーバーフロー　*/

.w-photo .bgweb{
    background:-webkit-gradient(linear, left top, left bottom, from(#999), color-stop(50%, #DDD));
    background:linear-gradient(to bottom, #999, #DDD 50%);
    padding: 20px;
    margin-bottom: 10px;
    overflow-y:scroll;
    border-radius: 4px;
    height: 310px;
}

.w-photo .bgweb:hover{
    overflow-y:scroll;
}


.w-photo .bgweb img{
    background: none;
    margin: 0;
}

.noscroll{
    overflow-y:hidden;
}



.w-photo .bg img:not(:first-child),
.w-photo .bgweb img:not(:first-child){
    margin-top: 15px;
}


.w-photo .bg-row div:not(:first-child){
    margin-top: 0;
    margin-left: 15px;
}







/* sp｜下アキなし*/

.w-photo .bgsp{
    background:-webkit-gradient(linear, left top, left bottom, from(#999), color-stop(50%, #DDD));
    background:linear-gradient(to bottom, #999, #DDD 50%);
    padding: 25px;
    margin-bottom: 10px;
    border-radius: 4px;
}

.w-photo .bgsp img{
    background: none;
    margin: 0;
}

/* web｜リンク*/

a.weblink {
    text-decoration: none;
    display: inline-block;
    padding:0 1em;
    margin: 0.5em 1em 0.5em 0;
    border: solid 1px #CCC;
    background: #EDEFEF url(img_general/arrow_999.png) no-repeat -37px center;
    color:#666;
    -webkit-transition: background 0.5s ease;
    transition: background 0.5s ease;
}

a.weblink:hover {
    background-image: url(img_general/arrow_222.png) ;
    background-color: #FE3;
    color:#000;
    
}






.w-photo li ul li{
    padding-right:0; 
    }


            /* ［スマホ対応］ 640px以下 ------ */

                @media (max-width: 639px) {
                    
                        #works .w-photo {
                            margin: 0 -10px;
                            display: block;
                        }
                    
                        #works .w-photo li{
                            padding:0 10px 20px; 
                        }
                    
                    
                    
                }
                    
            /* ［END：スマホ対応］ 640px以下 ------ */



/* 画像に重ねてマウスオーバーでコメント */

.combox{
    position: relative;
    overflow: hidden;
}

.combox p:first-child {
    background: rgba(0,0,0,0.7);
    color: #DDD;
    line-height: 2em;
    letter-spacing: 1px;
    border-radius: 4px;
    margin: 5px;
    padding: 20px;
    position: absolute;
    display: table;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    overflow-y: scroll;
    
}

.combox p:first-child+div {
    margin-top: 0;
}


.combox p:first-child strong{
    font-weight: normal;
    display: table;
    color:#CCC;
    margin-top: 1.5em;
    margin-left: auto;
    padding-top: 0.25em;
    border-top: solid 1px #666;
}



.combox:hover p:first-child {
    opacity: 1;
}



/*  ロゴいろいろ用　*/


.logo li p{
    text-align: center;
    font-size: 1em;
    margin: 5px;
    padding: 5px;
}


.logo li p img{
    display: table;
    margin: 0 auto 5px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #999;
    border-radius: 0;
    /*pointer-events: none;*/
}

/* ブロックコメント */

.block-cmt {
    margin-top: 60px;
    color: #888;
    border: solid 1px #CCC; 
}


/* 落選 */

.logo .reject img{
    padding-bottom: 0px;
    border-bottom: none;
}


.logo .reject p {
    position: relative;
    
}

.logo .reject p:before {
    
    content: " ";
    display: block;
    width: 100%;
    height: 100%;
    border: solid 1px #DDD;
    position: absolute;    
    margin: -5px;
    padding: -5px;
    border-radius: 6px;
    opacity: 0;
}

.logo .reject p:hover:before {
    opacity: 1;
    
}



/* テキスト */
.logo em{
    display: block;
    font-style: normal;
    font-size: 0.9em;
    line-height: 1.2em;
    color: #999;
    
    
}


/* ページ上部に戻る */

#gotop a {
    background: url(img_general/arrows-999.png) no-repeat center 35px;
    display: table;
    margin: 0 auto 20px;
    padding: 8px 20px;
    text-decoration: none;
    font-size: 0.9em;
    line-height: 1em;
    color:#888;
    border: solid 1px #999;
    border-radius: 3px;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#gotop a:hover {
    background: #FD3 url(img_general/arrows-fff.png) no-repeat center 22px;
    color: #222;
}







/* flexは以下のショートハンド
        flex:［flex-grow］［flex-shrink］［flex-basis］; 

　　　　　※ win10-IE11 で ショートハンドがバグるので詳述　*/

.fx1{
    -webkit-box-flex:1;
    -ms-flex:1 1 0%;
    flex:1 1 0%;
}

.fx2{
    -webkit-box-flex:2;
    -ms-flex:2 1 0%;
    flex:2 1 0%;
}

.fx3{
    -webkit-box-flex:3;
    -ms-flex:3 1 0%;
    flex:3 1 0%;
}

.fx4{
    -webkit-box-flex:4;
    -ms-flex:4 1 0%;
    flex:4 1 0%;
}

.fx5{
    -webkit-box-flex:5;
    -ms-flex:5 1 0%;
    flex:5 1 0%;
}

.fx7{
    -webkit-box-flex:7;
    -ms-flex:7 1 0%;
    flex:7 1 0%;
}

.fx9{
    -webkit-box-flex:9;
    -ms-flex:9 1 0%;
    flex:9 1 0%;
}



/* 汎用｜マージン［全］ */

.m-10 {margin: 10px;}
.m-20 {margin: 20px;}
.m-40 {margin: 40px;}


/* 汎用｜マージン左 */

.ml-20 {margin-left: 20px;}
.ml-40 {margin-left: 40px;}


/* 汎用｜マージン右 */

.mr-20 {margin-right: 20px;}
.mr-40 {margin-right: 40px;}

/* 汎用｜マージン上 */

.mt-20 {margin-top: 20px;}
.mt-40 {margin-top: 40px;}


/* 汎用｜マージン下 */

.mb-20 {margin-bottom: 20px;}
.mb-40 {margin-bottom: 40px;}


/* 汎用｜em 斜体解除 */

.em em{
    font-size: 0.9em;
    font-style: normal;
    color:#666;
}
