@charset "utf-8";
/* CSS Document */

/*  font  */
@font-face {
	font-family: "Avenir_Next_Demi_Bold";
	src: url("fonts/Avenir_Next_Demi_Bold.eot?") format('eot'),
	     url("fonts/Avenir_Next_Demi_Bold.woff") format('woff'),
	     url("fonts/Avenir_Next_Demi_Bold.otf")  format('truetype');
}
@font-face {
	font-family: "Avenir_Next_Medium";
	src: url("fonts/Avenir_Next_Medium.eot?") format('eot'),
	     url("fonts/Avenir_Next_Medium.woff") format('woff'),
	     url("fonts/Avenir_Next_Medium.otf")  format('truetype');
}
@font-face {
	font-family: "din1451alt";
	src: url("fonts/din1451alt.eot?") format('eot'),
	     url("fonts/din1451alt.woff") format('woff'),
	     url("fonts/din1451alt.otf")  format('truetype');
}



/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    /*font-size:13px;*/
	letter-spacing:0.03em;
	font-family: 'Hiragino Kaku Gothic ProN',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
    word-wrap: break-word;
}
b,strong { font-weight: bold; }

a {
	color: #000;
	outline:none;
	text-decoration:none;
}
li { list-style:none; }
textarea { resize:none; }
img { vertical-align:top; }

input,
select,
textarea,
radio,
checkbox,
button {
    font-family: 'Hiragino Kaku Gothic ProN',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
}

.clear { clear:both; }
.fl { float:left; }
.fr { float:right; }

.resize { overflow:hidden; }

.inner {
    width: 1100px;
    margin:auto;
    position: relative;
}

.font15 { font-size: 15px !important; }

.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }

.ml20 { margin-left: 20px !important; }

.pt30 { padding-top: 30px !important; }
.pt60 { padding-top: 60px !important; }

.color_ff6600 { color: #ff6600 !important; }

.bg_f3f3f3 { background-color: #f3f3f3 !important; }

.radius_100 {
	-moz-border-radius: 100px !important;
    -webkit-border-radius: 100px !important;
    border-radius: 100px !important;
}

.hover-opa a,
button {
   -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.hover-opa a:hover,
button:hover { opacity: 0.7; }

.fadeIn li {
   opacity:0;
   -webkit-transition: all 0.5s ease-in-out;
   transition: all 0.5s ease-in-out;
}
.fadeIn li.active { opacity: 1; }


.sp { display:none; }


.sp-iframe-wrap {
    position: relative;
    width: 100%;
    padding-top: 56%;
    margin-bottom: 20px;
}
.sp-iframe-wrap iframe {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}

/*------------------------------------------------------
   font style
-------------------------------------------------------*/
.font14 { font-size: 14px !important; }
.font20 { font-size: 20px !important; }

.avenir {
	font-family: "Avenir_Next_Demi_Bold" !important; /* Avenir_Next_Demi_Bold or Avenir_Next_Medium*/
	letter-spacing:0.1em;

}
.din {
	font-family: "din1451alt" !important;
}


/*------------------------------------------------------
   header style
-------------------------------------------------------*/
#global-header {
    border-top: solid 5px #ff6600;
	width: 100%;
	height: 95px;
	background:#fff;
	position: fixed;
	z-index: 9999;
	top:0; left:0;
}

#global-header .inner#pc-header {
	height: 95px;
}
#global-header .inner#pc-header .logo {
    position: absolute;
	top: 30px; left: 0;
}
#global-header #pc-header .logo a {
    display: block;
	width: 250px;
	height: 0;
	padding-top: 47px;
	background: url(images/logo_250.png) no-repeat;
	overflow: hidden;
}

/* pc-menu */
#global-header #pc-menu {
   position: absolute;
   right:0;
   top: 30px;
}
#global-header #pc-menu li {
   float:left;
   margin-left: 35px;
   text-align:center;
}
#global-header #pc-menu li a {
   font-size: 11px;
   letter-spacing:0.07em;
   display:block;
   -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
#global-header #pc-menu li a .avenir {
    font-size: 15px;
	   letter-spacing:0.09em;
	display:block;
}
#global-header #pc-menu li#contact-link {
	margin-top: -30px;
}
#global-header #pc-menu li#contact-link a {
    height: 95px;
	width: 100px;
	background: #ff6600;
	display: table-cell;
	vertical-align:middle;
	color: #000 !important;
}

#global-header #pc-menu li a:hover {
    color:#ff6600;
}





/*------------------------------------------------
   footer style
--------------------------------------------------*/
#global-footer {
    margin-top: 20px;
	padding-top: 40px;
	background: #f3f3f3;
}
#global-footer .inner.top {
	overflow: hidden;
	margin-bottom: 50px;
}

#ft-info { width: 300px; }
#ft-info .title {
	margin-top: 20px;
	line-height: 2;
}
#ft-info .info {
    font-size: 12px;
    line-height: 1.7;
    margin-bottom: 5px;
} 


#ft-nav-list { width: 800px; }
#ft-nav-list .ft-nav.level01 {
    width: 145px;
	float:left;
}

#ft-nav-list .ft-title {
    font-size: 14px;
}
#ft-nav-list .ft-nav.level01 > li { margin-bottom: 15px; }
#ft-nav-list li a { font-size: 11px; }
#ft-nav-list li span {
    font-size: 12px;
    color: #ccc;
}
#copyright {
   text-align:center;
   background: #000;
   line-height: 50px;
}
#copyright p {
   color: #fff;
   display: inline;
}

#ft-icons {
    margin: 0 0 0 10px;
    display: inline;
}
#ft-icons li {
    display: inline-block;
    width: 20px;
    height: 20px;
}
#ft-icons li a {
    display: block;
}
#ft-icons li a img { vertical-align: middle; }

#backtotop {
    position: absolute;
    right: 0;
    bottom: 40px;
    cursor: pointer;
}
#backtotop:hover {
    bottom: 50px;
}


/*------------------------------------------------
   common style
--------------------------------------------------*/
body { padding-top: 100px; overflow-x: hidden; }

#container {
	position:relative;
}


#common-parts {
     
}


.common-title {
    text-align:center;
	font-size: 14px;
	letter-spacing: 2px;
	margin-bottom: 60px;
}
.common-title .avenir {
    font-size: 26px;
	display:block;
}

.common-title02 {
    font-size: 18px;
	letter-spacing: 2px;
}


.arrow-b {
   background: url(images/arrow_b.png) no-repeat right center;
   padding-right: 20px;
}



.fix-icons {
    position: absolute;
    right: 20px;
    width: 30px;
    top: 420px;
    z-index: 9999;
}
.fix-icons.toppage { top: 760px; }

.fix-icons li { margin-bottom: 15px; }
.fix-icons.fixed {
    position:fixed;
	top:120px;
	right: 20px;
}

@media screen and (max-width: 1200px){
    .fix-icons { display: none; }
}

/*
  common-contact
========================*/
#common-contact { margin-bottom: 70px; }
#contact-nav {
    overflow:hidden;
	padding: 0 30px;
}
#contact-nav li a {
	font-size: 16px;
	font-weight: bold;
	text-align:center;
	display: block;
    width: 482px;
    height: 75px;
	box-sizing: border-box;
}
#contact-nav li.fl a { line-height: 75px; background: #ff6600; } 
#contact-nav li.fr a { line-height: 69px; border: solid 4px #dddddd; } 

#contact-nav li a .avenir {
	font-size: 22px;
	margin-right: 10px;
}

#contact-nav li.fr a .avenir { color: #ff6600; }

/*
  common-posts-list
========================*/
#common-posts .title {
    line-height: 47px;
	font-size: 18px;
	text-align:center;
	margin-bottom: 25px;
	background-image: url(images/bg_graydots.gif);
	letter-spacing: 2px;
}
#common-posts-list {
display: flex;
    flex-wrap: wrap;
}
#common-posts-list li {
    width: 33.333%;
    box-sizing: border-box;
    padding: 0 30px 20px 0;
	margin-bottom: 20px;
	border-bottom: dotted 1px #ccc;
}

#common-posts-list li .resize {
	height: 102px;
	width: 102px;
	line-height: 102px;
	
}
#common-posts-list li .text-area { width: 220px; }

#common-posts-list li .posts-date {
    font-size: 12px;
	font-style:italic;
	margin-bottom: 10px;
}
#common-posts-list li .posts-title {
    font-size: 15px;	 
}


/* blog post style */
.blog-list li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.blog-list li .post-date {
    font-size: 11px;
	font-style:italic;
	margin-bottom: 6px;
}
.blog-list li .post-title {
    font-size: 15px;
	line-height:1.6;
	margin: 5px 0;
}
.blog-list li .post-author {
	color: #ff6600;
}
.to-archive {
   display: block;
   font-size: 16px;
   width: 220px;
   line-height: 39px;
   text-align:center;
   letter-spacing: 2px;
   margin: 50px auto;
   background: #fff;
   border: solid 2px #000;
}
.cat-icon {
    display: inline-block;
    color: #fff;
    line-height: 1;
    font-size: 11px;
    font-style: italic;
    background: #bbb;
    padding: 5px 10px;

}
.blog-list li .cat-icon {
    margin-top: 10px;
}

/*====================================

    top

=====================================*/

/* slider */
#top-area {
    background: url(images/bg_orangedots.gif);
	padding: 10px 0 20px; /* 30px 0 0; */
	height: 610px;
        position: relative;
}
#main-slider-wrap-inner {
    position: absolute;
    left: 50%;
    margin-left: -1200px;
    width: 2400px;
    overflow: hidden;
}
#main-slider-wrap-inner .bx-wrapper { margin: 0 auto; }

#main-slider-wrap {
    width: 800px;
    height: 450px;
    margin: auto;
	position: relative;
}
#main-slider-wrap .line {
    position: absolute;
    background: #ff6600;
    display: block;
    z-index: 100;
}
#main-slider-wrap .line-t,
#main-slider-wrap .line-b {
    height: 5px;
    width: 100%;
}
#main-slider-wrap .line-l,
#main-slider-wrap .line-r {
    height: 100%;
    width: 5px;
}
#main-slider-wrap .line-t { top:0;    left:0; }
#main-slider-wrap .line-b { bottom:0; left:0; }
#main-slider-wrap .line-l { top:0;    left:0; }
#main-slider-wrap .line-r { top:0;    right:0;}


#main-slider-wrap:before,
#main-slider-wrap:after {
    content: '';
    display: block;
    width: 800px;
    height: 450px;
    position: absolute;
    top:0;
    background: rgba(0,0,0,0.3);
    z-index: 100;
}
#main-slider-wrap:before { left: -800px; }
#main-slider-wrap:after  { right: -800px; }

#main-slider li {
     width: 800px;
    height: 450px;
	position: relative;
}

#main-slider li .caption {
    position: absolute;
	bottom:0;
	left:0;
	z-index:9999;
	background:rgba(0,0,0,0.5);
	height: 100px;
	width: 800px;
	box-sizing: border-box;
	padding: 10px 17px;
}
#main-slider li .caption .title01 {
	font-size: 15px;
	font-weight: bold;
	color: #ff9921;
	letter-spacing:2px;
	margin-bottom:4px;
}
#main-slider li .caption .title02 {
    color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height:1.5;
}
#main-slider li .caption .unlink {
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	width: 120px;
	text-align:center;
	line-height: 40px;
    position: absolute;
	right: 17px;
	bottom: 17px;
	border: solid 2px #fff;
}

/* sldier thumb */
#top-area .bnr-wrap {
    width: 1100px;
	height: 140px;
    margin: 20px 0 0 -150px;
    position: relative;
    top: 470px;
}
#top-area .bnr-wrap .pos01 {
    position: absolute;
    left: 0;
    top: -5px;
}
#top-area .bnr-wrap .pos02 {
    position: absolute;
    right: 0;
    bottom: 0;
}

#main-slider-thumb { text-align:center; }
#main-slider-thumb li {
   display: inline-block;
}
#main-slider-thumb li a {
    display:block;
	cursor:pointer;
	-webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
	border:solid 2px transparent;
}
#main-slider-thumb li a.active {
	border:solid 2px #ff6600;
	position:relative;
}
#main-slider-thumb li a.active:after {
    position: absolute;
    content: url(images/top_slide_arrow.png);
    left: 120px;
     top: -17px;
}
#main-slider-thumb li a img { border:solid 2px #ff6600; }



/*=====================================
   information
======================================*/
#information-area {
    margin-bottom: 50px;
}

#information-area .box01 {
	overflow:hidden;
	padding: 22px 0 10px;
	margin-bottom: 25px;
	border-bottom: solid 3px #ff6600;
}

#information-area .information-title {
	font-size: 15px;
	letter-spacing:0.08em;
	color: #ff761a;
	float:left;
	margin-right: 10px;
}
#information-area .box02 ul { overflow:hidden; }
#information-area .box02 ul li {
	width: 355px;
	float:left;
	margin-left: -50px;
        position: relative;
        opacity:0;
	-webkit-transition: all 0.7s ease-in-out;
        transition: all 0.7s ease-in-out;
}
#information-area .box02 ul li.active {
    opacity: 1;
    margin-left: 16.6px;
}
#information-area .box02 ul li.active:first-child { margin-left: 0; }



.someken-comment {
    position: relative;
}
.someken-comment .textwidget {
    position: absolute;
    font-weight: bold;
    top: 14px;
    left: 14px;
    width: 100px;
    height:50px;
    background: #fff;
    z-index:10;
}



/* 各ブログ */
.top-blog-area { padding: 40px 0 10px; }

#blog-area02,#blog-area04 {
	background: url(images/bg_orangenaname.gif);
} /* 魁EC塾、エフメンバーブログ */


#blog-area01 .inner:before,
#top-service-area .inner:before,
#member-blog-area .inner:before,
#office-area .inner:before
/* , #common-contact .inner:before */
{
    position: absolute;
    left: -45px;
    top: 15px;   
}
#blog-area01 .inner:before      { content: url(images/top_left01.png); }
#top-service-area .inner:before { content: url(images/top_left02.png); }
#member-blog-area .inner:before { content: url(images/top_left03.png); top: 200px; }
#office-area .inner:before      { content: url(images/top_left04.png); }
/* #common-contact .inner:before   { content: url(images/top_left05.png); } */


.blog-area-title {
    line-height: 1;
    margin-bottom: 35px;
}
.blog-area-title span {
    margin-left: 10px;
}
#home-contents .top-blog-area .blog-list {
	overflow: hidden;
}
#home-contents .top-blog-area .blog-list li {
    float: left;
    width: 200px;
	margin-left: 25px;
}
#home-contents .top-blog-area .blog-list li:first-child {
	margin-left: 0;
}

#home-contents .top-blog-area .blog-list li .resize {
    height: 200px;
    width: 200px;
    background: #fff;
    margin-bottom: 10px;
    position: relative;
}
#home-contents .top-blog-area .blog-list li .resize img {
    width: auto;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
}

#home-contents .top-blog-area .blog-list li,
.works-list li  {
    -webkit-transform: scale(.7);
    -ms-transform: scale(.7);
    transform: scale(.7);
    opacity: 0;
    visibility: hidden;
    transition-duration: 500ms;

}
#home-contents .top-blog-area .blog-list li.show-active,
.works-list li.show-active {
   -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    visibility: visible;
    opacity: 1;
}


/* our service */
#top-service-area { position: relative;
/*margin-top:20px;*/
	margin-top: 60px;
 }

#top-service-title {
    background: url(images/top_service_ttl_bg.png) no-repeat center;
    text-align: center;
    width: 256px;
    height: 166px;
    box-sizing: border-box;
    padding-top: 40px;
    margin: 0 0 0 -128px;
    letter-spacing: 2px;
	line-height:1.7;
    position: absolute;
    top: -25px; left: 50%;
    z-index: 10;
}
#top-service-title span {
	font-size: 26px;
	letter-spacing:0.1em;
    display: block;
}

#top-service-area .top-service-subtitle {
   font-size:  25px;
   letter-spacing:2px;
   margin-bottom: 15px;
}
#top-service-area .top-service-subtitle span {
	font-size: 56px;
	font-weight: normal;
	color: #ff6600;
	margin-right: 10px;
}
#top-service-area .copy {
    font-size: 22px;
	letter-spacing:0.08em;
    margin-bottom: 10px;
}
#top-service-area .text {
	line-height: 2.1;
	width:90%;}

#top-service-area .fl,
#top-service-area .fr {
	box-sizing:border-box;
	width: 550px;
}

#top-service-area li {
    clear: both;
    overflow: hidden;
}

#top-service-area .li01 { padding: 40px 0 15px; }

#top-service-area .li01 .fr { padding: 100px 0 0 30px; }


#top-service-area .li02 { padding: 60px 0 30px; }
#top-service-area .li02 .fl { padding: 0 30px 0 0; }


#top-service-area .li03 { padding: 0 0 45px; }
#top-service-area .li03 .fl { padding: 45px 0 0; }
#top-service-area .li03 .fr { padding: 60px 0 0 30px; }

#top-service-area li .inner { overflow: hidden; }
#top-service-area li .link {
	display: block;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	line-height: 38px;
	width: 120px;
	margin-top: 10px;
	background: #fff;
	border: solid 2px #000;
	float: right;

	-webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
#top-service-area li .link:hover {
	background: #000;
	color: #fff;
}

#top-service-area .to-archive {
    display: block;
	font-size: 16px;
	width: 480px;
	line-height: 60px;
	letter-spacing: 0.1em;
	text-align:center;
	margin: 30px auto 0;
	background: #ff6600;
	color: #fff;
    border: none;
	-webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
#top-service-area .to-archive span {
    color: #000;
	font-size: 22px;
	margin-right: 10px;
	vertical-align: middle;
}
#top-service-area .to-archive:hover { opacity:0.7; }





/* member's blog */
#member-blog-area .title-img  {
	text-align: center;
	margin: 50px 0;
}

#member-blog-area .title-area {
    position: relative;
    border-top: solid 5px #ff6600;
}

#member-blog-area-title {
    width: 320px;
    margin: -20px auto 50px;
    background: #fff;
    text-align: center;
    letter-spacing: 2px;
}
#member-blog-area-title span {
	font-size: 26px;
    display: block;
    margin-bottom: 5px;
}

#member-blog-area .blog-list li {
	width: 520px;
	margin-bottom: 30px;
}
#member-blog-area .blog-list li:nth-child(odd) { float: left; }
#member-blog-area .blog-list li:nth-child(even) { float: right; }



#member-blog-area .blog-list li .resize {
    height: 130px;
    width: 130px;
    line-height: 130px;
}

#member-blog-area .blog-list li .text-area {
   width: 360px;
}


/* office-area */
#office-area {
	padding: 30px 0 40px;
	margin: 50px 0 60px;
	background: url(images/bg_orangeline.gif);
}
#office-area .inner { height: 370px; }

#office-area .pos { position:absolute; bottom: 0; }

/*
#office-area .pos01 {
	left: 40px;
}
#office-area .pos02 {
    left: 50%;
    margin-left: -154px;
}
#office-area .pos03 { right: 40px; }
#office-area .pos04 { left: 300px; }
*/
#office-area .pos01 {
    left: 220px;
}
#office-area .pos02 {
    right: 195px;
}
#office-area .pos03 { right: 40px; }
#office-area .pos04 {
    left: 130px;
}


/*============================================

   下層共通

=============================================*/
#page-contents { margin-bottom: 70px; }

#page-contents .contents { clear:both; padding-top: 60px; }

#page-img {
    position: relative;
    height: 300px;
}
#page-img img {
    position: absolute;
    left: 50%;
    margin-left: -960px;
}
#page-img .page-img-title {
	text-align: center;
    position: absolute;
    width: 100%;
    color: #fff;
    font-size: 14px;
    top: 120px;
    letter-spacing: 2px;
}
#page-img .page-img-title span {
    font-size: 35px;
	display:block;
}

.to-link-area {
    overflow: hidden;
    padding-top: 60px;
}
.to-link-area li { width: 48%; }
.to-link-area li:first-child { float: left; }
.to-link-area li:last-child  { float: right; }
.to-link-area li a {
    display: block;
    text-align: center;
    border: solid 1px #000;
    line-height: 50px;
    font-size: 16px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.to-link-area li a:hover {
    background: #000;
    color: #fff;
}

/*============================================

   company

=============================================*/

/* vision */
#company-vison .box {
    width: 680px;
	margin: 0 auto 60px;
}
#company-vison .box p {
	letter-spacing: 2px;
	line-height:2.5;
}

#company-vison .box-full {
    background: url(images/bg_orangedots.gif);
	padding: 40px 0;
	text-align:center;
}
#company-vison .box-full h3 { margin-bottom: 30px; }
#company-vison .box-full li { margin-bottom: 30px; }
#company-vison .box-full li:last-child { margin-bottom: 45px; }

/* company */
#company-profile .table01 {
   margin: 0 auto 90px;
   padding-left: 100px;
}
#company-profile .table01 th {
   width: 140px;
   text-align:left;
   vertical-align:top;
   padding: 0 0 15px;
}
#company-profile .table01 td {
   vertical-align:top;
   padding: 0 0 15px;
}

/* office */
#company-office {
	padding-bottom: 70px;
	text-align:center;
    background: url(images/bg_orangenaname.gif);
}
#company-office li { clear:both; }
#company-office li .box { overflow:hidden; }
#company-office li .box .fl,
#company-office li .box .fr { width: 550px; }

#company-office li h3 { font-size: 15px; }
#company-office li p { margin-bottom: 20px; }

#company-office .map {
    width: 550px;
    height: 350px;
}


/*============================================

   service

=============================================*/
.page-service #service-nav {
	text-align: center;
	margin-bottom: 40px;
}
.page-service #service-nav li {
	display: inline-block;
    margin: 0 0 0 15px;
}
.page-service #service-nav li a { font-size: 15px; }

.page-service #service-nav li:before {
	content: "/";
	margin-right: 15px;
}
.page-service #service-nav li:first-child:first { margin-left: 0; }
.page-service #service-nav li:first-child:before {
	margin-right: 0;
	content: "";
}
	



.page-service .inner { overflow: hidden; }

.page-service .service-subtitle {
   font-size:  25px;
   letter-spacing:2px;
   margin-bottom: 15px;
}
.page-service .service-subtitle span {
	font-size: 56px;
	font-weight: normal;
	color: #ff6600;
	margin-right: 10px;
}
.page-service .copy {
    font-size: 22px;
    margin-bottom: 10px;
}
.page-service .text { line-height: 2; }

.page-service .inner .fl,
.page-service .inner .fr {
	box-sizing:border-box;
	width: 550px;
}

.page-service .btm li {
    width: 330px;
    float: left;
    margin-left: 55px;
}
.page-service .btm li:first-child {
    margin-left: 0;
}

.page-service li .service-name {
    text-align:center;
	font-size: 20px;
	padding: 10px 0;
	margin-bottom: 15px;
	border-bottom: solid 1px #ff6600; 
}
.page-service li p {  line-height: 1.7; }


#service-ec { padding: 0 0 60px !important; }
#service-ec .fr { padding: 50px 30px 0 30px; }


#service-web { padding-bottom: 60px; }
#service-web .fl { padding: 0 30px 0 0; }

#service-movie { padding-bottom: 120px; }
#service-movie .fr { padding: 0 0 0 30px; }
#service-movie .fr li { margin-top:50px; }
#service-movie .fr li .service-name { text-align: left; }



/*============================================

   workflow

=============================================*/
#page-workflow .box {
    width: 1000px;
    margin: auto;
}
#page-workflow .list01 > li {
    overflow: hidden;
    clear: both;
}
#page-workflow .list01 > li .fl { width: 100px; }
#page-workflow .list01 > li .fr {
    width: 830px;
    padding: 50px 0;
}
#page-workflow .list01 .flow-title {
    font-size: 24px;
    border-bottom: solid 2px #ff6600;
    padding-bottom: 5px;
    margin-bottom: 30px;
}
#page-workflow .list01 .flow-subtitle {
    font-size: 18px;
    margin-bottom: 5px;
}

#page-workflow .list01 .table01 {
}
#page-workflow .list01 .table01 th {
	width:90px;
	vertical-align:top;
}
#page-workflow .list01 .table01 td {
	vertical-align:top;
	line-height: 2;
}

#page-workflow .list02 > li {
    padding-bottom: 40px;
    margin-bottom: 20px;
    background: url(images/flow_arrow.png) no-repeat 90px bottom;
}
#page-workflow .list02 > li:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    background: none;
}



/*============================================

   works

=============================================*/
.page-works  .contents { padding: 40px 0 20px; }


.page-works #works-ec,
.page-works #works-movie {  background-color: #f3f3f3; }


.page-works #works-nav {
	text-align: center;
	margin-bottom: 40px;
}
.page-works #works-nav li {
	display: inline-block;
    margin: 0 0 0 15px;
}
.page-works #works-nav li a { font-size: 15px; }

#page-works  #works-nav li:before {
	content: "/";
	margin-right: 15px;
}
.page-works #works-nav li:first-child:first { margin-left: 0; }
.page-works #works-nav li:first-child:before {
	margin-right: 0;
	content: "";
}


.page-works  .worksList-title {
    font-size: 18px;
    text-align: center;
    letter-spacing: 1px;
	margin-bottom: 40px;
}
.page-works  .works-list {
    overflow: hidden;
    margin-left: -55px;
}
.page-works  .works-list li {
    width: 330px;
    float: left;
    margin: 0 0 30px 55px;
}
.page-works .works-list li:nth-child(3n + 1) {
    clear: both;
}

.page-works  .works-list li a { display: block; }

.page-works .works-list li .thumb {
    width: 330px;
    height: 216px;
    overflow: hidden;
}
.page-works  .works-list li .works-title {
    font-size: 15px;
    margin-top: 5px;
}




#bread-nav {
    font-size:0;
    margin: auto;
}
#bread-nav li {
    display:inline-block;
	font-sizse: 13px;
    margin: 0 10px 10px 0;
}

.works-detail {
	margin-bottom: 100px;
}
#works-detail-view {
    border-collapse: collapse;
    width: 100%;
}
#works-detail-view th {
	width: 48%;
}
#works-detail-view th div {
	height: 100%;
    max-height: 500px;
    /* overflow-y: scroll;*/
    overflow: auto;
}
#works-detail-view th div img {
	width: 100%;
}
#works-detail-view td {
    padding-left: 50px;
    vertical-align: top;
}
#works-detail-view td h2 {
    font-size: 16px;
    margin: 0 0 30px;
}
#works-detail-view td p {
    line-height:2;
	margin-top:30px;
}
#works-detail-view td .ctg-icon-group {
	font-size: 0;
}
#works-detail-view td .ctg-icon-group li {
    padding: 5px 10px;
    display: inline-block;
    background: #eee;
    border-radius: 3px;
    margin: 0 5px 5px 0;
	font-size: 12px;
}

.works-relations h3 {
    border-top: solid 2px #000;
    border-bottom: solid 1px #ccc;
    text-align: center;
    margin-bottom: 20px;
    padding: 10px;
    font-size: 16px;
}
.works-relation-cat {
    margin-left: -5px;
    width: calc(100% + 5px);
}
.works-relation-cat span {
    display: inline-block;
    font-size: 12px;
    margin: 5px 0 0 5px;
    padding: 2px 10px;
    background: #eee;
    border-radius: 5px;
}


/*============================================

   member

=============================================*/

#page-member #member-list {
	overflow: hidden;
	margin-left: 15px;
}
#page-member #member-list > li {
      width: 215px;
	  margin:0 0 35px 35px;
      float: left;
     text-align: center;
     cursor: pointer;
	 position: relative;
}
#page-member #member-list > li.efteam:after {
    content: '';
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 100px;
    overflow: hidden;
    background: url(./images/icon_efteam.png?202008) no-repeat center;
    background-size: 58px;
    position: absolute;
    right: 0;
    top: 0;
	z-index: 10;
}
#page-member #member-list > li .member-position-en {
	font-size:11px;
	margin-top:15px;
}
#page-member #member-list > li .member-name-en {
	font-weight:bold;
	letter-spacing:1px;
}
#page-member #member-list > li .member-nickname {
	letter-spacing:2px;
}


#modal {
   background:rgba(0,0,0,0.7);
   width: 100%;
   height: 100%;
   position:fixed;
   top:0; left:0;
   z-index: 10000;   
	display: none;
}

#modal-wrap {
	width: 800px;
    height: 520px;
    margin: 10% auto;
	position: relative;
}
#modal .member-info {
	width: 800px;
    height: 520px;
	padding: 50px;
	overflow-y: scroll;
    background: url(images/menber_pop_bg) no-repeat;
    box-sizing: border-box;
    position:absolute;
	top:0; left:0;
	-ms-overflow-style: none;
        scrollbar-width: none; 

    -webkit-transform: scale(.7);
    -ms-transform: scale(.7);
    transform: scale(.7);
    opacity: 0;
    visibility: hidden;
    transition-duration: 300ms;
}
.member-info::-webkit-scrollbar {
    display: none;
}
#modal .member-info.active {
-webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    visibility: visible;
}

#modal .member-img {
	width: 200px;/* 画像サイズ */
}
#modal .member-detail {
	width: 470px;
}
#modal .member-detail-name {
}
#modal .member-detail-name-en {
	display: inline-block;
	font-size: 20px;
	position: relative;
}
#modal .member-detail-name-en.efteam:after {
	content: '';
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 100px;
    overflow: hidden;
    background: url(./images/icon_efteam.png?202008) no-repeat center;
    background-size: 58px;
    position: absolute;
    right: -86px;
    top: -5px;
    z-index: 10;
}
#modal .member-detail ul {
	margin-top: 30px;
}
#modal .member-detail ul li {
	margin-bottom: 30px;
}
#modal .member-detail ul li h4 {
    color: #fff;
     background: #000;
    display: inline-block;
	letter-spacing:2px;
    padding: 1px 5px;
    margin-bottom: 5px;
}
#modal .member-detail ul li p {
	line-height: 1.7;
	letter-spacing:1px;
}
#modal .member-detail ul li p .m-skill {
	display:inline-block;
    border: solid 2px #ddd;
    font-size: 12px;
    padding: 2px 5px;
    margin: 5px 5px 0 0;
}
#close {
	position:absolute;
    top: 20px; right:20px;
	cursor: pointer;
	background: url(images/member_close.png) no-repeat;
	width: 33px;
	height: 33px;
}

/*============================================

   contact

=============================================*/
#page-contact .text01 {
    font-size: 15px;
    text-align: center;
    line-height: 3;
}
#page-contact #contact-flow {
     text-align: center;
	 margin: 30px auto 40px;
}
#page-contact #contact-flow li {
    display: inline-block;
    line-height: 48px;
    font-size: 16px;
    font-weight: bold;
    border: solid 2px #000;
    letter-spacing: 2px;
    margin: 0 15px;
	padding: 0 30px;
}
#page-contact #contact-flow li.current { background-color: #ff6600; }

#page-contact  #contact-table  {
    width: 790px;
    margin: 30px auto 40px;
}
#page-contact  #contact-table th {
    padding: 20px 25px 0 0;
    vertical-align: top;
    text-align: right;
}
#page-contact  #contact-table  td {
     padding: 10px 0;
}

#page-contact  #contact-table .size-m {
    width: 320px;
    height: 35px;
    background: #eee;
    border: none;
    text-indent: 10px;
}
#page-contact  #contact-table  .sub-text {
    display: block;
    color: #444444;
}

#page-contact  #contact-table span.wpcf7-list-item {
	margin:0;
	display:block;
}
#page-contact  #contact-table .wpcf7-form-control-wrap.radio-331 label {
    display: block;
    border-bottom: dotted 1px #000;
    font-size: 13px;
    line-height: 45px;
}
#page-contact  #contact-table .detail01 {
    position: absolute;
    left: 140px;
    bottom: 18px;
    width: 420px;
}
#page-contact  #contact-table  textarea {
    width: 100%;
    height: 280px;
    box-sizing: border-box;
    padding: 10px;
    background: #eee;
    border: none;
}

#send-file-method {

}
#send-file-method li {
	display:none;
	padding-top: 10px;
}
#send-file-method li.active {
	display: block;
}


#form-btns {
   text-align:center;
   margin-top: 20px;
}

#page-contact .wpcf7-confirm {
	display: block;
    margin: 20px auto 0;
    width: 240px;
    line-height: 50px;
    background: #000;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
}

#page-contact .wpcf7-back {
	display: inline-block;
    width: 240px;
    line-height: 50px;
    background: #aaa;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
}

#page-contact .wpcf7-submit {
	    display: inline-block;
    margin: 0 0 0 20px;
    width: 240px;
    line-height: 50px;
    background: #000;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
}

/* 上の方に出てくる送信ボタンを非表示 */
#page-contact .wpcf7-submit.wpcf7c-elm-step2:first-child { display:none; }

#page-contact #contact-table #job-type,
#page-contact #contact-table #file-type { padding-top: 15px; }

#slt-type label,
#job-type label,
#file-type label {
	padding: 2px 5px;
   -webkit-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
}
#job-type label,
#file-type label {
   float: left;
	margin-right:10px;
}

#slt-type label.chk,
#job-type label.chk,
#file-type label.chk { background: #ff6600 !important; }



/*============================================

   blog

=============================================*/
#blog-container {
    width: 1240px;
    margin: 0 auto 70px;
	padding: 60px 20px 0;
	overflow:hidden;
    position: relative;
	box-sizing: border-box;
}


#blog-contents {
	width: 800px;
    float: left;
}

#blog-contents .blog-list {
}
#blog-contents .blog-list li {
	clear:both;
	overflow:hidden;
	border-bottom: dotted 1px #000;
	padding: 25px 0;
}
#blog-contents .blog-list li .resize {
	width: 170px;
	height: 170px;
}
#blog-contents .blog-list li .text-area {
	width: calc(100% - 200px);
}
#blog-contents .blog-list li .readmore {
	color: #096295;
}

#blog-container .wp-pagenavi {
    text-align: center;
    margin: 50px 0 130px;
}
#blog-container .wp-pagenavi a,
#blog-container .wp-pagenavi span {
    padding: 0;
    min-width: 25px;
    display: inline-block;
    line-height: 25px;
}
#blog-container .wp-pagenavi .current { background: #ff6600; }





/* 記事 */
.post-header {
    display: flex;
    justify-content: space-between;
    height: 170px;
    position: relative;
    border-bottom: dotted 1px #000;
    padding-bottom: 20px;
    margin-bottom: 40px;
}
#matome-category-wrap .post-header { 
	height: auto;
}

.post-header .thumb {
    width: 170px;
}
.post-header .post-title-area {
    width: calc(100% - 200px);
}
.post-header .post-date {
    font-style: italic;
}
.post-header .post-title {
    font-size: 22px;
	margin-bottom: 5px;
}
.post-header .social-btns {
	position: absolute;
	right:0;
	bottom: 20px; 
}
.post-header .social-btns li,
.post-footer .social-btns li {
    display: inline-block;
	margin-left: 10px;
	float:left;
}
.post-footer .social-btns {
   float:right;
   overflow:hidden;
   margin-bottom: 20px;
}


.post-body {
	font-size: 15px;
	/*padding: 0 40px;*/
	margin-bottom: 50px;
}
#matome-category-wrap .post-body { border-bottom: solid 2px #000; }

.post-body img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}
.post-body h2 {
	font-size: 20px;
	line-height: 40px;
	padding-left: 10px;
	border-left: solid 3px #ff6600;
	margin-bottom:20px;
	background: #f3f3f3;
}
.post-body h3,
.post-body h4,
.post-body h5 {
    font-size: 18px;
    margin-bottom: 10px;
}
.post-body h3 {
    color: #ff6600;
}
.post-body h3:before {
    content: 'ー';
    margin-right: 10px;
}
.post-body p,
.post-body b,
.post-body strong,
.post-body div {
	/* font-size: 16px; */
	line-height: 2;
}
.post-body p {
	margin-bottom: 1em;
}
.post-body a {
    color: #ff6600;
    text-decoration: underline;
}

.post-cattile {
    font-size: 18px;
    text-align: center;
    line-height: 40px;
    border-top: solid 2px #000;
    border-bottom: solid 1px #aeaeae;
    margin-bottom: 15px;
}


.post-body code {
    background: beige;
    display: block;
    padding: 0 20px 20px;
}

.post-body table td {
    font-size: 16px;
    padding: 0 10px;
}
.post-body table td img { max-width: initial; }


/* バックナンバー */
#author-posts-list { }
#author-posts-list li {
    border-bottom: dotted 1px #ccc;
    clear: both;
    overflow: hidden;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
#author-posts-list li a {
	font-size: 15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
#author-posts-list li .img {
    display: block;
    width: 50px;
    height: 50px;
}
#author-posts-list li .text {
    width: calc(100% - 70px);
}

.more-post {
    text-align: right;
    margin: 30px 0 70px;
}
.more-post a {
    color: #f60;
    font-weight: bold;
    border: solid 2px #f60;
    padding: 10px 20px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
   -webkit-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
}
.more-post a:hover {
   background: #f60;
   color:#fff;
}



/* 関連記事 */
#relation-posts-list li {
    width: 345px;
	margin-bottom: 30px;
}
#relation-posts-list li:nth-child(odd) {
    float: left;
    clear: both;
}
#relation-posts-list li:nth-child(even) {
    float: right;
}

#relation-posts-list li .resize {
    width: 125px;
}
#relation-posts-list li .text-area {
    width: 200px;
}
#relation-posts-list li .post-date {
    font-size: 12px;
	font-style:italic;
	margin-bottom: 10px;
}
#relation-posts-list li .post-title {
    font-size: 15px;
	margin: 5px 0;
}




/*   sidebar
-----------------------*/
#sidebar {
    width: 350px;
	float: right;
}

#sidebar .cat-title {
    font-size: 15px;
	letter-spacing: 2px;
	line-height: 28px;
	text-indent: 10px;
	background: #ff835d;
	margin-bottom: 20px;
}

#sidebar .category-wrap {
    padding: 20px;
    margin-bottom: 50px;
    background: url(images/bg_orangedots.gif);
}


/* category */
#sidebar .cat-list {
    margin: 0 0 30px 10px;
}
#sidebar .cat-list li {
    margin-bottom: 10px;
}
#sidebar .cat-list li a {
    font-weight: bold;
}


/* staff */
#sidebar .staff-list {
    margin-left: -10px;
    overflow: hidden;
}
#sidebar .staff-list li {
    width: 125px;
    margin: 0 0 10px 10px;
    float: left;
}
#sidebar .staff-list li img {
    vertical-align: middle;
	border-radius: 100000px;
	overflow: hidden;
}
#sidebar .staff-list li span {
	font-size: 11px;
}


/* ranking */
#scroll-fix-wrap {
	width: 350px;
}
#scroll-fix-wrap.abs {
    position: absolute;
    bottom: 0;
    right: 0;
}
#scroll-fix-wrap.fixed {
    position: fixed;
    top: 100px;
}
#sidebar .ranking-list {
	
}
#sidebar .ranking-list li {
	clear: both;
	overflow:hidden;
	border-bottom: dotted 1px #000;
	padding: 10px 0;
}
#sidebar li .ranking-list li:first-child { border-top: dotted 1px #000; }

#sidebar .ranking-list .ranking-num {
    font-size: 15px;
    font-weight: bold;
    display: block;
    width: 30px;
    line-height: 30px;
    background: #000;
    color: #fff;
    text-align: center;
	float: left;
    margin: 25px 10px 0 5px;
    -moz-border-radius: 30px;
    -webkit-border-radius: 30px;
    border-radius: 30px;
}
#sidebar .ranking-list .wpp-thumbnail {
    margin: 0 15px 0 0;
}

#sidebar .ranking-list .wpp-post-title {
   font-weight: bold;
    display: block;
    float: left;
    width: 150px;
    padding-top: 10px;
}
#sidebar .ranking-list li a { display: block; }

/*============================================

   recruit

=============================================*/
.page-recruit  .text01 {
	  font-size: 15px;
	  text-align: center;
	  line-height: 2.5;
	  letter-spacing:1px;
}
#page-recruit-nav-area {
	 margin: 120px auto 50px;
     padding: 40px 0;
     background: url(images/bg_orangedots.gif);
}
#page-recruit-nav-area .common-title {
	font-size: 24px;
	margin-bottom: 40px;
}
#page-recruit-nav-area #recruit-nav {
     overflow:hidden;
	 margin-bottom:30px;
}
#page-recruit-nav-area #recruit-nav li { width:520px; margin-bottom: 15px;}
#page-recruit-nav-area #recruit-nav li:nth-child(odd) { float:left;  clear:both;}
#page-recruit-nav-area #recruit-nav li:nth-child(even) { float:right; }

#page-recruit-nav-area #recruit-nav li a {
      display:block;
	  position:relative;
      line-height: 47px;
      font-size:16px;
	  padding-left: 20px;
	  background: #fff;
}
#page-recruit-nav-area #recruit-nav li a .status {
      position: absolute;
	  right:10px;
	  font-style: italic;
	  font-size: 16px;
	  color: #ff0000;
}
#page-recruit-nav-area #recruit-nav li a .status:after {
      content: '>';
	  margin-left: 10px;
}
#page-recruit-nav-area .title02 {
     font-size: 14px;
	 margin-bottom:20px;
}


.recruit-contents {
    border: solid 5px #dddddd;
    width: 1100px;
    margin: 0 auto 100px;
    box-sizing: border-box;
    padding: 50px;
}
.recruit-contents .recruit-title { font-size: 18px; }
.recruit-contents .recruit-title-en { font-size: 11px; }
.recruit-contents  .recruit-table {
    margin-top: 20px;
}
.recruit-contents  .recruit-table  th {
      text-align: left;
	  width: 130px;
	  vertical-align: top;
	  padding-bottom: 20px;
}
.recruit-contents  .recruit-table  td {
	  vertical-align: top;
	  padding-bottom: 20px;
}


/*============================================

   privacy-policy

=============================================*/
#page-privacy-policy .list01 > li { margin-bottom: 20px; line-height: 1.7; }
#page-privacy-policy .list02 {  }








/*============================================

   sitemap

=============================================*/
.page-sitemap .level01 {
    width: 100%;
    max-width: 640px;
    margin: auto;
	line-height:2;
}
.page-sitemap .level01 >li {
    border-bottom: dotted 1px #ccc;
}

.page-sitemap  .title:before {
	 content:'■';
     color: #ff6600;
	 margin-right: 5px;
}

.page-sitemap .level02 {
    padding:0 0 5px 20px;
}
.page-sitemap .level02 > li a:before {
    content: '-';
    margin-right: 5px;
}





/* 404 */
.page-404 ul {
    overflow: hidden;
    margin: 50px auto 0;
    width: 550px;
}

.page-404 ul li {
    float: left;
    width: 50%;
    margin-bottom: 20px;
}




/* review */
.page-review {
    line-height: 2;
}
.page-review--desc {
    font-size: 16px;
    margin: 0 auto 30px;
}
.review-list li {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    padding: 80px 0;
    position: relative;
}
.review-list li:nth-child(even) {
    flex-direction: row-reverse;
}
.review-list li:nth-child(even):after {
    content: '';
    display: block;
    width: 200vw;
    height: 100%;
    background: #f3f3f3;
    position: absolute;
    left: -50vw;
    top: 0;
    z-index: -1;
}
.review-list li .img {
    width: 48%;
}
.review-list li .img img {
	max-width: 100%;
}
.review-list li .info {
    width: 48%;
}
.review-list li .info .text {
    margin-bottom: 10px;
    font-size: 15px;
}
.review-list li .info .name {
    font-size: 16px;
    text-align: right;
    font-weight: bold;
}

.review-toblog {
    margin: 150px 0;
}
.review-toblog h3 {
    text-align: center;
    font-size: 20px;
    letter-spacing: 2px;
    margin-bottom: 60px;
}
.review-toblog h3:after {
    content: '';
    display: block;
    width: 300px;
    height: 2px;
    background: #000;
    margin: auto;
}
.review-toblog--list {
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    max-width: 800px;
    justify-content: space-between;
    margin: auto;
}
.review-toblog--list li {
    width: 48%;
    max-width: 355px;
}













