@charset "UTF-8";

/*================================================================================
  common
==================================================================================*/
/*---------------------------------------------------- a */
a {
	color: #4c4948;
	text-decoration: none;
} 
/*a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}*/


/* -------------------------------------- UTILITY */
.clear {
	clear:both;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}
.fs10{font-size:1.0rem;}
.fs12{font-size:1.2rem;}
.fs14{font-size:1.4rem;}
.fs16{font-size:1.6rem;}

.indent-1em {display:block;margin-left:1em;text-indent:-1em;}
.indent-2em {display:block;margin-left:2em;text-indent:-2em;}
.indent-3em {display:block;margin-left:3em;text-indent:-3em;}
.indent-4em {display:block;margin-left:4em;text-indent:-4em;}
.indent-5em {display:block;margin-left:5em;text-indent:-5em;}
.indent-6em {display:block;margin-left:6em;text-indent:-6em;}

.text-center {text-align:center!important;}
.text-left   {text-align:left!important;}
.text-right  {text-align:right!important;}

.float-left{
	float:left;
	margin:0 25px 10px!important;
	max-width:42%;
}
.float-right{
	float:right;
	margin:0 25px 10px!important;
	max-width:42%;
}
.float-left img,
.float-right img {
	display:block;
	margin:0 auto;
}
.mt0 {margin-top:0!important;}
.mt5 {margin-top:5px!important;}
.mt10 {margin-top:10px!important;}
.mt15 {margin-top:15px!important;}
.mt20 {margin-top:20px!important;}
.mt25 {margin-top:25px!important;}
.mt30 {margin-top:30px!important;}
.mt40 {margin-top:40px!important;}
.mt50 {margin-top:50px!important;}
.mt60 {margin-top:60px!important;}
.mt70 {margin-top:70px!important;}
.mt80 {margin-top:80px!important;}
.mt90 {margin-top:90px!important;}
.mt100 {margin-top:100px!important;}

.mb0 {margin-bottom:0!important;}
.mb5 {margin-bottom:5px!important;}
.mb10 {margin-bottom:10px!important;}
.mb15 {margin-bottom:15px!important;}
.mb20 {margin-bottom:20px!important;}
.mb25 {margin-bottom:25px!important;}
.mb30 {margin-bottom:30px!important;}
.mb40 {margin-bottom:40px!important;}
.mb50 {margin-bottom:50px!important;}
.mb60 {margin-bottom:60px!important;}
.mb70 {margin-bottom:70px!important;}
.mb80 {margin-bottom:80px!important;}
.mb90 {margin-bottom:90px!important;}
.mb100 {margin-bottom:100px!important;}
.mb150 {margin-bottom:150px!important;}

.ml0 {margin-left:0!important;}
.ml5 {margin-left:5px!important;}
.ml10 {margin-left:10px!important;}
.ml15 {margin-left:15px!important;}
.ml20 {margin-left:20px!important;}
.ml25 {margin-left:25px!important;}
.ml30 {margin-left:30px!important;}
.ml35 {margin-left:35px!important;}
.ml40 {margin-left:40px!important;}
.ml45 {margin-left:45px!important;}
.ml50 {margin-left:50px!important;}

.mr0 {margin-right:0!important;}
.mr5 {margin-right:5px!important;}
.mr10 {margin-right:10px!important;}
.mr15 {margin-right:15px!important;}
.mr20 {margin-right:20px!important;}
.mr25 {margin-right:25px!important;}
.mr30 {margin-right:30px!important;}
.mr35 {margin-right:35px!important;}
.mr40 {margin-right:40px!important;}
.mr45 {margin-right:45px!important;}
.mr50 {margin-right:50px!important;}

@media screen and (max-width:767px) {
.float-left, .float-right {
	float: none;
	width: auto;
	max-width: none;
	text-align: center;
}
}

/*================================================================================
  base
==================================================================================*/

html,
body {
	height: 100%;
	font-size: 62.5%;
	color: #4c4948;
	width: 100%;
	position: relative;
}
html {
	overflow-x: hidden; 
}
body {
	font-family:Arial , Helvetica Neue , Verdana , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	-webkit-text-size-adjust: none;
	font-size: 1.4rem;
}

/*--------------------------------------------------------- footer */
footer {
	background: #fff;
}
footer .inner {
	width: 96%;
	margin: 0 auto;
	max-width: 1020px;
}
footer .inner .box {
	padding: 75px 0 30px 0;
	overflow: hidden;
	border-bottom: 1px solid #ccc;
}
footer .inner .box h2 {
	float: left;
	max-width: 185px;
	font-size:0;
}
footer .inner .box p a {
	position:relative;
	float: right;
	width: 53px;
	height:53px;
	background:url(../img/pagetop01.png) no-repeat;
	background-size:cover;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
footer .inner .box p a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 53px;
	height:53px;
	background:url(../img/pagetop02.png) no-repeat;
	background-size:cover;
	transition: all .2s;
}
footer .inner .box p a:hover::after {
	top: -3px;
}
footer .inner nav {
	overflow: hidden;
	margin: 35px 0 70px 0;
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
}
footer .inner nav .column {
	
}
footer .inner nav .column a ,
footer .inner nav .column a:hover {
	transition: all .2s;
}
footer .inner nav .column a:hover {
	color:#b4b4b4;
}
footer .inner nav .column h3 {
	margin: 0 0 10px 0;
	font-size: 1.6rem;
}
footer .inner nav .column ul li {
	margin: 0 0 4px 0;
	font-size: 1.2rem;
}
footer .copy {
	padding: 10px 0;
	background: #4c4948;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
}
@media screen and (max-width:1024px) {
	footer .inner nav .column h3 {
		margin: 0 0 10px 0;
		font-size: 1.4rem;
	}
	footer .inner nav .column ul li {
		margin: 0 0 4px 0;
		font-size: 1.0rem;
	}
}
@media screen and (max-width:767px) {
	footer .inner {
		width: 92%;
	}
	footer .inner .box {
		padding: 30px 0 20px 0;
	}
	footer .inner .box h2 {
		max-width: 133px;
	}
	footer .inner .box p a {
		width: 38px;
		height: 38px;
	}
	footer .inner .box p a::after {
		content: '';
		width: 38px;
		height: 38px;
	}
	footer .inner nav {
		margin: 20px 0 20px 0;
	}
	footer .inner nav .column {
		/*margin: 0 10% 15px 0;*/
        margin: 0 15px;
	}
	footer .inner nav .column h3 {
		font-size: 1.2rem;
	}
	footer .inner nav .column ul {
		display: none;
	}
	footer .copy {
		font-size: 1.0rem;
	}
}