@charset "utf-8";
/*-----------------------------------------------------
common
--------------------------------------------------------*/
	.forPC,
	.forTB{display:none;}
	.forSP{display:inherit;}

/*-----------------------------------------------------
sp
-------------------------------------------------------*/
html{font-size:10px;}
img {max-width:100%; height:auto;}
body{font-size:1.5rem;}
@media screen and (max-width: 374px) {
	body{font-size:1.4rem;}
}

/*--------------------------------------------------------------------
   header
---------------------------------------------------------------------*/
header nav{ display:none;}

/*--------------------------------------------------------------------
   footer
---------------------------------------------------------------------*/
#ftrBnr ul{ 
	width: 300px;
	padding: 0 15px;
}
#ftrBnr ul li{
	width:auto;
	float:none;
	padding: 0;
}
#ftrBnr ul li + li{margin-top: 25px;}
#ftrBnr ul li img{width:100%;}

#ftrContact{padding:45px 0 50px;}
#ftrContact .wrapBox .titBox,
#ftrContact .wrapBox ul,
#ftrContact .wrapBox ul li{
	width:auto;
	float:none;
}
#ftrContact .wrapBox ul li.ftrForm{padding-right:0;}

#ftrContact .wrapBox .titBox{
	padding-top:0;
	padding-bottom: 20px;
	font-size:1.3rem;
}
#ftrContact .wrapBox .titBox span{font-size: 3rem;}
#ftrContact .wrapBox ul li .tit{font-size: 1.4rem;}
#ftrContact .wrapBox ul li.ftrTel{padding-bottom: 40px;}
#ftrContact .wrapBox ul li.ftrTel a{font-size:3.1rem;}
#ftrContact .wrapBox ul li.ftrTel a span{font-size: 2.2rem;}
#ftrContact .wrapBox ul li.ftrTel p{font-size: 1.5rem;}
#ftrContact .wrapBox ul li.ftrTel p span{ font-size:1.3rem;}
#ftrContact .wrapBox ul li.ftrForm a{
	font-size: 1.3rem;
	font-weight: bold;
}
footer nav{padding: 25px 0;}
footer nav ul li{
    margin:0 1em;
	font-size: 1.3rem;
}
footer nav ul li a{
	display: block;
	line-height: 2.8;
}

#ftrBtm {padding: 30px 0 20px;}
#ftrBtm .mark{
	width:auto;
	float:none;
	padding-bottom: 30px;
	text-align:center;
}
#ftrBtm .mark a img + img,
#ftrBtm .mark a + a{margin-left:0;}

#ftrBtm .ftrLink{
	width:auto;
	float:none;
	text-align: right;
}
#ftrBtm .ftrLink ul{
	padding: 0 0 20px;
	text-align:center;
}
#ftrBtm .ftrLink ul li{
	display:block;
	font-size: 1.3rem;
	margin-left:0;
	line-height: 2.3;
}
footer .copy{
    font-size:1.2rem;
	text-align: center;
}

/*--------------------------------------------------------------------
   maintitle
---------------------------------------------------------------------*/
#mainTitle{top:-60px;}
#mainTitle .inner{padding-top:58.6%;}

#mainTitle h1{font-size:1em;}
#mainTitle h1 span{font-size:2.53em; padding-bottom: 5px;}
#mainTitle.commonPage h1,
#mainTitle.english h1{font-size: 1.6em;}

/*--------------------------------------------------------------------
   container
---------------------------------------------------------------------*/
#container{
    margin-top:-60px;
    padding:0;
}

/*----------------------------------------------------
local --- top
-------------------------------------------------------*/
/* mainimage
---------------------------------------------------------*/
#mainImage{top:-60px;}
#mainImage li .inner{padding-top: 110%;}
#mainImage li #main01 p{
	font-size: 1.200em;
	line-height: 1.5;
	top: 40%;
}
#mainImage li #main01 p span{
	padding-bottom: 0;
	font-size:2.22em;
	line-height: 1.375;
}

#mainImage li #main02 p{
	font-size: 	1.200em;
	line-height: 1.5;
	top: 30%;
}
#mainImage li #main02 p img{
	width: 40%;
	margin: 0 auto 15px;
}
#mainImage li #main02 p span{
	margin-top: 0px;
	padding: 0 20px;
}
#mainImage li #main02 p span::before,
#mainImage li #main02 p span::after{width: 13px; top: 0.7em;}

/* topInfo
---------------------------------------------------------*/
#topInfo{padding: 35px 0 40px;}
#topInfo .tit{
	width: auto;
	float: none;
}
#topInfo .tit h2{
	font-size:0.867em;
	margin-bottom: 10px;
}
#topInfo .tit h2 span{
	padding-bottom: 0px;
	font-size: 1.9em;
}
#topInfo .tit a{display: none;}
#topInfo .list > a{
	display: block;
	width: 250px;
	height: 46px;
	max-width: 100%;
	margin: 15px auto 0;
	border-radius: 23px;
	background-color: #1c2b77;
	text-align: center;
	line-height: 46px;
	color: #fff;
	font-size:1.3rem;
	}
#topInfo .list{margin-left:0;}
#topInfo .list ul li{padding-bottom: 20px;}
#topInfo .list ul li + li{margin-top:0;}
#topInfo .list ul li span{
	float: none;
	padding-bottom: 5px;
	font-size: 1.4rem;
	line-height:1;
}
#topInfo .list ul li p{
	margin-left:0;
	font-size: 1.4rem;
}
/* topAbout
---------------------------------------------------------*/
#topAbout{
	padding-bottom: 105%;
}
#container #topAbout::after{
	width: 100%;
	padding-bottom: 105%;
	padding-right:0;
	top:auto;
}
#topAbout .inner{
	width: 100%;
	min-height:inherit;
	margin-right:0;
	padding: 40px 0 35px;
}
#topAbout .inner h2,
#topService h2,
#topLink a h2{
	font-size: 	1.3rem;
	margin-bottom: 25px;
}
#topAbout .inner h2 span,
#topService h2 span,
#topLink a h2 span{font-size: 3.2rem;}

#topAbout h3 span{font-size: 1.333em;}

#topAbout ul li + li{margin-top: 10px;}
#topAbout ul li{
	background-size: 14px auto;
	padding-left: 20px;
}

/* topService
---------------------------------------------------------*/
#topService{padding: 45px 15px 80px;}

#topService h2{margin-bottom: 30px;}
#topService ul{
	text-align: center;
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 30px;
}
#topService ul li{
	width: 33.333%;
	margin-bottom: 10px;
}
#topService ul li div span{font-size: 0.600em;}

#topService a{
	width: 250px;
	height: 46px;
	border-radius: 23px;
	line-height: 46px;
	font-size:1.3rem;
}
/* topLink
---------------------------------------------------------*/
#topLink{padding: 50px 20px 60px;}
#topLink a{
	width: auto;
	float: none;
	padding-top: 56%;
}
#topLink a + a{float: none; margin-top: 30px;}
#topLink a span.img{width: calc(100% - 23px);}
#topLink a h2{top: 22%;}

/*----------------------------------------------------
local --- second
-------------------------------------------------------*/
/* service
----------------------------------------------------*/
#container.service section{padding: 45px 0;}
#container.service section.lNav{padding: 45px 15px;}
#container.service section.lNav ul li{
	width: auto;
	float: none;
	margin-right:0;
	padding-bottom:0;
}
#container.service section.lNav ul li + li{margin-top: 20px;}

#container.service section.lNav ul li a{
	height: 50px;
	border-radius: 25px;
	font-size:	0.933em;
	line-height: 50px;
}
#container.service section h2{font-size:1.467em;}
#container.service section ul.ico li{
	background-size: 14px auto;
	padding-left: 20px;
}
#container.service section ul.ico li p{margin-left: -20px;}

/* company
----------------------------------------------------*/
#container.company,
#container.recruit,
#container.office365,
#container.commonPage,
#container.information,
#container.contact{padding-top:45px;}
#container.company section{padding-bottom: 40px;}

#container.company section h2,
#container.recruit section h2{
	font-size: 	1.600em;
	margin-bottom: 25px;
}

#container.company section table th,
#container.company section table td,
#container.recruit section table th,
#container.recruit section table td,
#container.commonPage section.tbBox table th,
#container.commonPage section.tbBox table td,
#container.english section table th,
#container.english section table td{
	display: list-item;
	list-style-type: none;
	padding: 0;
}
#container.company section table th,
#container.recruit section table th,
#container.commonPage section.tbBox table th,
#container.english section table th{
	border: none;
	padding-top: 15px;
	padding-bottom: 5px;
}
#container.company section table td,
#container.recruit section table td,
#container.commonPage section.tbBox table td,
#container.english section table td{
	padding-bottom: 15px;
}

#container.company section#outline table th,
#container.company section#history table th,
#container.recruit table th,
#container.english section th,
#container.commonPage section.tbBox table th{ width: 100%;}


#outline td dl.place dt{
	float:none;
	cler:none;
}
#outline td dl.place dt{width:auto;}
#outline td dl.place dd{ margin-left: 0;}
#outline td dl.place dd + dt{margin-top: 10px;}

#access p + .mapBox{margin-top: 30px;}
#access .mapBox{padding-top: 58%;}

/*message----------------*/
#container.message section{padding-bottom: 40px;}
#container.message h2{margin-bottom: 20px;}
#container.message h3{margin-bottom: 30px;}
#container.message h3 span{line-height: 2.5;}
#container.message p + p{margin-top: 20px;}

/* philosophy
----------------------------------------------------*/
#philosophy01{
	padding-top: 45px;
	padding-bottom: 40px;
}
#philosophy01 h2 span{font-size:1.5em;}
#container.philosophy section#philosophy02{padding:40px 0 10px;}
#philosophy02 .wrapBox{
	padding-left: 15px;
	padding-right: 15px;
}
#philosophy02 .wrapBox .inner{
	width:auto;
	float: none;
	padding: 0 0 30px;	
}

/* recruit
----------------------------------------------------*/
#container.recruit section{padding-bottom: 40px;}
#container.recruit h3{font-size:	1.133em;}
#container.recruit p.bnr a img{
	display: block;
	width: 230px;
	max-width: 100%;
	margin: 0 auto;
}
#container.recruit section table td strong{display: block;}
#container.recruit section table td strong + br{display: none;}
#container.recruit section table td li + li{
	border-top: none;
	margin-top: 15px;
	padding-top:0;
}

/* office365
----------------------------------------------------*/
#container.office365 section{padding-bottom: 40px;}
#container.office365 section h2{
	font-size: 	1.600em;
	margin-bottom: 20px;
}
#container.office365 section.lead h2 img{
	width: 215px;
	height:auto;
}
#container.office365 section.lead p{
	text-align: left;
	font-size:	1.200em;
}
#container.office365 section h3{font-size: 	1em;}

#container.office365 section .flow{padding: 20px 0 40px;}
#container.office365 section .bdBox{
	padding: 40px 15px;
}
#container.office365 section .bdBox h3{
	width: 8em;
	font-size:1.200em;
}

#container.office365 section .bdBox > p{text-align: left;}

#container.office365 section .bdBox ul li{
	width: auto;
	float: none;
	padding-left:0;
	padding-right:0;
}
#container.office365 section .bdBox ul li + li{margin-top: 15px;}
#container.office365 section .bdBox ul li .tit{
	font-size: 1em;
	padding-bottom:0;
}
#container.office365 section .bdBox ul li.ftrForm a{margin: 15px auto 0;}

/* commonPage
----------------------------------------------------*/
#container.commonPage section{padding-bottom: 40px;}
#container.commonPage section h2{
	font-size:	1.200em;
	line-height: 1.66;
	margin-bottom: 15px;
}
/* english
----------------------------------------------------*/
#container.english{padding:40px 0;}
#container.english section h2{font-size:1.600em; margin-bottom: 20px;}

/* dx_strategy
----------------------------------------------------*/
#container.dx_strategy section{padding: 45px 0;}
#container.dx_strategy section.lNav{padding: 45px 15px;}
#container.dx_strategy section.lNav ul li{
	width: auto;
	float: none;
	margin-right:0;
	padding-bottom:0;
}
#container.dx_strategy section.lNav ul li + li{margin-top: 20px;}

#container.dx_strategy section.lNav ul li a{
	height: 50px;
	border-radius: 25px;
	font-size:	0.933em;
	line-height: 50px;
}
#container.dx_strategy section h2{font-size:1.467em;}
#container.dx_strategy section ul.ico li{
	background-size: 14px auto;
	padding-left: 20px;
}
#container.dx_strategy section ul.ico li p{margin-left: -20px;}

/* blog
----------------------------------------------------*/
/*layout*/
#container .blogIndex,
#container .blogDetail{
	width: 960px;
    overflow:hidden;
	text-align:left;
	padding-bottom: 40px;
    }

/* newsList
-----------------------*/
#container .blogIndex .newsList li{padding:15px 0 10px; line-height: 0;}
#container .blogIndex .newsList li span.date{
	display: block;
	font-size:1.2rem;
	line-height:1;
    position:static;
	margin-bottom: 10px;
}

#container .blogIndex .newsList li p{ margin-left:0;font-size: 1.5rem;}


/*detailTitle*/
#container .blogTitle h3{font-size:1.8rem;}
.blogTitle span{font-size:1.2rem;}
.post {padding-bottom:40px;}

/* pager
--------------*/
.pagination{padding-top:40px;}
/* pager2
--------------*/
.pageNav{
    padding-left:15px;
    padding-right:15px;
}
.pageNav ul li{
	width: 28%;
    height:40px;
}
.pageNav ul li + li{margin-left: 8%;}

.pageNav ul li a{
    line-height:40px;
    font-size:	1.1rem;
}
.pageNav ul li.prev a{
    text-align:left;
    padding-left:35px;    
}
.pageNav ul li.next a{
    text-align:right;
    padding-right:35px;    
}

.pageNav ul li.prev a::before{left:10px;}
.pageNav ul li.next a::before{right:10px;}

/* contact
----------------------------------------------------*/
#container.contact{padding-bottom: 40px;}
#container.contact section .tel{padding-bottom: 30px;}
#container.contact section .tel a{ margin-top: -10px;}


/* form
----------------------------------------------------*/
#form table{margin-bottom:40px;}
#form table th,
#form table td{
    display:list-item;
    list-style:none;
}
#form table th{
    width:auto;
    border-bottom:none;
    padding:10px 0 0;
}
#form table th br{display:none;}
#form table td{padding-top:10px;}

#form table input[type="text"],
#form table input[type="email"],
#form table input[type="url"],
#form table textarea{
    width:100%;
}
#form table + dl{margin-bottom:30px;}

#form .btn input,
.btnThanks a{
    width:250px;
    height:46px;
    border-radius:23px;
    line-height:46px;
    font-size:1.3rem;
}
#form .btn input,
.btnThanks a{max-width:90%;}



@media screen and (max-width: 374px) {
    /*iphone5*/
}