@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block;
}

@font-face {
  font-family: 'abastina';
  src: url("../font/abastina.woff") format("woff");
  font-weight: normal;
  /* 念の為指定しておきます */
  font-style: normal;
}

/*========================================================================
 -- : Style
========================================================================*/
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, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video, input, textarea, select, img, a {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 166.66667%;
  /*	position:relative;*/
}

html,
body {
  color: #000;
  letter-spacing: 0.03em;
  -webkit-text-size-adjust: 100%;
  font-family: "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

a {
  color: black;
  text-decoration: none;
}

a:visited {
  color: black;
  text-decoration: none;
}

a:hover {
  color: black;
  text-decoration: none;
}

img {
  vertical-align: bottom;
}

.wrapper {
  background: #fff;
  margin-top: 80px;
}

.base-w {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 10px;
}

.contents {
  position: relative;
}

.btn, .btn-w {
  margin: 0 auto;
  width: 27%;
}
.btn a, .btn-w a {
  display: block;
  text-align: center;
  border: 1px solid #88bb11;
  color: #88bb11;
  padding: 14px 0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 100%;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
.btn a:hover, .btn-w a:hover {
  color: #fff;
  background: #88bb11;
}

.btn-w a {
  background: #fff;
}
.btn-w a:hover {
  color: #fff;
}

.pagetop {
  position: absolute;
  width: 100%;
  height: 70px;
  overflow: hidden;
  z-index: 100;
  bottom: 0;
}
.pagetop a {
  display: block;
  display: none;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 70px;
  height: 70px;
  color: #fff;
  z-index: 3;
  padding: 42px 0 0 28px;
  text-align: center;
}
.pagetop a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 35px solid transparent;
  border-right: 35px solid #326f00;
  border-bottom: 35px solid #326f00;
  border-left: 35px solid transparent;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

/*========================================================================
 -- : Common Parts
========================================================================*/
header.global {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background: #fff;
}
header.global .logo {
  float: left;
  padding: 28px 0;
  width: 181px;
}
header.global .logo img {
  width: 100%;
  height: auto;
}
header.global nav {
  padding: 33px 0 0;
}
header.global nav ul {
  float: right;
  overflow: hidden;
}
header.global nav ul li {
  display: inline-block;
  margin: 0 0 0 24px;
}
header.global nav ul li a {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 100%;
  letter-spacing: 0.05em;
  display: block;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
header.global nav ul li:first-child {
  margin-left: 0;
}
header.global nav ul li.selected {
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}
header.global .hbg-menu,header.global .normal-menu {
  display: none;
  float: right;
  width: 40px;
  height: 40px;
}
header.global .hbg-menu a,header.global .normal-menu a {
  display: block;
  width: 100%;
  padding: 16px 0;
  cursor: pointer;
}
header.global .hbg-menu a span {
  display: block;
  width: 50%;
  margin: 0 auto;
  background: #000;
  height: 1px;
  margin-bottom: 3px;
}
header.global .hbg-menu a span:last-child {
  margin-bottom: 0;
}

footer.global {
  padding: 43px 0 46px;
  border-top: 1px solid #e7e7e7;
}
footer.global .footer-left {
  float: left;
}
footer.global .footer-right {
  float: right;
}
footer.global .logo {
  float: left;
  margin: 0 20px 0 0;
  width: 127px;
}
footer.global .logo img {
  width: 100%;
  height: auto;
}
footer.global ul {
  float: right;
}
footer.global ul li {
  display: inline-block;
  margin: 0 5px;
  vertical-align: top;
}
footer.global p.copyright {
  font-size: 9px;
  font-size: 0.9rem;
}

.column-2 li, .column-2 .block, .column-3 li, .column-3 .block, .column-2i li, .column-2i .block, .column-3i li, .column-3i .block {
  float: left;
}
.column-2 li img, .column-2 .block img, .column-3 li img, .column-3 .block img, .column-2i li img, .column-2i .block img, .column-3i li img, .column-3i .block img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.column-2 li, .column-2 .block,
.column-2i li,
.column-2i .block {
  width: 48.95%;
  margin-right: 2.1%;
  margin-bottom: 2.1%;
}
.column-2 li:nth-child(2n), .column-2 .block:nth-child(2n),
.column-2i li:nth-child(2n),
.column-2i .block:nth-child(2n) {
  margin-right: 0;
}
.column-2 li:nth-child(2n+1), .column-2 .block:nth-child(2n+1),
.column-2i li:nth-child(2n+1),
.column-2i .block:nth-child(2n+1) {
  clear: left;
}

.column-3 li, .column-3 .block,
.column-3i li,
.column-3i .block {
  width: 31.25%;
  margin-right: 3.125%;
  margin-bottom: 3.125%;
}
.column-3 li:nth-child(3n), .column-3 .block:nth-child(3n),
.column-3i li:nth-child(3n),
.column-3i .block:nth-child(3n) {
  margin-right: 0;
}
.column-3 li:nth-child(3n+1), .column-3 .block:nth-child(3n+1),
.column-3i li:nth-child(3n+1),
.column-3i .block:nth-child(3n+1) {
  clear: left;
}

nav.sub-nav {
  background: #f3f3ef;
  padding: 26px 0 18px;
}
nav.sub-nav ul {
  text-align: center;
}
nav.sub-nav ul li {
  display: inline-block;
  margin: 0 25px;
}
nav.sub-nav ul li a {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 100%;
  letter-spacing: 0.05em;
  display: block;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
nav.sub-nav ul li.selected {
  padding-bottom: 8px;
  border-bottom: 1px solid #000;
}

/*-------------------------------------------------------下層ページタイトル*/
.contents-tit {
  width: 100%;
  height: 180px;
  background-image: url(../img/tit_img_business.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  text-align: center;
  color: #fff;
}
.contents-tit h1, .contents-tit .title {
  position: relative;
  font-weight: normal;
  top: 50%;
  font-size: 30px;
  font-size: 3rem;
  line-height: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.contents-tit h1 .en, .contents-tit .title .en {
  font-family: abastina;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  padding: 34px 0 0;
}
.contents-tit h1 .jp, .contents-tit .title .jp {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
}

.vision .contents-tit {
  background-image: url(../img/vision_main_img.jpg);
}

.post-type-archive-photo .contents-tit {
  background-image: url(../img/tit_img_photo.jpg);
}

.single-photo .contents-tit {
  display: none;
}

.post-type-archive-news .contents-tit,
.single-news .contents-tit {
  background-image: url(../img/tit_img_news.jpg);
}

.company .contents-tit {
  background-image: url(../img/tit_img_company1.jpg);
}

.access .contents-tit,
.recruit .contents-tit {
  background-image: url(../img/tit_img_company2.jpg);
}

.sec-tit {
  text-align: center;
}
.sec-tit .en {
  font-family: abastina;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.sec-tit .jp {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
}

.table dl {
  overflow: hidden;
  border-bottom: 1px solid #e0e0cc;
  padding: 16px 0;
}
.table dl dt, .table dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 214.28571%;
}
.table dl dt {
  float: left;
}
.table dl dd {
  margin: 0 0 0 140px;
}
.table dl:first-child {
  border-top: 1px solid #e0e0cc;
}

ul.news-list {
  border-top: 1px solid #eee;
  margin: 0 0 30px;
}
ul.news-list li {
  border-bottom: 1px solid #eee;
}
ul.news-list li a {
  display: block;
  padding: 15px 0;
  position: relative;
  overflow: hidden;
}
ul.news-list li a .data {
  width: 220px;
  float: left;
}
ul.news-list li a time {
  display: block;
  width: 82px;
  float: left;
  font-size: 10px;
  font-size: 1rem;
  color: #888888;
  padding: 5px 0;
}
ul.news-list li a .cat {
  width: 120px;
  float: left;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  padding: 5px 0;
  background: #88bb11;
}
ul.news-list li a p {
  margin-left: 220px;
  padding: 5px 25px 10px 0;
  font-weight: bold;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
ul.news-list li a:after {
  content: "→";
  display: block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -10px;
}
ul.news-list li a:hover p {
  color: #ccc;
}
ul.news-list li.publicity a .cat {
  background: #ccbb55;
}
ul.news-list li.press a .cat {
  background: #326f00;
}

/*========================================================================
 -- : TOP Page Style
========================================================================*/
.home .wrapper {
  margin-top: 0;
}

.home .wrapper header.global {
  position: static;
  border-bottom: 1px solid #f3f3ef;
}

.home.navFixed .wrapper header.global {
  position: fixed;
}

.idx-main {
  position: relative;
}
.idx-main .slider-txt {
  position: absolute;
  width: 12.5%;
  left: 11.25%;
  top: 0.8%;
  z-index: 100;
}
.idx-main .slider-txt img {
  width: 100%;
  height: auto;
}

.idx-slider li {
  padding-bottom: 58.3333%;
  background-size: cover;
}

.home .area-service {
  padding: 0 0 66px;
  position: relative;
}
.home .area-service h2 {
  padding: 50px 0 30px;
}
.home .area-service .block-service h3 {
  margin: 0 0 15px;
}
.home .area-service .block-service p {
  margin: 0 0 15px;
}
.home .area-service .block-service .btn, .home .area-service .block-service .btn-w {
  margin: 0;
}
.home .area-service .block-service.service1 h3 img {
  width: 100%;
}
.home .area-service .block-service.service1 .service1-ph1 {
  width: 31.41%;
  position: absolute;
  right: 0;
  top: 0;
}
.home .area-service .block-service.service1 .service1-ph1 img {
  width: 100%;
  height: auto;
}
.home .area-service .block-service.service1 .row {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
.home .area-service .block-service.service1 .row .service1-ph2 {
  width: 65.625%;
}
.home .area-service .block-service.service1 .row .service1-ph2 img {
  width: 100%;
  height: auto;
}
.home .area-service .block-service.service1 .row .service1-txt {
  position: absolute;
  top: 32%;
  right: 0;
  width: 42.19%;
}
.home .area-service .block-service.service1 .row .service1-txt p, .home .area-service .block-service.service1 .row .service1-txt .btn, .home .area-service .block-service.service1 .row .service1-txt .btn-w {
  margin-left: 25%;
}
.home .area-service .block-service.service1 .row .service1-txt .btn, .home .area-service .block-service.service1 .row .service1-txt .btn-w {
  width: 44.8%;
}
.home .area-service .block-service.service2 {
  position: relative;
}
.home .area-service .block-service.service2 .service2-ph1 img, .home .area-service .block-service.service2 .service2-ph2 img {
  width: 100%;
  height: auto;
}
.home .area-service .block-service.service2 .service2-ph1 {
  position: absolute;
  left: 0;
  top: 18%;
  width: 29.583%;
}
.home .area-service .block-service.service2 .row {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  z-index: 3;
}
.home .area-service .block-service.service2 .row .service2-txt {
  float: left;
  width: 33.625%;
  margin: 0 0 0 26.166%;
  padding-top: 20%;
}
.home .area-service .block-service.service2 .row .service2-txt .btn, .home .area-service .block-service.service2 .row .service2-txt .btn-w {
  width: 61.224%;
}
.home .area-service .block-service.service2 .row .service2-ph2 {
  float: right;
  width: 34.375%;
}
.home .area-service .block-service.service3 {
  overflow: hidden;
}
.home .area-service .block-service.service3 .service3-ph1 {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.home .area-service .block-service.service3 .service3-ph1 img {
  width: 100%;
  height: auto;
}
.home .area-service .block-service.service3 .row2 {
  min-height: 315px;
  position: relative;
  overflow: hidden;
}
.home .area-service .block-service.service3 .service3-txt {
  position: relative;
  width: 61.75%;
  max-width: 960px;
  margin: 0 auto;
  z-index: 2;
  padding: 75px 0 0;
}
.home .area-service .block-service.service3 .service3-ph2 {
  position: absolute;
  right: 0;
  width: 36.25%;
  top: 0;
  z-index: 4;
}
.home .area-service .block-service.service3 .service3-ph2 img {
  width: 100%;
  height: auto;
}
.home .area-vision {
  background: url(../img/top_vision_img.jpg) center top no-repeat;
  background-size: cover;
  padding: 132px 0 190px;
  color: #fff;
  text-align: center;
}
.home .area-vision h3 {
  padding: 60px 0 20px;
}
.home .area-vision p {
  margin: 0 0 40px;
}
.home .area-vision .btn a, .home .area-vision .btn-w a {
  border: 1px solid #fff;
  color: #fff;
}
.home .area-vision .btn a:hover, .home .area-vision .btn-w a:hover {
  color: #88bb11;
  background: #fff;
}
.home .area-photo {
  padding: 50px 0 65px;
}
.home .area-photo h2 {
  color: #88bb11;
  margin: 0 0 35px;
}
.home .area-news {
  background: url(../img/top_news_bg.jpg) left bottom no-repeat #d8eff7;
  background-size: 100% auto;
  padding: 60px 0 410px 0;
}
.home .area-news h2 {
  margin: 0 0 35px;
}
.home .area-news ul.news-list {
  border-top: 1px solid #fff;
}
.home .area-news ul.news-list li {
  border-bottom: 1px solid #fff;
}

/*========================================================================
 -- : ビジョン
========================================================================*/
.page.vision .wrapper {
  margin-top: 0;
}
.page.vision header.global {
  background: transparent;
}
.page.vision .contents-tit {
  height: auto;
  position: relative;
  padding-bottom: 58.33%;
  color: #000;
}
.page.vision .contents-tit h1 {
  position: absolute;
  width: 100%;
  text-align: center;
  top: 45%;
}
.page.vision .contents section {
  padding-top: 100px;
  padding-bottom: 120px;
  overflow: hidden;
}
.page.vision .contents section .sec-tit .en {
  font-size: 30px;
  font-size: 3rem;
}
.page.vision .contents section .ph-block1 {
  margin: 0 0 40px;
}
.page.vision .contents section .ph-block1 h3 {
  text-align: center;
  padding: 45px 0 25px 0;
}
.page.vision .contents section .ph-block1 h3 img {
  width: 100%;
  height: auto;
  max-width: 430px;
}
.page.vision .contents section .ph-block1 p {
  line-height: 250%;
  margin: 0 0 70px;
  text-align: center;
}
.page.vision .contents section .ph-block1 > img {
  width: 100%;
  height: auto;
  max-width: 730px;
  display: block;
  margin: 0 auto;
}
.page.vision .contents section .vision-left, .page.vision .contents section .vision-right {
  width: 47.9%;
}
.page.vision .contents section .vision-left p, .page.vision .contents section .vision-right p {
  padding: 60px 0;
  line-height: 250%;
}
.page.vision .contents section .vision-left > img, .page.vision .contents section .vision-right > img {
  width: 100%;
  height: auto;
}
.page.vision .contents section .vision-left {
  float: left;
}
.page.vision .contents section .vision-left p {
  text-align: right;
}
.page.vision .contents section .vision-right {
  float: right;
}
.page.vision .contents section .ph-block2 {
  overflow: hidden;
}
.page.vision .contents section .ph-block2 br.sp {
  display: none;
}

/*========================================================================
 -- : 事業内容
========================================================================*/
.page.business h2 {
  margin: 0 0 20px;
  font-size: 30px;
  font-size: 3rem;
  text-align: center;
}

.business-text {
  padding: 95px 0 60px;
  display: none;
}

.business-list {
  background: #f3f3ef;
  padding: 60px 0;
}
.business-list ul li {
  background-color: #fff;
  padding: 0 0 20px;
  min-height: 600px;
}
.business-list ul li .text {
  margin: 0 20px;
}
.business-list ul li h3 {
  font-size: 24px;
  font-size: 2.4rem;
  text-align: center;
  padding: 12px 0 12px;
}
.business-list ul li h3 span {
  display: block;
  color: #ccbb55;
  font-size: 10px;
  font-size: 1rem;
  padding: 0 0 10px;
}
.business-list ul li p {
  margin: 0 0 10px;
  font-size: 11px;
  font-size: 1.1rem;
  line-height: 181.81818%;
  text-align: center;
}
.business-list ul li .btn, .business-list ul li .btn-w {
  width: 100%;
}
.business-list ul li.block {
  margin-bottom: 0;
}

/*========================================================================
 -- : フォトギャラリー
========================================================================*/
.post-type-archive-photo .photo-list-cont {
  padding: 50px 10px 80px;
}

.single-photo article {
  position: relative;
}
.single-photo article .photo-cont {
  position: relative;
}
.single-photo article .photo-cont > img {
  width: 100%;
  height: auto;
  position: relative;
  z-index: 3;
}
.single-photo article .photo-parts {
  position: absolute;
  z-index: 5;
}
.single-photo article .photo-close {
  width: 70px;
  height: 70px;
  right: 20px;
  top: 20px;
}
.single-photo article .photo-close a {
  display: block;
  width: 70px;
  height: 70px;
  background: rgba(102, 187, 17, 0.9);
  font-size: 30px;
  font-size: 3rem;
  line-height: 70px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  text-align: center;
  color: #fff;
}
.single-photo article .photo-prev, .single-photo article .photo-next {
  top: 50%;
  margin-top: -35px;
}
.single-photo article .photo-prev a, .single-photo article .photo-next a {
  display: block;
  width: 70px;
  height: 70px;
  font-size: 16px;
  font-size: 1.6rem;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  line-height: 70px;
  border: 1px solid #fff;
  text-align: center;
  color: #fff;
}
.single-photo article .photo-prev {
  left: 20px;
}
.single-photo article .photo-next {
  right: 20px;
}
.single-photo article .photo-cap {
  position: absolute;
  z-index: 5;
  width: 100%;
  max-width: 980px;
  padding: 0 20px;
  left: 50%;
  bottom: 70px;
  margin: 0 0 0 -490px;
}
.single-photo article .photo-cap .inner {
  background: rgba(255, 255, 255, 0.9);
}
.single-photo article .photo-cap .inner p {
  float: left;
  padding: 10px 20px;
}
.single-photo article .photo-cap .inner ul {
  float: right;
  padding: 9px;
}
.single-photo article .photo-cap .inner ul li {
  display: inline-block;
  margin: 0 0 0 2px;
  vertical-align: top;
  width: 25px;
}
.single-photo article .photo-cap .inner ul li iframe {
  vertical-align: top;
}
.single-photo article .photo-cap .inner ul li img {
  width: 100%;
  height: auto;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

/*========================================================================
 -- : お知らせ
========================================================================*/
.post-type-archive-news .contents section {
  padding-top: 60px;
  padding-bottom: 90px;
}
.post-type-archive-news .wp-pagenavi {
  text-align: center;
  margin: 0 0 58px;
}
.post-type-archive-news .wp-pagenavi a, .post-type-archive-news .wp-pagenavi span {
  display: inline-block;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 100%;
  padding: 13px 0;
  width: 40px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  margin: 0 5px;
  border: 1px solid #88bb11;
}
.post-type-archive-news .wp-pagenavi a {
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  color: #88bb11;
}
.post-type-archive-news .wp-pagenavi a:hover {
  background: #88bb11;
  color: #fff;
}
.post-type-archive-news .wp-pagenavi .current {
  background: #88bb11;
  color: #fff;
}
.post-type-archive-news .wp-pagenavi .pages, .post-type-archive-news .wp-pagenavi .first, .post-type-archive-news .wp-pagenavi .last {
  display: none;
}
.post-type-archive-news .wp-pagenavi .previouspostslink, .post-type-archive-news .wp-pagenavi .nextpostslink {
  padding: 13px 5%;
  width: auto;
}
.post-type-archive-news .wp-pagenavi .extend {
  color: #88bb11;
}

.single-news .contents-tit + div {
  padding-bottom: 90px;
}
.single-news article {
  padding: 50px 0 0;
}
.single-news article header {
  border-bottom: 1px solid #e0e0cc;
}
.single-news article header .category {
  width: 120px;
  float: left;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  padding: 5px 0;
  margin: 0 20px 0 0;
}
.single-news article header .category a, .single-news article header .category span {
  display: block;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  padding: 5px 0;
  background: #88bb11;
}
.single-news article header .category a.publicity, .single-news article header .category span.publicity {
  background: #ccbb55;
}
.single-news article header .category a.press, .single-news article header .category span.press {
  background: #326f00;
}
.single-news article header h1 {
  clear: both;
  font-size: 30px;
  font-size: 3rem;
  line-height: 150%;
  padding: 20px 0 20px;
  border-bottom: 1px solid #eee;
}
.single-news article header time {
  display: block;
  width: 82px;
  float: left;
  font-size: 10px;
  font-size: 1rem;
  padding: 9px 0;
  float: left;
}
.single-news article header > ul {
  float: right;
  padding: 9px 0;
}
.single-news article header > ul li {
  display: inline-block;
  margin: 0 0 0 10px;
  vertical-align: top;
}
.single-news article header > ul li iframe {
  vertical-align: top;
}
.single-news article .the-content {
  padding: 30px 0 50px;
}
.single-news article .the-content p {
  margin: 0 0 2em;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 228.57143%;
}
.single-news article .the-content p:last-child {
  margin-bottom: 0;
}
.single-news article .the-content img {
  max-width: 100%;
  margin: 0 0 2em;
}
.single-news nav.prev-next {
  max-width: 820px;
  padding: 0 10px;
  margin: 0 auto;
  display: block;
  overflow: hidden;
}
.single-news nav.prev-next > div {
  width: 32.5%;
  margin: 0 1.25% 0 0;
  float: left;
}
.single-news nav.prev-next > div a, .single-news nav.prev-next > div span {
  display: block;
  text-align: center;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 100%;
  padding: 13px 0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
.single-news nav.prev-next > div a {
  position: relative;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
}
.single-news nav.prev-next > div a:hover {
  color: #fff;
}
.single-news nav.prev-next > div a:after {
  content: "";
  display: block;
  width: 5px;
  height: 7px;
  position: absolute;
  top: 50%;
  background-position: 0 0;
  background-size: 100% auto;
}
.single-news nav.prev-next > div span {
  color: #ccc;
  border: 1px solid #ddd;
}
.single-news nav.prev-next > div:last-child {
  margin-right: 0;
}
.single-news nav.prev-next > div.prev-entry a:after {
  left: 50%;
  margin: -3px 0 0 -40px;
}
.single-news nav.prev-next > div.next-entry a:after {
  right: 50%;
  margin: -3px -40px 0 0;
}

/*========================================================================
 -- : 会社概要・沿革・組織図
========================================================================*/
.page.company .company-outline {
  margin-bottom: 100px;
  padding-top: 60px;
}
.page.company .company-outline h2 {
  padding-bottom: 35px;
}
.page.company .company-history {
  margin-bottom: 100px;
}
.page.company .company-history h2 {
  padding-bottom: 35px;
}
.page.company .company-history dl {
  overflow: hidden;
  -webkit-column-count: 2;
  -webkit-column-gap: 2.2em;
  -moz-column-count: 2;
  -moz-column-gap: 2.2em;
  column-count: 2;
  column-gap: 5%;
  word-wrap: break-word;
}
.page.company .company-history dl dt, .page.company .company-history dl dd {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 200%;
  padding: 0 0 20px 0;
}
.page.company .company-history dl dt {
  float: left;
  clear: left;
}
.page.company .company-history dl dd {
  border-left: 1px solid #e0e0cc;
  margin: 0 0 0 87px;
  padding-left: 20px;
}
.page.company .company-chart {
  padding-bottom: 90px;
}
.page.company .company-chart h2 {
  padding-bottom: 35px;
}
.page.company .company-chart img {
  width: 100%;
  height: auto;
}
.page.company .company-access {
  padding-top: 60px;
  padding-bottom: 90px;
  text-align: center;
}
.page.company .company-access h2 {
  padding-bottom: 35px;
}
.page.company .company-access h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 125%;
  margin-bottom: 20px;
}
.page.company .company-access h3 br.sp {
  display: none;
}
.page.company .company-access .googlemap {
  width: 100%;
  height: 450px;
  margin: 0 0 50px;
}
.page.company .company-access .address {
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.page.company .company-access .btn, .page.company .company-access .btn-w {
  margin-bottom: 45px;
}
.page.company .company-access dt {
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.page.company .company-access dd {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 20px;
}

/*========================================================================
 -- : アクセス
========================================================================*/
.page.access .contents section {
  padding-top: 60px;
  padding-bottom: 90px;
  text-align: center;
}
.page.access .contents section h2 {
  padding-bottom: 35px;
}
.page.access .contents section h3 {
  font-size: 24px;
  font-size: 2.4rem;
  margin-bottom: 20px;
}
.page.access .contents section .googlemap {
  width: 100%;
  height: 450px;
  margin: 0 0 50px;
}
.page.access .contents section .address {
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.page.access .contents section .btn, .page.access .contents section .btn-w {
  margin-bottom: 45px;
}
.page.access .contents section dt {
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
.page.access .contents section dd {
  font-size: 12px;
  font-size: 1.2rem;
  margin-bottom: 20px;
}

/*========================================================================
 -- : 採用情報
========================================================================*/
.page.recruit .contents section {
  padding-top: 60px;
  padding-bottom: 90px;
}
.page.recruit .contents section h2 {
  padding-bottom: 35px;
}
.page.recruit .contents section .table {
  margin-bottom: 60px;
}
.page.recruit .contents section .btn, .page.recruit .contents section .btn-w {
  width: 44.8%;
}
.page.recruit .contents section .btn a, .page.recruit .contents section .btn-w a {
  font-size: 18px;
  font-size: 1.8rem;
  padding: 25px 0;
}

/*========================================================================
 -- : お問い合わせ
========================================================================*/
.page.contact .contact-form {
  padding-bottom: 90px;
  padding-top: 60px;
}
.page.contact .alert-danger {
  font-size: 12px;
  background-color: #f7e6e6;
  border: 1px solid #c60000;
  color: #c60000;
  margin-bottom: 40px;
  padding: 10px 15px;
}
.page.contact .contact_text {
  margin: 35px 0 45px;
}

.page.contact .end_text {
	text-align: center;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.8em;
}
.page.contact .complete_page h4 {
  display: block;
	margin: 0 auto;
	margin-bottom: 30px;
	color: #4CAF50;
	text-align: center;
  font-size: 24px;
  font-weight: bold;
}
.page.contact .complete_page h5 {
  display: block;
	margin: 0 auto;
	margin-bottom: 20px;
	font-size: 20px;
    width: 680px;
	padding-left: 1em;
    text-indent: -1em;
}
.page.contact .complete_page p.w640 {
  display: block;
	width: 680px;
	margin: 0 auto;
	padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
}
@media screen and (max-width: 640px) {
  .page.contact .complete_page h4 {
    font-size: 20px;
  }
  .page.contact .complete_page h5 {
    margin-bottom: 15px;
    font-size: 16px;
  }
  .page.contact .complete_page p.w640 {
    width: 100%;
    padding-left: 0;
      text-indent: 0;
      font-size: 13px;
  }
  }
.page.contact .contact-form .contact-main-img {
  width: 100%;
  height: auto;
  margin-bottom: 60px;
}
.page.contact .contact-form .contact-main-img.pc {
  display: block;
  width: 980px;
}
.page.contact .contact-form .contact-main-img.sp {
  display: none;
}
.page.contact .contact-form .sec-tit {
  margin-bottom: 30px;
}
.page.contact .color-red,
.page.contact .error {
  color: #ce2626;
}
.page.contact .contact-form .table {
  margin-top: 50px;
}
.page.contact .contact-form .table .order_img_box img,
.page.contact .contact-form .table .tb_head_img img {
  width: 100%;
}
.page.contact .contact-form dt {
  font-size: 15px;
}
.page.contact .contact-form dd {
  font-size: 15px;
  margin: 0 0 0 300px;
}
.page.contact .contact-form .fl_name label {
  width: 40px;
  display: inline-block;
}
.page.contact .contact-form .fl_name input {
  margin-right: 15px;
}
.page.contact .contact-form select {
  margin-bottom: 15px;
}
.page.contact .contact-form input,
.page.contact .contact-form select {
  font-size: 16px;
  padding: 5px 6px;
}
.page.contact .contact-form .fl_name li {
  float: left;
}

input#order_name,
input#order_kana,
input#order_name_2,
input#order_kana_2,
input#order_name_3,
input#order_kana_3,
input#order_name_4,
input#order_kana_4,
input#order_name_5,
input#order_kana_5,
input#order_name_6,
input#order_kana_6,
input#order_name_7,
input#order_kana_7,
input#order_name_8,
input#order_kana_8,
input#order_name_9,
input#order_kana_9,
input#order_name_10,
input#order_kana_10 {
  width: 340px;
}
@media screen and (max-width: 400px) {
	input#order_name,
	input#order_kana,
	input#order_name_2,
	input#order_kana_2,
	input#order_name_3,
	input#order_kana_3,
	input#order_name_4,
	input#order_kana_4,
	input#order_name_5,
	input#order_kana_5,
	input#order_name_6,
	input#order_kana_6,
	input#order_name_7,
	input#order_kana_7,
	input#order_name_8,
	input#order_kana_8,
	input#order_name_9,
	input#order_kana_9,
	input#order_name_10,
	input#order_kana_10 {
	  width: 100%;
	}
}
textarea#demand {
	width: 100%;
	height: 150px;
}
input#name,
input#kana,
.company input,
.address input {
  width: 600px;
}
@media screen and (max-width: 767px) {
	input#name,
	input#kana {
	  width: 100%;
	}
}
input[type="email"] {
    width: 80% !important;
}
.address_number input {
  width: 80px;
}
input.item_num {
  width: 80px;
}
.page.contact .contact-form .transfer-block .transfer {
  display: inline-block;
  padding: 3px 5px;
  line-height: 1;
  background-color: #47b138;
  color: #fff;
}
.page.contact .contact-form .transfer-block ul li {
  float: left;
}
.page.contact .contact-form .caution-text {
  margin: 10px 0;
}
.page.contact .contact-form .caution-text li {
  font-size: 13px;
  margin-bottom: 0.5em;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.2em;
}
.page.contact .contact-order {
  margin-top: 70px;
}
.page.contact .contact-order .intro-text {
  font-size: 13px;
  margin-top: 15px;
}
.page.contact .contact-order .caption_txt {
  font-size: 13px;
  margin-top: 10px;
  line-height: 1.4em;
}
.page.contact .contact-form h3,
.page.contact .contact-order h3,
.page.contact .other-order h3 {
  font-size: 22px;
  text-align: center;
  color: #47b138;
}
.page.contact .contact-order .kind li {
  width: 170px;
  float: left;
  margin-right: 50px;
}
.page.contact .contact-order .kind li img {
  display: block;
  margin: 10px auto 0;
}
.page.contact .contact-order .kind li .price {
  display: inline-block;
  border: 1px solid #47b138;
  color: #47b138;
  text-align: center;
  margin: 12px 0 0 45px;
  padding: 2px 3px;
  line-height: 1;
}
.page.contact .contact-order .kind li .small {
	font-size: 0.8em;
}
.page.contact .contact-order .kind li .sendfree {
	line-height: 1;
	text-align: center;
}


.bg_gray {
	background: #f8f8f8;
	padding: 30px 20px;
}

.page.contact .contact-form h3 {
	margin-bottom: 10px;
}
.page.contact .contact-form p.center {
	text-align: center;
}

/* ボタンエリア */
.submit-block {
  margin-top: 30px;
}
.submit-block-confirm {
  margin-top: 60px;
}
.submit-block .button-submit {
  background-color: #4CAF50;
  border: 2px solid #4CAF50 !important;
}
.submit-block-confirm .submit-inner {
	width: 460px;
	margin: 0 auto;
	display: flex;
}
.submit-block .button-submit,
.submit-block-confirm .button-back,
.submit-block-confirm .button-submit,
.add_btn_area .button-add {
  display: block;
  font-size: 16px;
  padding: 10px 20px;
  margin: 0 auto;
  color: #fff;
  border: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
}
.submit-block-confirm .button-back,
.submit-block-confirm .button-submit {
  width: 220px;
  float: left;
}
.add_btn_area .button-add {
  width: 360px;
  display:inline;
}
@media (max-width: 460px) {
	.add_btn_area .button-add {
	  width: 100%;
	}
}
.submit-block-confirm .button-submit {
  background-color: #4CAF50;
  border: 2px solid #4CAF50;
}
.submit-block .button-submit:hover,
.submit-block-confirm .button-submit:hover {
    background: #fff;
    color: #4CAF50;
    border: 2px solid #4CAF50;
}
.submit-block-confirm .button-back {
  background-color: #444;
  border: 2px solid #444;
  margin-right: 15px;
}
.submit-block-confirm .button-back:hover {
  background: #fff;
  color: #444;
  border: 2px solid #444;
}
.check_area {
	border: 1px solid #CCC;
	margin-top: 20px;
}
.checkbox_order {
  text-align: center;
  margin-bottom: 30px;
}
.checkbox_order input {
  width: 15px;
  height: 15px;
  vertical-align: middle;
}
.add_btn_area .button-add {
  background-color: #fff;
  border: 2px solid #444;
  margin-right: 15px;
  margin-bottom: 15px;
  color:#444;
}
.add_btn_area .button-add:hover {
  background: #444;
  color: #fff;
  border: 2px solid #444;
}
.confirm-inner {
	text-align: center;
	display: inline-block;
}

/* ポップアップ */
.popup_btn {
  width: 420px;
  margin-left: 280px;
  overflow: hidden;
}
.popup_btn a {
  float: left;
  display: block;
  width: 200px;
  margin: 30px 0 20px;
  padding: 10px 5px;
  text-align: center;
  border: 1px solid #ddd;
  background: #eee;
}
.popup_btn a:first-child {
  margin-right: 20px;
}

/* その他の申し込み方法 */
.page.contact .other-order {
  height: 130px;
  margin-top: 80px;
  padding-bottom: 20px;
  border: 2px solid #8BC34A;
  background-color: #f6ffec;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
}
.page.contact .other-order h3 {
  display: block;
  width: 260px;
  height: 55px;
  margin: -25px auto 10px;
  line-height: 2;
  color: #fff;
  background: url(../../common/img/order-head-bg.png) no-repeat;
}
.page.contact .other-order h4 {
  font-size: 18px;
  margin-bottom: 25px;
  text-indent: -1.5em;
}
.page.contact .other-order ul li {
  width: 50%;
  float: left;
  border-right: 1px dotted #ddd;
  padding-left: 100px;
}
.page.contact .other-order ul li:last-child {
  border: none;
}
.page.contact .other-order li span {
  font-size: 28px;
}

.add_area {
	margin: 30px 0;
	text-align: center;
}
.add_area .add_btn_area {
    background: #eee none repeat scroll 0 0;
    border: 1px solid #ddd;
    display: inline-block;
    padding: 10px 5px;
    text-align: center;
    width: 480px;
}
@media (max-width: 767px) {
	.add_area .add_btn_area {
    	width: 100%;
	}
}

.submit-block-confirm .mr20 {
	margin-right: 20px;
}
@media (max-width: 767px) {
	.submit-block-confirm .mr20 {
		margin-right: inherit !important;
		margin-bottom: 10px;
	}
}

#order_box_2 {
	display: none;
}
#order_box_3 {
	display: none;
}
#order_box_4 {
	display: none;
}
#order_box_5 {
	display: none;
}
#order_box_6 {
	display: none;
}
#order_box_7 {
	display: none;
}
#order_box_8 {
	display: none;
}
#order_box_9 {
	display: none;
}
#order_box_10 {
	display: none;
}

#add_area_3 {
	display: none;
}
#add_area_4 {
	display: none;
}
#add_area_5 {
	display: none;
}
#add_area_6 {
	display: none;
}
#add_area_7 {
	display: none;
}
#add_area_8 {
	display: none;
}
#add_area_9 {
	display: none;
}
#add_area_10 {
	display: none;
}
#add_area_11 {
	display: none;
}



#del_area_2 {
	display: none;
}
#del_area_3 {
	display: none;
}
#del_area_4 {
	display: none;
}
#del_area_5 {
	display: none;
}
#del_area_6 {
	display: none;
}
#del_area_7 {
	display: none;
}
#del_area_8 {
	display: none;
}
#del_area_9 {
	display: none;
}
#del_area_10 {
	display: none;
}


/*========================================================================
 -- : 特定商取引法に基づく表記
========================================================================*/
.page.law .law-block {
  margin-top: 40px;
}
.page.law .law-block h1 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 50px;
}
.page.law .law-block dl {
  font-size: 14px;
}
.page.law .law-block dt {
  width: 200px;
}
.page.law .law-block dd {
  margin-left: 300px;
}

/*========================================================================
 -- : プライバシーポリシー
========================================================================*/
.page.privacy .privacy-block {
  margin-top: 40px;
}
.page.privacy .privacy-block .table {
  margin-bottom: 70px;
}
.page.privacy .privacy-block h1 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 50px;
}
.page.privacy .privacy-block h5 {
  font-size: 14px;
  margin: 40px 0 10px;
}



/*========================================================================
 -- : スライドメニュー
========================================================================*/
.slidemenu-bg {
  width: 100%;
  height: 100%;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  display: none;
}

.slidemenu {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 280px;
  background: #fff;
  z-index: 101;
  box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 10px 0px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 10px 0px;
  -moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 10px 0px;
  display: none;
}
.slidemenu .slidemenu-close {
  text-align: right;
}
.slidemenu .slidemenu-close a {
  display: block;
  padding: 13px 13px 12px 12px;
}
.slidemenu .slidemenu-close a img {
  width: 25px;
  height: 25px;
}
.slidemenu nav {
  padding: 0 10px;
}
.slidemenu nav ul li {
  border-top: 1px dotted #ccc;
  transform-origin: 100% 50% 0;
}
.slidemenu nav ul li a {
  display: block;
  padding: 15px 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 100%;
  background: url(../img/arw_pink_r2.png) right center no-repeat;
  background-size: 7px 12px;
}
.slidemenu nav ul li:last-child {
  border-bottom: 1px dotted #ccc;
}

/*------------------------------------------------------------------------------------ Responsive Setting*/
@media (min-width: 768px) {
  .slidemenu-bg {
    display: none !important;
  }

  .slidemenu {
    display: none !important;
  }
}
@media (max-width: 980px) {
  .home .area-service .block-service.service1 .row .service1-txt {
    right: 2%;
    width: 40%;
  }

  .home .area-service .block-service.service3 .service3-txt {
    margin: 0 0 0 2%;
  }

  .home .area-service .block-service.service3 .service3-txt h3 img {
    width: 90%;
    max-width: 424px;
    height: auto;
  }

  .single-photo article .photo-cap {
    position: relative;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    padding: 0;
  }
}
@media (max-width: 767px) {
  .wrapper {
    margin-top: 40px;
  }

  .base-w {
    padding: 0 3.125%;
  }

  .btn, .btn-w {
    width: 81.25%;
  }

  /*========================================================================
   -- : Common Parts
  ========================================================================*/
  header.global .base-w {
    padding: 0 0 0 13px;
  }
  header.global .logo {
    width: 120px;
    padding: 8px 0;
  }
  header.global nav {
    display: none;
  }
  header.global .hbg-menu,header.global .normal-menu {
    display: block;
  }

  footer.global {
    text-align: center;
    padding: 4% 0 2.5%;
  }
  footer.global .footer-left {
    float: none;
  }
  footer.global .footer-right {
    float: none;
  }
  footer.global .logo {
    float: none;
    margin: 0 auto 1%;
  }
  footer.global ul {
    float: none;
    margin-bottom: 4%;
  }
  footer.global ul li {
    display: inline-block;
  }

  .column-2 li, .column-2 .block, .column-3 li, .column-3 .block {
    float: none;
  }

  .column-2 li, .column-2 .block {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3.125%;
  }

  .column-3 li, .column-3 .block {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3.125%;
  }

  /*-------------------------------------------------------下層ページタイトル*/
  .contents-tit {
    height: 90px;
  }
  .contents-tit h1 .en, .contents-tit .title .en {
    font-size: 38px;
    font-size: 3.8rem;
    padding-top: 17px;
  }

  .table dl dt, .table dl dd {
    line-height: 171.42857%;
  }
  .table dl dd {
    margin-left: 70px;
  }

  ul.news-list li a time {
    float: none;
    width: auto;
    text-align: center;
  }
  ul.news-list li a .cat {
    float: none;
    width: 100px;
    margin: 0 auto;
    padding: 1px 0;
  }
  ul.news-list li a p {
    margin: 0;
  }

  /*========================================================================
   -- : TOP Page Style
  ========================================================================*/
  .idx-main .slider-txt {
    width: 22.5%;
  }

  .idx-slider li {
    padding-bottom: 100%;
    background-position: center center;
  }

  .home .area-service {
    padding: 0;
  }
  .home .area-service .block-service {
    padding: 0 0 6.5625%;
  }
  .home .area-service .block-service h3 {
    width: 70%;
    margin: 3.125% auto 2.3%;
  }
  .home .area-service .block-service h3 img {
    width: 100%;
    height: auto;
  }
  .home .area-service .block-service p {
    margin: 0 3.125% 3.75%;
  }
  .home .area-service .block-service p br {
    display: none;
  }
  .home .area-service .block-service.service1 .row .service1-ph2 {
    width: 100%;
  }
  .home .area-service .block-service.service1 .row .service1-txt {
    position: static;
    width: 100%;
  }
  .home .area-service .block-service.service1 .row .service1-txt p {
    margin-left: 3.125%;
  }
  .home .area-service .block-service.service1 .row .service1-txt .btn, .home .area-service .block-service.service1 .row .service1-txt .btn-w {
    width: 81.25%;
    margin: 0 auto;
  }
  .home .area-service .block-service.service2 .service2-ph1 {
    display: none;
  }
  .home .area-service .block-service.service2 .row .service2-ph2 {
    width: 100%;
    float: none;
  }
  .home .area-service .block-service.service2 .row .service2-txt {
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
  }
  .home .area-service .block-service.service2 .row .service2-txt .btn, .home .area-service .block-service.service2 .row .service2-txt .btn-w {
    width: 81.25%;
    margin: 0 auto;
  }
  .home .area-service .block-service.service3 .row2 {
    min-height: auto;
  }
  .home .area-service .block-service.service3 .service3-txt {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .home .area-service .block-service.service3 .service3-txt .btn, .home .area-service .block-service.service3 .service3-txt .btn-w {
    margin: 0 auto;
  }
  .home .area-service .block-service.service3 .service3-ph2 {
    display: none;
  }
  .home .area-vision {
    padding: 20% 0 37.5%;
    background-image: url(../img/top_vision_img_sp.jpg);
  }
  .home .area-vision h2.sec-tit {
    margin-bottom: 27.5%;
  }
  .home .area-vision h3 {
    width: 71.25%;
    max-width: 456px;
    margin: 0 auto 4%;
    padding: 0;
  }
  .home .area-vision h3 img {
    width: 100%;
    height: auto;
  }
  .home .area-vision p {
    margin: 0 3.125% 4%;
    text-align: justify;
    text-justify: inter-ideograph;
  }
  .home .area-vision p br {
    display: none;
  }
  .home .area-photo {
    padding: 14% 0;
  }
  .home .area-photo ul {
    margin: 0 0 3.125%;
  }
  .home .area-news {
    padding: 14% 0 45%;
  }
  .home .area-news h2 {
    margin-bottom: 14%;
  }

  /*========================================================================
   -- : ビジョン
  ========================================================================*/
  .page.vision .contents-tit {
    padding-bottom: 175%;
    margin: 0 0 9.375%;
  }
  .page.vision .contents section {
    padding: 0;
  }
  .page.vision .contents section .ph-block1 {
    margin: 0;
  }
  .page.vision .contents section .ph-block1 h3 {
    width: 67.1875%;
    margin: 6.25% auto;
    padding: 0;
  }
  .page.vision .contents section .ph-block1 p {
    line-height: 200%;
    margin: 0 0 7.8%;
  }
  .page.vision .contents section .vision-left, .page.vision .contents section .vision-right {
    width: 100%;
    float: none;
  }
  .page.vision .contents section .vision-left p, .page.vision .contents section .vision-right p {
    text-align: center;
    padding: 0;
    line-height: 200%;
    margin: 7.8% 0;
  }
  .page.vision .contents section .ph-block2 br.sp {
    display: inline;
  }

  /*========================================================================
   -- : 事業内容
  ========================================================================*/
  .business-list {
    padding: 6.25% 0 3.125%;
  }
  .business-list ul li {
    min-height: auto;
  }
  .business-list ul li.block {
    margin-bottom: 3.125%;
  }

  /*========================================================================
   -- : フォトギャラリー
  ========================================================================*/
  .post-type-archive-photo .photo-list-cont {
    padding: 10px;
  }

  .single-photo article .photo-cap .inner p {
    float: none;
    margin-right: 110px;
  }
  .single-photo article .photo-close {
    width: 35px;
    height: 35px;
    right: 10px;
    top: 10px;
  }
  .single-photo article .photo-close a {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
  .single-photo article .photo-prev, .single-photo article .photo-next {
    width: 35px;
    height: 35px;
    margin-top: -17px;
  }
  .single-photo article .photo-prev a, .single-photo article .photo-next a {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
  .single-photo article .photo-prev {
    left: 10px;
  }
  .single-photo article .photo-next {
    right: 10px;
  }

  /*========================================================================
   -- : お知らせ
  ========================================================================*/
  .post-type-archive-news .contents section {
    padding: 0 3.125% 30px;
  }
  .post-type-archive-news .contents section ul.news-list {
    border-top: 0;
  }

  .single-news article {
    padding: 3.125% 0 0;
  }
  .single-news article header h1 {
    font-size: 20px;
    font-size: 2rem;
  }

  /*========================================================================
   -- : 会社概要・沿革・組織図
  ========================================================================*/
  .page.company .company-outline {
    padding: 14% 3.125% 0;
    margin-bottom: 0;
  }
  .page.company .company-access h3 br.sp {
    display: inline;
  }
  .page.company .company-access .googlemap {
    height: 250px;
    width: 90%;
    margin: 0 auto 30px;
  }

  /*========================================================================
   -- : アクセス
  ========================================================================*/
  /*========================================================================
   -- : 採用情報
  ========================================================================*/
  .page.recruit .contents section .btn, .page.recruit .contents section .btn-w {
    width: 81.25%;
  }


  /*========================================================================
   -- : お問い合わせ
  ========================================================================*/
  .page.contact .contact-form {
    margin-bottom: 30px;
    padding-top: 60px;
  }
  .page.contact .contact-form .contact-main-img {
    width: 100%;
    height: auto;
    margin-bottom: 40px;
  }
  .page.contact .contact-form .contact-main-img.pc {
    display: none;
  }
  .page.contact .contact-form .contact-main-img.sp {
    display: block;
  }
  .page.contact .contact-form .table {
    margin-top: 25px;
  }
  .page.contact .contact-form dt {
    width: 100%;
    margin-bottom: 15px;
  }
  .page.contact .contact-form dd {
    width: 100%;
    font-size: 15px;
    margin: 0;
  }
  .page.contact .contact-form dd br.pc {
    display: none;
  }
  .page.contact .contact-form .fl_name label {
    width: 40px;
    display: inline-block;
  }
  .page.contact .contact-form .fl_name input {
    margin-right: 15px;
    margin-bottom: 10px;
  }
  .page.contact .contact-form select {
    margin-bottom: 15px;
  }
  .page.contact .contact-form input,
  .page.contact .contact-form select {
    font-size: 16px;
    padding: 5px 6px;
  }
  input[type="text"],
  select {
    width: 100%;
  }
  input[type="email"] {
    width: 100% !important;
    margin-bottom: 10px;
  }
  .address_number input {
    width: 20% !important;
  }
  .company input {
    width: 100% !important;
  }
  .page.contact .contact-form .confirm label,
  .page.contact .contact-order .season label {
    display: block;
    margin-bottom: 10px;
  }
  .page.contact .contact-form .fl_name li,
  .page.contact .contact-form .transfer-block ul li {
    float: none;
  }
  .page.contact .contact-form .transfer-block ul {
    margin-top: 10px;
  }
  .page.contact .contact-form .transfer-block ul li:first-child {
    width: 100%;
    margin-bottom: 3px;
  }
  .page.contact .contact-form .caution-text {
    margin: 20px 0;
  }
  .page.contact .contact-form h3,
  .page.contact .contact-order h3,
  .page.contact .other-order h3 {
    text-align: center;
  }
  .page.contact .contact-order .kind li {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 40px;
    text-align: center;
  }
  .page.contact .contact-order .kind li img {
    margin: 10px auto 0;
  }
  .page.contact .contact-order .kind li .price {
    margin: 12px auto 0;
  }
  .page.contact .contact-order .season {
    width: 100%;
    overflow: hidden;
  }
  .page.contact .contact-order .season input,
  .page.contact .contact-order .season label {
    float: none;
  }

  /* ボタンエリア */
  .submit-block-confirm .submit-inner {
    width: 100%;
    margin-left: 0;
  }
  .submit-block-confirm .button-back,
  .submit-block-confirm .button-submit {
    float: none;
  }
  .submit-block-confirm .button-back {
    display: block;
    margin: 0 auto 15px;
  }
  /* ポップアップ */
  .popup_btn {
    width: 100%;
    margin: 20px 0 30px;
  }
  .popup_btn a {
    float: none;
    display: block;
    margin: 0 auto;
    width: 200px;
  }
  .popup_btn a:first-child {
    margin: 0 auto 15px;
  }

  /* その他のお申込み方法 */
  .page.contact .other-order {
    height: 220px;
    padding: 0 10px 5px;
  }
  .page.contact .other-order h3 {
    width: 260px;
    height: 55px;
    margin: -25px auto 10px;
    color: #fff;
  }
  .page.contact .other-order h4 {
    font-size: 18px;
    margin-bottom: 15px;
    text-indent: 0;
  }
  .page.contact .other-order ul li {
    width: 100%;
    float: none;
    margin-bottom: 20px;
    padding-left: 0;
    border-right: none;
    border-bottom: 1px dotted #ddd;
  }
  .page.contact .other-order ul li:first-child {
    padding-bottom: 20px;
  }
  .page.contact .other-order li span {
    font-size: 28px;
  }


  /*========================================================================
   -- : 特定商取引法に基づく表記
  ========================================================================*/
  .page.law .law-block dt {
    width: 100%;
    margin-bottom: 15px;
  }
  .page.law .law-block dd {
    width: 100%;
    margin: 0;
  }

}
/*==================================================
-- : 404エラー
================================================== */
.error404 article {
  padding: 100px 0;
  text-align: center;
}
.error404 article h1 {
  font-family: abastina;
  font-size: 40px;
  font-size: 4rem;
  line-height: 100%;
  margin: 0 0 0.5em;
}
.error404 article h2 {
  font-family: abastina;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 150%;
  margin: 0 0 3em;
}
.error404 article p {
  margin: 0 0 3em;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 157.14286%;
}

/*==================================================
-- : LOG IN しているときにアドミンバーがでるのでそれの調整
================================================== */
.logged-in header.global {
  top: 32px;
}
.logged-in .slidemenu {
  top: 32px;
}

@media screen and (max-width: 782px) {
  #wpadminbar {
    position: fixed !important;
  }

  .logged-in header.global {
    top: 46px;
  }
  .logged-in .slidemenu {
    top: 46px;
  }
}
/*==================================================
-- : clearfix
================================================== */
.clearfix, footer.global, .column-2, .column-3, .column-2i, .column-3i, .single-photo article .photo-cap .inner, .single-news article header, .single-news article header > ul {
  zoom: 1;
}
.clearfix:after, footer.global:after, .column-2:after, .column-3:after, .column-2i:after, .column-3i:after, .single-photo article .photo-cap .inner:after, .single-news article header:after, .single-news article header > ul:after {
  content: '';
  display: block;
  clear: both;
}
