@charset "utf-8";


/* # General Elements
---------------------------------------------------------------------------- */

a {
	color: #4b4b4b;
	text-decoration: underline;
}

a:hover {
	outline: none;
}

/* # tipsy (チップ用)
---------------------------------------------------------------------------- */

.tipsy { padding: 5px; font-size: 10px; position: absolute; z-index: 100000; }
.tipsy-inner { padding: 5px 8px 4px 8px; background-color: #4b4b4b; color:#fff; max-width: 200px; text-align: center; }
.tipsy-inner { border-radius: 3px; -moz-border-radius:3px; -webkit-border-radius:3px; }
.tipsy-arrow { position: absolute; background: url('../images/tipsy.gif') no-repeat top left; width: 9px; height: 5px; }
.tipsy-n .tipsy-arrow { top: 0; left: 50%; margin-left: -4px; }
.tipsy-nw .tipsy-arrow { top: 0; left: 10px; }
.tipsy-ne .tipsy-arrow { top: 0; right: 10px; }
.tipsy-s .tipsy-arrow { bottom: 0; left: 50%; margin-left: -4px; background-position: bottom left; }
.tipsy-sw .tipsy-arrow { bottom: 0; left: 10px; background-position: bottom left; }
.tipsy-se .tipsy-arrow { bottom: 0; right: 10px; background-position: bottom left; }
.tipsy-e .tipsy-arrow { top: 50%; margin-top: -4px; right: 0; width: 5px; height: 9px; background-position: top right; }
.tipsy-w .tipsy-arrow { top: 50%; margin-top: -4px; left: 0; width: 5px; height: 9px; }

/* # body
---------------------------------------------------------------------------- */

body {
	font-size: 75%;
	font-family: 'Roboto',"HIragino Sans", "ヒラギノ角ゴPro W3", Hiragino Kaku Gothic Pro, "メイリオ", Meiryo,  Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
	line-height: 1.7;
	text-align:left;
	height: 100%;
	background: #fff;
	color: #4b4b4b;
	margin:0;
	font-weight: 300;
}

/* # containar
---------------------------------------------------------------------------- */

#containar {
	width: 100%;
}
#content {
	background:#fff;
	font-size:11pt;
	padding: 40px 25px 0 160px;
	position:relative;
}

#content_inner {
	width:100%;
	margin:0 auto;
}
@media screen and (max-width: 1200px){
	#content {
		padding:20px 25px 0 160px;
	}
	#content_inner {
		width:85%;
	}
}

@media screen and (max-width: 800px){
	#content {
		padding: 0 15px 0 15px;
	}
	#content_inner {
		width:100%;
	}
}

/* # header
---------------------------------------------------------------------------- */

#header {
	position: fixed;
	top:0;
	left:0;
	z-index: 80;
	width: 170px;
	margin: 150px 0 0 30px;
}

#header ul#icons {
	position:relative;
	margin:40px 0 40px;
	z-index:1000;
	width:180px;
}

#header ul#icons li {
	float:left;
	padding:0 10px 0 0;
}
#header ul#icons li.tel {
	display:none;
}
#header ul#icons li a {
	height:20px;
	display:inline-block;
}
#header ul#icons li a img {
	vertical-align:middle;
}
#header ul#mainnavi {
	margin:40px 0 0;
}

#header ul#mainnavi li {
	font-size:13pt;
	font-weight: 300;
	padding-bottom:5px;
}
#header ul#mainnavi li.sub {
	padding-top:20px;
}
#header ul#mainnavi li.home {
	display:none;
}
#header ul#mainnavi li a {
	text-decoration:none;
}
@media screen and (max-width: 1200px){
	#header {
		margin: 150px 0 0 30px;
	}
}

@media screen and (max-width: 800px){
	#header {
		margin: 0 0 0 10px;
		top:0;
	}
	#header h1 {
		position:absolute;
		top:19px;
		left:10px;
	}
	#header h1 img {
		width:85px;
	}
	#header ul#icons {
		margin:18px 0 0 120px;
	}
	#header ul#icons li.tel {
		display:block;
		padding-top:4px;
	}
}
#header ul#mainnavi .current a {
	text-decoration:underline;
}

/* # header 2nd
---------------------------------------------------------------------------- */
.header2nd {
	text-align:center;
	padding-bottom:10px;
}
.header2nd h2 {
	font-size:45pt;
	line-height:1em;
	padding:50px 0 0;
	letter-spacing:-0.03em;
	font-weight:100;
}
.header2nd h3 {
	font-size:9pt;
	display:inline-block;
	padding:8px 0 10px;
	border-bottom:solid 1px #868a8d;
}
.portfolio {
	text-align:center;
	padding-bottom:0;
}
.portfolio h2 {
	font-size:22pt;
	letter-spacing:-0.01em;
	font-weight:500;
	padding:20px 0 1px;
}
.portfolio h3 {
	font-size:9pt;
	padding-bottom:10px;
}
.portfolio h4 {
	float:none;
	font-size:19pt;
	width:auto;
}

hr {
	display:block;
	height: 0;
	padding: 0;
	border: 0;
	margin:50px 0;
	border-top: 1px solid #868a8d;
	border-bottom:none;
}
@media screen and (max-width: 800px){
	.header2nd {
		text-align:center;
		padding-bottom:10px;
	}
	.header2nd h2 {
		font-size:28pt;
		padding:80px 0 0;
	}
	.header2nd h4 {
		float:none;
		width:auto;
	}
	hr {
		margin:20px 0;
	}
	.portfolio h2 {
		font-size:16pt;
		padding:20px 0 0;
	}
	.portfolio h4 {
		font-size:11pt;
	}
	.portfolio h5 {
		font-size:8pt;
	}
	hr {
		margin:10px 0 20px;
	}
}

/* # content
---------------------------------------------------------------------------- */

#copyright {
	font-weight:300;
	height:20px;
	width:300px;
	position:fixed;
	right:30px;
	bottom:-40px;
	transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform-origin:right bottom;
	-ms-transform-origin:right bottom;
	-moz-transform-origin:right bottom;
	-o-transform-origin:right bottom;
	-webkit-transform-origin:right bottom;
	font-size:7pt;
}

@media screen and (max-width: 800px){
	#copyright {
		right:21px;
		bottom:-40px;
		font-size:5pt;
	}
}

.portfoliolist {
	margin:0 0 0 0;
}	

@media screen and (max-width: 800px){
	.portfoliolist {
		margin:0 0 0 0;
	}
}
.mvinline {
	display:inline-block;
}

.mvoffr {
	transition: 1s;
	opacity: 0;
	transform: translate(50px,0); 
	-webkit-transform: translate(50px,0);
}
.mvoffl {
	transition: 1s;
	opacity: 0;
	transform: translate(-50px,0); 
	-webkit-transform: translate(-50px,0);
}
.mvofft {
	transition: 0.8s;
	opacity: 0;
	transform: translate(0,-10px); 
	-webkit-transform: translate(0,-10px);
}
.mvoffb {
	transition: 0.8s;
	opacity: 0;
	transform: translate(0,10px); 
	-webkit-transform: translate(0,10px);
}
.mvoff {
	transition: 2s;
	opacity: 0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

.mvon {
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

.grid-item  {
	float:left;
	margin:0 0 20px 20px;
	padding:0;
	width: 180px;
	height:230px; 
	text-align:center;
	overflow:hidden;
}
.grid-item img {
	width:100%;
}
.grid-item .listtitle {
	display:inline-block;
	padding:9px 0 0 0;
	font-size:11pt;
	font-weight:300;
	line-height:1.2em;
	white-space: nowrap;
}
.grid-item a {
	text-decoration:none;
}
.grid-item .category {
	font-weight:500;
	font-size:5pt;
}
.w1h2 { 
	width: 180px;height:480px;
}
.w2h1 { 
	width: 380px;height:230px;
}
.w2h2 { 
	width: 380px;height:480px;
}
.w2h3 { 
	width: 380px;height:730px;
}
.w3h2 { 
	width: 580px;height:480px;
}
#facebooklink {
	width:100%;
	margin:0 auto;
	text-align:right;
	position:relative;
	height:20px;
}
#facebooklink .hatena {
	width: 60px;
	display:inline-block;
}
#facebooklink .twitter {
	width: 88px;
	height: 20px; 
	padding:0 0 0px;
	display:inline-block;
}
#facebooklink .facebook {
	width: 70px;
	height: 20px; 
	display:inline-block;
}

.maintext {
	max-width:900px;
	margin:0 auto;
}

@media screen and (max-width: 800px){
	.grid-item { 
		width: 60px;height:77px;
		margin:0 3px 3px 0;
	}
	.w1h2 { 
		width: 60px;height:157px;
	}
	.w2h1 { 
		width: 123px;height:77px;
	}
	.w2h2 { 
		width: 123px;height:157px;
	}
	.w2h3 { 
		width: 123px;height:237px;
	}
	.w3h2 { 
		width: 186px;height:157px;
	}
	.grid-item .listtitle {
		padding:4px 0 0 0;
		font-size:4pt;
	}
	.grid-item .category {
		font-size:3pt;
	}
}

/* # content2nd
---------------------------------------------------------------------------- */
.content2nd {
	padding:40px 25px 0 200px!important;
}
.content2nd p {
	font-size:11pt;
	padding:20px 0;
}
.content2nd .pimg {
	display:block;
	padding:0 60px 0 60px;
}

.navip a {
	font-size:16pt;
	height:80%;
	width:90%;
	border:solid 1px #aaa;
	display: flex;
	justify-content: center;
	align-items: center;
}


@media screen and (max-width: 800px){
	.content2nd {
		padding:0 15px!important;
	}
	.content2nd p {
		font-size: 8pt;
		padding:20px 0;
	}
	.content2nd .pimg {
		padding:0 0;
	}
}
/* # footer
---------------------------------------------------------------------------- */
.line {
	position:relative;
	margin:0 auto;
	background-color:#fff;
	padding-top:116px;
	width:120px;
	border-bottom:solid 1px #8b8e90;
}
.lineouter {
	position:relative;
	z-index:70;
	background-color:#fff;
	height:230px;
}

div#footer {
	position:relative;
	z-index:1000;
	clear: both;
	background-color:#8b8e90;
	text-align:center;
	color:#fff;
	padding-bottom:200px;
}

div#footer a {
	color:#fff;
}

div#footer .white {
	position:relative;
	top:-40px;
	background:#fff;
	max-width:600px;
	height:150px;
	margin: 0 auto;
	color:#8b8e90;
}

div#footer .white h3 {
	font-weight:100;
	font-size:31pt;
	letter-spacing:-0.02em;
}
div#footer .white h4 {
	font-weght:500;
	font-size:15pt;
}
div#footer .white h4 a {
	color:#8b8e90;
	text-decoration:none;
}
div#footer .white h4 span {
	font-size:7pt;
}
div#footer .flead {
	max-width:540px;
	padding:30px;
	margin:0 auto 40px;
	font-size:13pt;
	font-weight:bold;
	border:solid 1px #fff;
}
div#footer h5 {
	max-width:600px;
	margin:40px auto;
	font-size:10pt;
	text-align:left;
	font-weight:bold;
}
div#footer h5 a {
	text-decoration:none;
}
div#footer .info {
	max-width:600px;
	margin:60px auto;
	border-left:solid 2px #fff;
	border-right:solid 2px #fff;
}
div#footer table {
	margin:0 auto;
}
div#footer table td {
	text-align:left;
}
div#footer table th {
	text-align:center;
	padding:6px 0;
}

div#footer table td.tel {
	font-size:28pt;
	line-height:1em;
	font-weight:100;
}
div#footer table td.tel span {
	font-size:8pt;
	line-height:1.4em;
}
div#footer table td.mail {
	font-size:14pt;
	line-height:1em;
	font-weight:500;
}
div#footer table td.form {
	font-size:10pt;
	line-height:1em;
	font-weight:500;
}
div#footer table td.tel a {
	text-decoration:none;
}
div#footer .data h3 {
	font-size:15pt;
	font-weight:500;
}
div#footer .fnavi {
	text-align: center;
	margin:20px 0 0;
}
div#footer .fnavi li {
  display: -moz-inline-box;/*for FF2*/
  display: inline-block;/*Modern Browser & FF3*/
	font-size:10pt;
	font-weight:300;
	padding:0 10px;
}
div#footer .circle {
	width:150px;
	margin:0 40px 0 0;
	text-align:center;
	font-size:14pt;
	line-height:1.1em;
	font-weight:100;
}
div#footer .circle a {
	text-decoration:none;
}
div#footer .circle span {
	display:inline-block;
	padding-top:8px;
	font-size:7pt;
	line-height:1.1em;
}

div#footer .circle img {
	width:150px;
	height:150px;
	margin-bottom:15px;
	border-radius: 150px;
	-webkit-border-radius: 150px;
	-moz-border-radius: 150px;
}
div#footer #topofpage {
	position:fixed;
	bottom:0;
	left:0;
	right:0;
}
div#footer .ftbanner {
	max-width:600px;
	margin:0 auto;
}

div#footer .ftbanner img {
	width:100%;
}

/* # スライド用-------- */

div#footer .slide {
	width: 100%;
	height: 210px;
	overflow: hidden;
	position: relative;
	margin: 40px 0 0;
}
div#footer div.slide div div {
	float: left;
	text-align: center;
}

div#footer div.slide div  img {
	display: block;
	float: left;
}
@media screen and (max-width: 600px) {
	div#footer {
		padding:0 20px 100px;
	}
	div#footer .white {
		top:-20px;
		height:120px;
	}
	div#footer .white h3 {
		font-size:18pt;
	}
	div#footer .flead {
		padding:10px;
		margin:0 auto 20px;
		font-size:10pt;
	}
	div#footer .circle {
		width:80px;
		margin:0 20px 0 0;
		font-size:10pt;
	}
	div#footer .circle img {
		width:80px;
		height:80px;
		border-radius: 80px;
		-webkit-border-radius: 80px;
		-moz-border-radius: 80px;
	}
	div#footer .circle span {
		font-size:5pt;
	}
	div#footer .slide {
		margin: 20px 0 20px 0;
		height:160px;
	}
	div#footer .info {
		margin:20px auto;
	}
}

/* mainnavi */
.slicknav_menu {
	display:none;
}
@media screen and (max-width: 800px) {
	 #mainnavi {
		display:none;
	}
	
	 .slicknav_menu {
		display:block;
		position:fixed;
		top:0;
		z-index:10;
		right:0;
		width:100%;
	}
}


/* # プログレスバー
---------------------------------------------------------------------------- */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pace-inactive {
  display: none;
}

.pace .pace-progress {
  background-color: rgba(0, 0, 0, 0.19999999999999996);
  position: fixed;
  z-index: -1;
  top: 0;
  right: 100%;
  bottom: 0;
  width: 100%;
}