@charset "UTF-8";
/* CSS Document */
/* =============================================
share
================================================ */
.pc-only { display: block; }

.sp-only { display: none; }

a { 
	color: #6c757d; 
}

a:hover { color: #777; }

a .img, a img { -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; backface-visibility: hidden; }

a:hover .img, a:hover img { opacity: 0.6; filter: alpha(opacity=60); }

p, .text { line-height: 200%; letter-spacing: .1em; color: #555; font-size: 13px;}

input, textarea { border: #ccc solid 1px; font-size: 110%; }

body {
	    font-family: 'Roboto', sans-serif;
	    font-family: 'Open Sans', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Roboto', sans-serif;
	font-family: 'Open Sans', sans-serif;
	
}

.div.container-m {margin-bottom: 200px;}

.jumbotron { background:url(../image/srider/fogin.topimage.JPG) center no-repeat; background-size: cover;}
/* 
.jumbotron-pj { background:url("../image/project-title.png") center no-repeat; background-size: cover;}
.jumbotron-pj1 { background:url("../image/pjt-1.jpeg") center no-repeat; background-size: cover;}
.jumbotron-pj2 { background:url("../image/pjt-2.jpeg") center no-repeat; background-size: cover;}
.jumbotron-pj3 { background:url("../image/pjt-3.jpeg") center no-repeat; background-size: cover;}
.jumbotron-pj4 { background:url("../image/pjt-4.jpeg") center no-repeat; background-size: cover;}
*/

.img-size{
	width: 80%;
	height: auto;
}
.img-size2{
	width: 90%;
	height: auto;
}
.img-size3{
	width: 100%;
	height: auto;
}
.left {
	left:10%;
}
.navbar-dark .navbar-nav .nav-link:hover{
color: #FFFF00;
}
.hover:hover{
	color: #777;
}
.sidebar_fixed{
	position: sticky;
	top:60px;
}
.archive{
	height: 300px;
}
/* =============================================
top 
==============================================*/
#header { overflow: hidden; position:relative; top: 0; background: white; width:100%;}
nav ul { width: 100%;
	     padding:0; 
	     liststyle-type:none; 
	     text-align: center;
}
nav ul li, nav ul a { 
	text-decoration: none; 
	vertical-align: middle;
	padding: 10px 10px;
	list-style: none;
	display:inline-block;
}

/*2階層目以降は横並びにしない*/
nav ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li{
	position: relative;
}

/*ナビゲーションのリンク設定*/
nav ul li a{
	display: block;
	text-decoration: none;
	color: #999;
	padding:20px 35px;
	transition:all .3s;
}

nav ul li li a{
	padding:10px 35px;
}

nav ul li a:hover{
	color:#fff;	
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:15px;
	top:25px;
	width:6px;
	height:6px;
	border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}

/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before{
	content:'';
	position: absolute;
	left:6px;
	top:17px;
	width:6px;
	height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
nav li.has-child ul{
    /*絶対配置で位置を指定*/
	position: absolute;
	left:0;
	top:62px;
	z-index: 4;
    /*形状を指定
	background:#C8E9F7;*/
	background-image: url("../image/fogin-titleimg2.png");
	width:180px;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
	transition: all .3s;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状#9EDBF5*/
nav li.has-child ul li a{
	color: #707070;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}

nav li.has-child ul li:last-child a{
	border-bottom:none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	background:#BEE3F4;
}
.openbtn {
		display: none;
	}
.overflow{
	text-overflow:clip;
}
/*===================================
ナビゲーション 
===================================*/

#t-navigation{
  position: absolute;
  z-index: 10;
  font-size:1vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  height: auto; 
  left: 0;
  right: 0;
  margin: 20px auto;
  font-family: 'Open Sans', sans-serif;
}
#t-navigation-pc{
  position: absolute;
  z-index: 999;
  font-size:1vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  height: auto; 
  left: 0;
  right: 0;
  margin: 20px auto;
  font-family: 'Open Sans', sans-serif;
}
#navigation{
  position: relative;
  z-index: 999;
  font-size:1vw;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  height: auto; 
  left: 0;
  right: 0;
  margin: 20px auto;
  font-family: 'Open Sans', sans-serif;
}

.sp-wrapper{
  display: none;
}
.pc-wrapper{
	position: relative;
}
.text-font{
	 font-family: 'Open Sans', sans-serif;
}
#sp-nav{
	display: none;
}
/*===================================
slider アイデア帳より
===================================*/
.slider {
  position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.slider-item01 {
    background:url("../image/srider/fogin.topimage2.JPG");
}

.slider-item02 {
    background:url("../image/srider/yamasato.jpeg");
}

.slider-item03 {
    background:url("../image/srider/minamo.jpeg");
}
.slider-item04 {
    background:url("../image/srider/snow.jpeg");
}

.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*ドットナビゲーションの設定*/

.slick-dots {
	position: relative;
	z-index: 3;
    text-align:center;
	margin:-50px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#fff;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}
.slider-logo{/*スライダーロゴ*/
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 130px;
 
}

/*===================================
moreボタン アイディア帳
===================================*/

/*表示するテキストが切り替わる*/
.btntextchange{
    /*テキストの基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/
	border: 1px solid #555;
	border-radius:25px;
    min-width:210px;
	padding: 20px;
    text-align: center;
	display: inline-block;
    text-decoration: none;
    outline: none;
    /*アニメーションの指定*/
    transition: all .2s;
	margin:20px 0;
}

/*hoverした際の変化*/
.btntextchange:hover{
  background:#333;
  color:#fff;
}

.btntextchange span{
    /*絶対配置でテキストの位置を決める*/
	position: absolute;
	left: 50%;
	top:50%;
    transform:translate(-50%,-50%);
    /*アニメーションの指定*/
    transition: all .5s;
  /*ブロック要素にしてテキスト折り返しなし*/  
	display: block;
	white-space: nowrap;
}

/*差し替わるテキストの設定*/
.btntextchange span:nth-child(2){
	opacity:0;/*透過0に*/
}

/*hoverするとテキストが入れ替わる設定*/
.btntextchange:hover span:nth-child(1){
	opacity:0;/*透過0に*/
}

.btntextchange:hover span:nth-child(2){
	opacity:1;/*不透明に*/
}

#contact-body {
	background: #f3f3f3;
}
.contact-container{
	margin-top:60px;
}
.contact-btn{
	margin-top: 30px;
}

/*===================================
footer
===================================*/
footer { text-align: center; padding: 40px 0; position: relative;  margin: auto;}
footer small { font-size: 80%; }

/*===================================
contact
===================================*/
.bg-gray {
	background-color:gainsboro;
}

.text-uppercase{
	text-transform: uppercase;
}

body#contact #wrapper p{
	margin-bottom: 40px;
	font-size:90%;
	}


body#contact {
	float:left;
	clear:left;
	margin-bottom:20px;
	}
	
body#contact #contentsright dd{
	margin-left: 100px;
	margin-bottom:20px;
	}
form {
	width: 640px;
	font-size: 90%;
	margin-top: 20px;
}

label {
    display: inline-block;
    width: 50%;
    text-align: left;
}
.form-item{
	margin-bottom: 20px;
}

input, textarea {
    width: 400px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #000;
	height:30px;
	border-radius: 5px;
}

input:focus, textarea:focus {
    border-color: #333333;
}

#msg{
	height:200px;
	vertical-align: top;
	}


.form{
	width: 800px;
	margin: 0 auto;
	padding-bottom: 50px;
}

#form-submit {
	text-align: center;
	margin: 50px auto 0;
	width: 200px;
	border: 1px solid #555;
	border-radius:25px;
    min-width:210px;
	height:50px;
	
}
#form-submit:hover {
  		background:#5C5B5B;
  		text-decoration: none;
		color: #efefef;
	}
/*===================================
projectpage
===================================*/
.pjt-circle{
	background-image: url("../image/circle2.png")
}

.pjt-subtitle {
	background-color: rgba(229,229,229,1.00)
}
.pjt-bgc{
	background-color: rgba(246,246,246,1.00)
}

.pjt-titleimg{
	background-image:url("../image/fogin-titleimg.png");
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.pjt-flex-item{
	width: 100%;
}
.story-box{
	margin: 50px;
}
.output-box{
	margin: 0 100px;
}
.output-box p{
	margin-bottom: 10px;
}
/*===================================
pagetop btn
===================================*/

/*リンクの形状background:#C8E9F7;*/
#page-top1 a{
	display: flex;
	justify-content:center;
	align-items:center;
	background-image: url("../image/fogin-titleimg2.png");
	border-radius: 40px;
	width: 80px;
	height: 80px;
	color: #2F2F2F;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

#page-top1 a:hover{
	background: #777;
}

/*リンクを右下に固定*/
#page-top1 {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top1.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top1.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*======================================================================*/


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

	.pc-only { display: none; }

	.sp-only { display: block; }
	
	img {
		max-width: 100%;
	}
	.form{
		margin: 10px;
		width: auto;
	}
	.row{
		display: block;
	}
	
	input, textarea {
		width: 100%;
		margin-bottom: 20px;
	}
	label{
		margin-bottom: 10px;
		width: 100%;
	}
	.header{
		height: 70px;
	}
	
	.pc-wrapper{
		display: none;
	}
	.sp-wrapper{
		display: block;
		position: relative;
	}
	#pc-nav{
		display: none;
	}
	#sp-nav{
	display: block;
}
	.sp-tleft{
		text-align: left;
	}
	.sp-tc{
		text-align: center;
	}
/*===================================
　bumberger bottom
===================================*/

	/*ボタン外側※レイアウトによってpositionや形状は適宜変更してください*/
	.openbtn{
		/*ボタン内側の基点となるためrelativeを指定。
	追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
		position: relative;
		cursor: pointer;
		width: 50px;
		height:50px;
		border-radius: 5px;
		display: block;
		left:80%;
		z-index: 999;
	}

	/*ボタン内側*/
	.openbtn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background: #fff;
		width: 45%;
	  }


	.openbtn span:nth-of-type(1) {
		top:15px;	
	}

	.openbtn span:nth-of-type(2) {
		top:23px;
	}

	.openbtn span:nth-of-type(3) {
		top:31px;
	}

	/*activeクラスが付与されると1・3番目の要素が2番目の要素と同じ位置になり一本線に*/

	.openbtn.active span:nth-of-type(1) ,
	.openbtn.active span:nth-of-type(3){
		top: 23px;
	}
/*===================================
　sp-nav
===================================*/
	nav ul li, nav ul a {
		display: block;
	}
	#sp-nav{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 888;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#999;
    /*動き*/
	transition: all 0.6s;
}

	
	#sp-nav.panelactive{
		right: 0;
	}
	#sp-nav.panelactive #g-nav-list{
		position: fixed;
		z-index: 888;
		width: 100%;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}	
	
	#sp-nav ul {
		position: absolute;
		z-index: 888;
		top:50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	#sp-nav li{
		list-style:none;
		text-align: center;
		font-size: 18px;
	}
	
	#sp-nav li a{
		color: #333;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
 /*===================================
　sp-nav-contact
===================================*/
.p-opnbtn{
	background: #999;
	margin-top: 10px;
}
.btntextchange:active{
  background:#333;
  color:#fff;
}
	.btntextchange:active span:nth-child(1){
	opacity:0;/*透過0に*/
}

.btntextchange:active span:nth-child(2){
	opacity:1;/*不透明に*/
}
/*===================================
　sp-project
===================================*/
	.story-box{
	margin: 10px;
	}
	.pjt-flex-item{
		text-align: center;
		margin-bottom: 30px;
	}
	.output-box{
		margin: 0 10px;
	}
}
/*＝＝＝spここまで*/

/*==================================================
ギャラリーのためのcss
===================================*/

/*＝＝＝並び替えボタンのCSS*/
.sort-btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding:50px 20px;
}

.sort-btn li{
	background:#eee;
list-style:none;
	border-radius:10px;
	cursor: pointer;
	padding: 10px;
	margin:0 10px;
}

.sort-btn li.active{/*ボタンに現在地＝activeというクラス名がついたら背景色を変更*/
	background:#ccc;	
}

/*横幅が480px以下になった際の指定*/
@media only screen and (max-width: 480px) {
.sort-btn{
	justify-content: space-between;
}
	
.sort-btn li{
	width:48%;
	margin:0 0 10px 0;
	text-align:center;
	}	
}

/*＝＝＝Muuriのレイアウトのための調整 */
.grid {
  position: relative;/*並び替えの基準点を指定*/
}

/*各画像の横幅などの設定*/
.item {
  display: block;
  position: absolute;
  width: 33%;/*横並びで3つ表示*/
  z-index: 1;
list-style:none;
}

/*内側のボックスの高さが崩れないように維持*/
.item-content {
  position: relative;
  width: 100%;
  height: 100%;
}

/*画像の横幅を100%にしてレスポンシブ化*/
.grid img{
	width:100%;
	height:auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}

/*横幅が768px以下になった際の指定*/
@media only screen and (max-width: 768px) {
.item {
  width: 100%;/*横並びで2つ表示*/
}
}

/*＝＝＝fancyboxサムネイル背景と画像選択時の枠線の指定*/
.fancybox-thumbs {
    background: transparent!important;
}

.fancybox-thumbs__list a:before {
    border: 6px solid #FA999B;
}