@charset "utf-8";
/* CSS Document */

/* ------------------------------------------------------------------
		all
--------------------------------------------------------------------- */
html,body{ width:100%;height:100%; }
html{
	-webkit-tap-highlight-color:rgba(255,255,255,0);
	-webkit-overflow-scrolling:touch;
	-webkit-text-size-adjust:100%;	/* PC Chrome で文字サイズ調整をoffにする*/
	-ms-text-size-adjust:100%;
}
body{
	margin:0 auto;
	background:#fff;
	color:#3b3b3b;
	font-family:"AXIS Font Japanese W55", helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif;
	font-size:16px;
	line-height:170%;
}
h1,h2,h3,h4,h5,h6{line-height:1.2}
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,em,img,strong,dl,dt,dd,ol,ul,li,fieldset,form,label,table,caption,tbody,tfoot,thead,tr,th,td{ margin:0;padding:0;font-style:normal }
article,figure,footer,header,main,menu,nav,section,summary{display:block}
audio,canvas,progress,video{display:inline-block;vertical-align:baseline}
audio:not([controls]){display:none;height:0}[hidden],template{display:none}
ul,ol,li{ margin:0;padding:0;list-style-type:none; }
a{ cursor:pointer;color:#202958;text-decoration:none; }
b,strong{font-weight:bold}
hr{box-sizing:content-box;height:0}
img{border:0}
canvas{
	image-rendering:optimizeQuality;
	image-rendering:-moz-crisp-edges;
	image-rendering:-webkit-optimize-contrast;
	image-rendering:optimize-contrast;
	-ms-interpolation-mode:nearest-neighbor;
}
#document{
	margin : 0px auto;
	position:relative;
	width:100%;
	min-height:100%;
	overflow:hidden;
}

/* Win7+IE11 対策 - IE11にのみ適用するスタイルシート */
/*
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, ここにクラスとか書く {
		ここにさせたいことを書く;
	}
}*/

.more-btn {
  background-color: #248004;
  color: #fff;
  padding: 8px 30px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  font-size: 1rem;
  transition: 0.05s;
}
.more-btn:hover {
  background-color: #FF2E7C;
}

/*  after main ---------------------------------------------------- */
#main{
	position:relative;
	margin-top:102px;
	background:#fff;
	overflow:hidden;
	z-index: 2;
}
.commonwidth{
	margin: 0 auto;
	width:98%;
	max-width:1023px;
}

.page_box {
	width: 100%;
	height: auto;
	background-color: #fff;
}
.page_sec {
	margin: 0 auto;
	padding-top: 40px;
	padding-bottom: 20px;
	width: 90%;
	max-width: 760px;
	height: auto;
}
.page_event{
	position: relative;
	width: 90%;
	max-width: 760px;
	margin: 0 auto;
	padding-top: 60px;
	padding-bottom: 40px;
}

.msg_blue { background-color: #52A6E3; }
.msg_gray { background-color: #464646; }

.bgcolor_white { background-color: #fff; }
.bgcolor_gray { background-color: #E0E4E6; }
.bgcolor_darkgray { background-color: #d8dcde; }
.line_separate{ width: 100%; height: 1.5em; }
.line_separate25{ width: 100%; height: 2.5em; }
.line_separate30{ width: 100%; height: 3.0em; }
.clr{ clear:both; }

/*  link box ----------------------------------------------------- */
.box_blue, .box_pink, .box_lightblue {
	width: 200px;
	margin: 10px 0;
	padding: 10px 0px;
	border: #fff solid 2px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	transition: 0.2s;
}
.box_blue { background-color: #0093FF; }
.box_pink { background-color: #FF2E7C; }
.box_lightblue { background-color: #6B80FF; }

.box_blue:hover { background-color: #0064FF; border-radius:10px; }
.box_pink:hover { background-color: #F50000; border-radius:10px; }
.box_lightblue:hover { background-color: #2F4DFF; border-radius:10px; }

@media screen and (max-width: 480px) {
	.box_blue, .box_pink, .box_lightblue { width: 160px;}
}

/* ------------------------------------------------------------------
		header
--------------------------------------------------------------------- */
header{
	margin:0px auto;
	position:fixed;
	width:100%;
	padding:0px 0 0 0;
	-webkit-box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	-moz-box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	z-index:10;
}
/* ページ上部の白帯 */
header:before{
	content:'';
	position:absolute;
	top:0;left:0;width:100%;height:100%;
	background:#fff;
	filter:alpha(opacity=90);
	-ms-filter:"alpha(opacity=90)";
	opacity:1.0; z-index:10;
}
header>h1>a{
	display:block;
	height:0;margin-top:0;margin-left:0;
	font-size:0;
}
.head_box{
	position:relative;
	margin:0px auto;
	width:100%;
	max-width:960px;
	z-index:10;
}
.head_kpname {
	position:relative;
	float:left;
	width:260px;
	margin-top:10px;
	    height: 40px;
    display: flex;
    align-items: center;
}

.logo60 {
	height: 40px;
	padding: 0 6px 0 0;
}

.logoname {
	height: 27px;
}

@media screen and (max-width: 530px) {
	.logo60 {
	height: 30px;
		padding: 0 6px 0 10px;
}

.logoname {
	height: 20px;
}
}

.head_upperbox { position:relative;padding-top:5px;float:right; width: auto; margin-left: auto; }
.head_recruit, .head_fdmark, .head_fdial, .head_estimate { float: right; }
.head_recruit { color:#0096d2; text-shadow: 0px 0px 1px rgba(0,150,210,0.6),	0px 0px 10px rgba(185,255,255,1.0);
}
.head_fdial { x_display: none; }
.head_fdmark { x_display: none; }
.head_fdmark>img { height: 24px; margin-top: 1px; }
.head_fdial { color: #FF0000; font-size: 20px; font-weight: bold; margin-top: 1px; }
.head_estimate a, .head_estimate_toggle a {
	color: white; background-color: #FF2E7C; padding: 3px 20px 1px 20px; border-radius: 3px; }
.head_estimate a:hover, .head_estimate_toggle a:hover {font-weight: bold}
.head_estimate:before, .head_recruit:after {
	content: "--"; visibility: hidden; line-height: 0; height: 0;
}
.head_estimate_toggle { position:relative; float:right; padding: 5px 5px 1px 0px;
	width: 100px; margin-left: auto; display: none;}

/*  header _ nav ---------------------------------------------------- */
.head_menu { position:relative;width:100%; padding-top:0px; }
nav {
	position:relative;
	width:auto;
	font-family: 'Open Sans', sans-serif;
	line-height: 1;
}
nav ul li { float: right; }
nav ul li a{
	display: inline-block;
	position: relative;
	padding: 8px 10px 5px 10px;
	font-size: 110%;
	color: #232F25;
	-webkit-transition: color .2s ease;
	-moz-transition: color .2s ease;
	-ms-transition: color .2s ease;
	-o-transition: color .2s ease;
	transition: 0.2s;
}
nav ul li a::before{
	position: absolute;
	left: 50%;
	content: '';
	width: 0;
	height: 3px;
	background-color: #0093FF;
	transition: 0.2s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
nav ul li a::before { top: 0; }
nav ul li a:hover::before{ width: 100%; }
nav ul li a:hover{ color: #2193FF; }
nav:after,
nav > ul:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
.thispage>a { color: #2193FF; }
.thispage>a::before{ 	/* width: 100%; */ }

/*  header _ toggle button ----------------------------------------------- */
.head_toggle {display: none;}
  #toggle_top{ display: block; position: relative; width: 100%; background: #8C8C8C; }
  #toggle_top a{ display: block; position: relative; padding: 2px 0 0px; color: #fff;
    border-bottom: 1px solid #444; text-align: center; text-decoration: none;
  }
  #toggle_top:before{ display: block; content: ""; position: absolute;
    top: 50%; right: 10px; width: 20px; height: 16px; margin-top: -8px; background: #fff; }
  #toggle_top a:before,
	#toggle_top a:after{ display: block; content: ""; position: absolute;
    top: 50%; right: 10px; width: 20px; height: 3px; background: #8C8C8C; }
  #toggle_top a:before{ margin-top: -4px; }
  #toggle_top a:after{  margin-top: 2px;  }

	#toggle_menu { width: 100%; margin: 0 auto; padding: 0; }
	#toggle_menu li{ display: block; float: left; width: 100%; margin: 0; padding: 0; }
	#toggle_menu li a{ display: block; padding: 2px 0; background: #333; color: #fff;
	  text-align: center; text-decoration: none; border-bottom: 1px solid #444; }
	#toggle_menu li a:hover { background: #444; }

@media screen and (max-width: 730px) {
	.head_upperbox div {font-size: 90%; transition: 0.2s;}
	.head_fdmark>img { height: 18px; margin-top: 3px; transition: 0.2s;}
	nav ul li a{ font-size: 100%; transition: 0.2s;}
}
@media screen and (max-width: 640px) {
	.head_upperbox div {font-size: 90%; transition: 0.2s;}
	.head_fdmark>img { height: 18px; margin-top: 3px; transition: 0.2s;}
  .head_fdial{ display: none;}
	nav ul li a{ font-size: 100%; transition: 0.2s;}
}
@media screen and (max-width: 555px) {
  .head_recruit{ display: none;}
}
@media screen and (max-width: 530px) {
	.head_kpname { width: 220px; transition: 0.2s;}
	.head_upperbox div {font-size: 80%; transition: 0.2s;}
	.head_fdmark>img { height: 15px; margin-top: 3px; transition: 0.2s;}
	nav ul li a{ margin-bottom: 2px; font-size: 90%; transition: 0.2s;}
}
@media screen and (max-width: 500px) {
	.head_estimate_toggle {display: block; font-size: 80%; transition: 0.2s;}
	.head_upperbox,.head_menu { display: none; transition: 0.2s;}
	.head_toggle {display: block;}
	#toggle_menu {display: none;}
}
@media screen and (max-width: 321px) {
	.head_estimate_toggle {display: none;}
}

/* ------------------------------------------------------------------
		toptitle		home以外のページタイトル
--------------------------------------------------------------------- */
#toptitle{
	margin: 0px auto;
	position: fixed;
	width: 100%;
	padding:80px 0 0 0;
	-webkit-box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	-moz-box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	box-shadow:rgba(0,0,0,0.5) 0px 0px 2px 0px;
	background: linear-gradient(to right, #646464, #bdbdbd 90%, #c8c8c8);
	filter:alpha(opacity=90);
	-ms-filter:"alpha(opacity=90)";
	opacity:0.8;
	z-index:9;
	overflow: hidden;
}

.toptitle_inner{
	position:relative;
	margin:0 auto;
	width: 80%;
	max-width:700px;
	height:auto;
	text-align:left;
	overflow: hidden;
}
.toptitle_inner>div>img{
	padding: 0px;
	padding-left: 10%;
	width: 5px;
	height: 36px;
	float:left;
}
.toptitle_inner>div>h1{
	display:inline;
	position:relative;
	margin:0;
	padding-left:5%;
	padding-top:6px;
	float:left;
	color:#fff;
	font-size:24px;
	text-shadow:0px 0px 5px rgba(0,0,0,0.9);
	opacity:1.0;
	transition: 0.3s;
}
@media screen and (max-width: 412px) {
	.toptitle_inner>div>h1{ padding-top: 10px; font-size: 18px; transition: 0.3s;}
}

/* ------------------------------------------------------------------
		float menu
--------------------------------------------------------------------- */

#float_menu {
	position: fixed;
	width: 100px;
	height: aoto;
	z-index: 9;
	top:140px;
	right: 2%;
}
.float_menu_title, .float_menu_list {
	border: #aaaaaa solid 1px;
	width: 100%;
	text-align: center;
	padding: 8px 0;
	font-weight: bold;
	font-size: 80%;
	line-height: 150%;
	background-color: #C5C5C5;
	margin-bottom: 1px;
}
.float_menu_list {
	padding: 3px 0;
	font-weight: 300;
	background-color: #E3E3E3;
}
.floar_menu_line {
	border-top: #16A4FF 3px solid;
	color: #16A4FF;
	font-weight: bold;
}
#float_menu>a:hover .float_menu_title {background-color: #B6BFC3;}
#float_menu>a:hover .float_menu_list{background-color: #fff;}


#float_menu_re {
	position: fixed;
	width: 150px;
	height: aoto;
	z-index: 9;
	top: 140px;
	right: 2%;
}
#float_menu_re dl dt,
#float_menu_re dl dd{
	display: block;
	width: 100%;
	margin-bottom: 1px;
	border: 1px solid #ccc;
	text-align: center;
}
#float_menu_re dl dd.now{
	border-top: 3px solid #16A4FF;
}
#float_menu_re dl dt a{
	display: block;
	padding: .5em 0;
	background-color: #ddd;
	font-size: 14px;
	font-weight: bold;
}
#float_menu_re dl dd a{
	display: block;
	padding: .5em 0;
	background-color: #eee;
	font-size: 14px;
}
#float_menu_re dl dd.now a{
	background-color: #f0f8ff;
	font-weight: bold;
}
#float_menu_re dl dt a:hover{
	background-color: #ccc;
}
#float_menu_re dl dd a:hover{
	background-color: #fff;
}
@media screen and (max-width: 860px) {
	#float_menu { display: none; }
	#float_menu_re { display: none; }
}

/* ------------------------------------------------------------------
		Goto Page Top
--------------------------------------------------------------------- */
.gotop_box {
	display: block;
	color: #909090;
	text-align: right;
	margin: 0; padding: 0;
	padding: 40px 0px 5px;
	line-height: 70%;
}
.gotop_box .gotop_inner{
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 9;
}
.gotop_allow, .gotop_text { padding-right: 15px; color: #777777; }
.gotop_allow {
	display: inline-block;
	font-size: 150%;
	font-weight: bolder;
	-moz-transform:    scale( 2.5, 1 );  /* Firefox※ */
	-webkit-transform: scale( 2.5, 1 );  /* Chrome,Safari */
	-o-transform:      scale( 2.5, 1 );  /* 旧Opera※ */
	-ms-transform:     scale( 2.5, 1 );  /* IE */
	transform:         scale( 2.5, 1 );  /* CSS3 */
}
.gotop_text {
	font-size: 80%;
}

/* ------------------------------------------------------------------
		footer
--------------------------------------------------------------------- */
/*
footer{
	position: relative;
	width: 100%;
	margin: auto;
	font-size: 80%;
	line-height: 160%;
	background-color: #676767;
	padding-bottom: 0px;
	border-top: 1px solid #4D4D4D;
	font-family:"Montserrat","AXIS Font Japanese W55"
}
footer a { color: #DBDBDB; }
footer a:hover { color: #fff; }
.foottop a, .sitemaptitle { font-weight:bold; }
.foottop {
	position: relative;
	margin: 0 auto;
	padding:2px 0;
	width:100%;
	max-width: 960px;
}
.foottop>ul {
	padding-right: 10px;
	text-align:right;
}
.foottop>ul>li {
	display: inline-block;
	position: relative;
	text-align:right;
	width: 110px;
}
.foottop>ul>li:nth-child(even) { width: 180px; }
.sitemap {
	clear:both;
	position: relative;
	margin:0 auto;
	padding: 15px 0;
	width:100%;
	max-width:720px;
}
.sitemapbox {
	display: block;
	margin:0 auto;
	width:25%;
	float:left;
	min-height:6em;
	transition: 0.3s;
}
.sitemapmenu{
	position:relative;
	margin-left:20px;
}
.sitemaptopix{
	margin:0 auto;
	text-align:center;
	padding:5px 0;
}
*/

/* Win7+IE11 対策 - IE11にのみ適用するスタイルシート
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop, .sitemapbox {
		transition: 0s;
	}
}
*/

/*
@media screen and (max-width: 959px) {
	.foottop{ background-color: #585858; }
}

@media screen and (max-width: 640px) {
	.foottop>ul{ width:auto; text-align:center;}
	.foottop>ul>li{ width:calc(100% / 4); text-align:center;}
	.sitemapbox{ width: 45%;	padding-left: 4%; padding-bottom: 5px; }
	.sitemapbox:nth-child(3){ padding-left: 5%;}
	.sitemapbox:last-child { width:40%; padding-left: 5%;}
}
@media screen and (max-width: 340px) {
	.sitemapbox:last-child { padding-left: 0;}
}

@media screen and (max-width: 319px) {
	.sitemap .sitemapbox{width: 80%;	padding-left: 20%; padding-bottom: 10px; }
	.sitemapbox:last-child{ width: 100%; padding-left: 0%;}
	.sitemaphide{ display: none;}
	.sitemaptopix{ padding: 2px 0;}
}

.copyright{ clear:both;	margin: auto;	padding: 3px;	width: 100%;	text-align:center;	color:#fff;	font-size:small;	font-weight:bolder;	background-color:#333;}
*/

.re_footer{
	position: relative;
	padding-top: 16px;
	padding-bottom: 0;
	background-color: #676767;
	border-top: 1px solid #4d4d4d;
}
.re_footer a{color: #dbdbdb;}
.re_footer a:hover{color: #fff;}
.foottop{
	display: flex;
	justify-content: center;
	font-weight: bold;
}
.foottop li{
	margin: 0 2em;
	font-size: 80%;
}
.sitemap_wrap{
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 720px;
	margin: 16px auto 0;
	font-size: 80%;
}
.sitemap_wrap .sitemap_block{
	width: 25%;
}
.sitemap_block dt{
	font-weight: bold;
}
.sitemap_block dd{
	padding-left: 1.2em;
}
.sitemap_block.titleonly{
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	.foottop{
		flex-wrap: wrap;
		justify-content: space-between;
		padding-right: 8px;
		padding-left: 8px;
	}
	.foottop li{
		width: 48%;
		margin: 5px 0;
		line-height: 1.8;
	}
	.foottop li a{
		display: block;
		padding: .5em 0;
		background-color: #444;
		border-radius: 4px;
		color: #fff;
		font-weight: normal;
		text-align: center;
	}
	.sitemap_wrap{
		flex-wrap: wrap;
		padding-right: 16px;
		padding-left: 16px;
		box-sizing: border-box;
		font-size: 14px;
	}
	.sitemap_wrap .sitemap_block{
		width: 50%;
		margin-top: 16px;
		line-height: 2;
	}
	.sitemap_block.titleonly p + p{
		margin-top: .5em;
	}
}

.re_footer .gotop_text{
	font-size: 10px;
}
.copyright {
	padding: .5em 0;
	background-color: #333;
	color: #fff;
	font-size: 80%;
	font-weight: bold;
	text-align: center;
}

