@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,article,section,aside,figure,figcaption {display:block;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption,img,span,a {box-sizing:border-box;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}

/* ユーティリティー */
a {zoom:1; text-decoration:none; color:#333; transition:opacity 0.7s; display:block;}
a:hover {opacity:0.8;}
/*.fgo {font-family:DNPShueiGoKinStd-B, "秀英角ゴシック金 B", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.fgo_l {font-family:DNPShueiGoKinStd-L, "秀英角ゴシック金 L", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.fmin {font-family:DNPShueiNMinStd-L, "秀英にじみ明朝 L", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}*/
.fgo {font-family:"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;}
.fmin {	font-family:"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;}
.flt-l {float:left;}
.flt-r {float:right;}
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
.page_w {margin:0 auto; width:1300px;}
.page {margin:0 auto; width:1200px;}
.page_s {margin:0 auto; max-width:800px;}

.boxshadow {box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -webkit-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -moz-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;zoom: 1;position:relative;}
table {border-collapse:collapse;}


body {
	color:#000;
	/*font-family:DNPShueiNMinStd-L, "秀英にじみ明朝 L", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;*/
	font-family: "Noto Sans", "Noto Sans CJK JP", sans-serif;
	font-size:14px;
	/*font-weight:normal;*/
	/*letter-spacing:0.1em;*/
	line-height:1.4;
}
body p {
	line-height:1.8;
}


/* -------------------------------------
header
------------------------------------- */
header {
	border-top:7px solid #000;
}
.navi {
	text-align:right;
	margin:0 auto;
	position:relative;
}
.navi #logo a {
	text-align:center;
	display:inline-block;
	width:13%;
	max-width:130px;
	padding:15px 30px;
	background-color:#000;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}

nav {
	font-size:0;
	text-align:right;
	/*float:right;*/
	width:100%;
	padding:20px 0 20px 13%;
	box-sizing:border-box;
}
nav ul {
	font-size:0;
	vertical-align:middle;
	display:inline-block;
	width:auto;
}
nav li {
	width: auto;
	display:inline-block;
	border-left:1px solid #999;
}
header nav li:nth-child(4) ~ li {
	display: none;
}

nav li a {
	display:block;
	padding:5px 20px;
	transition:0.5s;
}
nav li a:hover {
	box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;
	-webkit-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;
	-moz-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;
	zoom: 1;
	position:relative;
}
nav li a img, nav .entry img {
	height: 13px;
	/*width: auto;*/
}
nav .entry {
	vertical-align:middle;
	display:inline-block;
	background-color:#000;
}
nav .entry a {
	padding:10px 25px;
}
nav .entry a:hover {
	box-shadow:none;
}
article .navi {
	text-align: center;
	width:100%;
}
article .navi nav {
	padding:0 0 0 0;
	padding:20px 0;
	border-bottom:2px solid #000;
}
article .navi nav ul {
	text-align: center;
	width: 100%;
}
article .navi nav ul li:last-child {
	border-right: 1px solid #999;
}

header a#spmenu,
header a#spmenu span {
	display:inline-block;
	transition:all .4s;
}
header a#spmenu {
	width:46px;
	height:46px;
	padding:0;
	background-color:#666;
	position:absolute;;
	top:15px;
	right:15px;
	/*transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	-moz-transform:translateY(-50%);*/
	z-index:2;
}
header a#spmenu span {
	width:25px;
	height:4px;
	margin:0 auto;
	background-color:#fff;
	position:absolute;
	left:0;
	right:0;
	z-index:1;
}
header a#spmenu span:nth-of-type(1) {
	top:11px;
}
header a#spmenu span:nth-of-type(2) {
	top:21px;
}
header a#spmenu span:nth-of-type(3) {
	bottom:11px;
}
header a#spmenu.active {
	opacity:1.0;
}
header a#spmenu.active span {
	background-color:#fff;
}
header a#spmenu.active span:nth-of-type(1) {
	-webkit-transform:translateY(10px) rotate(-315deg);
	transform:translateY(10px) rotate(-315deg);
}
header a#spmenu.active span:nth-of-type(2) {
	opacity:0;
}
header a#spmenu.active span:nth-of-type(3) {
	-webkit-transform:translateY(-10px) rotate(315deg);
	transform:translateY(-10px) rotate(315deg);
}
header a#spmenu {
	display:none;
}



/* -------------------------------------
common
------------------------------------- */
.txitl {
	font-family: HelveticaNeue-CondensedBold, Helvetica, "Noto Sans Japanese";
	font-style:italic;
	font-weight:normal;

}
.txitl span {
	font-weight:bold;
}

.img {
	width:100%;
	height:auto;
}

#mainimg {
	width:100%;
	height:auto;
	min-height:300px;
	overflow:hidden;
	position:relative;
}
#mainimg .mainimg {
	width:100%;
	height:auto;
	margin:0 auto;
	top:0;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	position:relative;
	overfllow:hidden;
}

#mainimg .ttlblk {
	text-align:center;
	width:50%;
	margin:0 auto;
	position:absolute;
	top:50%;
	left:0;
	right:0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	z-index:1;
}
#mainimg .ttlblk .catttl {
	font-size:34px;
	line-height:1;
	letter-spacing:0.1em;
	display:inline-block;
	width:auto;
	background-color:#fff;
	padding:10px 15px;
	margin-bottom:15px;
}
#mainimg .ttlblk .stx {
	font-size:14px;
	color:#fff;
	line-height:1;
	display:inline-block;
	min-width:200px;
	width:auto;
	background-color:#000;
	padding:10px 20px;
	margin:0 auto;
}

#pankuzu {
	padding:20px 0;
}
#pankuzu ul {
	font-size:0;
	letter-spacing:0;
}
#pankuzu ul li {
	vertical-align:top;
	display:inline-block;
	width:auto;
}
#pankuzu ul li a {
	font-size:12px;
	display:inline-block;
	width:auto;
}
#pankuzu ul li a:after {
	content:">>";
	padding:0 5px;
}
#pankuzu ul li:last-child a:after {
	content:"";
}
.sptel {
	cursor:default;
	pointer-events:none;
}




/* -------------------------------------
footer
------------------------------------- */
footer {
	padding:30px 0;
	background-color:#000;
}
footer .ftr_in {
	/*width:1200px;
	margin:0 auto;*/
	position:relative;
}
footer .f_icon{
	width:10%;
	max-width:91px;
	position:absolute;
	top:-20%;
	left:57%;
	z-index:1;
}
footer .fcopy {
	width:10%;
	max-width:82px;
	min-width:50px;
	margin:0 auto 40px auto;
}
footer nav {
	font-size:0;
	text-align:center;
	width:auto;
	margin-bottom:40px;
	padding:0 0 0 0;
}
footer nav ul {
	font-size:0;
	letter-spacing:0;
	vertical-align:middle;
	display:inline-block;
	width:auto;
}
footer nav li {
	vertical-align:middle;
	display:inline-block;
	border-left:1px solid #999;
}
footer nav li:last-child {
    border-right: 1px solid #999;
}

footer nav li a {
	display:block;
	padding:5px 20px;
}
footer nav li img,footer nav .entry img {
	max-height:13px;
}
footer nav .entry {
	vertical-align:middle;
	display:inline-block;
	background-color:#fff;
}
footer nav .entry a {
	padding:10px 25px;
}
footer #flogo {
	text-align:center;
	margin:0 auto;
}
footer #flogo img {
	width:10%;
	max-width:69px;
	min-width:40px;
	height:auto;
	margin-bottom:10px;
}
footer #flogo span {
	font-size:12px;
	color:#fff;
	display:block;
}

#totop {
	width: 40px;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 3;
}
#totop a {
	display: block;
}
#totop a img {
	width: 100%;
	height: auto;
}

/* -------------------------------------
experience
------------------------------------- */
.experience section {
	text-align:center;
	padding:79px 0 133px;
	border-top:5px solid #000;
}
.experience h3 {
	font-size:18px;
	font-weight:normal;
	line-height:1.9;
	margin-bottom:30px;
}
.experience h3 br.sp400 {
	display:none;
}
.experience h3 span {
	font-size:26px;
	margin-bottom:20px;
}
.experience #text {
	line-height:1.8;
}
.experience #contact {
	padding:15px 0 40px;
}
.experience #contact h4 {
	font-size:18px;
	font-weight:normal;
}
.experience #contact #tel {
	font-size:34px;
	color:#3c9e53;
}
.experience #contact #tel br {
	display:none;
}
.experience #sp {
	display:none;
}
.experience #contact #mail {
	font-size:26px;
	color:#3c9e53;
}
.experience #address {
	width:640px;
	margin:0 auto;
	padding-top:22px;
	border-top:1px solid #999;
}
.experience #address br {
	display:none;
}

@media screen and (max-width:1500px) {

	/* -------------------------------------
	header
	------------------------------------- */
	.navi {
		width:100%;
		/*		padding:0 20px;*/
		box-sizing:border-box;
	}
}


@media screen and (max-width:1360px) {
	.page_w {
		width:100%;
		padding:0 20px;
	}
	/* -------------------------------------
	header
	------------------------------------- */

	/* -------------------------------------
	common
	------------------------------------- */


	/* -------------------------------------
	footer
	------------------------------------- */


}
@media screen and (max-width:1260px) {
	.page {
		width:100%;
		padding:0 20px;
	}

}
@media screen and (max-width:1200px) {

	/* -------------------------------------
	common
	------------------------------------- */
	#mainimg .mainimg {
		width:auto;
		height:300px;
		overflow:hidden;
	}
	.#mainimg .mainimg .img {
		width:auto;
		height:100%;
		margin:0 auto;
		top:0;
		left:50%;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		position:relative;
		overfllow:hidden;
	}

	#mainimg .ttlblk {
		width:100%;
		padding:0 20px;
	}
	#mainimg .ttlblk .catttl {
		font-size:32px;
		padding:8px 12px;
	}
	#mainimg .ttlblk .stx {
		font-size:13px;
	}
	/* -------------------------------------
	header
	------------------------------------- */

	/* -------------------------------------
	footer
	------------------------------------- */
	footer nav li a {
		padding:5px 10px;
	}
	footer nav li img,footer nav .entry img {
		max-height:12px;
	}
	footer nav .entry a {
		padding:7px 15px;
	}

}
@media screen and (max-width:1100px) {



	/* -------------------------------------
	common
	------------------------------------- */




	/* -------------------------------------
	footer
	------------------------------------- */
	footer nav li a {
		padding:5px 11px;
	}
	/*
	footer nav li img,footer nav .entry img {
	max-height:11px;
}
	*/
	footer nav .entry a {
		padding:7px 7px;
	}

}
@media screen and (max-width:980px) {
	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */
	#mainimg .ttlblk .catttl {
		font-size:30px;
		padding:8px 12px;
	}
	article .navi nav {
		padding: 15px 0;
	}
	article .navi nav li a {
		padding: 3px 15px;
	}
	nav li a img, nav .entry img {
		height: 12px;
	}

	/* -------------------------------------
	footer
	------------------------------------- */

}
@media screen and (max-width:880px) {
	nav ul {
		margin-bottom:10px;
	}

	article .navi nav {
		text-align: center;
	}
	article .navi nav ul {
		max-width:740px;
		margin: 0 auto;
	}
	article .navi nav ul li:last-child {
		margin-top:5px;
	}
}
@media screen and (max-width:860px) {
	.page_s {
		width:100%;
		padding:0 20px;
	}

	/* -------------------------------------
	header
	------------------------------------- */
	.navi #logo a {
		min-width:80px;
		padding:10px 20px;
	}	
	/* -------------------------------------
	footer
	------------------------------------- */
	footer nav ul li {
		margin-bottom:10px;
	}


}
@media screen and (max-width:768px) {
	body {
		font-size:13px;
		-webkit-text-size-adjust:100%;
	}

	/* -------------------------------------
	header
	------------------------------------- */
	.navi #logo {
		position:fixed;
		top:15px;
		left:15px;
		z-index:3;
	}

	.navi {
		padding:0;
	}
	header a#spmenu {
		display:block;
		position:fixed;
		z-index:3;
	}
	header nav {
		text-align:center;
		display:none;
		float:none;
		width:100%;
		padding:0;
		margin:0;
		position:fixed;
		z-index:2;
	}
	header nav ul {
		width:100%;
		margin-bottom:0;
	}
	header nav ul li {
		width:100%;
		background-color:#fff;
		border-right:none;
		border-bottom:1px solid #ccc;
		transition:all .6s;
	}
	/*
	header nav li:nth-child(3) ~ li {
	display: block;
}
	*/
	header nav ul li a {
		padding:20px;
	}
	header nav ul li a img {
		height:13px;
	}
	/*nav li a:hover {
	box-shadow:none;
}*/

	header nav .entry {
		width:100%;
		padding:0;
		border-bottom:1px solid #ccc;
	}
	header nav .entry a {
		width:100%;
		padding:20px 20px;
	}



	/* -------------------------------------
	common
	------------------------------------- */
	#mainimg .ttlblk .catttl {
		font-size:28px;
		padding:8px 12px;
	}
	#mainimg .ttlblk .stx {
		font-size:12px;
	}



	.sptel {
		cursor:pointer;
		pointer-events:auto;
	}

	.experience h3 {
		font-size:16px;
	}
	.experience h3 span {
		font-size:24px;
	}
	.experience #contact #tel {
		font-size:30px;
	}
	.experience #contact h4 {
		font-size:16px;
	}
	.experience #contact #mail {
		font-size:24px;
	}

	/* -------------------------------------
	footer
	------------------------------------- */
	footer nav li {
		border-left:none;
	}
	footer nav li:last-child {
		border-right:none;
	}
}
@media screen and (max-width:680px) {
	.experience h3 {
		font-size:15px;
	}
	.experience h3 span {
		font-size:20px;
	}
	.experience #contact h4 {
		font-size:15px;
		margin-bottom:5px;
	}
	.experience #contact #tel {
		font-size:26px;
		line-height:1.4;
	}
	.experience #contact #tel br {
		display:block;
	}
	.experience #contact #tel span {
		font-size:20px;
		position:relative;
		bottom:5px;
	}
	.experience #contact #mail {
		font-size:20px;
	}
	.experience #address {
		width:100%;
	}
}

@media screen and (max-width:640px) {
	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */
	#mainimg .ttlblk .catttl {
		font-size:26px;
		padding:8px 12px;
	}


	/* -------------------------------------
	footer
	------------------------------------- */


}
@media screen and (max-width:480px) {
	/* -------------------------------------
	header
	------------------------------------- */



	/* -------------------------------------
	common
	------------------------------------- */
	#mainimg .ttlblk .catttl {
		font-size:24px;
		letter-spacing:0;
	}

	.experience section {
		padding:60px 0 100px;
		border-top:5px solid #000;
	}
	.experience h3 {
		font-size:14px;
	}
	.experience h3 span {
		font-size:18px;
	}
	.experience #text {
		text-align:left;
	}
	.experience #contact #tel {
		display:none;
	}
	.experience #contact h4 {
		font-size:14px;
	}

	.experience #sp,.experience #sp a {
		font-size:24px;
		color:#3c9e53;
		line-height:1.4;
		display:block;
	}
	.experience #sp,.experience #sp span {
		font-size:16px;
	}
	.experience #contact #mail {
		font-size:18px;
	}
	.experience #address br {
		display:block;
	}

	/* -------------------------------------
	footer
	------------------------------------- */
	footer .f_icon{
		display:none;
	}
	footer .fcopy {
		display:none;
	}
	footer nav {
		display:none;
	}

}
@media screen and (max-width:400px) {
	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */
	.experience h3 {
		font-size:13px;
	}
	.experience h3 br.sp400 {
		display:block;
		text-indent:3em;
	}
	/* -------------------------------------
	footer
	------------------------------------- */

}
@media screen and (max-width:320px) {
	/* -------------------------------------
	header
	------------------------------------- */


	/* -------------------------------------
	common
	------------------------------------- */

	.experience h3 span {
		font-size:16px;
	}
	.experience #sp {
		font-size:18px;
	}


	.experience #address br {
		display:block;
	}
	/* -------------------------------------
	footer
	------------------------------------- */
	footer nav li {
		display:block;
		margin-bottom:5px!important;
	}

}
@media screen and (min-width:769px) {
	/* -------------------------------------
	header
	------------------------------------- */
	nav {
		display:block!important;
	}


	/* -------------------------------------
	common
	------------------------------------- */


	/* -------------------------------------
	footer
	------------------------------------- */

}
}