﻿/* common parts */
html{
	text-rendering: optimizeLegibility;
	font-size: 62.5%;
}

body{
	color: #000;
	background: #fff;
	margin: 0 auto;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.3rem;
	font-size: 13px;
	line-height: 1.6em;
	letter-spacing: 0.03em;
}

a:link    { color: #000; text-decoration: none; }
a:visited { color: #000; text-decoration: none; }
a:hover   { color: #ccc; text-decoration: none; }
a:active  { color: #ccc; text-decoration: none; }

.underline a:link    { color: #000; text-decoration: none; border-bottom: 1px solid #000; padding-bottom: 2px; }
.underline a:visited { color: #000; text-decoration: none; border-bottom: 1px solid #000; padding-bottom: 2px; }
.underline a:hover   { color: #ccc; text-decoration: none; border-bottom: 1px solid #ccc; padding-bottom: 2px; }
.underline a:active  { color: #ccc; text-decoration: none; border-bottom: 1px solid #ccc; padding-bottom: 2px; }

a{ outline: none; }
img{ vertical-align: middle;}

.bold{ font-weight:bold !important; }
.weightNormal{ font-weight:normal !important; }
.jsfy{text-align:justify !important;}s

.gray{
	color: #ccc!important;
}

h1{
}
h2{
	font-size: 2.1rem;
	font-size: 21px;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	margin-bottom: 30px;
}
h3{
	font-size: 1.5rem;
	font-size: 15px;
	letter-spacing: 0.07em;
	line-height: 1.4em;
	margin-bottom: 20px;
}
h4{
	font-size: 1.1rem;
	font-size: 11px;
	letter-spacing: 0.08em;
	margin-bottom: 15px;
	line-height: 1.5em;
	color: #999;
}
h5{
	font-size: 1.1rem;
	font-size: 11px;
	color: #999;
	letter-spacing: 0.08em;
	margin-bottom: 5px;
}

.hr{
	width: 100%;
	height: 1px;
	background-color: #000;
	margin-bottom: 60px;
}

.btn{
	padding: 10px 0;
	font-size: 1.3rem;
	font-size: 13px;
	background-size: 100%;
	text-align: center;
    border: 1px solid #000;
	margin-top: 30px;
}
a .btn{
	background-color: #fff;
	color: #000;
	text-decoration: none;
}
a:hover .btn{
	background-color: #000;
	color: #fff;
	text-decoration: none;
}

.hyphenate{
	text-align: justify;
}


/* head */
#head{
	width: 95%;
	margin: 0 auto 30px;
	padding: 0 0 30px;
	background-color: #fff;
	border-bottom: solid 1px #000;
}
#head h1{
	font-size: 2.1rem;
	font-size: 21px;
	letter-spacing: 0.05em;
	margin: 30px auto;
}
#headContents{
	font-size: 1.3rem;
	font-size: 13px;
	letter-spacing: 0.05em;
}
.headNav01, .headNav02, .headNav03{
	width: 25%;
	float: left;
}
.headNav02{
	color: #CCC;
}
.selected{
	color: #000;
}

.headNav02 a:link    { color: #ccc; text-decoration: none; }
.headNav02 a:visited { color: #ccc; text-decoration: none; }
.headNav02 a:hover   { color: #000; text-decoration: none; }
.headNav02 a:active  { color: #000; text-decoration: none; }

.selected a:link    { color: #000; text-decoration: none; }
.selected a:visited { color: #000; text-decoration: none; }
.selected a:hover   { color: #000; text-decoration: none; }
.selected a:active  { color: #000; text-decoration: none; }


.mobileNav{
	display: none!important;
}
#mobileLogo{
	display: none;
}


/* top */
.main{
	margin-bottom: 20px;
}
.news{
	width: 100%;
	margin-top: 30px;
}
.newsLeft{
	width: 25%;
	float: left;
}
.newsRight{
	width: 75%;
	float: right;
}
.newsBox{
	float: left;
	width: 28.3%;
	height: 180px;
	margin-right: 5%;
}
.newsDate{
	font-size: 1.0rem;
	font-size: 10px;
	font-style: italic;
	margin-bottom: 5px;
}
.newsTtl{
	margin-bottom: 5px;
}
.newsText{
}
.forMobile{
	display: none;
}


/* content */
#contents{
	width: 95%;
	margin: 0 auto;
	padding: 0 0 80px;
}
.contentLeft{
	width: 20%;
	float: left;
	margin: 0 auto;
}
.contentRight{
	width: 75%;
	float: right;
	margin: 0 auto;
}

.contentLeft li{
	font-size: 1.1rem;
	font-size: 11px;
	line-height: 1.2em;
	margin-bottom: 6px;
	padding-bottom: 6px;
	border-bottom: 1px dotted #000;
}
.contentLeft a li:hover{
	border-bottom: 1px dashed #ccc;
}

/* works index */
#textimgBtn{
	font-size: 1.6rem;
	font-size: 16px;
}
#textimgBtn ul{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 130px;
	margin: 0 auto 40px;
}
#textimgBtn ul li{
	cursor: pointer;
}
.projectText{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: dotted 1px #000;
}
.projectText:hover{
	border-bottom: dashed 1px #ccc;
}
.projectText ul{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 95vw;
}
.textYear{
	width: 20%;
}
.textTitle{
	width: 75%;
}

#boxWrap{
	width: 100%;
}
#boxWrap ul{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#boxWrap ul::before{
  content: "";
  display: block;
  width: 22%;
  order: 1;
}
#boxWrap ul::after{
  content: "";
  display: block;
  width: 22%;
}
.projectBox{
	width: 22%;
	margin-bottom: 15px;
}
.projectImg{
	margin-bottom: 10px;
}
.projectImg img{
	width: 100%;
}
.projectBox h3{
	line-height: 1.4em;
	text-align: center;
}

/* works single */
.work{
	margin-bottom: 60px;
}

.mainImg{
	width: 100%;
}
.mainImg img{
	width: 100%;
}

.workImg{
	float: right;
	width: 48%;
}
.meta{
	float: left;
	width: 48%;
}
.subTtl{
	font-size: 1.6rem;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	margin-bottom: 10px;
}
.tagIndex{
	margin-bottom: 60px;
}

.video {
	position: relative;
	height: 0;
	padding: 30px 0 56.25%;
	overflow: hidden;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.workDate{
	font-size: 1.6rem;
	font-size: 16px;
	margin: 15px 0 30px;
}

.workNav{
	font-size: 1.5rem;
	font-size: 15px;
	border-top: 1px solid #000;
	padding-top: 40px;
}
.workNavLeft{
	float: left;
	width: 50%;
}
.workNavRight{
	float: right;
	width: 50%;
}
.pagePrev{
	margin-bottom: 15px;
}
.pageNext{
}


/* swiper index */
.swiper-container {
	width: 100%;
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}
.swiper-slide {
}
.swiper-slide img {
	width: 100%;
}
.slideimg{
	padding-top: 3px;
}
.caption {
	margin-top: 5px;
}


/* subcategory index */
#subcateWrap{
	width: 100%;
	margin-top: 30px;
}
#subcateWrap ul{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#subcateWrap ul::before{
  content: "";
  display: block;
  width: 22%;
  order: 1;
}
#subcateWrap ul::after{
  content: "";
  display: block;
  width: 22%;
}
.subcateBox{
	width: 22%;
	margin-bottom: 10px;
}
.subcateBox img{
	width: 100%;
	margin-bottom: 10px;
}


/* photo */
#photoWrap ul{
	width: 100%;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.photoBox{
	width: 48%;
	margin-bottom: 50px;
}
.photoBox img{
	width: 100%;
}


/* publication */
.pubbox{
	padding-bottom: 60px;
	margin-bottom: 60px;
	border-bottom: 1px solid #000;
}
.pubImg{
	float: left;
	width: 20%;
}
.pubImg img{
	width: 100%;
}
.pubCont{
	float: right;
	width: 70%;
}
.pubPrice{
	margin-top: 30px;
}


/* text */
#textWrap{
	width: 100%;
}
.textbox a li{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	border-bottom: 1px dotted #000;
	padding: 5px 0;
}
.textbox a li:hover{
	border-bottom: dashed 1px #ccc;
}
.textTtl{
	width: 50%;
}
.textContributor{
	width: 50%;
}

.textContents{
	font-size: 1.2rem;
	font-size: 12px;
	line-height: 1.6em;
	letter-spacing: 0.03em;
	margin-top: 40px;
}

.textlink li{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: dotted 1px #000;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
}
.textlink a li:hover{
	border-bottom: dashed 1px #ccc;
}
.textlinkAuthor{
	width: 30%;
}
.textlinkTtl{
	width: 65%;
}
.bakuMokuji{
	margin-top: 40px;
	font-size: 1.5rem;
	font-size: 15px;
}

.textstitle{
	margin-bottom: 10px!important;
}
.textssubtitle{
	margin-bottom: 10px!important;
}


/* cv */
.textLeft{
	width: 45%;
	float: left;
}
.textRight{
	width: 45%;
	float: right;
}

dl {
	font-size: 1.2rem;
	font-size: 12px;
	line-height: 1.3em;
	border-top: none;
	border-bottom: none;
}
dl dt{
	width: 25%;
	float: left;
	clear: both;
	padding: 10px 0;
}
dl dd{
	width: 75%;
	padding: 10px 0 10px 25%;
	border-bottom: 1px dotted #000;
}
dl dd li{
	margin-bottom: 8px;
	padding-bottom: 8px;
	border-bottom: 1px dotted #999;
}
dl dd li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
dl dd:last-child {
	border-bottom: none;
}


/* footer */
#footer{
	width: 100%;
	font-size: 1.5rem;
	font-size: 15px;
	letter-spacing: 0.05em;
	position: fixed;
	bottom: 20px;
}
#footerContents{
	width: 95%;
	margin: 0 auto;
}
#footerLeft{
	width: 50%;
	float: left;
}
#footerRight{
	width: 50%;
	float: right;
	text-align: right;
}


@media screen and (max-width:768px){
/* common parts */
body{
	font-size: 1.2rem;
	font-size: 12px;
}
h2{
	font-size: 1.6rem;
	font-size: 16px;
	margin-bottom: 20px;
}
h3{
	font-size: 1.4rem;
	font-size: 14px;
	margin-bottom: 15px;
}
h4{
	font-size: 1.0rem;
	font-size: 10px;
	margin-bottom: 10px;
}
h5{
	font-size: 1.0rem;
	font-size: 10px;
	margin-bottom: 5px;
}
.hr{
	margin-bottom: 30px;
}
.btn{
	padding: 10px 0;
	font-size: 1.2rem;
	font-size: 12px;
	margin-top: 25px;
}

/* head */
#head{
	width: 95%;
	margin: 0 auto 25px;
	padding: 0 0 25px;
}
#head h1{
	font-size: 1.8rem;
	font-size: 18px;
	margin: 20px auto;
}
#headContents{
	font-size: 1.2rem;
	font-size: 12px;
}
.headNav01, .headNav02, .headNav03{
	width: 30%;
	float: left;
}

/* top */
.news{
	margin-top: 20px;
}
.newsLeft{
	width: 25%;
	float: left;
}
.newsRight{
	width: 75%;
	float: right;
}
.newsBox{
	float: left;
	width: 45%;
	height: 140px;
	margin-right: 5%;
}
.newsTtl{
	margin-bottom: 5px;
}

/* content */
#contents{
	padding: 0 0 60px;
}
.contentLeft{
	width: 25%;
}
.contentRight{
	width: 70%;
}

/* works index */
#textimgBtn{
	font-size: 1.4rem;
	font-size: 14px;
}
#textimgBtn ul{
	width: 110px;
	margin: 0 auto 25px;
}
#textimgBtn ul li{
	cursor: pointer;
}

#boxWrap{
	width: 100%;
}
#boxWrap ul::before{
  content: "";
  display: block;
  width: auto;
}
#boxWrap ul::after{
  content: "";
  display: block;
  width: 30%;
}
.projectBox{
	width: 30%;
	margin-bottom: 10px;
}
.projectImg{
	margin-bottom: 10px;
}

/* works single */
.work{
	margin-bottom: 30px;
}
.workImg{
	float: nonw;
	width: 100%;
}
.meta{
	float: nonw;
	width: 100%;
	margin-top: 30px;
}
.subTtl{
	font-size: 1.3rem;
	font-size: 13px;
	margin-bottom: 5px;
}
.tagIndex{
	margin-bottom: 30px;
}

.workNav{
	font-size: 1.3rem;
	font-size: 13px;
	padding-top: 20px;
}
.pagePrev{
	margin-bottom: 10px;
}

/* subcategory index */
#subcateWrap{
	width: 100%;
	margin-top: 20px;
}
#subcateWrap ul::before{
  content: "";
  display: block;
  width: auto;
}
#subcateWrap ul::after{
  content: "";
  display: block;
  width: 30%;
}
.subcateBox{
	width: 30%;
	margin-bottom: 10px;
}

/* photo */
.photoBox{
	width: 100%;
	margin-bottom: 20px;
}

/* publication */
.pubbox{
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.pubImg{
	float: left;
	width: 25%;
}
.pubCont{
	float: right;
	width: 70%;
}
.pubPrice{
	margin-top: 20px;
}

/* text */
.textContents{
	font-size: 1.2rem;
	font-size: 12px;
	margin-top: 30px;
}
.bakuMokuji{
	margin-top: 20px;
	font-size: 1.3rem;
	font-size: 13px;
}
.textstitle{
	margin-bottom: 5px!important;
}
.textssubtitle{
	margin-bottom: 5px!important;
}

/* cv */
.textLeft{
	width: 100%;
	float: none;
}
.textRight{
	width: 100%;
	float: none;
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #000;
}

dl {
	font-size: 1.1rem;
	font-size: 11px;}
dl dt{
	width: 15%;
	padding: 7px 0;
}
dl dd{
	width: 80%;
	padding: 7px 0 7px 20%;
}
dl dd li{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px dotted #999;
}

/* footer */
#footer{
	font-size: 1.3rem;
	font-size: 13px;
	bottom: 10px;
}
}


@media screen and (max-width: 480px){
/* common parts */
body{
	font-size: 1.0rem;
	font-size: 10px;
}
h2{
	font-size: 1.3rem;
	font-size: 13px;
	margin-bottom: 15px;
}
h3{
	font-size: 1.2rem;
	font-size: 12px;
	margin-bottom: 10px;
}
h4{
	font-size: .8rem;
	font-size: 8px;
	margin-bottom: 10px;
}
h5{
	font-size: .8rem;
	font-size: 8px;
	margin-bottom: 5px;
}

.hr{
	margin-bottom: 30px;
}

.btn{
	padding: 6px 0;
	font-size: 1.0rem;
	font-size: 10px;
	margin-top: 15px;
}

/* head */
#head{
	display: none;
}
#mobileLogo{
	display: inherit;
	text-align: center;
	padding: 55px 0 10px;
	width: 100%;
	border-bottom: 1px solid #000;
}
#mobileLogo h2{
	margin-bottom: 0;
}

/* top */
.main{
	margin-bottom: 20px;
}
.news{
	width: 100%;
	margin-top: 0;
}
.newsLeft{
	width: 100%;
	float: nonw;
}
.newsRight{
	width: 100%;
	float: none;
}
.newsBox{
	float: none;
	width: 100%;
	height: inherit;
	margin-right: 0;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #000;
}
.newsDate{
	font-style: italic;
	color: #999;
	font-size: .9rem;
	font-size: 9px;
}
.newsTtl{
	margin-bottom: 2px;
}
.newsText{
}
.forMobile{
	display: block;
	margin-bottom: 20px;
}

/* content */
#contents{
	width: 95%;
	margin: 0 auto;
	padding: 20px 0 0;
}
.contentLeft{
	display: none;
}
.contentRight{
	width: 100%;
	float: none;
	margin: 0 auto;
}

/* works index */
#textimgBtn{
	font-size: 1.2rem;
	font-size: 12px;
}
#textimgBtn ul{
	width: 90px;
	margin: 0 auto 25px;
}
.projectText{
	margin-bottom: 5px;
	padding-bottom: 5px;
}
.projectText ul{
	width: 95vw;
}
.textYear{
	width: 15%;
}
.textTitle{
	width: 80%;
}
#boxWrap{
	width: 100%;
}
.projectBox{
	width: 47%;
	margin-bottom: 10px;
}
.projectImg{
	margin-bottom: 5px;
}
.projectImg img{
	width: 100%;
}
.projectBox h3{
	text-align: left;
}

.forMobile select {
	width: 100%;
	padding: 10px 0 10px 12%;
	border: 1px solid #000;
	border-radius: 0;
	box-shadow: none;
	background-color: transparent;
	background-image: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-align: center;
	background: url(../images/arrow.png) 0 0 no-repeat;
	background-size: 10px 9px;
	background-position: 5% 50%;
}
.forMobile select:focus {
    outline: none;
}


/* works single */
.work{
	margin-bottom: 30px;
}
.workImg{
	float: none;
	width: 100%;
}
.meta{
	float: none;
	width: 100%;
	margin-top: 20px;
}
.subTtl{
	font-size: 1.2rem;
	font-size: 12px;
	margin-bottom: 10px;
}
.tagIndex{
	margin-bottom: 30px;
}

.workDate{
	font-size: 1.3rem;
	font-size: 13px;
	margin: 15px 0 30px;
}

.workNav{
	font-size: 1.1rem;
	font-size: 11px;
	padding-top: 30px;
}
.workNavLeft{
	float: left;
	width: 50%;
}
.workNavRight{
	float: right;
	width: 50%;
}
.pagePrev{
	margin-bottom: 10px;
}
.pageNext{
}

/* subcategory index */
#subcateWrap{
	width: 100%;
	margin-top: 20px;
}
.subcateBox{
	width: 47%;
	margin-bottom: 3px;
}

/* photo */
.photoBox{
	width: 100%;
	margin-bottom: 20px;
}

/* publication */
.pubbox{
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.pubImg{
	float: left;
	width: 30%;
}
.pubCont{
	float: right;
	width: 65%;
}
.pubPrice{
	margin-top: 15px;
}

/* text */
.textNumber{
	width: 10%;
}
.textTtl{
	width: 30%;
}
.textContributor{
	width: 50%;
}

.textContents{
	font-size: 1.0rem;
	font-size: 10px;
	margin-top: 20px;
}

.textlink li{
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: solid 1px #000;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	flex-flow: row wrap;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
}
.textlink a li:hover{
	border-bottom: dashed 1px #ccc;
}
.textlinkAuthor{
	width: 30%;
}
.textlinkTtl{
	width: 65%;
}
.bakuMokuji{
	margin-top: 20px;
	font-size: 1.2rem;
	font-size: 12px;
}
.textstitle{
	margin-bottom: 5px!important;
}
.textssubtitle{
	margin-bottom: 5px!important;
}


/* cv */
.textLeft{
	width: 100%;
	float: none;
}
.textRight{
	width: 100%;
	float: none;
	border-top: solid 1px #000;
	margin-top: 20px;
	padding-top: 20px;
}

dl {
	font-size: 1.0rem;
	font-size: 10px;
}
dl dt{
	width: 15%;
	padding: 5px 0;
}
dl dd{
	width: 80%;
	padding: 5px 0 5px 15%;
}
dl dd:last-child {
	border-bottom: none;
}


/* footer */
#footer{
	display: none;
}
}