body {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, !important;
  background: radial-gradient(circle at 78% -12%, rgba(92, 200, 255, .34), transparent 30%), radial-gradient(circle at 6% 30%, rgba(21, 151, 229, .18), transparent 28%), linear-gradient(180deg, #ffffff 0%, #f3fbff 48%, #eaf6ff 100%);
  letter-spacing: 0.1em;
  font-size: 15px;
}

.inner { 
  background: unset;
}

.only-pc {
  display: block;
}

.only-sp {
  display: none;
}

.header-area p {
	padding:8px;
	font-size:12px;
	display:inline-block;
}

.header-area .tel-num{
	font-size:15px;
}

.header-area .tel-num span{
	font-size:12px;
}

.header-area .tel-num a{
	color:#666;
	font-weight:bold;
}

.main-nav{
	background-color: #1a4d84;
}

.main-nav a{
	color:#fff;
	display:block;
	padding:8px 16px;
}

.main-nav li{}
.main-nav li span{
	display:block;
	padding-left:24px;
}

.main-logo{
	vertical-align:middle;
}

.main-logo a{
	margin-top: 4px;
}

.main-logo img{
	height:45px;
	vertical-align:bottom;
}

.nav-icon{
	background-image:url(../../common/img/tate-white.svg);
	background-size:12px 17px;
    background-position: left center;
	background-repeat:no-repeat;
}

.nav-fixed{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:99;
}

.nav-move-mb{
	margin-bottom:70px;
}
/* 
.top-pzl{
  position: absolute;
  right: 0%;
  top: -50px;	
} 
*/
/* 
@media screen and (max-width: 1300px) {
	.top-pzl{
		display:none;
	}
} 
*/
.works-list {}
.works-list a{
	color:#fff;
}
.works-list .img {
	height:180px;
	width:180px;
	margin-left:auto;
	margin-right:auto;
	border-radius:50%;
	background:#666;
	background-repeat:no-repeat;
	background-position:top center;
	background-size:cover;
}
.works-list .ttl {
	padding:8px;
	font-size:12px;
	/*background-color:rgba(0,0,0,0.7);*/
	min-height: 52px;
	color:#333;
	text-align:center;
	
}
/* ----------------------------------------
footer
---------------------------------------- */
.footer-tel-num{
	font-size:18px;
	font-weight:bold;
	line-height:1.5em;
}
.footer-tel-num span{
	font-size:12px;
	margin-left:8px;
}
.footer-tel-num a{
	color:#666;
	font-weight:bold;
}
.footer-add{
	font-size:12px;
	line-height:1.5em;
}
.bottom-nav{
	text-align:center;
	background-color: #1a4d84;
	margin:80px auto 0 auto;
	padding:16px;
	/* max-width:960px; */
  width: 100%;
}
.before-page span,.next-page span {
	position: relative;
  display: inline-block;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  text-align: center;
  font-size: 10px;
  line-height: 40px;
  margin-bottom: 8px;
}
.before-page span {
	background: #333;
	color:#fff;
}
.next-page span {
	background: #ccc;
	color:#333;
}
.before-page span:after,.next-page span:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(255, 90, 105, 0);
	border-width: 10px;
	margin-left: -10px;
	top: 84%;
}
.before-page span:after{
	border-top-color: #333;
}
.next-page span:after{
	border-top-color: #ccc;
}
.bottom-nav ul li{
	display: inline-block;
  margin-top: -43px;
}
.bottom-nav ul li a{
	color:#fff;
	display:block;
	margin:0 16px;
}
.content-wrap{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	padding:0 16px;
}
.footer-area {
	padding:32px 32px 80px;
}
.footer-item .footer-link li a {
	color:#333;
	font-weight:bold;
  background-image: url(../../common/img/tate-black.svg);
  background-size: 12px;
  background-position: left center;
  background-repeat: no-repeat;
	padding-left: 24px;	
}
.footer-item .footer-logo img {
	width:250px;
}
.footer-item .copyright {
	font-size:12px;
	color:#999;
}
.footer-mgn{
	margin-top:80px;
}
@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    padding-top: 100px;
  }
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
  article.lower-article {
		padding-top: 40px;
	}
	.header-area{
		margin-top:55px;
		display: flex;
		flex-wrap: wrap-reverse;
		
	}
	.header-area .tel-num{}
	.nav-move-mb {
		margin-bottom: 0px;
	}
	.main-nav-sp{
		position:fixed;
		width:100%;
		height:55px;
		background-color:rgba(255,255,255,0.8);
		left:0;
		top:0;
		z-index:99;
	}
	.nav-jp{
		font-size:11px;
		line-height:1em;
	}
	.sp-main-logo {
		position:absolute;
		left:16px;
		top:14px;
		
	}
	.sp-main-logo a {}
	.sp-main-logo a img {
		height:30px;
	}
	.sub-piece1,.sub-piece2{
		position:absolute;
		z-index:1;
		background-repeat:no-repeat;
		background-image:url(../../common/img/tate-white.svg);
		background-size:contain;
		background-position:center center;
		width: 57px;
		height:80px;
		color:#fff;
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
	}
	.sub-piece1{
		right: 37px;
		top: -49px;
	}
	.sub-piece2{
		right: -36px;
		top: 24px;
	}
	.menu-btn {
		position:absolute;
		right: -11px;
		top: -1px;
		z-index:2;
		background-repeat:no-repeat;
		background-image:url(../../common/img/yoko-black.svg);
		background-size:contain;
		background-position:center center;
		width: 80px;
		text-align:center;
		font-size:13px;
		line-height:57px;
		height:57px;
		color:#fff;
		
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		
		-webkit-transition: all .5s;
		-moz-transition: all .5s;
		-ms-transition: all .5s;
		-o-transition: all .5s;
		transition: all .5s;
	}
	.menu-close{
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		-ms-transform: rotate(360deg);	
	}
	.sp-menu-list {
		position:absolute;
		top:55px;
		width:100%;
		background-color:rgba(255,255,255,1);
		display:none; /* 読み込み時非表示 */
	}
	.sp-menu-list li {
		border-bottom:1px dashed #ccc;
	}
	.sp-menu-list li a {
		color:#333;
		display:block;
		padding:8px 16px;
	}
	.sp-menu-list li a .nav-icon-sp {
		font-weight:bold;
		background-image:url(../../common/img/tate-black.svg);
		background-size: 12px;
		background-position: left center;
		background-repeat:no-repeat;
	}
	.sp-menu-list li a span {
		display:block;
		padding-left:20px;
	}
	.sv-cnt{
		font-size:12px;
		animation-name: fontL;
		animation-duration: .5s;
		animation-timing-function: ease-in-out;
		animation-fill-mode:forwards;
		animation-iteration-count: 1;
		-webkit-animation-name: fontL;
		-webkit-animation-duration: .5s;
		-webkit-animation-timing-function: ease-in-out;
		-webkit-animation-fill-mode:forwards;
		-webkit-animation-iteration-count: 1;
	}
	@-webkit-keyframes fontL {
		0% { font-size:12px;-webkit-transform: (45deg);}
		80% {font-size:30px;-webkit-transform: rotate(360deg); opacity:1;}
		90% {-webkit-transform: rotate(360deg); opacity:0;}
		100% {font-size:12px;-webkit-transform: rotate(360deg); opacity:1;}
	}
	@keyframes fontL {
		0% {font-size:12px;transform: rotate(45deg);}
		80% {font-size:30px;transform: rotate(360deg); opacity:1;}
		90% {transform: rotate(360deg); opacity:0;}
		100% {font-size:12px;transform: rotate(360deg); opacity:1;}
	}
	.sp-works-pd{
		padding-top:40px;
	}
	.works-list .img {
		height: 80px;
		width:80px;
		background-color: #666;
	}	
	.works-list .ttl {
		font-weight:normal;
		font-size: 12px;
	}
	.pzl-stock{
		width:100%;
	}

	.sp-svs-btn{
		text-align:center;
		padding:8px;
		background-color:#4f4e4f;
		width:100%;
		color:#fff;
		position:relative;
	}
	.sp-svs-btn span {
		display: inline-block;
		width: 20px;
		height: 20px;
		line-height: 20px;
		text-align: center;
		border-radius: 50%;
		background-color: #f88f69;
	}
	.pzl-style a {
		text-align:center;
		margin:4px;
	}
	.add-piece {
		background: #eee;
		padding: 4px;
		color: #444;
		vertical-align: middle;
		position: relative;
	}
	.add-piece:nth-child(odd) {
		background: #fff;
	}
	.add-item-box{
		display:none;/* 初期表示で非表示 */
	}
	.footer-area {
		padding:16px 0 80px;
	}
	.footer-item .footer-logo img {
		width: 150px;
	}
	.footer-item .copyright {
		font-size:10px;
	}
	.footer-item .footer-link li a {
		font-size: 12px;
	}
	.footer-mgn {
		margin-top: 0px;
	}
	.footer-item .footer-logo {
		margin-top:40px;
	}
	.footer-tel-num span{
		display:block;
		font-size:12px;
	}
	.media-area {
		padding: 40px 0;
	}
	.media-ttl span {
		padding: 8px;
		display: inline-block;
		font-size: 13px; 
	}
	.media-item .img {
		background-color:#333;
	}
	.media-item section{
		padding:3%;
	}	
	.media-item .ttl {
		font-size: 14px;
		height:63px;
		overflow:hidden;
		font-weight: bold;
	}
	.bottom-nav {
		padding: 8px;
		font-size:12px;
	}
	.bottom-nav ul li a {
		margin: 0 12px;
	}
	.top-page{
		display:none !important;
	}
}