@charset "UTF-8";

/**********************************************************************/
/******************************* BANNER *******************************/
/**********************************************************************/


#topSlide
{
	position: fixed;
	height: 100%;
	width: 50%;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

#top .slideFadeContainer
{
	background-color: white;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 0;
	
	-webkit-filter: blur(10px);
	filter: blur(10px);
	opacity: 0;
	
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-ms-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.end .slideFadeContainer
{
	-webkit-filter: blur(0px);
	filter: blur(0px);
	opacity: 1;
}

.loaded #topSlide
{
	-webkit-filter: blur(10px);
	filter: blur(10px);
	opacity: 0;
}

.cap
{
	z-index:100;
	position: absolute;
	font-size: .8rem;
	line-height: 1.35;
	color: rgba(255, 255, 255, .7);
	
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-ms-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}
.cap .photoCredit{font-size: .7rem; display: block;}
.cap.off
{
	filter:alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
}
.cap.on
{
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
}

#topSlide .cover
{
/*	background: linear-gradient(to bottom, rgba(0,0,0,.3), rgba(0,0,0,0) 30%, rgba(0,0,0,0) 70%, rgba(0,0,0,.3));*/
	width: 100%;
	height: 100vh;
	position: absolute;
}

/**********************************************************************/
/******************************* Contetns ******************************/
/**********************************************************************/

.mask, .mask >div, .en .logo
{
	position: absolute;
	top:0;
	width: 100%;
	height: 100%;
	opacity: 1;
	-webkit-filter: blur(0px);
	filter: blur(0px);
	
	background-size: cover;
	background-repeat: no-repeat;
}

.mask
{
	overflow: hidden;
}

.start .mask
{
	width: 0;
	transition-delay: 1s;
}

.mask > div
{
	background-size: cover;
	background-position: 50% 50%;
}

.change .mask > div
{
	-webkit-transition: all .5s ease-out;
	-moz-transition: all .5s ease-out;
	-ms-transition: all .5s ease-out;
	-o-transition: all .5s ease-out;
	transition: all .5s ease-out;
}

.start .mask > div
{
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

 .en .logo
{
	left: 0;
	background-position: 50% 50%;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}


.start .en .logo
{
	opacity: 0;
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

.change .en .logo
{
	transition-delay: .3s;
}

.svg .en .logo{background-image: url(../_img/top_logo.svg)}
.no-svg .en .logo{background-image: url(../_img/top_logo.png)}

#title:before
{
	position: relative;
	content:"";
	display: block;
	padding-top: 100%;
}

.svg .en .mask > div{background-image: url(../_img/en.svg)}
.no-svg .en .mask > div{background-image: url(../_img/en.png)}

.start .en .mask > div
{
	transition-delay: .5s;
}

.change .en .mask > div
{
	transform: translateX(0);
}

.sow
{
	right:0;
}

.sow .mask
{
	right: 0;	
}
.svg .sow .mask > div{background-image: url(../_img/sow.svg)}
.no-svg .sow .mask > div{background-image: url(../_img/sow.png)}

.start .sow .mask > div
{
	transition-delay: .5s;
}

.change .sow .mask > div
{
	transform: translateX(0);
}

#contents_a, #contents_b
{
	position: relative;
}

#contents_b
{
	opacity: 0;
/*	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;*/
}

.start #contents_b
{
	opacity: 1;
	transition-delay: .75s;
}

#contents_a
{
	position: absolute;
	height: 100%;
	opacity: 1;
/*	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;*/
}

.change #contents_a, .change #contents_b
{
	opacity: 0;
	-webkit-transition: all 0s ease;
	-moz-transition: all 0s ease;
	-ms-transition: all 0s ease;
	-o-transition: all 0s ease;
	transition: all 0s ease;
}

#selector, #credit, #menuBt
{
	opacity: 0;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}

.start #selector, .start #credit, .start #menuBt
{
	opacity: 1;
	transition-delay: .75s;
}

.change .en .mask > div:after
{
	content: ""; 
	display: block;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	margin-top:-5px;
	margin-left:-5px; 
	
	box-sizing:border-box;
	position: absolute;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 7px solid rgb(199, 174, 0);

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

.monogram
{
	position:relative;
	width: 100%;
	height: 100%;
}
.svg .monogram{background-image: url(../_img/monogram.svg)}
.no-svg .monogram{background-image: url(../_img/monogram.png)}


.sow .wrapper
{
	box-sizing: border-box;
	width: 100%;
	min-height: 0%;
	position: relative;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-moz-flex-direction: column;
	-webkit-flex-direction: column;
	flex-direction: column;
}


.title
{
	margin-top: 3em;
	margin-bottom: 1em;
}
.title p
{
	display: inline-block;
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	font-size: 1.3em;
	line-height: 1.25;
	color: rgb(255, 255, 255);
	padding: .3em .4em;
	background-color: rgb(199, 174, 0);
}
.title:first-child
{
	margin-top: 0;
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////// Philosophy /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#philosophy .sow .wrapper
{
	padding-left: 0;
	padding-right: 0;
}

.sow .catch
{
	box-sizing: border-box;
	width: 100%;
	min-height: 0%;
	position: relative;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-justify-content: center;
	justify-content: center;
}

.sow .catch > div
{
	font-size: calc(50vw / 20);
}

/*//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////// Activity /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

.listWrapper .listItem
{
	margin-top: 2em;
}

.listWrapper p.list-1
{
	position: relative;
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	padding-left: 1em;
}
.listWrapper p.list-1:before
{
	content:"";
	position: absolute;
	width: .5em;
	height: .5em;
	top: 50%;
	left: 0;
	margin-top: -0.25em;
	background-color: rgb(199, 174, 0);
	border-radius: 50%;
}

.listWrapper p.list-2
{
	position: relative;
	padding-left: 1em;
}

.listWrapper p.list-2 span, .listWrapper p.list-2 a
{
	display: block;
	line-height: 1.5;
	margin-bottom: .5em;
	margin-top: .75em
}
.listWrapper p.list-2 br{display: none;}


/*//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////// Publication /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

.slideWrapper
{
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: relative;
	background-color: rgb(240, 240, 240);
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	-webkit-align-items: center;
	align-items: center;
	
	-webkit-justify-content: center;
	justify-content: center;
}
#publication #contents_a:before
{
	z-index: 0;
	content: ""; 
	display: block;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	margin-top:-5px;
	margin-left:-5px; 
	
	box-sizing:border-box;
	position: absolute;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	border: 7px solid rgb(199, 174, 0);

	animation: circle-spin 1s linear infinite; /*1秒毎にくるくる回転するアニメーション*/
}

.slideWrapper img
{
	opacity: 1;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

.slideWrapper img.loading
{
	opacity: 0;
}

.publicationItem
{
	position: relative;
	margin-bottom: 1em;
}

.publicationItem p
{
	display: inline;
	position: relative;
}
.publicationItem.img p
{
	cursor:pointer;
	-webkit-transition:all .3s ease;
	-moz-transition:all .3s ease;
	-ms-transition:all .3s ease;
	-o-transition:all .3s ease;
	transition:all .3s ease;
}

.publicationItem.now:before
{
    content: "";
    position: absolute;
    width: .5em;
    height: .5em;
    top: 1em;
    left: -1em;
    margin-top: -0.25em;
    background-color: rgb(199, 174, 0);
    border-radius: 50%;
}

.publicationItem span:first-child
{
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
}
.publicationItem span:last-child
{
	font-size: .8em;
	color: rgb(100, 100, 100);
}

/*//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////// profile ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

.profileTitle
{
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	flex-wrap: wrap;
	
	-webkit-align-items: flex-end;
	align-items: flex-end;
	
	margin-bottom: 2em;
}

.profileTitle p{line-height: 1;}

.profileTitle p:first-child
{
	font-size: 2em;
	margin-right: 1em;
}

.profile{margin-top: 3em;}

#profile .listItem
{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	flex-wrap: wrap;
	
	-webkit-align-items: flex-top;
	align-items: flex-top;
}

#profile .sns
{
	margin-top: 3em;
	
	display:-webkit-box;
	display:-moz-box;
	display:-ms-box;
	display:-webkit-flexbox;
	display:-moz-flexbox;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:-ms-flex;
	display:flex;
	
	flex-wrap: wrap;
}

#profile .sns > div{margin-right: 5em; margin-top: 2em;}
#profile .sns > div:last-child{margin-right: 0em;}

#profile .sns br{display: none;}

#profile .sns .type
{
	font-size: .8em;
	font-family: Roboto-R, sans-serif;
	font-weight: 400;
}

#profile .sns a.id
{
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	
	color: rgb(0, 0, 0);
	display: inline-frame;
	text-decoration: under-line;
	text-decoration-color: rgb(199, 174, 0);
	
	-webkit-transition: color .5s ease;
	-moz-transition: color .5s ease;
	-ms-transition: color .5s ease;
	-o-transition: color .5s ease;
	transition: color .5s ease;
}

#profile .sns a.id:hover
{	
	color: rgb(199, 174, 0);
}

#profile .sns a.id:active
{	
	color: rgb(0, 0, 0);
}


/*//////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////// profile ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

#contact .add
{
	margin-bottom:5em;
}

#contact .add p:first-child
{
	font-family: NotoSerif-SB, 'Hiragino Mincho ProN', serif;
	font-weight: 600;
	color: rgb(0, 0, 0);
}

/*//////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// MEDIA SCREEN /////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////*/

@media screen and (min-width: 951px)
{
	.sow .wrapper
	{
		padding-top: 15em;
		padding-bottom: 5vw;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
	}
}

@media screen and (max-width: 950px)
{
	.sow .wrapper
	{
		padding-top: 7.5vw;
		padding-bottom: 5vw;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
	}
}

@media screen and (max-width: 650px)
{
	.sow .wrapper
	{
		padding-top: 5em;
		padding-bottom: 5em;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
	}
}

@media screen and (orientation: landscape)
{
	.pageWrapper > div
	{
		width: 50vw;
		min-height: 100%;
	}
	
	.mask{max-height: 100vh;}

	.en
	{
		position: fixed;
		z-index: 1000;
	}
	
	.sow
	{
		position: fixed;
	}
	
	.start .sow
	{
		position: absolute;
	}

	#contents_a, #contents_b
	{
		width: 100%;
	}

	.slideWrapper
	{
		padding: 7.5vw;
	}
	
	#credit
	{
		bottom: 0;
		width: 50vw;
	}
	
	.start .en .mask > div
	{
		transform: translateX(-50vw);
	}
	
	.start .sow .mask > div
	{
		transform: translateX(50vw);
	}
	
	.publicationItem.img:hover:before
	{
		content: "";
		position: absolute;
		width: .5em;
		height: .5em;
		top: 1em;
		left: -1em;
		margin-top: -0.25em;
		background-color: rgb(199, 174, 0);
		border-radius: 50%;
	}
	
	.monogram
	{
		background-position: 100.1% 50%;
		background-size: calc(100vw / 8);
	}
}

@media screen and (orientation: portrait)
{
	.pageWrapper
	{
		position: relative;
		flex-direction: column;
	}
	
	.pageWrapper > div
	{
		position:relative;
		flex: 1 0 auto;
	}
	
	#contents_a, #contents_b
	{
		width: 100%;
	}

	.sow .catch > div
	{
		font-size: calc(100vw / 20);
	}
	#philosophy #credit
	{
		position: fixed;
		bottom: 0;
		width: 100%;
	}
	
	.slideWrapper
	{
		padding: 5vw;
	}
	
	.start .en .mask > div
	{
		transform: translateX(-100vw);
	}
	
	.start .sow .mask > div
	{
		transform: translateX(100vw);
	}
	
	.monogram
	{
		background-position: 50% 101%;
		background-size: calc(100vw / 4);
	}
}