@media all{
/*global -----------------------------*/	
	*{
		padding:0px;
		margin:0px;
	}
	
	html{
		width:100%;
	}
	
	body{
		color:#000000;
		width:1105px;
		margin:0px;
		font: normal normal normal 12px/1.2em Arial, Helvetica, sans-serif;
		-webkit-text-size-adjust: 100%;
	}
	
	a{
		color: #000000;
		font-size: 17px;
		text-decoration: none;
	}
	
	a:link{
		opacity:1;
		outline:none;
	}

	a:visited{
		opacity:1;
		outline:none;
	}

	a:hover{
		opacity:0.4;
	}

	a:active {
		opacity:1;
		outline:none;
	}
	
	h1,h2,h3,h4,h5,h6{
		font-weight: normal;
	}
	
	h1{
		font-size:18px;
		line-height:1em;
	}

	h2{
		font-size:18px;
		font-weight:bold;
		line-height:1em;
	}
	
	h3{
		font-size:12px;
		font-weight:bold;
		line-height:1em;
	}
	
	ul li{
		list-style-type:none;
	}
	
	p{
	margin: 0px;
	font-family: Arial, Helvetica, sans-serif;
	font-style: normal;
	font-size: 11px;
	}
	
	dl{
		margin:0px 0px 6px 0px;
	}
	
	dt,dd{
		padding:0px;
		margin:0px;
	}
	
	nav{
		font-size:12px;
		font-weight:bold;
		line-height:20px;
	}
	
	img{
		max-width:100%;
		vertical-align:top;
		border:none;
	}
	
	em{
		font-weight:bold;
		font-style:normal;
	}
	
	small{
		display:inline-block;
		font-size:10px;
		font-weight:normal;
		line-height:1.1em;
	}

/*share item -----------------------------*/	
	div#wrapper{
		width:100%;
		overflow:hidden;
		zoom:1;
	}

	body:not(#top) div#main{
		padding-bottom:25px;
	}
	
	div#wrapper > div#side{
		position:fixed;
		width:280px;
		height:100%;
		padding-left:60px;
		background-color:#fff;
		z-index:1000;
	}
	
	div#wrapper > div#side > h1{
		line-height:342px;
		margin-bottom:8px;
	}
	
	div#wrapper > div#side > h1 a{
		display:inline-block;
		width:100%;
		height:342px;
		text-indent:-9999px;
		background-image:url(../img/logo/logo.jpg);
		background-position:center;
		background-repeat:no-repeat;
		background-size:contain;
	}
	
	div#wrapper > div#side > p{
		display:none;
	}

	div#wrapper > div#side > nav{
		position:relative;
	}

	div#wrapper > div#side > nav > ul{
		margin-bottom:11px;
	}

	div#wrapper > div#side > nav > ul:nth-of-type(1){
		padding-top:11px;
		margin-bottom:36px;
	}

	body#logo div#wrapper > div#side > nav > ul:nth-of-type(1),
	body#others div#wrapper > div#side > nav > ul:nth-of-type(1){
		padding-top:68px;
	}

	body:not(#top):not(#about):not(#press):not(#contact):not(#pompon) div#wrapper > div#side > nav > ul:nth-of-type(1){
		margin-bottom:42px;
	}

	div#wrapper > div#side > nav > ul:nth-of-type(1) > li.on{
		position:absolute;
		top:0px;
		margin-top:11px;
	}

	body#concept div#wrapper > div#side > nav > ul:nth-of-type(1) > li.on{
		position:relative;
		margin-top:20px;
	}

	div#wrapper > div#side > nav > ul > li.on > a{
		cursor:default;
		pointer-events:none;
		text-decoration:underline;
	}

	div#wrapper > div#side > nav > ul > li.on > a[title = HOME]{
		text-decoration:none;
	}

	div#wrapper > div#side > nav > ul > li.on > a:hover{
		opacity:1;
	}
	
	div#wrapper > div#side > nav > small{
		position:fixed;
		bottom:0px;
		padding-bottom:2em;
	}
	
	div#wrapper > div#side > nav > small span{
		display: inline-block;
		padding-top: 1.0em;
		-webkit-transform: scale(0.8);
		-webkit-transform-origin:0 0;
		-moz-transform: scale(0.8);
		-moz-transform-origin:0 0;
		-o-transform: scale(0.8);
		-o-transform-origin:0 0;
		-ms-transform: scale(0.8);
		-ms-transform-origin:0 0;
		transform: scale(0.8);
		transform-origin:0 0;
		
	}
	
	div#wrapper > div#side > nav > ul > li > div{
		display:none;
		padding:42px 0px 20px 0px;
	}
	
	div#wrapper > div#side > nav > ul > li > div{
		display:none;
		padding:12px 0px 31px 0px;
	}
	
	body#art > div#wrapper > div#side > nav > ul > li > div{
		/*padding-bottom:6px;*/
	}
	
	body > div#wrapper > div#side > nav > ul > li > div.on{
		display:block;
	}

	div#wrapper > div#side > nav > ul > li > div .on{
		text-decoration:underline;
	}

	div#wrapper > div#side > nav > ul > li > div > p{
		margin-bottom:20px;
	}

	div#wrapper > div#side > nav > ul > li > div > dl > dt a{
		opacity:0.4;
	}

	div#wrapper > div#side > nav > ul > li > div > dl > dt{
		text-decoration:none !important;
	}
	
	div#wrapper > div#main{
		position:absolute;
		top:0px;
		left:340px;
		width:765px;
		z-index:999;
	}

	body:not(#top) div#wrapper > div#main{
		width:700px;
		padding-top:106px;
	}

	body#about div#wrapper > div#main,
	body#press div#wrapper > div#main{
		width:765px;
	}
	
	div#wrapper > div#main > .jp{
		line-height:1.5em;
	}

	div#wrapper > div#main > *:last-child{
		padding-bottom:0px;
		margin-bottom:0px;
		border-bottom:none;
	}
	
	div#wrapper > div#main > h2{
		margin:0px 0px 16px 0px;
	}

	div#wrapper > div#main > p{
		margin-bottom:8px;
	}
	
	div#wrapper > div#main > p.lateral{
		white-space:nowrap;
		overflow:hidden;
		zoom:1;
	}

	div#wrapper > div#main p.lateral > a:nth-of-type(2),
	div#wrapper > div#main p.lateral > span:nth-of-type(2){
		margin-left:9px;
	}
	
	div#wrapper > div#main > dl{
		margin:16px 0px;
	}
	
	div#wrapper > div#main > dl:nth-child(1){
		margin-top:0px;
	}
	
	div#wrapper > div#main > dl .jp{
		line-height:1.5em;
	}
	
	div#wrapper > div#main > dl > dt{
		font-weight:bold;
	}

	div#wrapper > div#main > div{
		padding-bottom:18px;
		margin-bottom:6px;
		border-bottom:solid 1px #BFBCBC;
	}

	div#wrapper > div#main > div + div{
		padding-top:52px;
	}
	
	div#wrapper > div#main.low > div + div{
		padding-top:12px;
	}
	
	div#wrapper > div#main > div > h3{
		margin:18px 0px 0px 0px;
	}
	
	div#wrapper > div#main > div > h3:last-child{
		margin-top:14px;
	}
	
	div#wrapper > div#main > div > h3 > small{
		display:inline-block;
		font-weight:normal;
		width:100%;
	}
	
	div#wrapper > div#main > div > h3 + p{
		margin-top:16px;
	}

	div#wrapper > div#main > div > p{
		line-height:1.2em;
		margin-bottom:0px;
	}

	div#wrapper > div#main > div > p.jp{
		line-height:1.5em;
	}

	div#wrapper > div#main  p > a{
		font-size:17px;
		font-weight:bold;
		line-height:19px;
	}
	
	div#wrapper > div#main > div > dl{
		margin:16px 0px;
	}
	
	div#wrapper > div#main > div > dl.jp{
		line-height:1.5em;
		margin:12px 0px;
	}

	div#wrapper > div#main > div > dl + .jp{
		margin-top:-2px;
	}
	
	div#wrapper > div#main > div > dl.jp + dl{
		margin-top:12px;
	}
	
	div#wrapper > div#main > div > dl > dt{
		font-weight:bold;
	}
		
/*pages -----------------------------*/
/*top -----------------------------*/
	body#top 	div#wrapper > div#main > ul#keyVisual{
		position:relative;
		width: 100%;
    		max-height: 342px;
    		margin-bottom: 8px;
	}

	body#top 	div#wrapper > div#main > ul > li{
		position:absolute;
		top:0px;
		left:0px;
		width:100%;
		opacity:0;
		z-index:100;
	}

	body#top 	div#wrapper > div#main > ul > li:nth-of-type(1){
		position:relative;
		opacity:1;
	}

	body#top 	div#wrapper > div#main > ul > li.on{
		z-index:101;
	}
	
	body#top 	div#wrapper > div#main > ul > li > a{
		position:relative;
		display:inline-block;
	}
	
	body#top 	div#wrapper > div#main > ul > li > a:hover{
		background:url(../img/top/img01_swop.jpg) center no-repeat;
		background-size:contain;
	}
	
	body#top 	div#wrapper > div#main > ul > li > a:hover img{
		visibility:hidden;
	}

	body#top 	div#wrapper > div#main > p > a{
		position:relative;
		display:inline-block;
	}

	body#top 	div#wrapper > div#main > p > a:hover{
		opacity:1;
	}

	body#top 	div#wrapper > div#main > p > a:hover:after{
		position:absolute;
		display:inline-block;
		content:"";
		top:0px;
		left:0px;
		width:100%;
		height:100%;
		background-position:center;
		background-repeat:no-repeat;
		background-size:contain;
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(1) > a:nth-of-type(1):hover:after{
		background-image:url(../img/top/img02_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(1) > a:nth-of-type(2):hover:after{
		background-image:url(../img/top/img03_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(2) > a:nth-of-type(1):hover:after{
		background-image:url(../img/top/img04_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(2) > a:nth-of-type(2):hover:after{
		background-image:url(../img/top/img05_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(3) > a:nth-of-type(1):hover:after{
		background-image:url(../img/top/img06_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(3) > a:nth-of-type(2):hover:after{
		background-image:url(../img/top/img07_swop.jpg);
	}

	body#top 	div#wrapper > div#main > p:nth-of-type(4) > a:hover:after{
		background-image:url(../img/top/img08_swop.jpg);
	}
	
	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(5) > a:nth-of-type(1):hover:after{
		background-image:url(../img/top/img09_swop.jpg);
	}
	
	body#top 	div#wrapper > div#main > p.lateral:nth-of-type(5) > a:nth-of-type(2):hover:after{
		background-image:url(../img/top/img10_swop.jpg);
	}

/*art -----------------------------*/
	body#art div#wrapper > div#main p{
		font-size:11px;
		line-height:1.5em;
	}

	body#art div#wrapper > div#main p.high{
		margin:16px 0px 0px 0px;
	}
	
	body#art div#wrapper > div#main > div:not(.origin){
		border:none;
	}

	body#art div#wrapper > div#main > div.origin{
		margin-bottom:58px;
	}

	body#art div#wrapper > div#main.low > div{
		padding-bottom:10px;
	}

	body#art div#wrapper > div#main > div + div{
		padding-top:0px;
		margin-bottom:10px;
	}

	body#art div#wrapper > div#main.low > div + div,
	body#art div#wrapper > div#main > div.origin + div{
		padding-bottom:0px;
	}
	
	body#art div#wrapper > div#main > div > small{
		font-size:10px;
	}

/*others -----------------------------*/
	body#others div#wrapper > div#main > div + div{
		padding-top:38px;
	}

/*concept -----------------------------*/
	body#concept div#wrapper > div#main > div + div{
		padding-top:40px;
	}

/*about -----------------------------*/
	body#about div#wrapper > div#main > dl{
		margin:1em 0px;
	}

	body#about div#wrapper > div#main > dl:first-child{
		margin-top:0px;
	}

	body#about div#wrapper > div#main > p{
		margin-bottom:0px;
	}

	body#about div#wrapper > div#main p.jp{
		margin-top:1em;
	}

/*press -----------------------------*/
	body#press div#wrapper > div#main > div + div{
		padding-top:28px;
	}

	body#press div#wrapper > div#main > div:nth-of-type(2){
		padding-top:42px;
	}

	body#press div#wrapper > div#main > div > p:nth-of-type(1){
		margin-bottom:1em;
	}

	body#press div#wrapper > div#main > div > p{
		position:relative;
	}

	body#press div#wrapper > div#main > div > p.blank{
		margin:16px 0px;
	}

	body#press div#wrapper > div#main > div > p.jp{
		line-height:1.5em;
	}

	body#press div#wrapper > div#main > div > p > a{
		display:inline-block;
		margin-bottom:14px;
		word-break:break-all;
	}

	body#press div#wrapper > div#main > div > p > span{
		position:absolute;
		font-weight:bold;
		bottom:0px;
	}

	body#press div#wrapper > div#main img{
		width:auto;
	}

/*contact -----------------------------*/
	body#contact div#wrapper > div#main > h2{
		margin-bottom:3rem;
	}

	body#contact div#wrapper > div#main > h2 > a{
		font-size:24px;
	}

	body#contact div#wrapper > div#main > p{
		font-weight:bold;
		margin-bottom:0px;
	}


}

@media (max-width: 767px){
	.no_sp{
		display:none;
	}
	
	.sp_center{
		text-align:center;
	}
	
	body{
		width:100%;
	}
	
	div#wrapper > div#side{
		width:100%;
		height:auto;
		padding-left:0px;
	}

	div#wrapper > div#side > h1{
		width:96%;
		line-height:normal;
		text-align:left;
		padding-left:4%;
		margin:0px;
		background-color:#fff;
		border-bottom:solid 1px #BFBCBC;
	}

	div#wrapper > div#side > h1 > a{
		width:107px;
		height:70px;
		margin:15px 0px;
		background-image:url(../img/logo/logo_sp.jpg);
		background-position:left center;
	}
	
	div#wrapper > div#side > p{
		position:absolute;
		display:block;
		top:0px;
		right:0px;
		line-height:60px;
		margin:40px 4% 0px 0px;
		z-index:100;
	}

	div#wrapper > div#side > p > a{
		position:relative;
		display:inline-block;
		width:1.5rem;
		height:2px;
		line-height:1em;
		vertical-align:middle;
		text-indent:-9999px;
		background-color:#000;
		-webkit-transition:all 1s ease 0s;
		-moz-transition:all 1s ease 0s;
		-ms-transition:all 1s ease 0s;
		transition:all 1s ease 0s;
	}

	div#wrapper > div#side > p.on > a{
		height:1.5rem;
		background-color:#fff;
		border-color:#fff;
	}
	
	div#wrapper > div#side > p > a:before{
		position:absolute;
		content:"";
		top:-6px;
		left:0px;
		width:100%;
		height:0;
		padding-top:6px;
		border-top:solid 2px #000;
		-webkit-transition:all 1s ease 0s;
		-moz-transition:all 1s ease 0s;
		-ms-transition:all 1s ease 0s;
		transition:all 1s ease 0s;
	}
	
	div#wrapper > div#side > p.on > a:before{
		top:50%;
		padding:0px;
		-webkit-transform:rotate(45deg);
		-moz-transform:rotate(45deg);
		-ms-transform:rotate(45deg);
		transform:rotate(45deg);
	}
	
	div#wrapper > div#side > p > a:after{
		position:absolute;
		content:"";
		top:0px;
		left:0px;
		width:100%;
		height:0;
		padding-bottom:6px;
		border-bottom:solid 2px #000;
		-webkit-transition:all 1s ease 0s;
		-moz-transition:all 1s ease 0s;
		-ms-transition:all 1s ease 0s;
		transition:all 1s ease 0s;
	}

	div#wrapper > div#side > p.on > a:after{
		top:50%;
		padding:0px;
		-webkit-transform:rotate(-45deg);
		-moz-transform:rotate(-45deg);
		-ms-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}
		
	div#wrapper > div#side > nav{
		position:fixed;
		top:0px;
		left:-100%;
		height:100%;
		width:80%;
		padding:10px 4%;
		background-color:#fff;
		-webkit-transition:all 1s ease 0s;
		-moz-transition:all 1s ease 0s;
		-ms-transition:all 1s ease 0s;
		transition:all 1s ease 0s;
	}
		
	div#wrapper > div#side > nav.on{
		left:0%;
	}
	
	div#wrapper > div#side > nav > small{
		position:absolute;
		padding-bottom:4em;
	}

	body > div#wrapper > div#main{
		left:0px;
		width:92% !important;
		padding-top:121px !important;
		margin:0px 4%;
		-webkit-transition:all 1s ease 0s;
		-moz-transition:all 1s ease 0s;
		-ms-transition:all 1s ease 0s;
		transition:all 1s ease 0s;
	}
	
	body#top div#wrapper > div#main,
	body#pompon div#wrapper > div#main{
		width:100% !important;
		padding-top:101px !important;
		margin:0px;
	}

	div#wrapper > div#main > p.lateral > a,
	div#wrapper > div#main > p.lateral > span{
		display:inline-block;
		width:48%;
		width:webkit-calc((100% - 9px) / 2);
		width:calc((100% - 9px) / 2);
	}

/*top -----------------------------*/
	body#top 	div#wrapper > div#main > ul > li > a:hover{
		background-image:none;
	}

	body#top 	div#wrapper > div#main > ul > li > a:hover img{
		visibility:visible;
	}

/*press -----------------------------*/
	body#press div#wrapper > div#main > div > p > img:only-of-type{
		max-width:100%;
	}

	body#press div#wrapper > div#main > div > p > img:not(:only-of-type){
		max-width:49.5%;
	}

	body#press div#wrapper > div#main > div:nth-last-of-type(4) > p > img{
		max-width:40%;
		max-width:webkit-calc((100% - 4rem)/ 2);
		max-width:calc((100% - 4rem)/ 2);
	}

}

@media (max-height: 768px){
	body#art div#wrapper > div#side > nav > small{
		position:relative;
		margin-top:36px;
	}
}

@media (max-height: 670px){
	div#wrapper > div#side > nav > small{
		position:relative;
		margin-top:36px;
	}
}
