@charset "utf-8";

html {
	font-size: 62.5%;
}

body{
	width: 100%;
	font-size: 1.0rem;
	font-family: sans-serif;
	color: #666666;
	position: relative;
	background: #ececec;
}

html, body, div, span, object, iframe,
ul,dl,ol,li,dl,img,
h1, h2, h3, h4, h5, h6, p {
	margin: 0;
	padding: 0;
}

ul{
	list-style: none;
}

a {
	text-decoration: none;
	color: #666666;
}

span.marker{
	display: inline-block;
	font-weight: bold;
	color: #333;
	background: #ffe58a;
}

.fwBold{
	font-weight: bold;
}

.pcBr{
	display: none;
}

/*---------------------------------------------
								ヘッダーナビ固定
---------------------------------------------*/
header{
	width: 100%;
	background: #fff;
	position: fixed;
	z-index: 1000;
	box-shadow: 0px -20px 15px 15px rgba(0,0,0,0.4);
}

h1{
	width: 50%;
	margin: 5.5% 0 0 4%;
	float: left;
}

h1 a{
	display: block;
}
h1 a img{
	display: block;
	width: 100%;
	height: auto;
}

#language{
	width: 45%;
	max-width: 45%;
	float: left;
	margin: 4% 0 0 2.5%;
	overflow: hidden;
}

#language a{
	display: inline-block;
	margin: 0 0 0 2.5%;
	padding: 10px;
	font-size: 1rem;
	border: 1px solid #666666;
}
.langbuttons a.on {
	background: #333;
	color: #fff;
	font-size: 0.8vw;
	border: 1px solid #333!important;
}

.ja{
	line-height: 1.6;
	font-size: 1.3rem;
}
.en{
	line-height: 1.2;
	font-size: 1.3rem;
}

#menuBtn,
#menuBtn span{
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

#menuSp{
	width: 64px;
	height: 64px;
	max-width: 64px;
	max-height: 64px;
	float: right;
	padding: 3.5% 1.25% 1.5% 1.25%;
	background-color: #333;
	box-sizing: border-box;
}

#menuBtn{
	position: relative;
	width: 55px;
	height: 22px;
	max-width: 55px;
	max-height: 22px;
}

#menuBtn span{
	width: 50%;
	height: 2px;
	max-width: 50%;
	max-height: 2px;
	position: absolute;
	left: 25%;
	background-color: #fff;
	border-radius: 4px;
}

#menuBtn span:nth-of-type(1) {
	top: 0;
}
#menuBtn span:nth-of-type(2) {
	top: 10px;
}
#menuBtn span:nth-of-type(3) {
	bottom: 0;
}

#menuBtn span.active:nth-of-type(1) {
	transform: translateY(10px) rotate(-315deg);
}
#menuBtn  span.active:nth-of-type(2) {
	opacity: 0;
}
#menuBtn span.active:nth-of-type(3) {
	transform: translateY(-10px) rotate(315deg);
}

#menuSp p{
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
}

nav{
	width: 100%;
	height: 100%;
	display: none;
	clear: both;
	padding: 2.5% 2.5% 0;
	position: fixed;
	top: 64px;
	background:rgba(0,0,0,0.9);
	box-sizing: border-box;
}

nav ul#navSp li{
	padding: 0 7.5%;
	color: #fff;
	border-bottom: 1px solid #555;
}
ul#nav{
	display: none;
}

nav ul#navSp li a{
	display: block;
	margin: 4% 0;
	color: #efefef;
	font-size: 1.5em;
	position: relative;
}
nav ul#navSp li.current a,
#works nav ul#navSp li:nth-of-type(1) a,
#about nav ul#navSp li:nth-of-type(2) a,
#news nav ul#navSp li:nth-of-type(3) a,
#publication nav ul#navSp li:nth-of-type(4) a,
#press nav ul#navSp li:nth-of-type(5) a,
#shop nav ul#navSp li:nth-of-type(6) a,
#contact nav ul#navSp li:nth-of-type(7) a{
	color: #777777;	
}

nav ul#navSp li a span{
	width: 10em;
	display: inline-block;
	vertical-align: middle;
}
nav ul#navSp li a span:after{
    content: "";
    position: absolute;
	top: 25%;
    right: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
}
nav ul#navSp li.current a span:after,
#works nav ul#navSp li:nth-of-type(1) a span:after,
#about nav ul#navSp li:nth-of-type(2) a span:after,
#news nav ul#navSp li:nth-of-type(3) a span:after,
#publication nav ul#navSp li:nth-of-type(4) a span:after,
#press nav ul#navSp li:nth-of-type(5) a span:after,
#shop nav ul#navSp li:nth-of-type(6) a span:after,
#contact nav ul#navSp li:nth-of-type(7) a span:after{
    border-top: 2px solid #555;
    border-right: 2px solid #555;	
}

/*----------  instagaram ----------*/
#instagaram{
	display: none;
}
/*----------  /instagaram ----------*/

#sns{
	display: none;
}

.copyRight{
	display: none;
}

/*---------------------------------------------
								mainコンテンツ
---------------------------------------------*/

main{
	width: 95%;
	margin: 18% 0 0;
	padding: 2.5%;
	position: absolute;
	z-index: 100;
}

article{
	width: 100%;
	padding-bottom:25%;
}

main h2{
	width: 100%;
	margin: 2.5% auto;
	padding: 5px 0;
	text-align: center;
	font-size: 2rem;
	border-top: 1px solid #888888;
	border-bottom: 1px solid #888888;
}

#portfolio > li > h2{
	width: 100%;
	margin: 2.5% auto;
	padding: 5px 0;
	text-align: center;
	font-size: 2rem;
	border: none !important;
}

#subNavOuter{
	width: 100%;
	overflow-x: auto;
	margin: 0 0 20px;
}
#subNavOuter ul#subNav{
	width: 480px;
	overflow: hidden;
	margin: 20px auto 16px;
}

#subNavOuter ul#subNav li{
	margin: 0 24px;
	float: left;
	text-align: center;
	font-size: 1.5rem;
}
#subNavOuter::-webkit-scrollbar {
	height: 2px;
}
#subNavOuter::-webkit-scrollbar-track {
	margin: 0 2px;
	background: #ccc;
	border-radius: 5px;
}
#subNavOuter::-webkit-scrollbar-thumb {
	background: #666;
	border-radius: 5px;
}

#subNavOuter ul#subNav li.current a{
	font-weight: bold;
}

.itemList{
	width: 100%;
	overflow: hidden;
	display: flex;
    flex-wrap: wrap;
	box-sizing: border-box;
	border: 3px solid #ececec;
}

.itemList li{
	width: 50%;
	background: #fff;
	box-sizing: border-box;
	border: 3px solid #ececec;
}

.itemList li .item .itemInner{
    width: 100%;
    padding: 2.5% 4%;
    box-sizing: border-box;
}

.itemList li .item img{
	width: 100%;
	height: auto;
}

.itemList li .item .itemTtl{
	height: 3em;
	margin: 0 0 2.5%;
	text-align: justify;
	line-height: 1.1;
	font-size: 1.4rem;
	font-weight: bold;
}
.itemList li .item .itemTtlSmall{
	font-size: 1rem;
}

.itemList li .item p[class^="tag"]{
	font-size: 1.2rem;
}

footer{
	width: 100%;
	padding: 2.5% 0 0;
	background: #f5f5f5;
	position: fixed;
	bottom: 0;
	z-index: 200;
	box-shadow: 0px 20px 15px 15px rgba(0,0,0,0.4);
}

#ftSns{
	margin: 0 0 1.5% -1%;
	text-align: center;
}

#ftSns li{
	width: 8.5%;
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 0 3.5%;
}
#ftSns li img{
	width: 100%;
	height: auto;
}
#ftSns li:first-child{
	margin: 0 1% 0 0;
}

.ftCopyRight{
	padding:1% 0;
	text-align: center;
	font-size: 1rem;
	color: #fff;
	background: #444444;
}

/*---------- ↑ボタン ----------*/
#returnTop{
	display: none; 
}
#returnTop .arrow{
	width: 25px;
	background: #444;
	border-radius: 50px;
	border: 20px solid #444;
	position: fixed;
	right: 4%;
	bottom: 14.5%;
	opacity: 0.85;
}
#returnTop .arrow span{
	display: block;
	width: 20px;
	height: 20px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	transform: rotate(-45deg);
}
#returnTop .arrow span:after {
	content: " ";
	display: block;
	width: 4px;
	height: 29px;
	margin: -5px auto 0;
	background: #fff;
	transform: rotate(45deg);
}

/*---------------------------------------------
										詳細ページ
---------------------------------------------*/

#works main{
    width: 100%;
	padding: 0;
}

#works .sortTtl{
    margin: 0 0 1.5%;
    text-align: center;
	font-size: 1.5rem;
    font-weight: bold;
}

#works .note{
	width: 90%;
	margin:5% auto;
	text-align: justify;
	line-height: 1.8;
}

#works .note span{
	display: block;
	line-height: 1.4;
	font-size: 1.4rem;
}
#works .note span:nth-child(1){
	margin: 0 0 2.5%;
	padding: 0 0 2.5%;
	border-bottom: 1px  solid #cccccc;
}

#works .linkBtn{
	width: 90%;
	margin: 0 auto 20%;
}
#works .linkBtn a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 3.5% 0 4%;
	text-align: center;
	font-size: 1.6rem;
	color: #fff;
	background: #333333;
	border-radius: 4px;
}
#works .linkBtn a:before{
	content:"";    display: inline-block;
	vertical-align: middle;
	margin: 0 2.5% 0 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #ffffff;
}
#works .linkBtn a span{
	display: inline-block;
	vertical-align: middle;
}

#works .photoImg{
	width: 100%;
	vertical-align: bottom;
}
#works .photoImg_mb{
	width: 90%;
	margin: 0 5% 5%;
	margin-bottom: 5%;
	vertical-align: bottom;
}
#works .photoImg_mb:first-of-type{
	width: 100%;
	margin: 0 0 7.5%;	
}

iframe{
	display: block;
	width: 100%;
	margin: 0 0 5%;
}

/*---------------------------------------------
									aboutページ
---------------------------------------------*/

#about main{
	width: 100%;
	margin: 18% 0 0;
	padding: 0;
}

#about .name{
	margin: 5% 0 2.5%;
	padding: 0 5%;
    font-size: 1.4rem;
	font-weight: bold;
}
#about .name .ja,
#about .name .en{
	font-size: 1.6rem;
}

#about .occupation{
	margin: 0.5% 0 5%;
	padding: 0 5%;
	font-size: 1.4rem;
}

#about .profileImgPc{
	display: none;
}

#about .profileImgSp{
	width: 100%;
}
#about .profileImgSp img{
	width: 100%;
	height: auto;
}

#about .profile{
	width: 90%;
    margin: 3% auto 5%;
    padding: 0 0 1%;
    font-weight: bold;
    font-size: 1.4rem;
    border-bottom: 1px dotted #666;    
}

#about .aboutNote{
	margin: 0 0 5%;
    padding: 0 5%;
	text-align: justify;
}

#about .aboutNote span{
	display: block;
	line-height: 1.4;
	font-size: 1.4rem;
}
#about .aboutNote span:nth-child(1){
	margin: 0 0 2.5%;
}

#about .career{
	width: 90%;
	overflow: hidden;
	margin: 0 auto 10%;
	padding: 2.5% 0;
	font-size: 1.4rem;
	border-top: 1px dotted #666;
	border-bottom: 1px dotted #666;
}

#about .career dt{
	float: left;
	clear: left;
	margin: 0;
}

#about .career dd{
	line-height: 1.3;
	margin: 0 0 1.5% 4em;
	text-align: justify;
}

/*---------------------------------------------
					news・press ページ
---------------------------------------------*/

#news main,
#press main{
	width: 100%;
	margin: 18% 0 0;
	padding: 0;
}

#news main .inner,
#press main .inner{
	width: 90%;
	margin: 0 auto;
}

#news .newsList,
#press .pressList{
	font-size: 1.3rem;
}

#news .newsList a{
	text-decoration: underline;
}

#news .newsList li,
#press .pressList li{
	margin: 5% 0 0;
	padding: 0 0 5%;
	border-bottom: 1px dotted #666;
}

#news .newsList li:nth-child(1) .date:before,
#press .pressList li:nth-child(1) .date:before{
	content: "New";
	display: inline-block;
	vertical-align: middle;
	margin: 0 1.5% 0 0;
	padding: 0 1%;
	color: #fff;
	background: #ff941c;
}

#news .newsList li:first-child .date span,
#press .pressList li:first-child .date span{
	display: inline-block;
	vertical-align: middle;
}

#news .newsList .newsTtl span,
#press .pressList .pressTtl span{
	display: block;
	margin: 2.5% 0 2%;
	line-height: 1.2;
	font-size: 1.6rem;
	font-weight: bold;
}

#press .pressNote{
	margin: 1.5% 0 7%;
}

#press .pressNote a{
	text-decoration: underline;
}

#pressBtn a {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 0 4%;
    padding: 3.5% 0 4%;
    text-align: center;
    font-size: 1.6rem;
    color: #fff;
    background: #333333;
	border-radius: 4px;
}
#pressBtn a:before{
	content:"";    display: inline-block;
	vertical-align: middle;
	margin: -4px 2.5% 0 0;
	border-style: solid;
	border-width: 5px 0 5px 8.7px;
	border-color: transparent transparent transparent #ffffff;
}

#press .attention{
	font-size: 1.2rem;
}

#press .attention a{
	text-decoration: underline;
}

/*---------------------------------------------
									publicationページ
---------------------------------------------*/

#publication main{
	width: 100%;
	margin: 18% 0 0;
	padding: 0;
}

#publication main .inner{
	width: 90%;
	margin: 0 auto;
}

#publication main .inner .publicationList{
	width: 100%;
	box-sizing: border-box;
}

#publication main .inner .publicationList li a{
	display: block;
	text-align: center;
}

#publication main .inner .publicationList li{
	width: 100%;
	margin: 5% 0 5%;
	padding: 0 0 5%;
	border-bottom: 1px dotted #666;
}
#publication main .inner .publicationList li img{
	width: 100%;
	max-width: 250px;
	height: auto;
	margin: 2.5% 0;
}

#publication .inner .publicationList li .publicationDate{
	margin: 2.5% auto 2.5%;
	font-size: 1.2rem;
}

#publication .inner .publicationList li:nth-child(1) .publicationDate:before,
#publication .inner .publicationList li:nth-child(2) .publicationDate:before{
	content: "New";
	display: inline-block;
	vertical-align: middle;
	margin: 0 1.5% 0 0;
	padding: 0 1%;
	color: #fff;
	background: #ff941c;
}
#publication .inner .publicationList li:nth-child(1) .publicationDate span,
#publication .inner .publicationList li:nth-child(2) .publicationDate span{
	display: inline-block;
	vertical-align: middle;
}

#publication .inner .publicationList li .publicationNote{
	margin: 2.5% auto 0;
	text-align: justify;
	line-height: 1.4;
	font-size: 1.4rem;
}

/*---------------------------------------------
									shopページ
---------------------------------------------*/

#shop main{
	width: 100%;
	margin: 18% 0 0;
	padding: 0;
}

#shop main .inner{
	width: 90%;
	margin: 0 auto;
}

#shop .shopList{
	margin: 5% 0 0;
	font-size: 1.3rem;
}

#shop .shopList li{
	margin:2.5% 0 0;
	padding: 0 0 2.5%;
	border-bottom: 1px dotted #666;
}

#shop .shopList .shopName span{
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
}

#shop .shopList .shopLink{
    margin: 2.5% 0;
	text-decoration: underline;
}

/*---------------  パンくず ---------------*/

ol.pankuzu{
	display: none;
}
ol.pankuzu li{
	float: left;
	display: table;
}

ol.pankuzu li a{
	text-decoration: none;
	color: #888888;
}

ol.pankuzu li:last-child a{
	color: #ffc741;
}

ol.pankuzu li:before{
	content: " > ";
	display: table-cell;
	vertical-align: middle;
	font-size: 1rem;
	color: #999999;
}
ol.pankuzu li:first-child:before{
	content: "";
}

ol.pankuzu li a:hover{
	text-decoration: underline;
}

/*----------------------------------------
								contact
----------------------------------------*/

select,input,textarea{
	-webkit-appearance: none;
	border: 1px solid #bbb;
}

#contact main{
	width: 100%;
	margin: 18% 0 0;
	padding: 0;
}

#formWrap {
	width:100%;
	margin:0 auto;
	color:#555;
	line-height: 1.2;
}

#formWrap .formInner{
	padding: 2.5% 5% 0;
}

#formWrap .note{
	margin-bottom: 15px;
	text-align: center;
	line-height: 1.4;
	font-size: 1.3rem;
}

table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}

table.formTable th{
	border-bottom:1px solid #ececec;
	padding:10px;
}
table.formTable td{
	border-bottom:1px solid #ececec;
	padding:10px;
	background:#fff;
}

table.formTable th{
	width:200px;
	font-weight:normal;
	background:#dcdcdc;
	text-align:left;    font-size: 1.3rem;
}

textarea{
	width: 97.5%;
}

.foreurrope{
	font-size: 12px;
	text-align: center;
	margin: 16px 0 8px;
}
.foreurrope a{
	font-size: 16px;
	text-decoration: underline;
}

.checkBtn{
	-webkit-appearance: none;
	width: 100%;
	height: 45px;
    color: #fff;
    background: #666;
    font-size: 15px;
    font-weight: bold;
    border: none;
}

.en_note,
.jp_note{
	width: 90%;
	margin: 0 auto;
	padding: 2.5% 0;
	font-size: 12px;
}
.en_note{
	padding: 0 0 4.5%;
	margin: 5% auto 1.5%;
	border-bottom: 1px  solid #cccccc;
}

.coment{
	clear: both;
	max-width: 825px;
	margin: 0 auto;
	line-height: 1.4;
}

.form_note{
	overflow: hidden;
	margin: 8px 0;
    line-height: 1.4;
}
.form_note dt{
	width: 25%;
	float: left;
	clear: left;
	margin: 0;
	padding: 0;
	font-weight: bold;
}
.form_note dd{
	width: 75%;
	float: left;
	margin: 0 0 8px;
	padding: 0;
}

/*----------------------------------------
								check
----------------------------------------*/

#check #formWrap{
	width: 90%;
	margin: 0 auto;
}

#check .checkTtl{
    text-align: center;
    margin: 5% 0;
}

#check .checkTable{
	margin: 5% 0 !important;
}

#check .checkTable th{
	width: 8em;
}

/*----------------------------------------
								thanks
----------------------------------------*/

#thanksWrap .thanksTxt{
    margin: 15% 0 0;
	text-align: center;
	color: #666;
	font-size: 15px;
}

#thanksWrap .returnTop a {
	display: block;
    width: 150px;
    margin: 8% auto 15%;
    padding: 2%;
    text-align: center;
    border: 1px solid #ccc;
    color: #666;
    text-decoration: none;
}