@charset "UTF-8";
/*
	Theme Name: ee-ie.com-sp
	Version: 1.0.0
*/

/****************************************
          General Setting
*****************************************/

body {
	font-size: 14px;
	min-width: 100%;
	letter-spacing: 0px;
}

.sp {display:   block;}
.pc {display: none;}
img.spimgblock { float: none; display: block; margin-left: auto!important; margin-right: auto!important; margin-bottom: 10px; }
span.spbr { display: block; }
span.pcbr { display: inline; }

/****************************************

          Typography

*****************************************/
img {
	max-width: 100%;
	height: auto;
}

footer {
	width: 100%;
	background-size: cover;
}

iframe { max-width: 100%; }

/****************************************

          Layout

*****************************************/

#sp_menu_btn {
    position: absolute;
    display: block;
    cursor: pointer;
    width:50px;
    height:50px;
    right:6px;
    margin-top:0px;
    margin-right:0px;
}

#header {
	display: block;
	width: 100%;
	height: 100px;
	height: 60px;
	padding-top: 0px;
	padding-left: 0px;
	margin-left: auto;
	margin-right: auto;
}

#header #logo {
	float: none;
	max-width: calc( 100% - 80px) ;
	height: auto;
	margin:0;
	margin-top: 2px;
	margin-left: 10px;
	padding: 0;
	display: inline-block;
}
#logo img {
    width: 250px;
    margin-top: 1px;
}

#topcontact img { height: 50px; }

#topcontact {
    display: inline-block;
    float: none;
    position: absolute;
    right: 50px;

}
#gnavi {
	position: fixed;
	top: 50px;
	z-index: 999;
	width: 100%;
	float: none;
	display: block;
}

#gnavi.menu_open {
	height: 100%;
	background: #fff;
	overflow-y: scroll;
	padding-bottom: 50px;
}


.menu {
    margin-top:55px;
    margin-left: auto;
    margin:0;
    padding: 0;
    width:100%;
    height: auto;
    float: none;
    display:  none;
}

.menu ul{
	display: block;
    list-style-type: none;
    margin: 0px 0;
    padding: 0px 0;
	text-align: left;
}

.menu li{
    display:block;
    margin: 0px;
    padding: 0px 0px;
    width:100%;
    box-sizing: border-box;
    border-bottom:1px #333 solid;
    background: #F6F6F4;
}
.menu li.menu1{
    border-top:1px #333 solid;	
}

.menu li.sns01,
.menu li.sns02 {
	display: block;
	width: auto;
	text-align: center;
	border: 0px;
	background: #fff;
}

.menu li.sns01 a,
.menu li.sns02 a {
	text-align: center;
	padding-left: 0px;
}

.menu span.wrap,
.menu a{
	display: block;
	text-align: left;
	padding: 10px 10px;
	position: relative;
	color: #333;
	width: auto;
	height: 100%;
	font-size: 15px;
	border: 0px !important;
	line-height: 1.7em;
}
.menu a:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 10px;
	width: auto;
	opacity: 1;
	display: none;
}
.menu span.pcbr { display: inline; }

.menu a:hover {color: #e00;}
.menu a:hover{
    -webkit-transition: color 0.2s, font 0.2s;
    -moz-transition: color 0.2s, font 0.2s;
    transition: color 0.2s, font 0.2s;
}
.menu ul:after {
  clear: both;
  display: block;
  content: "";
}

.menu ul li.has_child .wrap:after {
	content: "▼";
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 10px;
	color: #999;
}
#gnavi .child a:hover { background: none; }
.menu a:hover:after { background-color: #fff; }
#gnavi .child { position: relative; 
	width: 85%;
	margin: auto;
	border: 0px; }

#gnavi .child li:last-child a {
	border: 0px;
}
#gnavi .child.wsubmenu {
    left: 0px;
    width: 85%;
}

.wrapper03,
.wrapper-f,
.mB .wrapper, .kizi .wrapper,
.wrapper02,
#top-work.wrapper,
#container,
.wrapper {
	margin-left: auto;
	margin-right: auto;
	width: 96%;
}
.mb100 { margin-bottom: 70px; }

#maincon {
	padding: 0px 0px 20px;
}

.sp_menuf {
	color: #000 !important;
	display: block;
	padding: 10px 0px;
	text-align: center;
	border: 1px solid #333;
	font-size: 16px;
}

#top01 {
    padding-top: 20px;
	padding-left: 0px;
	padding-right: 0px;
	margin-bottom: 50px;
	padding-bottom: 0px;
	width: auto;
}
#newstopics .box2 li,
#newstopics .box1 li {
	margin-bottom: 0px;
	display: block;
	width: auto;
	padding: 10px 0px 0px;
}

#top01 .box1 {
    float:none;
    width:100%;
	height: auto;
	margin-bottom: 50px;
	position: sticky;
	padding: 0px;
}
#top01 .box2 {
	padding: 0px;
    float:none;
    width:100%;
	height: auto;
	margin-bottom: 50px;

}

#top-concept ul { margin: 0px 10px 30px; }

#top01 .box1 li p {
    display:inline-block;
    line-height: 1.2;

}

#top01 .box2 .box1-1,
#top01 .box1 .box1-1 {
    float: left;
    width:18%;
	height: auto;
	margin-right: 1%;
}

#top01 .box2 .box1-2,
#top01 .box1 .box1-2 {
	height: auto;
    font-size:15px;
	padding-top: 0px;
}

#top01 .box2 .box1-1 img,
#top01 .box1 .box1-1 img {
    width:60px;
    height: 60px;
    object-fit: cover;
}

#newstopics .box2 li h2,
#newstopics .box1 li h2 { font-size: 15px; display: block; }

#top02 { position: sticky;}
#top03 {
    position: sticky;
}
#top04 {
}
#top05 {
    position: sticky;
}


#top-fudousan ul {
	display: block;	
}

#top-fudousan ul li {
	margin: auto auto 10px !important;
	width: auto;
	display: block;
	text-align: center;
}

#.top-worknew ul,
#top-bunjyo ul,
#top-work ul{
	margin: 0px 0% 0px;
	padding: 20px 0px 10px;
	display: flex;
	flex-wrap: wrap;
}
.top-worknew ul li,
#top-bunjyo ul li,
#top-work ul li {
	margin: 10px auto  30px !important;
    box-sizing: border-box;
	vertical-align: top;
	width: 90%;

}

.top-worknew ul li img  { max-height: 215px; display: block; margin: auto; }
#top-work ul li img { height: auto; object-fit: contain; }

.top-worknew ul li p,
#top-work ul li p {
    font-size: 14px;
    padding: 5px 0px;
}
.top-worknew .ttl02,
#top-bunjyo .ttl02,
#top-work .ttl02 { text-align: center;}

.top-worknew ul li h2,
#top-work ul li h2 { font-size: 14px; padding: 5px 10px; }
.top-worknew ul li h2 a,
#top-work ul li h2 a { display: block; padding-left: 5px; padding-right: 5px; }
.top-worknew ul li span.label,
#top-reform ul li span.label,
#top-work ul li span.label { margin-left: 10px !important; font-size: 12px !important; }
#top-reform ul{
	margin: 0px 0% 10px;
	padding: 40px 0px 10px;
	display: flex;
	flex-wrap: wrap;
}
#top-reform ul li {
	margin: 10px auto  30px !important;
    box-sizing: border-box;
	vertical-align: top;
	width: 90%;
}

#top-reform ul li img { height: auto; object-fit: contain; padding: 0px; border: 0px; max-height: 270px; }
#top-reform ul li h2 { font-size: 14px; padding: 5px 10px; }
#top-reform ul li h2 a { display: block; padding-left: 5px; padding-right: 5px;  }

#top-voice ul{
	margin: 0px 0% 30px;
	padding: 20px 0px 10px;
	display: flex;
	flex-wrap: wrap;
}
#top-voice ul li {
	margin: 10px auto  30px !important;
    box-sizing: border-box;
	vertical-align: top;
	width: 48%;

}
#top-voice ul li h2 { font-size: 14px; }
#top-voice ul li img { width: 150px; height: 150px; }
#top-chiiki ul{
	margin: 0px 0% 30px;
	padding: 20px 0px 10px;
	display: flex;
	flex-wrap: wrap;
}
#top-chiiki ul li {
	margin: 10px auto  30px !important;
    box-sizing: border-box;
	vertical-align: top;
	width: 90%;

}

#top-chiiki ul li img { height: auto; object-fit: contain; }

#top-chiiki ul li p {
    font-size: 14px;
    padding: 5px 0px;
}

#top-chiiki ul li h2 { font-size: 14px; padding: 5px 20px; }
#top-chiiki ul li h2 a { display: block; padding-left: 5px; padding-right: 5px; }

#top-company .wrap { padding: 20px 0px; }

#top-company ul { 
    position: -webkit-sticky; /* safari用 */
    position: sticky;
}
#top-company ul li { 
    width: 48%;
    height: auto;
    margin: 0px auto 10px;
    padding: 0px 0px;
}
#top-company ul li:nth-child(5n + 5) { margin-right: auto; }

#top-company ul li a { line-height: 1em; font-size: 13px; background-size: 60px, auto !important; padding: 10px 0px;}
#top-company ul li a.more { padding: 10px 20px 10px 0px; font-size: 16px; display: block; }
#top-company ul li a span { padding-right: 10px; }
#top-concept ul { text-align: center; display: flex; flex-wrap: wrap; justify-content: center; padding: 0px 5px; }
#top-concept ul li { width: 47%; height: auto; padding: 15px 5px 10px ; display: inline-block; margin: 0px auto; box-sizing: border-box; text-align: center; }

#newstopics { margin: 10px 0px; width: auto; padding: 10px;
background: url(/newhp/images/news-bg-sp.jpg) no-repeat top center;
    background-size: cover;}
#newstopics .box2 ul,
#newstopics .box1 ul {
	margin: 10px 0px;
	padding: 0px 0px 20px;	
}
#newstopics .box1 span.label { font-size: 12px; margin: 0px; }
#newstopics .pickup_info h2 { text-align: center; }
#newstopics .pickup_info span.img { width: auto; display: block; float: none; margin: 10px auto; }
#newstopics .pickup_info span.img img { max-height: 150px; margin: 0px auto; display: block; }
#newstopics .blog_info { padding: 20px 10px 0px; background-size: cover; z-index: 1; }
#newstopics .blog_info h3 { display: block; width: auto; padding-left: 1px;}
#newstopics .blog_info h2 { margin: 0px 0px; font-size: 14px; }
#top-company h2 { margin: 10px 0px 30px; }

#top01 .ttl,
#top-business .ttl,
#top-fudousan .ttl,
#top-company .ttl,
#top-work .ttl { font-size: 28px;letter-spacing: 2px; display: inline-block; margin: 10px 0px 10px; color: #000; }


.morebottun { display: block; margin-left: auto; margin-right: auto; width: 150px; padding: 0.5em 3.5em 0.5em 3.2em;}
.morebottun_b {
    position: sticky;
    padding: 0.8em 3.5em 0.8em 3.2em;
	margin: 10px auto !important;
}
.morebottun_l {
    position: sticky;
    padding: 0.8em 3.5em 0.8em 3.2em;
	margin: 10px auto !important;
}
.morebottun_cha {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 30px;
	background-position-x: 98%;	
	display: block;
	font-size: 14px;
}

#top06 {
    position: sticky;
}

#top-business .desc {
    font-size: 16px;
	padding: 10px;
}
#top-business ul li { width: 46%; }
/* ------- ･footer ------- */

#telmenu {
	height: 0;
    position: fixed;
    overflow: hidden;
    width: 100%;
    z-index: 991;
    top: 0;
    left: 0;
    background: rgba(0,0,0,0.65);
    transition: filter 0.3s, opacity 0.3s;
    filter: alpha(opacity=0);
    opacity: 0;	
}

#telmenu.active{
	height: 110vh;
	filter:alpha(opacity=100); opacity:1;
}
#telmenu ul{
	padding: 60px 20px 0;
}
#telmenu li{
	background: #fff;
	border-radius: 3px;
	box-shadow:
		-2px 2px 5px #333,
		2px 2px 5px #333;
}
#telmenu li + li{
	margin-top:15px;
}
#telmenu li a{
	display: block;
	text-decoration: none;
	color: #333;
	position: relative;
	padding: 20px 10px 20px 70px;
	font-size: 24px;
	
}

#telmenu .close{
	display: block;
	width: 140px;
	margin:20px auto 0;
	font-size: 16px;
	line-height: 100%;
	color: #fff;
	text-align: center;
	background: #000;
	border-radius: 6px;
	padding:14px 10px;
	font-weight: bold;
	box-shadow:
		-2px 2px 5px #333,
		2px 2px 5px #333;
}


#telmenu li a span.block{
	display: block;
	position: absolute;
	border-radius: 50%;
	width: 55px;
	height: 55px;
	left:5px;
	top:50%;
	text-align: center;
	transform:translate(0, -50%);
}
#telmenu li a i {
	font-size: 26px;
	line-height: 100%;
	position: absolute;
	color: #605f5f;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}

#footer01 { padding: 0px;z-index:10;}
#footer_fixed { padding: 0px; height: auto; }
#footer_fixed .fbtnsp { display: table; width: 100%; }
#footer_fixed .fbtnsp span,
#footer_fixed .fbtnsp a {
    display: table-cell;
    border-radius: 0px;
    line-height: 1.3em;
    padding: 0.6em 0.05em;
    font-size: 12px;
    letter-spacing: 0px;
    margin: 0px 0px;
	text-align: center;
	background: #D74655;
	color: #fff;
	border: 1px solid #fff;
}
#footer_fixed .fbtnsp img { display:block; margin: 0px auto; height: 35px;  }

#footer_fixed .fbtnsp .item01 { width: 11%; background: #D74655; }
#footer_fixed .fbtnsp .item02 { width: 25%; background: #D74655; }
#footer_fixed .fbtnsp .item03 { width: 25%; background: #D74655; }
#footer_fixed #ft_top  { color: #fff; width: 25%; }

#footer_fixed .fbtn span.item04 {
	padding-right: 20px;
	padding-left: 15px;
}
#footer_fixed .fbtn span.item04 i { margin-bottom: 10px;}

#footer01 .box1 {
    width:48%;
    margin: 0px auto;
    text-align: center;
}

#footer01 .box1 img {
	height: 30px;
	margin: auto;
}

#footer01 .box2 {
    width:48%;
    margin: 0px auto;
    text-align: center;
}
#footer02 div.fcom { width: auto; }
#footer02 div.fcom .addr { border: 0px; margin-top: 20px; padding-left: 0px; font-size: 13px; }
#footer02 div.fcom h1 {max-width: 280px; margin: auto;  }
#footer02 div.fcom .flogo { width: 280px; }

#gotop { bottom: 0px; right: 0px; }

#footer02 {
    padding-top: 15px;
}

#footer02 div.box1 {
    float: none;
    width:96%;
    margin: 0 auto 20px auto;
    font-size: 14px;
    border-right: 0px;
 	border-bottom: 1px solid #ddd;
	padding-bottom: 10px;
}
#footer02 ul { padding: 10px 1%; width: 90%; }
#footer02 ul li.sub a { padding-left: 0px; }

#footer02 div.box2 {
    float: none;
    width:96%;
    margin: 0 auto 10px;
	padding: 10px 1%;
}

#footer02 .box1 span {
    display:    block;
}
#footer02 div.box3 ul { width: 100%; display: flex; padding: 10px 0px 30px; margin: 0px 0px; }
#footer02 div.box3 li { width: 33%; padding: 0px; }
#footer02 div.box3 li:nth-child(1) { width: 30%; height: 30px; }
#footer02 div.box3 li:nth-child(2) { width: 30%; height: 30px; }
#footer02 div.box3 li:nth-child(3) { width: 36%; height: 30px; }
#footer02 div.box3 li a { width: auto; padding: 1.5em 20px 0em 10px; font-size: 14px; margin: 5px 1%; display: block; background-size: 5px; height: 2.5em; }
#footer02 div.box3 li.line2 a { width: auto; padding: 0.8em; 10px; }
#footer02 div.box2 .item01,
#footer02 div.box2 .item02,
#footer02 div.box2 .item03 {
	padding: 10px !important;
	display: block;
	width: auto;
}
#footer02 div.box2 .item01 img { display: block;}


#footer02 ul li {
    padding: 0 0 0 10px;
    font-size:13px;
}
#footer02 .box1 .navibox { display: block; float: none; width: auto; }

/* kaso */
#main { float: none; width: 100%; }
#sidepage { float: none; width: 100%; }
#top01 .subttl,
#top-business .subttl,
#top-fudousan .subttl,
#top-company .subttl,
#top-work .subttl { padding: 0px 0px 0px; margin-bottom: 0px; font-weight: 600; }
.custom-m { font-size: 18px; line-height: 1.5em; }
.custom-mid  { font-size: 17px; line-height: 1.5em; }
.gaiyou th { padding: 10px 1px; width: 6em; font-size: 13px; }
.gaiyou td { padding: 10px; font-size: 13px; }
.history td { padding: 10px; font-size: 13px;}
.history th { padding: 10px 5px; width: 8em; font-size: 13px; }
.contactform { font-size: 15px; }
.contactform th { display: block; width: 100%; }
.contactform td { display: block; }
ul.work_list li { width: 90%; margin: 0px auto 40px !important; }
ul.work_list li h2 { font-size: 14px; }
.kizittl_line { font-size: 18px; }
.staffList { width: 100%;  }
.staffList li { width: 50%; margin: 0px 0px 20px; padding: 5px; }
.staffList li p.staffp1  { font-size: 14px; }
.staffList li p.staffp2  { font-size: 16px; }
#staffDedail table.staffProfile02 {
  margin: 0px 0px;
  width: 100%;
}
#staffDedail table.staffProfile02 th,
#staffDedail table.staffProfile02 td {
	width: auto;
	display: block;
	padding: 10px 10px;
}
#staffDedail .box1 {
  width: 40%;
  display: inline-block;
  margin-right: 3%;
  margin-left: 0px;
  margin-top: 5px;
}
#staffDedail .box2 {
  width: 52%;
  display: inline-block;
  vertical-align: top;
}
#staffDedail .box2 h1 { font-size: 18px; }
#staffDedail .en_name {
	letter-spacing: 0px;
	padding-left: 0px;
	display: block;
}
#staffDedail .staffProfile th,
#staffDedail .staffProfile td {
	width: auto;
	display: block;
	padding: 10px 10px;
}
#recoStaff li { width: 31%; margin-bottom: 30px; }
.worktags li a { font-size: 12px; padding: 5px 2px 5px 2px; margin: 5px 2px; }
.worktags { margin-left: 0px; text-align: center; margin-bottom: 5px; }
.bukendata dl {
	display: block;
	width: auto;
	margin: 10px;
	font-size: 13px;
}
.bukendata dl:after {
	clear: both;
	content: "";
	display: block;
}
.bukendata dl dd,
.bukendata dl dt {
	float: left;
	padding: 0px 10px;
	margin: 0px;
}

.bukendata dl dt {
	font-weight: 600;
    width: 30%;
    color: #333;
}

.bukendata dl dd {
	width: auto;
	position: relative;
	padding-left: 2%;
	width: 65%;;
	border-left: 1px solid #ddd;
}
.kizittlsekou { font-size: 16px; line-height: 1.6em; margin: 0px 0px 30px; padding: 0px; }
.kanren ul.list li { width: 90%; margin: 0px 1% 20px; font-size: 12px; }
.kanren ul.list li img { width: 20%; float: left; margin-right: 10px; }
.kanren ul.list li:after { clear: both; content: ""; display: block;}
.kanren ul.list02 li h3, .kanren ul.list li h3 {
  font-size: 12px;
  margin: 0px 0px 20px 0px;
  line-height: 1.5em;
}
#businesslist li { float: none; display: inline-block; width: 48%; margin: 20px .8%!important; box-sizing: border-box; text-align: left; }
.bx-wrapper .bx-controls-direction a { z-index: 100!important; }
.wpcf7-form input[type="button"], .wpcf7-form input[type="submit"] { display: block; }
.business-bg {
	background: url(/newhp/images/page-bg-sp.jpg) no-repeat top center;
	padding: 30px 0px 10px
}

.tags span, .tags a {
    display: inline-block;
    padding: 5px;
    margin: 5px 1px 0px;
    color: #fff;
    border-radius: 0px;
    background: #D33C4B;
    line-height: 1em;
    font-weight: 600;
    font-size: 10px;
    border: 1px solid #eee;
    text-decoration: none;
}