@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/mplus1p.css);
/* -------------------------------------------
Layout
------------------------------------------- */
body{
	font-size: 0.85em;
	line-height: 1.4;
	text-align: justify;
	font-weight: 400;
	color: #231815;
	background: #fff;
	height: 100%;
	font-family: 'Mplus 1p', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
}

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

/*a*/
a {
	color:#2E3192;
	text-decoration:none;
	transition: 0.3s ease-out;
}
a:hover {
	color:#0071BC;
	text-decoration:none;
}
header a,
footer a,
#menu a,
aside#privacy a{
	color:#000;
	text-decoration:none;
	transition: 0.3s ease-out;
}
header a:hover,
footer a:hover,
#menu a:hover,
aside#privacy a:hover {
	color:#0071BC;
}
div#main a img {
	transition: 0.3s ease-out;
}
div#main a:hover img {
	transform: scale(1.1,1.1);
}

/*figure*/
figure {
	position: relative;
}

/*hedding*/
h2 {
}
h2 {
	margin-bottom: 0.5em;
}
h2 img {
}
div.entrybox h4 {
	font-size: 1.1em;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: solid 2px #2E3192;
	color: #0071BC;
}

/*ul ol li*/
div.entrybox ul,
div.entrybox ol {
	margin-left: 1.5em;
}
div.entrybox ul li {
	list-style: disc;
	margin-bottom: 0.75em;
}
div.entrybox ol li {
	list-style: decimal;
	margin-bottom: 0.75em;
}
div.entrybox ul li ul,
div.entrybox ol li ul {
	margin-top: 0.5em;
	margin-bottom: 1em;
}
div.entrybox ul li ul li,
div.entrybox ol li ul li {
	list-style: circle!important;
	margin-top: 0.25em;
	margin-bottom: 0;
}

/*form*/
dl.form {
	display: flex;
	flex-wrap: wrap;
	margin: 2em 1em 1em;
}
dl.form dt {
	width: 9em;
	border-bottom: dotted 1px #888;
	display: flex;
	align-items: center;
	padding-bottom: 0.75em;
	margin-bottom: 0.75em;
	font-weight: bold;
}
dl.form dd {
	width: calc(100% - 10em);
	border-bottom: dotted 1px #888;
	padding-bottom: 0.75em;
	margin-bottom: 0.75em;
}
dl.form dd span.zipcode input {
	margin-bottom: 0.75em;
}
dl.form dd span.small {
	font-size: 0.75em;
}
dl.form input,
dl.form select {
	padding: 0.5em 0.75em!important;
	max-width: 100%;
}
dl.form input[type='text'] {
	width: 20em;
}
dl.form input[type='email'] {
	width: 30em;
}
dl.form dd span.zipcode input.zipcode {
	width: 7em;
	margin: 0 0.5em 0.75em;
}
dl.form dd.tel input {
	width: auto!important;
}
dl.form dd input.addr {
	width: 100%;
}
dl.form dd textarea {
	width: 100%;
	height: 10em;
}

/* -------------------------------------------
layout
------------------------------------------- */
/*Wrap*/
div#wrap {
	position: relative;
	padding-top: 1.5em;
}

/*Inner*/
.inner {
	width: 94%;
	max-width: 980px;
	margin: auto;
}
.inner:after {
	display: block;
	content: '';
	clear: both
}

/*MainColumn*/
div#main {
	width: 94%;
	max-width: 980px;
	margin: auto;
	padding: 4em 0 5em;
}
div#main:after {
	display: block;
	content: '';
	clear: both
}

/*article*/
article {
	margin: 0 0 0;
	width: 100%;
	float: none;
}

/*section*/
section {
	margin-bottom: 2.7em;
}
section:nth-last-of-type(1) {
	margin-bottom: 0;
}

section div.entrybox {
	margin: 1em;
}
section div.entrybox:after {
	display: block;
	clear: both;
	content: '';
}
section div.entrybox div.description {
	margin-top: 2em;
}

p.sp_menubtn {display: none;}

/* -------------------------------------------
Header
------------------------------------------- */
header#siteheader {
	border-top: solid 10px #0071BC;
	padding: 2em 0 0;
	margin-bottom: 0;
	position: relative;
	width: 100%;
	z-index: 1001;
	background: #fff;
}
header#siteheader h1 {
	width: 200px;
	float: left;
	margin: 0;
	padding: 0;
	line-height: 1;
}
header#siteheader nav.hd {
	float: right;
}
header#siteheader nav.hd ul li {
	display: inline-block;
	padding: 0 0.5em 0 0;
	border-right: solid 1px #000;
	line-height: 1.2;
}
header#siteheader nav.hd ul li:nth-last-of-type(1) {
	border: none;
}

/* -------------------------------------------
Navigatiron
------------------------------------------- */
nav#menu {
	border-bottom: solid 3px #007BFF;
	max-width: 100%;
	margin: 1.5em auto 0;
}
nav#menu ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 94%;
	max-width: 980px;
	margin: 0 auto 1em;
	font-size: 1.25em;
}
nav#menu ul li a {
	display: block;
	background: url(../front_images/icon_nav.png) no-repeat center left;
	background-size: auto 0.75em;
	padding-left: 0.75em;
	transition: 0.3s ease-out;
	border-bottom: solid 3px #fff;
}
nav#menu ul li a:hover,
nav#menu ul li a.active {
	background: url(../front_images/icon_nav_hover.png) no-repeat center left;
	background-size: auto 0.75em;
	padding-left: 0.75em;
	border-bottom: solid 3px;
}

nav.servicechildren,
nav.solutionchildren,
nav.companychildren,
nav.recruitchildren {
	display: none;
	background: #007BFF;
}
nav.servicechildren ul,
nav.solutionchildren ul,
nav.companychildren ul,
nav.recruitchildren ul {
	width: 94%;
	max-width: 980px;
	margin: auto;
	font-size: 1.15em;
	padding: 0.75em 0;
	display: flex;
	flex-wrap: wrap;
}
nav.servicechildren ul li,
nav.solutionchildren ul li,
nav.companychildren ul li,
nav.recruitchildren ul li {
	margin-right: 1em;
	line-height: 1.5
}
nav.servicechildren ul li a,
nav.solutionchildren ul li a,
nav.companychildren ul li a,
nav.recruitchildren ul li a {
	background: url(../front_images/icon_nav_hover.png) no-repeat center left;
	background-size: auto 0.75em;
	padding-left: 0.75em;
	color: #fff;
}
nav.servicechildren ul li a:hover,
nav.solutionchildren ul li a:hover,
nav.companychildren ul li a:hover,
nav.recruitchildren ul li a:hover {
	color: #FBB03B;
}


/* -------------------------------------------
Slider
------------------------------------------- */
div#slider {
	position: relative;
}
div#slider div.inner {
	position: absolute;
	left:0;
	right: 0;
	z-index: 1000;
}
div#slider div.inner h2 {
	margin-top: 5%;
	width: 60%;
}

/* -------------------------------------------
SideBar
------------------------------------------- */
div#sidebar {
	float: right;
	width: 22%;
	display: none;
}
div#sidebar aside {
	margin-bottom: 2.5em;
}
div#sidebar aside#feature li {
	margin-bottom: 1em;
}
div#sidebar aside#onlineorder {
	border: solid 1px #007BFF;
}
div#sidebar aside#onlineorder h2 {
	font-size: 1.15em;
	padding: 0.75em;
	background: #007BFF;
	color: #fff;
	text-align: center;
}
div#sidebar aside#onlineorder ul {
	margin: 1em 1em 0 1em;
}
div#sidebar aside#onlineorder ul li {
	margin-bottom: 0.5em;
	padding-bottom: 0.5em;
	border-bottom: dotted 1px #007BFF;
}
div#sidebar aside#onlineorder ul li:nth-last-of-type(1) {
	border: none;
}
div#sidebar aside#onlineorder ul li dl {
	margin: 0.75em 0;
}
div#sidebar aside#onlineorder input {
	max-width: 100%;
}
div#sidebar aside#onlineorder p.btn {
	text-align: center;
}
div#sidebar aside#onlineorder div.adminform,
div#sidebar aside#onlineorder div.userform {
	display: none;
}
div#sidebar aside#apa h2 {
	font-size: 1.25em;
	text-align: center;
}
div#sidebar aside#apa dd {
	font-size: 0.85em;
	margin-top: 0.5em;
}
div#sidebar aside#apa a {
	font-weight: bold;
}
div#sidebar aside#privacy {
	text-align: center;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
	padding: 1em 0;
	font-weight: 500;
}
div#sidebar aside#privacy figure {
	width: 50%;
	margin: 0 auto 1.5em;
}

/* -------------------------------------------
Footer
------------------------------------------- */
footer#sitefooter {
	padding: 2.5em 0 0 0;
	border-top: solid 3px #0071BC;
}
footer#sitefooter section.info {
	width: 30%;
	float: left;
}
footer#sitefooter section.info p.logo {
	margin-bottom: 0.75em;
}
footer#sitefooter section.info p.logo img {
	height: 32px;
	width: auto;
}
footer#sitefooter nav.ft_nav {
	width: 67%;
	float: right;
	font-size: 0.9em;
}
footer#sitefooter nav.ft_nav dl {
	width: 32%;
	float: left;
	margin-right: 2%;
	margin-bottom: 1em;
}
footer#sitefooter nav.ft_nav dl dt {
	font-weight: 500;
	margin-bottom: 0.25em;
}
footer#sitefooter nav.ft_nav dl:nth-of-type(3n) {
	margin-right: 0%;
}
footer#sitefooter nav.ft_nav ul {
	margin-left: 1em;
}
footer#sitefooter nav.ft_nav ul li {
	margin-bottom: 0.1em;
	background: url(../front_images/icon_nav.png) no-repeat top 0.5em left;
	background-size: auto 0.5em;
	padding-left: 1em;
}
footer#sitefooter nav.ft_nav ul li:nth-last-of-type(1) {
	margin-bottom: 0;
}
footer#sitefooter div.copyright {
	padding: 1em 0;
	text-align: center;
	margin-bottom: 1em;
}

/* -------------------------------------------
Pagetop
------------------------------------------- */
/* トップに戻るボタン */
#page-top {
	position: fixed;
	bottom: 1%;
	right: 1%;
	font-size: 100%;
	z-index: 100000;
	line-height: 1;
	width: 3em;
	padding: 1em 1em 0;
}
#page-top a {
	border-top: solid 1px #4e3b3c;
	text-decoration: none;
	color: #4e3b3c;
	text-align: center;
	display: block;
}
#page-top a:hover {
	text-decoration: none;
}

/* -------------------------------------------
Pages
------------------------------------------- */
/*Pages*/
article.pages header.title {
	position: relative;
	margin-bottom: 2em;
}
article.pages header.title h1 {
	color: #007BFF;
	font-size: 1.5em;
	font-weight: 500;
	border-bottom: solid 2px #007BFF;
	padding: 0.25em 0;
}
article.pages header.title h1 span {
	color: #fff;
	background: #007BFF;
	margin-right: 1em;
	padding: 0.25em 0.5em;
}
article.pages header.title div.btn {
	position: absolute;
	top: 0;
	right: 0;
}
article.pages section header {
	margin-bottom: 1em;
}
article.pages section header h1 {
	font-size: 2.15em;
	font-weight: 300;
	color: #007BFF;
}
article.pages section div.entry {
}
article.pages section div.entry:after {
	clear: both;
	display: block;
	content: '';
}
article.pages section div.entry a {
	font-weight: 500;
}
article.pages section div.entry figure {
	margin-bottom: 1.5em;
}
article.pages section div.entry h3,
article.pages section div.entrybox h3 {
	color: #007BFF;
	margin-bottom: 0.5em;
	font-size: 1.4em;
}
article.pages section div.entry ul {
	margin-left: 1.5em;
}
article.pages section div.entry ul li {
	list-style: disc;
}
article.pages section div.entry p.btn,
article.pages section div.entrybox p.btn {
	margin: 1.5em;
	text-align: center;
}
article.pages section div.entry p.btn a,
article.pages section div.entrybox p.btn a,
article.pages section div.entry p.btn input[type='submit'],
article.pages section div.entry p.btn button {
	border-radius: 0;
	border: none;
	display: inline-block;
	background: #007BFF;
	color: #fff;
	font-size: 1.15em!important;
	padding: 0.75em 1em!important;
	margin: 0 1em!important;
	min-width: 7em;
	transition: 0.3s ease-out;
}
article.pages section div.entry p.btn a:hover,
article.pages section div.entrybox p.btn a:hover,
article.pages section div.entry p.btn input[type='submit']:hover,
article.pages section div.entry p.btn button:hover {
	background: #FBB03B;
	color: #007BFF;
}
article.pages section div.entry div.description,
article.pages section div.entrybox div.description {
	font-size: 1.1em;
}
article.pages section div.entry div.itemlist {
	border: solid 1px #888;
	margin-bottom: 1.5em;
}
article.pages section div.entry div.itemlist h2 {
	background: #ccc;
	color: #666;
	padding: 0.25em 0.5em;
	font-size: 1.3em;
}
article.pages section div.entry div.itemlist div.item {
	padding: 1em;
	text-align: left!important;
}
article.pages section div.entry div.itemlist ul {
	padding: 1em 0 0.5em 0;
	text-align: left!important;
	display: inline!important;
	margin-left: 0!important;
}
article.pages section div.entry div.itemlist ul li {
	display: inline-block;
	background: url(../front_images/icon_item.png) no-repeat center left;
	background-size: auto 0.7em;
	padding-left: 0.75em;
	margin-right: 1.25em;
}
article.pages section div.entry div.itemlist p {
	display: inline;
}
article.pages nav.sub_nav {
	margin-top: 3em;
	padding-top: 1.5em;
	border-top: solid 2px #007BFF;
}
article.pages nav.sub_nav p {
	padding: 0.25em 0.5em;
	border: solid 1px #007BFF;
	color: #007BFF;
	display: inline-block;
	font-weight: 500;
}
article.pages nav.sub_nav ul {
	text-align: left;
}
article.pages nav.sub_nav ul li {
	display: inline-block;
	background: url(../front_images/icon_nav.png) no-repeat center left;
	background-size: auto 0.7em;
	padding-left: 0.75em;
	margin-right: 1.25em;
	margin-bottom: 0.5em;
}

article.pages section .ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
article.pages section .ggmap iframe,
article.pages section .ggmap object,
article.pages section .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*Home*/
article.home section header {
	position: relative;
	margin-bottom: 1.5em;
}
article.home section header h1 {
	color: #007BFF;
	font-size: 1.25em;
	font-weight: 500;
	border-bottom: solid 2px #007BFF;
	padding: 0.25em 0;
}
article.home section header h1 span {
	color: #fff;
	background: #007BFF;
	margin-right: 1em;
	padding: 0.25em 0.5em;
}
article.home section header div.btn {
	position: absolute;
	top: 0;
	right: 0;
}
article.home section header div.btn a {
	display: block;
	background: url(../front_images/icon_nav.png) no-repeat center left;
	background-size: auto 0.7em;
	padding-left: 0.75em;
}
article.home section#news dl {
	margin: 0 1em 0;
}
article.home section#news dl dt {
	width: 7em;
	float: left;
}
article.home section#news dl dd {
	padding: 0 0 0.5em 8em;
	margin-bottom: 0.5em;
	border-bottom: dotted 1px #888;
}

article.home section#service ul li {
	width: 32%;
	float: left;
	margin-right: 2%;
	margin-bottom: 1.5em;
	text-align: center;
}
article.home section#service ul li:nth-of-type(3n) {
	margin-right: 0;
}
article.home section#service ul li figure {
	margin-bottom: 0.5em;
}

article.home section#aboutus ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
article.home section#aboutus ul li {
	width: 23.5%;
	margin-right: 2%;
	display: flex;
}
article.home section#aboutus ul li:nth-of-type(4n) {
	margin-right: 0;
}
article.home section#aboutus ul li a {
	width: 100%;
	text-align: center;
	box-sizing: border-box;
	padding: 1.25em; 1em;
	background: #fff;
	display: block;
	align-items: center;
	transition: 0.3s ease-out;
	color: #007BFF;
	border: solid 1px #007BFF;
}
article.home section#aboutus ul li a:hover {
	background: #007BFF;
	color:  #fff;
}

/*company*/
dl.company {
	font-size: 1.1em;
	margin: 1em;
}
dl.company dt {
	width: 6em;
	float: left;
	padding: 0.25em 0 0.5em;
}
dl.company dd {
	padding: 0.25em 0 0.75em 7em;
	margin-bottom: 0.5em;
	border-bottom: dotted 1px #888;
}
dl.history {
	font-size: 1.1em;
	margin: 1em;
}
dl.history dt {
	width: 6em;
	float: left;
	padding: 0.25em 0 0.5em;
}
dl.history dd {
	padding: 0.25em 0 0.75em 7em;
	margin-bottom: 0.5em;
	border-bottom: dotted 1px #888;
}
dl.network {
	font-size: 1.1em;
	margin: 1em;
}
dl.network dt {
	width: 7em;
	float: left;
	padding: 0.25em 0 0.5em;
	font-size: 1.5em;
}
dl.network dd {
	padding: 0.75em 0 0.75em 12em;
	margin-bottom: 0.5em;
	border-bottom: dotted 1px #888;
}
dl.network dd div.contactinfo p {
	margin: 0 1.5em 0 0;
	display: inline-block;
}
dl.network dd p.map {
	display: inline-block;
}
dl.network dd p.map a {
	padding: 0.25em 0.5em;
	color: #fff;
	background: #007BFF;
	transition: 0.3s ease-out;
}
dl.network dd p.map a:hover {
	color: #007BFF;
	background: #FBB03B;
}
dl.network dd div.ggmap {
	display: none;
}
dl.establishment {
	font-size: 1.15em;
}
dl.establishment dt {
	font-weight: 600;
	width: 5em;
	float: left;
	padding: 0.25em 0.5em;
	color: #fff;
	background: #0099FF;
	text-align: center;
}
dl.establishment dd {
	padding: 0.25em 0 0.25em 7em;
	margin-bottom: 0.75em;
}

/*Recruit*/
dl.recruitguideline {
	font-size: 1.1em;
	margin: 1em;
}
dl.recruitguideline dt {
	width: 6em;
	float: left;
	padding: 0.25em 0 0.5em;
	color: #007BFF;
	font-weight: bold;
}
dl.recruitguideline dd {
	padding: 0.25em 0 0.75em 7em;
	margin-bottom: 0.5em;
	border-bottom: dotted 1px #888;
}
section.norecruit {
	text-align: center;
	font-size: 1.75em;
	color: #007BFF;
}

/*Contact*/
div.telephone {
	margin: 1em;
	text-align: center;
}
/*div.telephone p.telephone {
	font-weight: 600;
	font-size: 3.5em;
	display: inline-block;
	color: #007BFF;
	margin-right: 0.25em;
	padding-right: 0.25em;
	border-right: solid 1px #000;
	line-height: 1.5;
}
div.telephone dl {
	display: inline-block;
}
div.telephone dl {
	text-align: left;
}*/
div.telephone p.telephone {
	font-weight: 600;
	font-size: 4em;
	display: inline-block;
	color: #007BFF;
	margin-right: 0;
	padding-right: 0;
	border-right: none;
	border-bottom: solid 1px #000;
	margin-bottom: 0.25em;
}
div.telephone dl {
	text-align: center;
}


/*privacy*/
div.signature {
	text-align: right;
}
div.signature dl {
	margin-bottom: 0;
}
div.signature dl dt {
	display: inline-block;
	margin-right: 1em;
}
div.signature dl dd {
	display: inline-block;
}
div.signature p {
	margin-top: 1em;
}
div.signature p span {
	font-size: 0.85em;
	margin-right: 1em;
}
div.reception figure {
	width: 20%;
	float: right;
}
div.reception dl {
	width: 75%;
	float: left;
}
div.reception dl dt {
	float: left;
	width: 7em;
	font-weight: 500;
	border-bottom: solid 2px #007BFF;
	text-align: center;
}
div.reception dl dd {
	padding: 0 0 0 8em;
	margin-bottom: 1em;
}