@charset "UTF-8";
* {
	box-sizing: border-box;
}
html {
	height: 100%;
	width: 100%
}
body {
	line-height: 1.8;
	color: #000;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	height: 100%;
	background: #fff;
	position: relative;
	letter-spacing: 0.05em;
}
a:link, a:visited {
	color: #999;
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all 480ms;
	-webkit-transition: all 480ms;
	-ms-transition: all 480ms;
	-moz-transition: all 480ms;
}
a:hover, .current, a:hover, .active {
	color: #999!important;
	text-decoration: none;
	opacity: .45;
}
p {
	margin-bottom: 2em;
}

button {
	border: none;
}
/*****************************************************

COMM

*****************************************************/
.capH2 {
	font-size: 22px;
	font-weight: normal!important;
	line-height: 2;
	margin-bottom: 2em;
	letter-spacing: .12em;
	background:url(../images/capBg.png) no-repeat top center;
}
.capH2L {
	background:url(../images/capBg.png) no-repeat left top;
	padding-top:1em;
	margin-bottom:1em;
}
.capH3 {
	font-size: 20px;
	font-weight: normal;
	line-height: 2;
	margin-bottom: 1em;
	letter-spacing: .12em;
}
.capH4 {/*lib*/
	font-size: 15px;
	/*font-weight: normal;*/
	line-height: 1;
	margin-bottom: 1em;
	border-left:4px solid #000;
	padding-left:13px;
}
.capH4.nb{/*philosophy*/
	border:none;
	padding:0;
}
.capH4 span{
	font-size:12px;
}
.capH5 {
	font-size: 14px;
	/*font-weight: normal;*/
	line-height: 1;
	margin-bottom: 1em;
	letter-spacing: .12em;
}
.lineH18 {
	line-height: 1.8;
}
.txtCtr {
	text-align: center;
	padding-top:1em;
	margin-bottom:2em;
}
.txtCtr3em {/*works*/
	text-align: center;
	padding-top:1em;
	margin-bottom:3em;
}
.underLn{/*about*/
border-bottom:1px solid #ccc;
}
.styleDot{
	list-style-type:disc;
	margin-left:1.4em;
}
.noMgn {
	margin: 0;
}
.w100 {
	width: 100%;
}
.w960 {
	width: 960px;
	margin: 0 auto;
}
.w680 {
	width: 680px;
	margin: 0 auto;
}
.pd120 {/*index*/
	padding:120px 0;
}
.pd120b {/*atlier*/
	padding-bottom:120px;
}
.pd80 {/*about*/
	padding:80px 0 0;
}
.pd80b {/*about contact*/
	padding-bottom:80px
}
.bgF6{/*philo*/
	background:#f6f6f6;
}
.txtR{
	text-align:right;
}
.btnR {
	text-align: right;
	margin: 10px 20px 0 0;
	font-size: 13px;
}
.btnGoGmap {
	margin-bottom: 45px;
}
a.btnGen {/*index, about*/
	background: #f1f1f1;
	color: #000;
	border-radius: 5px;
	padding: 1em 1.8em;
	font-size: 12px;
	margin-top: 20px;
	border: 1px solid #fff;
}
a.btnGen:hover {/*index, about*/
	border: 1px solid #d70c19;
}
.invw{
	opacity: 0;
	transform: translate(0, 60px);
	-webkit-transform: translate(0, 60px);
	transition: all 800ms;
	-webkit-transition: all 800ms;
	-ms-transition: all 800ms;
	-moz-transition: all 800ms;
}
.vis {
	opacity: 1;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}


@media screen and (max-width: 639px) {
.w960,
.w680 {
	width: 100%;
	padding: 0 10px;
}
.capH2 {
	font-size: 18px;
	line-height:1.8;
}
.capH2L {
	background:url(../images/capBg.png) no-repeat center top;
padding-top:1em;
	margin-bottom:1em;
	text-align:center;
}
.pd80 {/*about*/
	padding-top:40px;
}
.pd120 {/*index*/
	padding:60px 10px;
}
.nBr{
	display:none;
}
}
/*****************************************************

header

*****************************************************/

.hdr {
	height: 58px;
	letter-spacing:0;
	text-align: center;
	background:rgba(255,255,255,1);
	position: fixed;
	z-index:999;
	transition: all 480ms;
	-webkit-transition: all 480ms;
	-ms-transition: all 480ms;
	-moz-transition: all 480ms;
	 box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.2);
}
.hdrOp{
	background:rgba(255,255,255,1);
}
.hdrIn {
	position:relative;
	margin:0 auto;
}
.logo {
	width:61px;
	position:absolute;
	left:0;
	top:0;
}
.comName{
	width:118px;
	position:absolute;
	right:0;
	top:0;
}
.logo img,
.comName img {
	width: 100%;
}
.gNav {
	font-size: 0;
	position:absolute;
	top:0;
	left:50%;
	margin-left: -292px;
  width: 584px;
}
.gNav li {
	float:left;
}
.gNav li:after {
	content: url(../images/nav/lstStyle.png);
}
.gNav li:last-child:after {
	content: none;
}
.active{
	opacity:.4;
}

@media screen and (min-width: 960px) {
	.hdrIn {
		max-width:960px;
}
}

@media screen and (max-width: 639px) {
.hdr {
	height: 58px;
	text-align: center;
	position: static;
}
.gNav {
	display: none;
}
.logo {
	width:61px;
	position:static;
	margin:0 auto;
}
.comName{
	display:none;
}
}
/*****************************************************

FOOTER

*****************************************************/

.btnUp a {
	width: 46px;
	height: 46px;
	background: #000!important;
	line-height: 46px;
	text-align: center;
	color: #fff!important;
	display: block;
	font-size: 20px;
}
.btnUp a i {
	margin-right: 0;
}

.ftr {
	width: 100%;
	height: 316px;
	background: #f1f1f1;
	font-size: 11px;
	color: #000;
	position:relative;
}
.ftr a{
	color:#000;
}
.ftr i{
	font-size:16px;
}
.ftrCont{
	float:left;
	width:20%;
	height:258px;
	padding-top:58px;
}
.ftrCont ul li{
	font-size:12px;
	line-height:2;
}
.capFtr{
	font-size:13px;
}
.ftrBot{
	height:58px;
	line-height:1;
	border-top:1px solid #8e8e8e;
	position:absolute;
	bottom:0;
	left:0;
}
.crd {
	float: left;
	width: 50%;
	padding-top:23px;
}
.ftr-goodskill{
	text-align: right;
}
@media screen and (max-width: 639px) {
.ftr {
	width: 100%;
	height: auto;
	line-height: 2;
	padding: 30px 0;
}
.ftrCont{
	display:none;
}
	.ftrCont.ftr-goodskill{
	display:block;
		float: none;
		width: 80%;
		margin: 0 auto 2em;
		text-align: center;
		height: auto;
		padding-top: 0;;
}
.ftrBot{
	height:auto;
	position:static;
	text-align:center;
	border:none;
	line-height:2;
}
.crd {
	float: none;
	width: 100%;
	padding-top:0;
}
.crd.txtR{
	text-align:center;
}
}
/*****************************************************

navi

*****************************************************/
.container {
	position: absolute;
	width: 100%;
	heigh: 100%;
	top: 0;
	left: 0;
	margin: 0 auto;
}
.container a:after {
	content: '';
	position: absolute;
	height: 2px;
	width: 0%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	left: 50%;
	bottom: 0;
	-webkit-transition: .35s ease;
	transition: .35s ease;
}
.container a:hover:after, .container a:focus:after, .container a:active:after {
	width: 100%;
}
.button_container {
	position: fixed;
	top: 14px;
	right: 10px;
	height: 27px;
	width: 35px;
	cursor: pointer;
	z-index: 99999;
	-webkit-transition: opacity .25s ease;
	transition: opacity .25s ease;
	display: none;
}
.button_container:hover {
	opacity: 1;
}
.button_container.active .top {
	-webkit-transform: translateY(11px) translateX(0) rotate(45deg);
	-ms-transform: translateY(11px) translateX(0) rotate(45deg);
	transform: translateY(11px) translateX(0) rotate(45deg);
	background: #e38a9b;
}
.button_container.active .middle {
	opacity: 0;
	background: #FFF;
}
.button_container.active .bottom {
	-webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
	-ms-transform: translateY(-11px) translateX(0) rotate(-45deg);
	transform: translateY(-11px) translateX(0) rotate(-45deg);
	background: #e38a9b;
}
.button_container span {
	background: #000;
	border: none;
	height: 3px;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.button_container span:nth-of-type(2) {
	top: 11px;
}
.button_container span:nth-of-type(3) {
	top: 22px;
}
.overlay {
	position: fixed;
	background: #fff;
	top: 0;
	left: 0;
	width: 100%;
	height: 0%;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity .35s, visibility .35s, height .35s;
	transition: opacity .35s, visibility .35s, height .35s;
	overflow: hidden;
	z-index: 99998;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
.overlay.openOL {
	opacity: 1;
	visibility: visible;
	height: 100%;
}
.overlay.openOL li {
	-webkit-animation: fadeInRight .5s ease forwards;
	animation: fadeInRight .5s ease forwards;
	-webkit-animation-delay: .35s;
	animation-delay: .35s;
}
.overlay.openOL li:nth-of-type(2) {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}
.overlay.openOL li:nth-of-type(3) {
	-webkit-animation-delay: .45s;
	animation-delay: .45s;
}
.overlay.openOL li:nth-of-type(4) {
	-webkit-animation-delay: .50s;
	animation-delay: .50s;
}
.overlay.openOL li:nth-of-type(5) {
	-webkit-animation-delay: .50s;
	animation-delay: .50s;
}
.overlay.openOL li:nth-of-type(6) {
	-webkit-animation-delay: .50s;
	animation-delay: .50s;
}
.overlay.openOL li:nth-of-type(7) {
	-webkit-animation-delay: .50s;
	animation-delay: .50s;
}
.overlay nav {
	position: relative;
	height: 70%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 18px;
	text-align: center;
}
.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	position: relative;
	height: 100%;
}
.overlay ul li {
	display: block;
	height: 12.5%;
	height: calc(100% / 7);
	min-height: 50px;
	position: relative;
	opacity: 0;
}
.overlay ul li a {
	display: block;
	position: relative;
	color: #000;
	text-decoration: none;
	overflow: hidden;
}
.overlay ul li a:hover {
	opacity: 1!important;
}
.overlay ul li a:hover:after, .overlay ul li a:focus:after, .overlay ul li a:active:after {
	width: 100%;
}
.overlay ul li a:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	height: 1px;
	background: #000;
	-webkit-transition: .35s;
	transition: .35s;
}
 @-webkit-keyframes fadeInRight {
 0% {
 opacity: 0;
 left: 20%;
}
 100% {
 opacity: 1;
 left: 0;
}
}
 @keyframes fadeInRight {
 0% {
 opacity: 0;
 left: 20%;
}
 100% {
 opacity: 1;
 left: 0;
}
}

.btnNishizakiSp{
	border-top:1px dotted #000;
	padding-top:2em;
}

@media screen and (max-width: 639px) {
.button_container {
	display: block;
}
}
