@charset "utf-8";

/*ブラウザごとの初期化*/
* {
	margin: 0px;
	padding: 0px;
}


body {
	padding-top: 90px;/*headerをfixedしているのでその高さ分*/
	background-color: #ffffff;/*ウィンド背景の色*/
	font-family: "ヒラギノ角ゴ　Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "MS Pゴシック", sans-serif;/*全体のフォント設定*/
	font-size: 12px;/*全体のフォントサイズ設定*/
	color: #616161;/*全体のフォントカラー設定*/
}

#container {
	width: auto;
}

.contentbox {
	max-width: 1500px;
	margin: 0 auto;/*コンテンツをセンタリング*/
}

/*ページコンテンツ内の基本リンクテキスト設定*/
#container a:link,
#container a:visited,
#container a:hover,
#container a:active{
	text-decoration: none;
	color:#666666;
}




main{
	width: 100%;
	margin: 30px auto;/*コンテンツをセンタリング*/
}


ul{
	list-style-type: none;
}



h1{/*h1にはページタイトルを入れ、見えないように（検索対策）*/
	display:none
}
h2{
	font-size: 30px;
	font-weight: normal;
	line-height: 50px;
	text-align: center;
}
h3{
	font-size: 13px;
	font-weight: bold;
	line-height: 25px;
	text-align: center;
	margin-bottom: 20px;
}
h4{
	font-size: 13px;
	font-weight: bold;
	line-height: 25px;
	text-indent: 10px;
}

h5{
	font-size: 13px;
	font-weight: bold;
	line-height: 20px;
	text-align: center;
}

p{
	line-height: 2.0;
	text-align: center;
}


.clear:after{
	content:"";
	display:block;
	clear: both;
}


/*==VIEW_MORE_button==*/
.more{
	text-align: right;
}
.more:before{
	content:"";
	display:block;
	clear: both;
}
.more a{
	font-size: 15px;
	padding: 10px 20px;
	background-color:rgba(250,250,250,0.8);
	border: solid #666666 1px;
	margin: 20px 0 0;
	display: inline-block;
}
#container .more a:hover{
	background-color: #666666;
	color:#ffffff;
}
#container .more a:active{
	color:#ffffff;
}


.pagetop{ /*pagetop*/
	padding-top: 0px;
	padding-bottom: 20px;
	max-width: 800px;
	text-align: right;
	margin: 0 auto;
}

.block{
	display: inline-block;
}

.paddingbox{
	padding: 20px;
}

.imgsize{
	max-width: 500px;
	width: 95%;
}

/*＞＞＞テーマカラー部分の設定＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞*/

.bg-color{/*色薄*/
background-color: #e2eaf1;
}
.bg-color-header{/*ヘッダー部分色薄*/
	background-color:rgba(250,250,250,0.8);
	}
/*【色変え】トップナビ*/
#menuList li a:hover{
	background-color: #1d3838;
	color: #ffffff;
}
#menuList li a:hover .btm{
	background-color: #1d3838;
	color: #ffffff;
}
/*▼現在のページの時の設定：bodyにID【通常・ロールオーバ・押した時】*/
#index #n_home a,
#portfolio #menuList li.n_portfolio a,
#works #menuList li.n_works a,
#sample #menuList li.n_sample a,
#link #menuList li.n_link a,
#etc #menuList li.n_link a{
	background-color: #1d3838;/*【色変え】トップナビ*/
	color: #ffffff;
}



/*＞＞＞ヘッダーナビゲーション部分の設定＞＞＞＞＞＞＞＞＞*/
header {
	width: 100%;
	height: 90px;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 10; /*後続のボックスが下に潜るように*/
}
header .inner{
	max-width: 960px;
	margin:0px auto;/
}
header .inner:after {
	content: "";
	clear: both;
	display: block;
}
.logobox{
	float: left;
	padding-left: 10px;
	padding-top: 10px;
	width:280px;
}

.logobox img{
	width:100%;
}

#menuList ul{
	float: right;
	width: 60%;
}

#menuList ul li{
	width: 25%; /*115px;*/
/*	height: 90px;【下揃え】のために親要素に高さ*/
	display:block;
	float: left;
	text-align: center;
	
}
#menuList li a{
	width: 100%; /*BOXいっぱいにリンク領域を広げるため*/
	height: 100%; /*BOXいっぱいにリンク領域を広げるため*/
	display:block; /*BOXいっぱいにリンク領域を広げるため*/
	padding: 30px 0 10px;
	color: #1d3838;
}


/*＞＞＞トップページ部分の設定＞＞＞＞＞＞＞＞＞＞＞＞＞*/
.topbox{
	position: relative;
	width: 100%;
	height: 450px;
	z-index: 1;
	margin-bottom: 50px;
/*background-color: #1d3838;*/
}
.topbox .topimgbox{
	overflow: hidden;
	position: absolute;
	width: 65%;
	height: 100%;
	top: 0px;
	right: 0px;
	display: block;
}
.topimg {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background:url(images/mainimg.jpg) ;
	background-size: cover;
}
.topcomment{
	position: absolute;
	top: 20%;
	left: 10%;
	display: block;
	height: 180px;
	padding: 50px;
	background-color:rgba(250,250,250,0.8);
}
.topcomment .colorsq{
	position: absolute;
	top: -30px;
	left: -20px;
	background-color: #1d3838;
	width: 50px;
	height:50px;
	z-index: -1;
}
.topcomment p, .topcomment h2, .topcomment h3{
	text-align: left;
}
.topcomment h2{
	font-size: 40px;
}

.mainbox{
	position: relative;
	width: 100%;
	height: 500px;
	background-color: #e2eaf1;
	z-index: 1;
	margin-bottom: 50px;
}
.maincomment{
	position: absolute;
	top: 10%;
	right: 10%;
	display: block;
	height: auto;
	padding: 50px;
	background-color:rgba(250,250,250,0.8);
	margin: 0 0 30px 30px;
}
.maincomment p, .maincomment h2, .maincomment h3{
	text-align: left;
}

.mainbox .colorsq{
	position: absolute;
	top: -20px;
	left: -20px;
	background-color: #1d3838;
	width: 50px;
	height:50px;
	z-index: -1;
}
.comment{
	width: 100%;
}
.comment p, .comment h2, .comment h3{
	text-align: center;
}
.workbox{
width: 80%;
margin: 0 auto;
}

/*==サムネイル関連==*/
.thumbnailbox{
	width: 85%;
	margin: 50px auto;
	padding-bottom: 50px;
}
.thumbnail{
	float: left;
	width:25%;
	margin-left: 25px;
	margin-right: 15px;
	margin-bottom: 50px;
}
/*==サムネイル画像ホバーキャプション==*/
figure {
 	position: relative;
 	overflow: hidden;
 	width: 100%;
 	height: 300px;
	border: 1px #ebebeb solid;
	margin-bottom:20px;
	background-color: #ebebeb;
}
figure img{
	width: 100%;
}
figure a{
	display:block;
	width: 100%;
	height: 100%;
}
figcaption {
	position: absolute;
	overflow: hidden;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.6);
	-webkit-transition: .3s;
	transition: .3s;
	opacity: 0;
	display:block;
}
figcaption .box{
	width: 80%;
	height: 100%;
	margin: 20px auto;
}
figure:hover figcaption {
  opacity: 1;
}
figcaption .box h3,
figcaption .box p{
	color: #ffffff;
	line-height: 1.5;
}
figcaption .box p{
	position: static;
	}
figcaption .iconbox{
	margin:20px 0;
	text-align: center;
}
figcaption .iconbox img{
	width: 20%;
	height: 20%;
}

/*＞＞＞ユーチューブ部分の設定＞＞＞＞＞＞＞＞＞＞*/

.movbox{
	max-width: 560px;
	margin: 0px auto;
}


.mov{
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.mov iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}



/*＞＞＞各ページ部分の設定＞＞＞＞＞＞＞＞＞＞*/

.maincol{/*moto box760*/
	width: auto;
	margin: 0 auto;
}

/*==PAGE_TITLE==*/
main .color-box{
	max-width: 700px;
	margin: 50px auto;
	padding: 20px 0px;
	position: relative;
}
main .colorsq{
	position: absolute;
	top: -10px;
	left: 30%;
	background-color: #1d3838;
	width: 40px;
	height:40px;
	z-index: -2;
}
main .colorsqsub{
	position: absolute;
	top: 10px;
	left: 33%;
	background-color: #e2eaf1;
	width: 70px;
	height: 70px;
	z-index: -1;
	opacity: 0.8;
}


/*==PAGE_CATEGORY_TITLE==*/
main .workbox .color-box{
	max-width: 600px;
	height:  50px;
	position: relative;
}
main .workbox .colorsq{
	position: absolute;
	top: -10px;
	left: 35%;
	background-color: rgba(29,56,56,0.6);
	width: 35px;
	height:35px;
	z-index: 1;
}
main .workbox .colorsqsub{
	position: absolute;
	top: 10px;
	left: 38%;
	background-color: #ffffff;
	width: 50px;
	height: 50px;
	z-index: 2;
	opacity: 0.8;
}
main .workbox h2{
	position: absolute;
	top;20px;
	z-index: 3;
	width: 100%;
	height: 50px;
	margin-bottom: 20px: 
}

main .workbox .color-box p{
	position: absolute;
	top: 90px;
	width: 100%;
	left: 0;
	padding: 0;
}

/*==ABOUT_PAGE==*/
#portfolio h2{
	margin-bottom:20px;
}
#portfolio .color-box h2{
	margin-top:20px;
}


main .color-box .half-box{
	background-color: #ffffff;
	width: 270px; /*280px-padding*/
	margin: 10px;
	padding: 5px;
	float: left;
}
.color-box p{
	padding: 0px 50px;
}
.skillbox{
	width: 88%;
	margin: 0 auto;
}
.star405{
	background:#ffffff url("images/star405.png") no-repeat;
}
.star4{
	background:#ffffff url("images/star4.png") no-repeat;
}
.star3{
	background:#ffffff url("images/star3.png") no-repeat;
}

.f-sizeb{
	font-size: 18px;
	line-height: 18px;
}



/*==PAGE_LINK==*/
main .color-box .inner{
	background-color: #ffffff;
	width: 90%; /*580px-padding*/
	margin: 10px auto;
	padding: 10px;
}


/*==PAGE_TOP_button==*/
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #1d3838;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
 /* font-family: FontAwesome;*/
  content: '▲';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 10px;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top:hover
{
    opacity: 0.85 ;
}

/*＞＞＞フッター部分の設定＞＞＞＞＞＞＞＞＞＞＞＞＞＞*/
footer {
	clear: both;
	width: 100%;
	padding: 5px 0px;
	text-align: center;
	color: #1d3838;
}

footer .bg-color{
	padding: 5px;
}





@media screen and (max-width: 768px) {
    #rwdMenuWrap ul li a:hover {
	color: #ffffff;
	background-color: #1d3838;/*【色変え】トップナビ*/
		}

}


@media screen and (min-width: 641px) {
/*＞＞＞トップ部分の設定＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞＞*/

}



@media screen and (min-width: 641px) {
}
/*＞＞＞SP_ヘッダーナビゲーション部分の設定＞＞＞＞＞＞＞＞＞＞*/

/* ------------------------------
   MEDIAQUERIES LAYOUT
------------------------------ */
@media only screen and (max-width: 800px) {
    #menuList ul {
        width: 100%;
    }
 
    #menuList ul li {
        width: 20%;
    }
}
 


/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
@media only screen and (max-width: 768px) {
    #menuList {
        display: none;
    }
 
    #rwdMenuWrap {
        width: 100%;
        border-bottom: #aaa 1px solid;
    }
 
    #rwdMenuWrap #switchBtnArea {
        width: 100%;
        height: 60px;
        background: #3c3c3c;
        position: relative;
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn {
        top: 10px;
        right: 10px;
        width: 40px;
        height: 40px;
        display: block;
        background: #a7a7a7;
        position: absolute;
        border-radius: 5px;
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn span {
        left: 20%;
        width: 60%;
        height: 4px;
        display: block;
        position: absolute;
        background-color: #fff;
        border-radius: 5px;
        transition: all 0.2s linear;
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
        top: 10px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
        top: 18px;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
        bottom: 10px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
        top: 18px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
        bottom: 18px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
 
    #rwdMenuWrap ul {
        width: 100%;
        display: none;
    }
 
    #rwdMenuWrap ul li {
        width: 100%;
        border-bottom: #aaa 1px solid;
    }
 
    #rwdMenuWrap ul li a {
        padding: 15px 20px;
        text-align: left;
        display: block;
        background: #ebebeb;
        position: relative;
        text-decoration: none;
	color: #616161;
    }

    #rwdMenuWrap ul li a:after {
        content: '';
        margin-top: -4px;
        top: 50%;
        right: 15px;
        width: 8px;
        height: 8px;
        color: #888;
        font-size: 1em;
        font-weight: bold;
        line-height: 1.2em;
        display: block;
        position: absolute;
        border-top: 2px solid #b0b0b0;
        border-right: 2px solid #b0b0b0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
 

}
 
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
#menuList > ul:before,
#menuList > ul:after {
    content: " ";
    display: table;
}
#menuList > ul:after {clear: both;}
#menuList > ul {*zoom: 1;}





/*===============================================
●モバイル(スマホ&i-pad)
===============================================*/

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

.topbox .topimgbox{
	width: 100%;
}


.topcomment{
	    padding: 20px;
	    height: auto;
	    left: 0;
}
.topcomment h2{
	font-size: 30px;
}


main{
	width: auto;
	margin: 0px 10px;
	font-size: 10px;
}

main .inner{
	width: auto;
}

main .maincol h2{
	margin-top: 25px;
}

main .maincol{ 
	width: auto;
	float: none;

}

.color-box{
	width: auto;
}

main .color-box .box580{
	width: auto;
	float: none;
}

main .color-box .half-box{
	float: none;
	margin: 10px auto;
}

main .color-box .box580 .half-box{
	float: none;
	width: auto;
	}

main .box03{
	float: none;
	margin: 0px auto 30px;
}


/*==SP_サムネイル関連==*/
.thumbnailbox{
	width: 85%;
	margin: 50px auto;
	padding-bottom: 50px;
}
.thumbnail{
	float: none;
	width:95%;
	margin-left: 5%;
}
/*==SP_サムネイル画像ホバーキャプション==*/
figure {
 	width: 100%;
 /*	height: 400px;*/
 	height: auto;
	margin-bottom:30px;
}
figure img{
	width: 100%;
}

figure a.hover figcaption {
  opacity: 1;
}

figcaption .box h3,
figcaption .box p{
	color: #ffffff;
	line-height: 1.5;

}
figcaption .box p{
	position: static;
	}
figcaption .iconbox{
	margin:20px 0;
}
figcaption .iconbox img{
	width: 20%;
	height: 20%;
}


}



/*===============================================
●モバイル(スマホ)
===============================================*/

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

.topimg {
	background-position: right -150px top;
}

}



