@charset "UTF-8";


/* 基本設定：ページ全体 */

body{
	margin:0;
	font-family: fot-cezanne-pron, sans-serif;
	-webkit-text-size-adjust: 100%;
	background-color:#FFF7F2;

}

.clear{
	clear:both;
	line-height:0;
}


html{
  visibility: hidden;
}


html.wf-active, html.loading-delay{
  visibility: visible;
}




/* ヘッダー */

header{
	margin-top:15px;
	margin-bottom:0;
}


.header_area .container{
	margin-left:auto;
	margin-right:auto;
	max-width:1040px;
	min-height:100px;
	margin-top:0;
	padding-left:40px;
	padding-right:40px;
	display:flex;
	justify-content:space-between;
	align-items:center;	
}


header .container h1{
	margin:0;
	padding:0;
}


header .container h1 img{
	margin-top:0;
	margin-bottom:5px;
	margin-left:20px;
	margin-right:30px;
	padding:0;
	width:134px;
}


/* IEだけに適用 */

@media all and (-ms-high-contrast: none) {
 	 header .container h1{
		margin-top:20px;
		padding:0;
		width: 134px;
	}

	header .container h1 img{
		margin-top:0;
		margin-bottom:5px;
		margin-left:20px;
		margin-right:30px;
		padding:0;
		width:134px;
		width: 100%;
		margin: 0;
	}
}


header .container nav{
	margin-top:0;
	margin-bottom:0;
	margin-left:0;
	margin-right:30px;
	padding-right:100px;
}


header .container nav ul{
	display:flex;
	margin:0;
	padding:0;
}


header .container nav ul li{
	display:flex;
	justify-content:center;
	align-items:center;
	min-width:122px;
	margin-left:0;
	margin-right:0;
	border-left:solid 1px #2E87FF;
}


.contact{
	border-right:solid 1px #2E87FF;

}



header .container nav ul li a:link{
	text-decoration:none;
	color:#2E87FF;
	font-size:17px;
	line-height:1em;
	vertical-align:middle;
	font-family: josefin-sans, sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing:2px;
}


header .container nav ul li a:visited{
	color:#2E87FF;
}


header .container nav ul li a:active{
	color:#2E87FF;
}


.works a:hover{
	background: linear-gradient(transparent 0%, #F0F061 0%);
}

.news a:hover{
	background: linear-gradient(transparent 0%, #F29798 0%);
}

.about a:hover{
	background: linear-gradient(transparent 0%, #A7E5FF 0%);
}

.contact a:hover{
	background: linear-gradient(transparent 0%, #D1B9F5 0%);

}


.calamar_icon_area{
	margin:0;
	padding:0;
}


.calamar_icon{
	display:block;
	margin:0;
	padding:0;
	width:38px;
	height:38px;
	
}



/* ヘッダー：895px以上の時 PC */	
@media(min-width:895px){
	.header_area .container{
		max-width:1040px;
	}
}


/* ヘッダー：752px以上〜894px以下のとき タブレット */	
@media(min-width:752px) and (max-width:894px){
	header{
		margin-top:10px;
		margin-bottom:0;
	}
	
	.header_area .container{
		max-width:800px;
		min-height:95px;
		padding-left:40px;
		padding-right:40px;
	}
	
	
	header .container h1 img{
		width:120px;
	}


	header .container nav{	
		padding-right:0;
	}
	
	
	header .container nav ul li{
		display:flex;
		justify-content:center;
		align-items:center;
		min-width:100px;
		margin-left:0;
		margin-right:0;
		border-left:solid 1px #2E87FF;
	}


	header .container nav ul li a:link{
		font-size:15px;
	}
	
}


/* ヘッダー：600px以上〜751px以下のとき 2段組 */	
@media(min-width:600px) and (max-width:751px){

	header{
		margin-top:10px;
	}
	
	
	.header_area .container{
		max-width:681px;
		padding-left:35px;
		padding-right:35px;
		justify-content:flex-end;
	}
	
	
	header .container h1{
		margin-right:auto;
		margin-left:200px;
	}
	
	
	header .container h1 img{
		width:125px;
	}


	header .container nav{	
		padding-right:0;
	}
	
	
	header .container nav ul li{
		min-width:100px;
		margin-left:0;
		margin-right:0;
		border-left:solid 1px #2E87FF;
	}


	header .container nav ul li a:link{
		font-size:15px;
	}
	
	
	.calamar_icon_area{
		margin-right:12px;
	}


	.calamar_icon{
		margin:0;
		padding:0;
		width:30px;
		height:30px;
	}
	
}

	


/* ヘッダー：599px以下の時 スマホ  */
@media (max-width:599px){

	header{
		margin-top:0;
	}
	
	
	.header_area .container nav{
		margin:0;
		padding-top:16px;
		padding-right:0;
		padding-left:0;
		position:absolute;
		top:53px;
		right:0;
		height:145px;
		background:rgba(255,255,255,0.9);
	}
	
	
	.header_area .container nav ul{	
		display:inline;
	}
	
	
	.header_area .container nav ul li{
		justify-content:flex-start;
		padding-left:20px;
		border:none;
	}


	.header_area .container nav ul li a:link{
		font-size:15px;
		line-height:33px;
	}
	
	
	.contact{
		border-right:none;
	}
	
	
	.header_area .container{
			margin-top:0;
			max-width:599px;
			min-height:75px;
			padding-left:30px;
			padding-right:30px;
			justify-content:flex-end;
	}
	
	
	.header_area .container h1{		
			margin-left:auto;
			margin-right:auto;
			max-width:450px;
			padding-left:70px;
	}
	
	
	.header_area .container h1 img{
		margin-top:0;
		margin-bottom:0;
		width:115px;
	}
	
	
	.calamar_icon_area{
		margin-right:10px;
	}


	.calamar_icon{
		margin:0;
		padding:0;
		width:28px;
		height:28px;
	}


	.works a:hover,.news a:hover,.about a:hover,.contact a:hover{
		background:none;
	}
		
}


/* ヘッダー：トグルボタン */

@media(min-width:752px){
	/* 大きい画面用の設定 */
	.toggle_area{
		display:none;
	}
	
	.header_area .container nav{
		display:block !important;
	}
}


@media(max-width:751px){
	/* 小さい画面用の設定 */
	.header_area .container nav{
		display:none;
	}


	.toggle_area{
		margin:3px 0 0 0;
		padding:0;
		border:none;
		outline:none;
		background:none;
		cursor:pointer;	
	}
}




/* 波線 */

#wave{
	margin:0;
	padding:0;
	background-image:url("../img/interface/wave.png");
	height:10px;
	background-position:left top;
}



/* コンテンツエリア */


.contents_area .container{
	margin-left:auto;
	margin-right:auto;
	max-width:1040px;
	min-height:1000px;
	margin-top:50px;
	padding-left:30px;
	padding-right:30px;
}


.contents_area .container .works_area{
	max-width:900px;
	margin-left:auto;
	margin-right:auto;
}


.title_area{
	display:flex;
	justify-content:space-between;
}


.title_area h1{
	margin:0;
	padding:0;
	font-size:25px;
	line-height:1.2em;
	font-family:ten-mincho,serif;
	font-weight:400;
	font-style:normal;
	letter-spacing:1px;
	color:#000;
}


.thumbnail_area{
	margin-left:40px;
	width:30px;
	height:30px;
	background-image:url("../img/interface/thumbnail_btn.png");
	background-position:center;
	background-size:cover;
}


.media-tag{
	margin:10px 0 0 0;
	padding:0;
	display:flex;
	justify-content:flex-start;
	align-items:center;
}


.media-tag p{
	margin:0 10px 0 0;
	padding:0; 
	font-size:13px;
	line-height:1em;
	font-family:fot-cezanne-pron,sans-serif;
	color:#808080;
	letter-spacing:1px;
}


/* IEだけに適用 */

@media all and (-ms-high-contrast: none) {
	.media-tag p{
		margin:10px 10px 0 0;
	}
}


.media-tag span{
	margin:0 5px 0 0;
	padding:0;
	display:flex;
	align-items:center;
}

.design,.coding,.illust{
	width:66px;
	height:18px;
	background-repeat:no-repeat;
	background-position:center;
}

.design{
	background-image:url("../img/interface/design.svg");
}


.coding{
	background-image:url("../img/interface/coding.svg");
}


.illust{
	background-image:url("../img/interface/illust.svg");
}


.credit{
	margin:10px 0 0 0;
	font-size:13px;
	line-height:1.5em;
}


.caption{
	margin:18px 0 0 0;
	font-size:14px;
	line-height:24px;
	text-align:justify;
}



.works_1,.works_2{
	display:block;
	max-width:900px;
	min-height:600px;
	margin-top:40px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
}


.works_1{
	background-image:url("img/glab_plus_1.jpg");
}

.works_2{
	background-image:url("img/glab_plus_2.jpg");
}


.works_1:hover{
	opacity:0.6;
}


.works_1:visited{
	opacity:1;
}


.works_2:hover{
	opacity:0.6;
}


.works_2:visited{
	opacity:1;
}



.arrow_area{
	margin-top:40px;
	display:flex;
	justify-content:space-between;
}

.arrow_area .return,.arrow_area .next{
	width:56px;
	height:34px;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}

.arrow_area .return{
	background-image:url("../img/interface/return.png");
}

.arrow_area .next{
	background-image:url("../img/interface/next.png");
}





/* コンテンツエリア：895px以上の時 PC */	
@media(min-width:895px){
	.contents_area .container{
		max-width:1040px;

	}
	
	.br-sp{
		display:none;
	}
}



/* コンテンツエリア：769px以上〜894px以下のとき タブレット */	
@media(min-width:769px) and (max-width:894px){
	.contents_area .container{
		max-width:764px;
		min-height:750px;
		margin-top:40px;
		padding-left:40px;
		padding-right:40px;

	}
	
	.contents_area .container .works_area{
		max-width:764px;
	}
	
	.works_1,.works_2{	
		min-height:566px;

	}
	
	.br-sp{
		display:none;
	}

}


/* コンテンツエリア：600px以上〜768px以下のとき 2段組 */	
@media(min-width:600px) and (max-width:768px){
	.contents_area .container{
		max-width:681px;
		min-height:700px;
		margin-top:40px;
	}

	.contents_area .container .works_area{
		max-width:681px;
	}
	
	.works_1,.works_2,.works_3,.works_4{	
		min-height:455px;
	}
	
	.br-sp{
		display:none;
	}
	
}


/* コンテンツエリア：321px以上〜599px以下のとき スマホ  */
@media (min-width:321px)and (max-width:599px){
	.contents_area .container{
		max-width:340px;
		min-height:500px;
		margin-top:40px;
	}
	
	.contents_area .container .works_area{
		max-width:340px;
	}
	
	
	.title_area h1{
		font-size:18px;
		line-height:1.2em;
	}
	
	.thumbnail_area{
		margin-left:10px;
		width:25px;
		height:25px;
	}
	
	.media-tag{
		margin:5px 0 0 0;
	}
	
	.media-tag p{
		margin:0 10px 0 0;
		font-size:11px;
		line-height:1em;
	}


	.media-tag span{
		margin:0 3px 0 0;
		display:flex;
		align-items:center;
	}
	
	
	.design,.coding,.illust{
		width:59px;
		height:16px;
	}


	.credit{
		margin:8px 0 0 0;
		font-size:10px;
		line-height:1.3em;
	}


	.caption{
		margin:10px 0 0 0;
		font-size:13px;
		line-height:21px;
		letter-spacing:0;
	}
	
	.works_1,.works_2{
		max-width:340px;
		min-height:210px;
		margin-top:30px;
	}
	
	
	.arrow_area .return,.arrow_area .next{
		width:32px;
		height:19px;
	}
	
	.arrow_area{
		margin-top:30px;
	}

	.br-sp{
		display:none;
	}
}


/* コンテンツエリア：320px以下の時 スマホ  */
@media (max-width:320px){
	.contents_area .container{
		max-width:320px;
		min-height:350px;
		margin-top:30px;

	}
	
	.contents_area .container .works_area{
		max-width:280px;
	}
	
	
	.title_area h1{
		font-size:18px;
		line-height:1.2em;
	}
	
	.thumbnail_area{
		margin-left:12px;
		width:23px;
		height:23px;
	}
	
	.media-tag{
		margin:5px 0 0 0;
	}
	
	.media-tag p{
		margin:0 8px 0 0;
		font-size:11px;
		line-height:1em;
	}


	.media-tag span{
		margin:0 3px 0 0;
		display:flex;
		align-items:center;
	}
	
	
	.media-tag span{
		margin:0 3px 0 0;
		display:flex;
		align-items:center;
	}
	
	
	.design,.coding,.illust{
		width:59px;
		height:16px;
	}
	

	.credit{
		margin:8px 0 0 0;
		font-size:10px;
		line-height:1.3em;
	}


	.caption{
		margin:10px 0 0 0;
		font-size:13px;
		line-height:21px;
		letter-spacing:0;
	}
	
	
	.works_1,.works_2{
		max-width:340px;
		min-height:175px;
		margin-top:20px;
	}
	
	
	.arrow_area .return,.arrow_area .next{
		width:32px;
		height:19px;
	}
	
	.arrow_area{
		margin-top:25px;
	}

}



/* フッター：コピーライト */

footer{
	margin-left:auto;
	margin-right:auto;
	min-height:100px;
	margin-top:50px;
	margin-bottom:0;
	padding-left:30px;
	padding-right:30px;
	font-size:12px;
	line-height:100px;
	font-family:museo,serif;
	font-weight:100;
	font-style:normal;
	color:#2E87FF;
	letter-spacing:1px;
	border-top:solid 1px #2E87FF;
	text-align: center;
}


/* フッター：599px以下の時 スマホ  */
@media (max-width:599px){
	footer{
		min-height:75px;
		margin-top:35px;
	}
}


