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

/* =================================
  common
================================= */
.alignleft {
  float: left;
  margin: 0 20px 20px 0;
}
.alignright {
  float: right;
  margin: 0 0 20px 20px;
}
.aligncenter {
  display: block;
  text-align: center;
  margin: auto;
}
.img-border {
  border: 5px solid #f1f1f1;
  box-sizing: border-box;
}
.wrap-img {
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}
.txt-right {
  text-align: right;
}
.txt-center {
  text-align: center;
}
.txt-s {
  font-size: 12px;
}
.txt-l {
  font-size: 24px;
}
.txt-red {
  color: #b5001f;
}
.txt-gray {
  color: #999;
}
.para-style01 {
  margin: 30px 0;
  padding: 20px 40px;
  border-radius: 2px;
  background-color: #eee;
}
.table-style01 {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;  
}
.table-style01 th,
.table-style01 td {
  padding: 15px;
  border-bottom: 2px solid #e5e5e5;
}
.table-style01 th {
  border-bottom: 2px solid #005cac;
}

.table-style02 {
  border: 0 none;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
.table-style02 th, .table-style02 td {
  border-bottom: 2px solid #e5e5e5;
  padding: 15px;
}

.table-style02 th {
  background-color: #f2f2f2;
  border-bottom: 2px solid #005cac;
  text-align: left;
}
.ul-style01,
.ul-style01 li {
  list-style: none;
}
.ul-style01 li {
  margin-bottom: 10px;
}
.ul-style01 li::before {
  content: '\25CF';
  font-size: 10px;
  color: #1f8a2a;
  margin-right: 5px;
}
.ol-style01,
.ol-style01 li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ol-style01 {
  margin-top: 30px;
  counter-reset: number;
}
.ol-style01 li {
  line-height: 2em;
  margin-bottom: 20px;
}
.ol-style01 li p {
  display: inline-block;
  width: calc(100% - 50px);
  font-weight: bold;
  float: left;
  margin: 0;
}
.ol-style01 li::before {
  float: left;
  counter-increment: number;
  content: counter(number);
  background: #1f8a2a;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  color: #fff;
  margin-right: 10px;
}
.ol-style01 li::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
.ol-style01 li > ol,
.ol-style01 li > ol li {
  list-style-type: decimal;
}
.ol-style01 li > ol {
  display: inline-block;
  margin-top: 30px;
}
.ol-style01 li > ol li::before {
  display: none;
}


/* =================================
  2nd page
================================= */
header #sub-img {
  max-width: 1300px;
  margin: 0 auto;
  padding: 20px 0 30px 0;
}
header #sub-img .site-id {
  display: inline-block;
  width: 25%;
}
header #sub-img::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#sub-img .header-right {
  float: right;
  text-align: right;
  padding-top: 20px;
}
#sub-img address {
  font-style: normal;
  margin-bottom: 10px;
  font-size: 18px;
}
#sub-img .header-tel {
  font-size: 33px;
  font-family: 小塚ゴシック Pro, "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  letter-spacing: .05em;
}
#sub-img .header-tel .icon {
  color: #005bac;
  font-family: iconfont;
  margin-right: 10px;
}

/* =================================
  content
================================= */
#content {
  max-width: 1300px;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 40px 0;
  display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
#content::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#main {
  width: 970px;
  box-sizing: border-box;
  -ms-flex-order: 2;
  -webkit-order: 2;
  order: 2;
  display: inline-block;
  float: right\9;
}
#main a {
  color: #3b4c82;
}
#main section,
#main .section {
  margin-bottom: 60px;
}
#main section::after,
#main .section::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#main .inner-post::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
/* headline style */
#main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-default.png) no-repeat center left;
  padding-left: 70px;
  border-bottom: 5px solid #008943;
  letter-spacing: 3px;
  padding-bottom: 20px;
  position: relative;
  margin-bottom: 10px;
}
#main .breadcrumbs {
  text-align: right;
  font-size: 13px;
}
#main .breadcrumbs .home span::before {
  content: 'A';
  font-family: iconfont;
  margin-right: 2px;
}
.services #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-services.png) no-repeat center left;
}
.achievements #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-achievements.png) no-repeat center left;
}
.company #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-company.png) no-repeat center left;
}
.recruit #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-recruit.png) no-repeat center left;
}
.contact #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-contact.png) no-repeat center left;
}
.alvark #main .ttl-lv1 {
  background: transparent url(../images/ttl-lv1-alvark.png) no-repeat center left;
}
#main .ttl-lv1 span {
  color: #d2d2d2;
  font-size: 13px;
  font-style: italic;
  font-weight: bold;
}
#main .ttl-lv1 .ja {
  font-weight: bold;
  margin: 0;
  font-size: 40px;
  line-height: 40px;
}
#main .ttl-lv1::after {
  content: '';
  display: inline-block;
  border-bottom: 5px solid #005cac;
  width: 270px;
  height: 5px;
  position: absolute;
  bottom: -5px;
  left: 0;
}
#main .ttl-lv2 {
  font-weight: bold;
  line-height: normal;
  font-size: 30px;
  padding-left: 22px;
  margin: 30px 0;
  position: relative;
  letter-spacing: 2px;
}
#main .ttl-lv2::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: calc(100% - 14px);
  border-radius: 2px;
  background-color: #1f8a2a;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#main .ttl-lv3 {
  letter-spacing: 1px;
  font-weight: bold;
  color: #3f60ab;
  font-size: 24px;
  padding: 20px;
  background-color: #eee;
  border-radius: 2px;
}
#main .ttl-lv4 {
  letter-spacing: 1px;
  font-weight: bold;
  color: #3f60ab;
  font-size: 24px;
}
/* sidebar */
#sidebar {
  width: 270px;
  box-sizing: border-box;
  -ms-flex-order: 1;
  -webkit-order: 1;
  order: 1;
  display: inline-block;
  float: left\9;
}
#snav dl {
  margin: 0;
  margin-bottom: 30px;
}
#snav dt a {
  display: block;
  background-color: #1f8a2a;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
  color: #fff;
  border-radius: 2px;
}
#snav dt {
  margin-bottom: 20px;
}
#snav dd {
  margin: 0;
}
#snav dd ul,
#snav dd ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}
#snav dd ul li {
  border-bottom: 1px dotted #ccc;
}
#snav dd ul li a {
  font-size: 14px;
  padding-left: 10px;
  display: block;
  line-height: normal;
  padding: 15px 0;
}
#snav dd ul li a::before {
  content: 'ú';
  font-family: iconfont;
  color: #fff;
  background-color:  #1f8a2a;
  border-radius: 50%;
  display: inline-block;
  padding: 4px;
  font-size: 10px;
  vertical-align: middle;
  margin-right: 8px;
}
#snav dd ul li a:hover::before {
  margin-left: 2px;
}
#snav dd ul li.current_page_item a::before,
#snav dd ul li.current-page-ancestor a::before {
  display: none;
}
#snav dd ul li.current_page_item a,
#snav dd ul li.current-page-ancestor a {
  color:  #1f8a2a;
  font-weight: bold;
}
/* magazine */
#sidebar .magazine,
#sidebar .news {
  margin-bottom: 50px;
}
#sidebar .magazine {
  border: 2px solid #e5e5e5;
  border-radius: 6px;
  padding: 20px;
  font-size: 14px;
}
#sidebar .magazine .title {
  margin: 0 0 10px 0;
  display: block;
  color: #1a4ebe;
  font-weight: bold;
  font-size: 27px;
}
#sidebar .magazine .title span {
  margin-left: 5px;
}
#sidebar .magazine .title::before {
  content: '';
  border-left: 10px solid #1a4ebe;
  margin-right: 10px;
}
#sidebar .magazine .thumbnail {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}
#sidebar .magazine .thumbnail img {
  max-width: none;
  width: 100%;
  height: auto;
}
#sidebar .magazine .thumbnail:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}
/* news */
#sidebar .ttl-side {
  display: block;
  margin-bottom: 20px;
}
#sidebar .list-news,
#sidebar .list-news li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sidebar .list-news {
  margin-bottom: 20px;
}
#sidebar .list-news li {
  font-size: 13px;
  padding: 5px 20px;
}
#sidebar .list-news li:nth-child(odd) {
  background-color: #eee;
}
#sidebar .list-news li .cat {
  background-color: #78bf68;
  border-radius: 5px;
  color: #fff;
  padding: 2px 4px;
  margin-right: 10px;
}
#sidebar .list-news li .title {
  display: block;
  font-weight: bold;
  color: #3b4c82;
}
#sidebar .btn-list {
  text-align: center;
  margin-top: 10px;
}
#sidebar .btn-list a:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}
/* bnr */
#sidebar .side-bnr,
#sidebar .side-bnr li {
  margin: 0 ;
  padding: 0;
  list-style: none;
}
#sidebar .side-bnr li {
  margin-bottom: 10px;
  text-align: center;
}
#sidebar .side-bnr li a:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}



/* =================================
  services
================================= */
.services .list-business li .box-over {
  display: none;
}
.services .list-business li {
  width: 47%;
}
.services .list-business li img {
  float: left;
  margin-right: 20px;
  width: 40%;
}

/* =================================
  news
================================= */
#content.category #main .list-news,
#content.category #main .list-news li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#content.category #main .list-news li {
  padding: 20px;
}
#content.category #main .list-news li:nth-child(odd) {
  background-color: #eee;
}
#content.category #main .list-news li .cat {
  background-color: #78bf68;
  border-radius: 5px;
  color: #fff;
  padding: 2px 4px;
  margin-right: 10px;
  font-size: 14px;
  letter-spacing: normal;
}
#content.category #main .list-news li .title {
  display: block;
  font-weight: bold;
  color: #3b4c82;
}
#content.category #main .list-news li .date {
  letter-spacing: normal;
  margin-right: 10px;
}
#content.single #main .date {
  border-bottom: 1px solid #e5e5e5;
  padding: 20px 0;
  margin-bottom: 40px;
}
#content.single #main .date span {
  border-right: 1px solid #e5e5e5;
  padding-right: 20px;
  display: inline-block;
  height: 22px;
  margin-right: 20px;
}
#content #main .btn-magazine {
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 12px;
  padding: 4px;
  background-color: #e5e5e5;
  vertical-align: top;
}
#content #main .btn-magazine::before {
  content: 'I';
  font-family: iconfont;
  margin-right: 5px;
}
#content #main .btn-magazine:hover {
  background-color: #f8f8f8;
}
#content.single #main .thumbnail {
  float: left;
  margin-right: 30px;
  width: 200px;
}
#content.single #main .thumbnail img {
  height: auto;
}

/* =================================
  magazine
================================= */
#content.magazine #main .box-magazine {
  border-bottom: 2px solid #e5e5e5;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#content.magazine #main .box-magazine::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#content.magazine #main .thumbnail {
  width: 200px;
  float: left;
  margin-right: 30px;
}
#content.magazine #main .thumbnail img {
  height: auto;
}
#content.magazine #main .inner {
  float: left;
  width: calc(100% - 230px);
}
#content.magazine #main .title {
  margin: 0;
  display: inline-block;
  color: #1a4ebe;
  font-weight: bold;
  font-size: 27px;
}
#content.magazine #main .title span {
  margin-left: 5px;
}
#content.magazine #main .title::before {
  content: '';
  border-left: 10px solid #1a4ebe;
  margin-right: 10px;
}

/* =================================
  office
================================= */
#main .box-office {
  border-bottom: 2px solid #e5e5e5;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#main .box-office::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#main .box-office .inner {
  padding: 0 15px;
}
.office address {
  font-style: normal;
  margin-bottom: 20px;
}
#main .box-office .thumbnail {
  float: left;
  margin-right: 20px;
}
#main .box-office .ttl-lv3 a {
  color: inherit;
}
#main .box-office .btn {
  width: 150px;
  padding: 7px 0;
  text-align: center;
  display: inline-block;
  border: 2px solid #c9d2e7;
  background-color: #f0f2f8;
  border-radius: 5px;
  color: #3e5faa;
  font-size: 14px;
  font-weight: bold;
  position: relative;
}
#main .box-office .btn::after {
  content: 'ú';
  font-family: iconfont;
  position: absolute;
  right: 5px;
}
.office .gmap {
  border: 4px solid #e5e5e5;
  margin: 30px 0;
  overflow: hidden;
}
.office .gmap iframe {
  border: 0;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* =================================
  sitemap
================================= */
#sitemap_list,
#sitemap_list li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sitemap_list li a {
  border-top: 1px dotted #ccc;
  padding: 10px;
  display: block;
  font-size: 18px;
}
#sitemap_list > li:first-child a {
  border: 0;
}
#sitemap_list > li.page_item_blog a {
  border-top: 1px dotted #ccc;
}
#sitemap_list li a::before {
  content: 'ú';
  font-size: 14px;
  font-family: iconfont;
  margin-right: 5px;
  color: #1f8a2a;
}
#sitemap_list li a:hover {
  background-color: #f5f5f5;
}
#sitemap_list li .children,
#sitemap_list li .children li {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sitemap_list li .children li a {
  font-size: 14px;
  padding-left: 50px;
}
#sitemap_list li .children li .children li a {
  padding-left: 100px;
}
#sitemap_list li .children li a::before {
  display: none;
}

/* =================================
  pager
================================= */
#main .wp-pagenavi {
  margin-top: 40px;
  text-align: center;
}
#main .wp-pagenavi .current,
#main .wp-pagenavi .page {
  border: 1px solid #78bf68;
  background-color:  #78bf68;
  color: #fff;
  padding: 4px 6px;
  margin: 5px;
}
#main .wp-pagenavi .page {
  background-color: inherit;
  color: #78bf68;
}
#main .wp-pagenavi .page:hover {
  background-color:  #78bf68;
  color: #fff;
}
#main .wp-pagenavi .previouspostslink,
#main .wp-pagenavi .nextpostslink {
  color: #3b4c82;
  margin: 5px;
}

/* =================================
  pagenav
================================= */
.pagenav {
  border-top: 1px solid #e5e5e5;
  margin-top: 40px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.pagenav p span {
  display: block;
  font-size: 12px;
}
.pagenav .p-next span {
  text-align: right;
}
.pagenav p {
  max-width: 20%;
}
.pagenav p:hover {
  background-color: #f5f5f5;
  border-radius: 2px
}
.pagenav p a {
  width: 100%;
  height: 100%;
  display: block;
}

/* =================================
  contact
================================= */
.table-form {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
}
.table-form .must,
.table-form .nini {
  font-size: 12px;
  background-color: #ec9f53;
  color: #fff;
  padding: 2px 4px;
  border-radius: 2px;
  margin-right: 5px;
}
.table-form .nini {
  background-color: #ccc;
}
.table-form th,
.table-form td {
  padding: 15px;
  vertical-align: top;
  border-bottom: 1px dotted #ccc;
}
.table-form th {
  text-align: left;
}
.table-form td {
}
.mw_wp_form input[type='text'],
.mw_wp_form input[type='email'] {
	padding: 5px;
	font-size: 16px;
}
.mw_wp_form input[type='checkbox'] {
	width: 16px;
	height: 16px;
}
.mw_wp_form textarea {
	padding: 5px;
	font-size: 16px;
}
.mw_wp_form input[type='submit'] {
	background-color: #ec9f53;
	color: #fff;
	padding: 10px 30px;
	font-size: 14px;
	display: block;
	border: 0;
	cursor: pointer;
  border-radius: 2px;
  -webkit-appearance: none;
}
@media only screen and (max-width: 480px) {
	.mw_wp_form input[type='text'],
  .mw_wp_form textarea {
		width:100%;
    box-sizing: border-box;
	}
	.table-form th,
  .table-form td {
		width: 100%;
    box-sizing: border-box;
		display: block;
	}
}

/* =================================
  services
================================= */
.wrap-services {
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.box-services {
  position: relative;
  width: 45%;
  display: inline-block;
  text-align: center;
  margin-bottom: 40px;
  padding-bottom: 70px;
  vertical-align: top\9;
}
.box-services p {
  text-align: left;
}
.box-services .btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -191px;
}
.box-services .btn:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}

/* =================================
  cast
================================= */
.cast .img-border {
  width: 200px;
}

/* =================================
  recruit
================================= */
#main .box-form {
  border: 5px solid #e5e5e5;
  border-radius: 2px;
  padding: 20px;
  box-sizing: border-box;
}
#main .box-form::after {
	content: '';
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
.box-form .box-left {
  float: left;
  width: 70%;
}
.box-form .box-right {
  width: 30%;
  float: left;
  text-align: center;
}
.box-form img {
  width: 340px;
}
.box-form address {
  font-style: normal;
}
#main .box-form .tel-fd {
  font-size: 30px;
  display: inline-block;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  color: #1f8a2a;
  font-weight: bold;
  border-radius: 2px;
}
#main .box-form .tel-fd::before {
  content: ':';
  font-family: iconfont;
  margin-right: 5px;
}
#main .box-form .btn-form {
  background-color: #ec9f53;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  padding: 2px 20px;
  border-radius: 5px;
  text-align: center;
  margin: 10px auto;
}
#main .box-form .btn-form::after {
  content: 'ú';
  font-family: iconfont;
  font-size: 12px;
  margin-left: 20px;
}
#main .box-form .btn-form:hover {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}

/* =================================
  quality
================================= */
.quality .alignleft {
  max-width: 300px;
}
.quality .wrap-img div {
  width: 32%;
  display: inline-block;
}
.quality .wrap-img img {
  max-width: 300px;
  width: 100%;
  height: auto;
}

/* =================================
  achievements
================================= */
.list-management,
.list-management li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.list-management {
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.list-management li {
  width: 49%;
  border: 2px solid #e5e5e5;
  box-sizing: border-box;
  padding: 20px;
  margin-bottom: 20px;
  display: inline-block;
}
.list-management li h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 10px 0;
  color: #3b4c82;
}
.list-management li h3::before {
  content: '\25A0';
  font-size: 12px;
  color: #ccf256;
  margin-right: 5px;
}
.list-management li p {
  margin: 0;
}
.list-management li a {
  margin-top: 10px;
  display: inline-block;
}
.list-management li a:hover img {
	opacity: .8;
	filter: alpha(opacity=80);
	-ms-filter: 'alpha(opacity=80)';
}

/* =================================
  poppoless
================================= */
.wrap-item {
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
  background-color: #f9fcff;
  text-align: center\9;
}
.box-item {
  width: 49%;
  box-sizing: border-box;
  border-bottom: 1px dotted #ccc;
  padding: 20px;
  display: inline-block;
  text-align: left\9;
  vertical-align: bottom\9;
}
.box-item h3 {
  color: #3f60ab;
  font-size: 20px;
}
.box-item h3::before {
  content: '\25A0';
  font-size: 12px;
  color: #78bf68;
  margin-right: 5px;
}
.box-item .price {
  font-size: 18px;
  color: #78bf68;
  text-align: right;
}

/* =================================
  alvark
================================= */
.alvark #main .ttl-lv1 {
  border-bottom: 5px solid #b5b5b5;
}
.alvark #main .ttl-lv1::after {
  border-bottom: 5px solid #000;
}
.alvark #main .ttl-lv2::before {
  background-color: #e60021;
}
.alvark #main h3 {
  color: #e60021;
  font-size: 27px;
  margin-top: 0;
}
.alvark #main h3 span {
  font-size: 20px;
}
.alvark #main h3::before {
  content: '';
  background: transparent url(../images/arrow-h3-alvark.jpg) no-repeat center left;
  background-size: contain;
  padding-left: 40px;
}