@charset "UTF-8";
/*!
 *  Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=4.5.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.5.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.5.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.5.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}

/*===================================================================
	TOP
===================================================================*/
.mainvisual {
  position: relative;
/*  margin: 246px auto 0;*/
  margin: 266px auto 0;
  width: 100%;
  max-width: 1200px;
}

@media screen and (max-width: 640px) {
  .mainvisual {
    height: auto;
/*    margin: 101px auto 0;*/
    margin: 121px auto 0;
  }
}

.mainvisual .mainvisual__slide {
  position: relative;
  overflow: hidden;
}

.mainvisual .mainvisual__slide a {
  display: block;
}

.mainvisual .slick-prev {
  position: absolute;
  left: 30px;
  top: 45%;
  z-index: 1000;
  border: none;
  width: 54px;
  height: 54px;
  text-indent: -9999px;
  background: url("../../images/slide_left.png") 0 0 no-repeat;
}

@media screen and (max-width: 640px) {
  .mainvisual .slick-prev {
    display: none !important;
  }
}

.mainvisual .slick-next {
  position: absolute;
  right: 30px;
  top: 45%;
  z-index: 1001;
  border: none;
  width: 54px;
  height: 54px;
  text-indent: -9999px;
  background: url("../../images/slide_right.png") 0 0 no-repeat;
}

@media screen and (max-width: 640px) {
  .mainvisual .slick-next {
    display: none !important;
  }
}

/*--------------------------------
  information
--------------------------------*/
.information .information-box {
  width: 48.33333%;
}

@media screen and (max-width: 640px) {
  .information .information-box {
    width: 100%;
    margin: 10px 0 20px;
  }
}

.information .information-box h2 {
  color: #fff;
  text-align: center;
  margin-bottom: 25px;
  padding: .5em;
  font-size: 2rem;
}

.information .information-box a {
  text-decoration: none;
}

.information .information-box a:hover {
  text-decoration: underline;
}

.information .information-box.news {
  float: left;
}

.information .information-box.news h2 {
  background-color: #F7A4AE;
  border-bottom: #E81730 5px solid;
}

.information .information-box.event {
  float: right;
}

.information .information-box.event h2 {
  background-color: #FCDD05;
  border-bottom: #F5A708 5px solid;
}

.information .information-box .information-list {
  overflow: hidden;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .information .information-box .information-list {
    margin: 0 10px 0;
  }
}

.information .information-box .information-list dt {
  float: left;
  clear: both;
  width: 22.41379%;
}

.information .information-box .information-list dd {
  float: left;
  width: 77.58621%;
  margin-bottom: 1em;
}

.information .information-box .btn {
  clear: both;
  text-align: center;
}

.information .information-box .btn a {
  display: inline-block;
  border: #1AA0D5 1px solid;
  font-size: 1.6rem;
  padding: .7em;
  width: 60%;
}

.information .information-box .btn a:hover {
  background-color: #1AA0D5;
  color: #fff;
}

.information .section-body {
  max-width: 1200px;
  border-bottom: #ccc 1px solid;
  margin: 0 auto;
  padding: 25px 0 50px;
}

.information .section-body:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 640px) {
  .information .section-body {
    padding: 0;
  }
}

/*--------------------------------
  movie
--------------------------------*/
.movie .movie-list li {
  float: left;
  width: 48.33333%;
  margin-bottom: 30px;
}

.movie .movie-list li:nth-child(2n) {
  margin-left: 3.33333%;
}

@media screen and (max-width: 640px) {
  .movie .movie-list li:nth-child(2n) {
    margin-left: 0;
  }
}

@media screen and (max-width: 640px) {
  .movie .movie-list li {
    float: none;
    width: 100%;
    text-align: center;
  }
}

.movie .movie-list li.movie-title {
  border: #1AA0D5 1px solid;
  height: 320px;
  color: #1AA0D5;
  text-align: center;
  margin-top: 1.8em;
  padding: 9em 0 0;
  font-size: 1.6rem;
}

@media screen and (max-width: 640px) {
  .movie .movie-list li.movie-title {
    height: auto;
    padding: .5em 0;
  }
}

.movie .movie-list li p {
  text-align: center;
  background-color: #0A339C;
  color: #fff;
  padding: 10px;
  font-size: 2rem;
}

.movie .movie-list li iframe {
  width: 100%;
  height: 320px;
}

@media screen and (max-width: 640px) {
  .movie .movie-list li iframe {
    width: 320px;
    height: 180px;
  }
}

.movie .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0 0;
}

.movie .section-body:after {
  content: "";
  display: block;
  clear: both;
}

@media screen and (max-width: 640px) {
  .movie .section-body {
    padding: 25px 0 0;
  }
}

/*--------------------------------
  product
--------------------------------*/
.product .product-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 640px) {
  .product .product-list {
    display: block;
    margin: 0 1.5625%;
  }
}

.product .product-list li {
  width: 32.5%;
  margin-right: 1.25%;
}

.product .product-list li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .product .product-list li {
    width: 100%;
    margin: 0 0 10px;
  }
}

.product .product-list li .product-list__img img {
  width: 100%;
}

.product .product-list li .product-list__tit {
  padding: .8em 0 .4em;
  text-align: center;
  color: #019FD7;
  font-size: 3rem;
  line-height: 1.3;
}

.product .product-list li .product-list__tit span {
  font-size: 1.4rem;
}

.product .product-list li .product-list__tit a {
  text-decoration: none;
}

.product .product-list li .product-list__tit a:hover {
  text-decoration: underline;
}

.product .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

@media screen and (max-width: 640px) {
  .product .section-body {
    padding: 10px 0 20px;
  }
}

/*--------------------------------
  company
--------------------------------*/
.company .company-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 640px) {
  .company .company-list {
    display: block;
    margin: 0 1.5625%;
  }
}

.company .company-list li {
  width: 48.33333%;
  margin-right: 3.33333%;
}

.company .company-list li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .company .company-list li {
    width: 100%;
    margin: 0 0 10px;
  }
}

.company .company-list li .company-list__img img {
  width: 100%;
}

.company .company-list li .company-list__tit {
  padding: .8em 0 .4em;
  text-align: center;
  color: #019FD7;
  font-size: 3rem;
}

.company .company-list li .company-list__tit a {
  text-decoration: none;
}

.company .company-list li .company-list__tit a:hover {
  text-decoration: underline;
}

.company .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

@media screen and (max-width: 640px) {
  .company .section-body {
    padding: 10px 0 20px;
  }
}

/*--------------------------------
  works
--------------------------------*/
.works .works-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .works .works-list {
    display: block;
    margin: 0 1.5625%;
  }
}

.works .works-list li {
  width: 18.75%;
  margin-right: 1.5%;
}

.works .works-list li:last-child {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .works .works-list li {
    width: 49%;
    float: left;
    margin: 0 0 15px;
  }
  .works .works-list li:nth-child(2n) {
    margin-left: 2%;
    margin-right: 0;
  }
}

.works .works-list li .works-list__img img {
  width: 100%;
}

.works .works-list li .works-list__tit {
  padding: .8em 0;
  text-align: center;
  color: #333;
  font-size: 1.6rem;
}

.works .works-list li .btn {
  clear: both;
  text-align: center;
}

.works .works-list li .btn a {
  display: inline-block;
  border: #1AA0D5 1px solid;
  font-size: 1.6rem;
  padding: .2em;
  text-decoration: none;
  width: 50%;
}

.works .works-list li .btn a:hover {
  background-color: #1AA0D5;
  color: #fff;
}

.works .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

@media screen and (max-width: 640px) {
  .works .section-body {
    padding: 10px 0 20px;
  }
}

/*--------------------------------
  zeh
--------------------------------*/
/*
.zeh .zeh-box {
  overflow: hidden;
}
*/
.zeh .section-title {
    background-color: #A1D9EF;
    border-bottom: none; 
    color: #fff;
    text-align: center;
    margin-bottom: 25px;
    padding: 0.5em;
    font-size: 2.0rem;
}
@media screen and (max-width: 640px) {
  .zeh .zeh-box {
    width: 95%;
    margin: 0 2.5%;
  }
}

.zeh .zeh-box .txt {
  width: 100%;
  line-height: 2.2;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .zeh .zeh-box .txt {
    width: 100%;
  }
}

.zeh .zeh-box .txt table {
  margin-top: 20px;
}

.zeh .zeh-box .txt table th {
  font-weight: normal;
  text-align: center;
}

.zeh .zeh-box .txt table td {
  text-align: center;
  padding: 0;
}

.zeh .zeh-box .txt table td span {
  display: block;
  border-top: #000 1px solid;
  margin-top: 5px;
  padding: 1.8em 0;
}

.zeh .zeh-box .img {
  width: 10%;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .zeh .zeh-box .img {
    width: 20%;
    margin-top: 15px;
    margin: 0 auto;
  }
}

.zeh .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

@media screen and (max-width: 640px) {
  .zeh .section-body {
    padding: 10px 0 20px;
  }
}

/*--------------------------------
  link
--------------------------------*/
.link {
  clear: both;
}

@media screen and (max-width: 640px) {
  .link .link-list {
    display: block;
    margin: 0 1.5625%;
  }
}

.link .link-list li {
  width: 32.5%;
  margin-right: 1.25%;
  float: left;
  margin-bottom: 20px;
  color: #efc500;
}

.link .link-list li:nth-child(2) {
  color: #eb3867;
}

.link .link-list li:nth-child(3) {
  color: #1a3dd5;
}

.link .link-list li:nth-child(4) {
  color: #9f761f;
}

.link .link-list li:nth-child(5) {
  color: #13a52e;
}

.link .link-list li:nth-child(6) {
  color: #a35a1f;
}

.link .link-list li:nth-child(7) {
  color: #ffa406;
}

.link .link-list li:nth-child(8) {
  color: #d36d12;
}

.link .link-list li:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .link .link-list li {
    width: 33.333%;
    margin: 0 0 10px;
  }
}

.link .link-list li .link-list__img img {
  width: 100%;
}

.link .link-list li .link-list__tit {
  padding: .4em 0;
  text-align: center;
  font-size: 3rem;
}

@media screen and (max-width: 640px) {
  .link .link-list li .link-list__tit {
    font-size: 1.2rem;
  }
}

.link .link-list li.heiretsu-list {
  color: #000 !important;
}

.link .link-list li.heiretsu-list:nth-child(3n+1) {
  clear: both;
}

.link .link-list li .heiretsu-list__place {
  padding: .4em 0 0;
  text-align: left;
  font-size: 1.4rem;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .link .link-list li .heiretsu-list__place {
    font-size: 1.2rem;
  }
}

.link .link-list li .heiretsu-list__name {
  padding: 0 0 .4em 0;
  text-align: left;
  font-size: 2.2rem;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .link .link-list li .heiretsu-list__name {
    font-size: 1.2rem;
  }
}

.link .strong-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px #ccc solid;
}

.link .strong-box h3 {
  color: #0A339C;
  font-size: 2rem;
  margin-top: 35px;
}

.link .strong-box p {
  font-size: 1.6rem;
  margin-top: 15px;
}

.link .strong-box .strong-boxL {
  width: 60%;
}

@media screen and (max-width: 640px) {
  .link .strong-box .strong-boxL {
    width: 100%;
    margin: 0 2.5%;
  }
}

.link .strong-box .strong-boxR {
  width: 34%;
}

@media screen and (max-width: 640px) {
  .link .strong-box .strong-boxR {
    width: 100%;
    margin: 0 2.5%;
  }
}

.link .strong-box .strong-box-list {
  padding: 35px 0 0;
}

.link .strong-box .strong-box-list li {
  width: 50%;
  float: left;
  padding: 0 0 35px 20px;
}

@media screen and (max-width: 640px) {
  .link .strong-box .strong-box-list li {
    padding: 0 0 20px;
    text-align: center;
  }
}

.link .panoramaview {
  text-align: center;
}

.link .panoramaview iframe {
  width: 60%;
  height: 420px;
}

@media screen and (max-width: 640px) {
  .link .panoramaview iframe {
    width: 100%;
  }
}

.link .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 0 40px;
}

@media screen and (max-width: 640px) {
  .link .section-body {
    padding: 10px 0 20px;
  }
}

/*===================================================================
  サブページ（共通）
===================================================================*/
.subvisual {
  position: relative;
/*  margin: 330px auto 0;*/
  margin: 350px auto 0;
  width: 100%;
  max-width: 1200px;
}

@media screen and (max-width: 640px) {
  .subvisual.subvisual-contact {
/*    margin-top: 110px;*/
    margin-top: 120px;
  }
}

@media screen and (max-width: 640px) {
  .subvisual {
/*    margin: 160px auto 0;*/
    margin: 170px auto 0;
  }
}

.subvisual .subvisual__inner {
  background-position: center top;
  background-size: 100%;
  background-repeat: no-repeat;
  padding-top: 25.25%;
}

.subvisual .subvisual__inner.bg-service {
  background-image: url(../../images/products/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-service.storey3 {
  background-image: url(../../images/products/3storey/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-service.storey2 {
  background-image: url(../../images/products/2storey/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-service.steel {
  background-image: url(../../images/products/steel/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-company {
  background-image: url(../../images/company/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-info, .subvisual .subvisual__inner.bg-enforcement, .subvisual .subvisual__inner.bg-construction, .subvisual .subvisual__inner.bg-movie {
  padding-top: 0;
  height: 15px;
}

.subvisual .subvisual__inner.bg-info.bg-event {
  background-image: url(../../images/event/page_bg.jpg);
  padding-top: 25.25%;
  height: auto;
}

.subvisual .subvisual__inner.bg-staff {
  /*background-image: url(../../images/staff/page_bg.jpg);*/
  padding-top: 0;
}

.subvisual .subvisual__inner.bg-privacy {
  background-image: url(../../images/privacy/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-gallery {
  background-image: url(../../images/gallery/page_bg.jpg);
}

.subvisual .subvisual__inner.bg-contact {
  background-image: url(../../images/contact/page_bg.jpg);
}

.subvisual .subvisual__inner h1 {
  background-color: #0A339C;
  color: #fff;
  padding: .5em 2em .5em 0;
  font-size: 2rem;
  position: absolute;
  top: -51px;
  left: 0;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 640px) {
  .subvisual .subvisual__inner h1 {
    padding: .5em 0;
  }
}

.subvisual .subvisual__inner span {
  color: #ccc;
  font-size: 1.8rem;
  margin-left: 1em;
}

.site-contents .txt-center {
  text-align: center;
}

.site-contents .txt-b {
  font-size: 1.6rem;
}

.site-contents .section-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
}

@media screen and (max-width: 640px) {
  .site-contents .section-body {
    padding: 35px 0;
  }
}

.site-contents .section-body-100 {
  width: 100%;
  margin: 0 auto;
  padding: 70px 0;
}

@media screen and (max-width: 640px) {
  .site-contents .section-body-100 {
    padding: 35px 0;
  }
}

.site-contents .page-table1 table {
  margin-top: -20px;
  margin-bottom: 70px;
}

.site-contents .page-table1 table th {
  width: 14%;
  border: none;
  border-bottom: #ccc 1px solid;
  vertical-align: top;
  padding: 1.5em 1em;
}

.site-contents .page-table1 table td {
  width: 86%;
  border: none;
  border-bottom: #ccc 1px solid;
  padding: 1.5em 1em;
}

.site-contents .page-table1 table tr:last-child th, .site-contents .page-table1 table tr:last-child td {
  border-bottom: none;
}

.site-contents .page-table1 table .mini-table {
  margin-top: 0;
  margin-bottom: 0;
}

.site-contents .page-table1 table .mini-table th {
  width: 16.27907%;
  border: #eee 1px solid;
  padding: 1em;
}

.site-contents .page-table1 table .mini-table td {
  width: 83.72093%;
  border: #eee 1px solid;
  padding: 1em;
}

.site-contents .page-table1 table .mini-table tr:last-child th, .site-contents .page-table1 table .mini-table tr:last-child td {
  border-bottom: #eee 1px solid;
}

@media screen and (max-width: 640px) {
  .site-contents .page-table1 {
    font-size: 1.2rem;
  }
  .site-contents .page-table1 table {
    margin-bottom: 20px;
  }
  .site-contents .page-table1 table th {
    width: 20%;
  }
  .site-contents .page-table1 table td {
    width: 80%;
  }
}

.site-contents .page-table2 table {
  margin-bottom: 70px;
}

.site-contents .page-table2 table th {
  width: 18%;
  text-align: right;
}

.site-contents .page-table2 table td {
  width: 82%;
}

@media screen and (max-width: 640px) {
  .site-contents .page-table2 {
    font-size: 1.2rem;
  }
  .site-contents .page-table2 table {
    margin-bottom: 20px;
  }
  .site-contents .page-table2 table th {
    width: 30%;
    font-size: 1.1rem;
    border-left: none;
  }
  .site-contents .page-table2 table td {
    width: 70%;
    border-right: none;
  }
}

.site-contents .page-table3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 60px;
}

.site-contents .page-table3 table {
  width: 48%;
}

.site-contents .page-table3 table th {
  width: 81.25%;
}

.site-contents .page-table3 table td {
  width: 18.75%;
  text-align: right;
}

@media screen and (max-width: 640px) {
  .site-contents .page-table3 {
    font-size: 1.2rem;
    margin-bottom: 20px;
    display: block;
  }
  .site-contents .page-table3 table {
    width: 100%;
  }
  .site-contents .page-table3 table:first-child {
    margin-bottom: -1px;
  }
  .site-contents .page-table3 table th {
    width: 80%;
    font-size: 1.1rem;
    border-left: none;
  }
  .site-contents .page-table3 table td {
    width: 20%;
    border-right: none;
  }
}

.site-contents .box-float {
  overflow: hidden;
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .site-contents .box-float {
    padding: 0 10px 10px;
  }
}

.site-contents .box-float .box-float-L {
  float: left;
  width: 50%;
  padding-right: 1%;
}

@media screen and (max-width: 640px) {
  .site-contents .box-float .box-float-L {
    float: none;
    width: 100%;
    padding-right: 0;
    padding-bottom: 10px;
  }
}

.site-contents .box-float .box-float-R {
  float: right;
  width: 50%;
  padding-left: 1%;
}

@media screen and (max-width: 640px) {
  .site-contents .box-float .box-float-R {
    float: none;
    width: 100%;
    padding-left: 0;
  }
}

.site-contents .anker-menu {
  margin-bottom: 60px;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu {
    margin-bottom: 40px;
  }
}

.site-contents .anker-menu.anker-menu-5 ul li {
  width: 20%;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu.anker-menu-5 ul li {
    width: 100%;
  }
}

.site-contents .anker-menu.anker-menu-plus ul {
  border-top: #a3d9ee 3px solid;
  border-bottom: none;
  border-left: #a3d9ee 3px solid;
}

.site-contents .anker-menu.anker-menu-plus ul li {
  border-top: none;
  border-bottom: #a3d9ee 3px solid;
  border-right: #a3d9ee 3px solid;
  border-left: none;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu.anker-menu-plus ul li:last-child {
    border-right: #a3d9ee 3px solid;
  }
}

.site-contents .anker-menu ul {
  text-align: center;
  overflow: hidden;
  border-bottom: #1aa0d5 5px solid;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu ul {
    margin-bottom: 0;
  }
}

.site-contents .anker-menu ul li {
  border-top: #a3d9ee 3px solid;
  border-left: #a3d9ee 3px solid;
  width: 33.33333333%;
  float: left;
  padding: 0 1.5em;
  font-size: 1.8rem;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu ul li {
    display: block;
    border-left: none;
    width: 100%;
  }
}

.site-contents .anker-menu ul li:last-child {
  border-right: #a3d9ee 3px solid;
}

@media screen and (max-width: 640px) {
  .site-contents .anker-menu ul li:last-child {
    border-right: none;
  }
}

.site-contents .anker-menu ul li a {
  color: #1aa0d5;
  text-decoration: none;
  padding: 1.3em 0;
  display: block;
  font-weight: bold;
}

.site-contents .anker-menu ul li a:hover {
  text-decoration: underline;
}

.site-contents .anker-menu ul li a::before {
  display: inline-block;
  content: "";
  font-family: FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding: 0 0.6em 0 0;
  color: #1aa0d5;
  font-size: 2rem;
}

.site-contents .bread {
  margin: 10px auto 0;
  width: 100%;
  max-width: 1200px;
  border-bottom: #ccc 1px solid;
  padding: 0 0 40px;
}

@media screen and (max-width: 640px) {
  .site-contents .bread {
    padding: 0 0 10px;
  }
}

.site-contents .bread ol li {
  display: inline-block;
  margin-right: .4em;
  font-size: 1.2rem;
}

/*===================================================================
  新着情報
===================================================================*/
.pagenavi_top {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  max-width: 1200px;
  width: 100%;
  margin: 40px auto -10px;
}

@media screen and (max-width: 640px) {
  .pagenavi_top {
    margin: 20px auto -20px;
    max-width: none;
    word-wrap: break-word;
    line-height: 2.0;
  }
}

@media screen and (max-width: 640px) {
  .pagenavi_bottom {
    max-width: none;
    word-wrap: break-word;
    line-height: 2.0;
    width: 100%;
  }
}

.wp-pagenavi {
  font-size: 2.2rem;
}

@media screen and (max-width: 640px) {
  .wp-pagenavi {
    font-size: 1.2rem;
  }
}

.wp-pagenavi a,
.wp-pagenavi span {
  padding: 10px !important;
}

@media screen and (max-width: 640px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    padding: 3px 5px !important;
  }
}

.page-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.page-info .bread {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  width: 100%;
}

.page-info .section-body {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  width: 100%;
}

.page-info .info-box {
  float: right;
  width: 75%;
}

@media screen and (max-width: 640px) {
  .page-info .info-box {
    float: none;
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-info .info-box .info-box__cnt {
  clear: both;
  padding-bottom: 30px;
  margin-bottom: 50px;
  border-bottom: #eee 1px solid;
}

@media screen and (max-width: 640px) {
  .page-info .info-box .info-box__cnt {
    word-wrap: break-word;
  }
}

.page-info .info-box .info-box__cnt .date {
  text-align: left;
  margin-bottom: 5px;
}

.page-info .info-box .info-box__cnt h2 {
  text-align: left;
  font-size: 2rem;
  margin-top: 10px;
  margin-bottom: 20px;
  background-color: #0A339C;
  border-bottom: #019FD7 3px solid;
  color: #fff;
  padding: .5em;
}

.page-info .info-box .info-box__cnt p {
  margin-bottom: 30px;
  text-align: left;
}

.page-info .info-box .info-box__cnt p img {
  max-height: 400px;
}

@media screen and (max-width: 640px) {
  .page-info .info-box .info-box__cnt iframe {
    width: 100% !important;
  }
}

.page-info .sidebar {
  float: left;
  width: 16.66667%;
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .page-info .sidebar {
    float: none;
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-info .sidebar .sidebar-tit {
  background-color: #888;
  border-bottom: #000 3px solid;
  color: #fff;
  padding: 1em 5px;
  text-align: center;
}

.page-info .sidebar .sidebar-list {
  border: #000 1px solid;
}

.page-info .sidebar .sidebar-list li {
  border-top: #000 1px solid;
  text-align: center;
}

.page-info .sidebar .sidebar-list li a {
  text-decoration: none;
  padding: 1em 5px;
  display: block;
}

.page-info .sidebar .sidebar-list li a:hover {
  text-decoration: underline;
}

/*===================================================================
  イベント情報
===================================================================*/
/*===================================================================
  会社概要
===================================================================*/
.page-company .company-box01 {
  margin-bottom: 100px;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 {
    width: 95%;
    margin: 0 2.5% 50px;
  }
}

.page-company .company-box01 h3 {
  font-size: 4rem;
  margin: 30px 0;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 h3 {
    font-size: 3rem;
  }
}

.page-company .company-box01 p {
  margin: 30px 0 50px;
}

.page-company .company-box01 .company-box01__select ul {
  overflow: hidden;
  border-top: #eee 1px solid;
  border-bottom: #eee 1px solid;
}

.page-company .company-box01 .company-box01__select ul li {
  border-right: #eee 1px solid;
  float: left;
  padding: 35px 0;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 .company-box01__select ul li {
    border-right: none;
    border-bottom: #eee 1px solid;
    float: none;
    padding: 15px 0;
  }
}

.page-company .company-box01 .company-box01__select ul li:first-child {
  padding-right: 1.83333%;
  width: 32.75%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 .company-box01__select ul li:first-child {
    width: 100%;
  }
}

.page-company .company-box01 .company-box01__select ul li:first-child h4 {
  color: #eb3867;
}

.page-company .company-box01 .company-box01__select ul li:nth-child(2) {
  padding-left: 1.83333%;
  padding-right: 1.83333%;
  width: 34.5%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 .company-box01__select ul li:nth-child(2) {
    width: 100%;
  }
}

.page-company .company-box01 .company-box01__select ul li:nth-child(2) h4 {
  color: #13a52e;
}

.page-company .company-box01 .company-box01__select ul li:last-child {
  padding-left: 1.83333%;
  border-right: none;
  width: 32.75%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box01 .company-box01__select ul li:last-child {
    width: 100%;
  }
}

.page-company .company-box01 .company-box01__select ul li:last-child h4 {
  color: #ffa406;
}

.page-company .company-box01 .company-box01__select ul li h4 {
  font-size: 2rem;
  margin-top: 10px;
}

.page-company .company-box01 .company-box01__select ul li h4 span {
  font-size: 1.4rem;
}

.page-company .company-box01 .company-box01__select ul li p {
  margin: 20px 0 10px;
}

.page-company .company-box2 {
  padding: 30px 0 80px;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 {
    width: 95%;
    margin: 0 2.5%;
    padding: 0 0 40px;
  }
}

.page-company .company-box2 .company-box2__img {
  float: left;
  width: 30.58333%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__img {
    float: none;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
  }
}

.page-company .company-box2 .company-box2__txt {
  float: right;
  width: 65.41667%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__txt {
    float: none;
    width: 100%;
  }
}

.page-company .company-box2 .company-box2__dl dt {
  clear: both;
  float: left;
  width: 12em;
  margin: 0 0 25px;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__dl dt {
    float: none;
    width: auto;
    margin: 0 0 0;
  }
}

.page-company .company-box2 .company-box2__dl dd {
  margin: 0 0 25px;
}

.page-company .company-box2 .company-box2__map_cnt {
  overflow: hidden;
  border-bottom: #ccc 1px solid;
  padding-bottom: 40px;
  margin-bottom: 20px;
}

.page-company .company-box2 .company-box2__map_txt {
  float: left;
  width: 29.16667%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__map_txt {
    float: none;
    width: 100%;
  }
}

.page-company .company-box2 .company-box2__map_tit {
  text-align: left;
  padding: 15px 0;
}

.page-company .company-box2 .company-box2__map_tit strong {
  font-size: 2.2rem;
}

.page-company .company-box2 .company-box2__map_tit span {
  font-size: 1.6rem;
}

.page-company .company-box2 .company-box2__map {
  float: right;
  width: 62.5%;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__map {
    float: none;
    width: 100%;
  }
}

.page-company .company-box2 .company-box2__map iframe {
  margin: 20px 0 40px;
  width: 100%;
  height: 520px;
}

@media screen and (max-width: 640px) {
  .page-company .company-box2 .company-box2__map iframe {
    margin: 20px 0;
  }
}

/*===================================================================
  施工実績
===================================================================*/
.page-enforcement .title-txt {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .page-enforcement .title-txt {
    font-size: 2.2rem;
    margin: 0 10px 20px;
  }
}

.page-enforcement .enforcement-box {
  border: #1AA0D5 1px solid;
  margin-bottom: 30px;
  margin: 0 1.5% 20px;
  overflow: hidden;
}

.page-enforcement .enforcement-box a {
  display: block;
  text-decoration: none;
  padding: 25px 2.5%;
  overflow: hidden;
}

.page-enforcement .enforcement-box a:hover {
  opacity: 0.7;
}

.page-enforcement .enforcement-box a img:hover {
  opacity: 1.0;
}

.page-enforcement .enforcement-box .enforcement-photo {
  float: left;
  width: 72%;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box .enforcement-photo {
    float: none;
    width: 100%;
  }
}

.page-enforcement .enforcement-box .enforcement-photo .enforcement-box__list {
  overflow: hidden;
  padding-bottom: 6px;
  text-align: center;
}

.page-enforcement .enforcement-box .enforcement-photo .enforcement-box__list li {
  float: left;
  display: table;
  margin-right: 0.61404%;
  margin-left: 0.61404%;
  margin-bottom: 10px;
  width: 225px;
  height: 225px;
  text-align: center;
  border: #ccc 1px solid;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box .enforcement-photo .enforcement-box__list li {
    float: none;
    width: 200px;
    height: 200px;
    margin: 0 auto 10px;
  }
}

.page-enforcement .enforcement-box .enforcement-photo .enforcement-box__list li img {
  max-width: 203px;
  max-height: 203px;
  text-align: center;
  vertical-align: middle;
  width: auto;
  height: auto;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box .enforcement-photo .enforcement-box__list li img {
    max-width: 198px;
    max-height: 198px;
    margin: 10px 0;
  }
}

.page-enforcement .enforcement-box .btn {
  float: right;
  text-align: center;
  margin: 110px auto 0;
  width: 27%;
  min-width: 160px;
  padding: 0 6% 0 0;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box .btn {
    float: none;
    margin-top: 15px;
    padding: 0;
    width: 100%;
  }
}

.page-enforcement .enforcement-box .btn span {
  display: block;
  border: #1AA0D5 1px solid;
  font-size: 1.4rem;
  color: #1AA0D5;
  padding: 1.2em;
  text-decoration: none;
}

.page-enforcement .enforcement-box .btn span:hover {
  background-color: #1AA0D5;
  color: #fff;
}

.page-enforcement .enforcement-box .txt {
  font-size: 1.6rem;
  padding-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box .txt {
    text-align: center;
  }
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail {
    margin: 0 2.5%;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__cnt {
  clear: both;
  padding-bottom: 30px;
  margin-bottom: 20px;
  text-align: center;
  float: left;
  width: 59%;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__cnt {
    padding-bottom: 0;
    float: none;
    width: 100%;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__cnt .date {
  text-align: center;
  margin-bottom: 5px;
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__cnt h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 30px;
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__cnt p {
  margin-bottom: 30px;
  margin-top: 8px;
  text-align: left;
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__view {
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__view {
    width: 320px;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__view img {
  width: auto;
  max-height: 650px;
  height: auto;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__view img {
    max-width: 320px;
    max-height: 320px;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__view .enforcement-box-detail__view_cnt {
  display: table-cell;
  height: 650px;
  margin: 0 auto;
  vertical-align: middle;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__view .enforcement-box-detail__view_cnt {
    width: 320px;
    height: 320px;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__img {
  overflow: hidden;
  float: right;
  width: 36%;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__img {
    float: none;
    width: 100%;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__img ul li {
  border: #ccc 1px solid;
  float: left;
  width: 18.33333%;
  margin-right: 0.83333%;
  margin-left: 0.83333%;
  min-width: 130px;
  height: 130px;
  margin-bottom: 20px;
  padding: 10px;
  display: table;
  text-align: center;
  vertical-align: middle;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__img ul li {
    min-width: 120px;
    height: 120px;
    margin-bottom: 10px;
    width: 48%;
  }
}

.page-enforcement .enforcement-box-detail .enforcement-box-detail__img ul li img {
  max-width: 108px;
  max-height: 108px;
  width: auto;
  height: auto;
  text-align: center;
  vertical-align: middle;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .enforcement-box-detail__img ul li img {
    width: auto;
    max-width: 90px;
    max-height: 90px;
  }
}

.page-enforcement .enforcement-box-detail .btn {
  clear: both;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .btn {
    margin-top: 20px;
  }
}

.page-enforcement .enforcement-box-detail .btn a {
  display: inline-block;
  border: #000 1px solid;
  font-size: 1.4rem;
  color: #000;
  padding: 1.2em;
  width: 20%;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .page-enforcement .enforcement-box-detail .btn a {
    width: 80%;
  }
}

.page-enforcement .enforcement-box-detail .btn a:hover {
  background-color: #000;
  color: #fff;
}

/*===================================================================
  工事中物件
===================================================================*/
.page-construction .title-txt {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .page-construction .title-txt {
    font-size: 2.2rem;
    margin: 0 10px 20px;
  }
}

.page-construction .construction-list {
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-list {
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-construction .construction-list li {
  float: left;
  width: 30.83333%;
  margin-right: 3.75%;
  margin-bottom: 30px;
  text-align: center;
  display: table;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-list li {
    width: 100%;
    float: none;
    margin-bottom: 15px;
    margin-right: 0;
  }
}

.page-construction .construction-list li .cnt {
  display: table;
  text-align: center;
  vertical-align: middle;
  width: 370px;
  height: 370px;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-list li .cnt {
    margin: 0 auto;
    width: 300px;
    height: 300px;
  }
}

.page-construction .construction-list li:nth-child(3n) {
  margin-right: 0;
}

.page-construction .construction-list li:nth-child(3n+1) {
  clear: both;
}

.page-construction .construction-list li a {
  display: table-cell;
  vertical-align: middle;
}

.page-construction .construction-list li img {
  height: auto;
  max-height: 370px;
  width: auto;
  max-width: 370px;
  display: table-cell;
  vertical-align: middle;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-list li img {
    max-width: 300px;
    max-height: 300px;
  }
}

.page-construction .construction-list li h2 {
  font-size: 1.6rem;
  color: #1AA0D5;
  margin-top: 10px;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-box-detail {
    margin: 0 2.5%;
  }
}

.page-construction .construction-box-detail .construction-box-detail__cnt {
  clear: both;
  padding-bottom: 30px;
  margin-bottom: 20px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-box-detail .construction-box-detail__cnt {
    padding-bottom: 0;
  }
}

.page-construction .construction-box-detail .construction-box-detail__cnt .date {
  text-align: center;
  margin-bottom: 5px;
}

.page-construction .construction-box-detail .construction-box-detail__cnt h2 {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 30px;
}

.page-construction .construction-box-detail .construction-box-detail__cnt p {
  margin-bottom: 30px;
}

.page-construction .construction-box-detail .construction-box-detail__img {
  overflow: hidden;
}

.page-construction .construction-box-detail .construction-box-detail__img ul li {
  float: left;
  width: 18.33333%;
  margin-right: 2.08333%;
  margin-bottom: 20px;
}

.page-construction .construction-box-detail .construction-box-detail__img ul li:nth-child(5n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .page-construction .construction-box-detail .construction-box-detail__img ul li:nth-child(5n) {
    margin-right: 2.08333%;
  }
}

@media screen and (max-width: 640px) {
  .page-construction .construction-box-detail .construction-box-detail__img ul li {
    width: 48.5%;
    margin-bottom: 10px;
  }
  .page-construction .construction-box-detail .construction-box-detail__img ul li:nth-child(2n) {
    margin-right: 0;
  }
}

.page-construction .btn {
  clear: both;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 640px) {
  .page-construction .btn {
    margin-top: 20px;
  }
}

.page-construction .btn a {
  display: inline-block;
  border: #000 1px solid;
  font-size: 1.4rem;
  color: #000;
  padding: 1.2em;
  width: 20%;
  text-decoration: none;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .page-construction .btn a {
    width: 80%;
  }
}

.page-construction .btn a:hover {
  background-color: #000;
  color: #fff;
}

/*===================================================================
  商品紹介
===================================================================*/
.page-service .service-list {
  overflow: hidden;
  padding: 25px 0 100px;
}

@media screen and (max-width: 640px) {
  .page-service .service-list {
    padding: 0 0 30px;
  }
}

.page-service .service-list .service-list__img {
  float: left;
  width: 43.08333%;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__img {
    float: none;
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-service .service-list .service-list__txt {
  float: right;
  width: 52.91667%;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__txt {
    float: none;
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-service .service-list .service-list__txt h3 {
  font-size: 1.8rem;
  margin-bottom: 30px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__txt h3 {
    margin: 15px 0;
  }
}

.page-service .service-list .service-list__txt h3 strong {
  font-size: 3.4rem;
}

.page-service .service-list .service-list__txt p {
  font-size: 1.4rem;
  line-height: 2.0;
}

.page-service .service-list .service-list__txt .category {
  overflow: hidden;
  margin: 25px 0 0;
  padding: 10px 20px 20px;
  border: #EEE 1px solid;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__txt .category {
    padding: 10px;
  }
}

.page-service .service-list .service-list__txt .category span {
  float: left;
  display: block;
  margin: 30px 1.5em 0 .5em;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__txt .category span {
    float: none;
    margin: 0;
  }
}

.page-service .service-list .service-list__txt .category img {
  float: left;
  margin-right: 15px;
}

.page-service .service-list .service-list__txt .btn {
  clear: both;
  text-align: center;
  margin-top: 55px;
}

@media screen and (max-width: 640px) {
  .page-service .service-list .service-list__txt .btn {
    margin-top: 30px;
  }
}

.page-service .service-list .service-list__txt .btn a {
  display: inline-block;
  border: #1AA0D5 3px solid;
  font-size: 1.4rem;
  padding: .7em;
  width: 40%;
  text-decoration: none;
}

.page-service .service-list .service-list__txt .btn a:hover {
  background-color: #1AA0D5;
  color: #fff;
}

.page-service .service-list3 {
  padding-top: 25px;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 {
    padding-top: 0;
  }
}

.page-service .service-list3 .service-list3__cnt {
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3__cnt {
    width: 95%;
    margin: 0 2.5%;
    font-size: 1.2rem;
  }
}

.page-service .service-list3 .service-list3__cnt li {
  float: left;
  width: 30.83333%;
  margin-right: 3.75%;
  margin-bottom: 50px;
}

.page-service .service-list3 .service-list3__cnt li:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3__cnt li:nth-child(3n) {
    margin-right: 3.75%;
  }
}

.page-service .service-list3 .service-list3__cnt li:nth-child(3n+1) {
  clear: both;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3__cnt li:nth-child(3n+1) {
    clear: none;
  }
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3__cnt li {
    width: 48%;
  }
  .page-service .service-list3 .service-list3__cnt li:nth-child(2n) {
    margin-right: 0;
  }
}

.page-service .service-list3 .service-list3__cnt li p {
  margin-top: 10px;
}

.page-service .service-list3 .btn-area {
  text-align: center;
  margin-bottom: 60px;
}

.page-service .service-list3 .btn-area .btn {
  clear: both;
  text-align: center;
  display: inline-block;
  margin: 0 20px 20px;
}

.page-service .service-list3 .btn-area .btn a {
  display: inline-block;
  border: #1AA0D5 3px solid;
  font-size: 1.6rem;
  padding: 1.7em 2.3em;
  text-decoration: none;
}

.page-service .service-list3 .btn-area .btn a:hover {
  background-color: #1AA0D5;
  color: #fff;
}

.page-service .service-list3 .btn-area .btn.btn-gray a {
  border: #666 3px solid;
  color: #666;
}

.page-service .service-list3 .btn-area .btn.btn-gray a:hover {
  background-color: #666;
  color: #fff;
}

.page-service .service-list3 .service-list3_table table {
  margin-bottom: 80px;
}

.page-service .service-list3 .service-list3_table table th {
  text-align: center;
  padding: 1.0em;
}

.page-service .service-list3 .service-list3_table table th:first-child {
  background-color: #eee;
}

.page-service .service-list3 .service-list3_table table th:nth-child(2) {
  background-color: #def5d7;
}

.page-service .service-list3 .service-list3_table table th:nth-child(3) {
  background-color: #c2e2ee;
}

.page-service .service-list3 .service-list3_table table th:last-child {
  background-color:#f4dade;
}

.page-service .service-list3 .service-list3_table table td {
  text-align: center;
  padding: 1.0em;
}

.page-service .service-list3 .service-list3_table table td:first-child {
  background-color: #eee;
}

.page-service .service-list3 .service-list3_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 20px;
}

.page-service .service-list3 .service-list3_gallery ul li {
  width: 23.33333%;
  margin-right: 2.16667%;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3_gallery ul li {
    width: 47.5%;
    margin: 0 1.25%;
  }
  .page-service .service-list3 .service-list3_gallery ul li:nth-child(2n) {
    margin-right: 0;
  }
}

.page-service .service-list3 .service-list3_gallery ul li:nth-child(4n) {
  margin-right: 0;
}

@media screen and (max-width: 640px) {
  .page-service .service-list3 .service-list3_gallery ul li:nth-child(4n) {
    margin-right: 0;
  }
}

.page-service .service-list3 .service-list3_gallery ul li p {
  padding: 10px 0 20px;
}

/*===================================================================
  スタッフ紹介
===================================================================*/
.cl-bl {
  color: #019FD7;
}
.cl-gr {
  color: #09975c;
}
.cl-pur {
  color: rgb(200 115 203);
}
.cl-red {
  color: red;
}
.cl-nav {
  color: #0A339C;
}
.page-staff .staff-message {
  text-align: center;
  margin: 0 0 60px;
  padding: 0 0 50px;
  border-bottom: #ccc 1px solid;
}

.page-staff .staff-box {
  overflow: hidden;
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: #eee 1px solid;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box {
    width: 95%;
    margin: 0 2.5%;
    padding: 15px 0 20px;
  }
}

.page-staff .staff-box .staff-box__img {
  float: left;
  width: 30.58333%;
}

.page-staff .staff-box .staff-box__txt {
  float: right;
  width: 65%;
}

.page-staff .staff-box .staff-box__txt h2 {
  font-size: 1.8rem;
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box .staff-box__txt h2 {
    margin-top: 0;
  }
}

.page-staff .staff-box .staff-box__txt .position {
  margin: 10px 0 30px;
}

.page-staff .staff-box .staff-box__txt p {
  margin-bottom: 15px;
}

.page-staff .staff-box2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 50px;
  padding-bottom: 50px;
  border-bottom: #eee 1px solid;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box2 {
    width: 95%;
    margin: 0 2.5%;
    padding: 0;
    border-bottom: none;
  }
}

.page-staff .staff-box2 .staff-box__img {
  width: 17%;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box2 .staff-box__img {
    width: 30.58333%;
  }
}

.page-staff .staff-box2 .staff-box__txt {
  width: 33%;
  padding: 0 1.5em;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box2 .staff-box__txt {
    width: 65%;
    padding: 0;
  }
}

.page-staff .staff-box2 .staff-box__txt h2 {
  font-size: 1.8rem;
  margin-top: 30px;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box2 .staff-box__txt h2 {
    margin-top: 0;
  }
}

.page-staff .staff-box2 .staff-box__txt .position {
  margin: 10px 0 30px;
}

@media screen and (max-width: 640px) {
  .page-staff .staff-box2 .staff-box__txt .position {
    margin-bottom: 15px;
  }
}

.page-staff .staff-box2 .staff-box__txt p {
  margin-bottom: 15px;
}

.page-staff .btn {
  clear: both;
  text-align: center;
  display: block;
  margin: 0 auto 20px;
}

.page-staff .btn a {
  display: inline-block;
  border: #1AA0D5 3px solid;
  font-size: 1.6rem;
  padding: 1.7em 2.3em;
  text-decoration: none;
}

.page-staff .btn a:hover {
  background-color: #1AA0D5;
  color: #fff;
}

/*===================================================================
  ギャラリー
===================================================================*/
.page-gallery .movie-list li {
  padding: 10px 0 0;
}

.page-gallery .movie-list_btn {
  clear: both;
  text-align: center;
  padding-top: 40px;
}

@media screen and (max-width: 640px) {
  .page-gallery .movie-list_btn {
    margin: 0 2.5%;
    padding-top: 0;
  }
}

.page-gallery .gallery-post .gallery-post__list {
  overflow: hidden;
  margin-bottom: 30px;
}

.page-gallery .gallery-post .gallery-post__list li {
  overflow: hidden;
  float: left;
  width: 50%;
  margin-bottom: 35px;
  color: #1AA0D5;
}

.page-gallery .gallery-post .gallery-post__list li:nth-child(2n+1) {
  clear: both;
}

@media screen and (max-width: 640px) {
  .page-gallery .gallery-post .gallery-post__list li {
    float: none;
    width: 95%;
    margin: 0 2.5% 20px;
  }
}

.page-gallery .gallery-post .gallery-post__list li .gallery-post__img {
  float: left;
  width: 33.33333%;
}

.page-gallery .gallery-post .gallery-post__list li .gallery-post__txt {
  float: right;
  width: 63.33333%;
  padding: 20px 10% 0 0;
}

@media screen and (max-width: 640px) {
  .page-gallery .gallery-post .gallery-post__list li .gallery-post__txt {
    padding: 0;
  }
}

.page-gallery .gallery-post .gallery-post__list li .gallery-post__txt h3 {
  font-size: 1.8rem;
  margin-bottom: 10px;
}

@media screen and (max-width: 640px) {
  .page-gallery .gallery-post .gallery-post__list li .gallery-post__txt h3 {
    margin-bottom: 0;
  }
}

/*===================================================================
  動画集
===================================================================*/
.page-movie .movie-main {
  text-align: center;
}

.page-movie .movie-main video {
  width: 60%;
  margin-bottom: 25px;
}

@media screen and (max-width: 640px) {
  .page-movie .movie-main video {
    width: 90%;
  }
}

.page-movie .movie-list li {
  float: left;
  width: 48.33333%;
  margin-bottom: 30px;
}

.page-movie .movie-list li:nth-child(2n) {
  margin-left: 3.33333%;
}

@media screen and (max-width: 640px) {
  .page-movie .movie-list li:nth-child(2n) {
    margin-left: 0;
  }
}

@media screen and (max-width: 640px) {
  .page-movie .movie-list li {
    float: none;
    width: 100%;
    text-align: center;
  }
}

.page-movie .movie-list li p {
  text-align: center;
  background-color: #0A339C;
  color: #fff;
  padding: 10px;
  font-size: 2rem;
}

.page-movie .movie-list li iframe {
  width: 100%;
  height: 320px;
}

@media screen and (max-width: 640px) {
  .page-movie .movie-list li iframe {
    width: 320px;
    height: 180px;
    margin-top: 15px;
  }
}

/*===================================================================
  お客様の声
===================================================================*/
.voice_nav {
  overflow: hidden;
  margin-bottom: 80px;
}

.voice_nav .voice_nav_prev {
  float: left;
  border: #299dd8 3px solid;
}

.voice_nav .voice_nav_prev a {
  display: block;
  padding: .8em 4.0em;
  text-decoration: none;
}

.voice_nav .voice_nav_prev a:hover {
  background-color: #299dd8;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .voice_nav .voice_nav_prev a {
    padding: .8em 2.0em;
  }
}

.voice_nav .voice_nav_next {
  float: right;
  border: #299dd8 3px solid;
}

.voice_nav .voice_nav_next a {
  display: block;
  padding: .8em 4.0em;
  text-decoration: none;
}

.voice_nav .voice_nav_next a:hover {
  background-color: #299dd8;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .voice_nav .voice_nav_next a {
    padding: .8em 2.0em;
  }
}

/*===================================================================
  個人情報保護方針
===================================================================*/
.page-privacy {
  line-height: 1.8;
}

@media screen and (max-width: 640px) {
  .page-privacy {
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-privacy h2 {
  font-size: 1.8rem;
  margin-bottom: 5px;
}

.page-privacy p {
  margin-bottom: 40px;
}

/*===================================================================
  404
===================================================================*/
@media screen and (max-width: 640px) {
  .page-error {
    width: 95%;
    margin: 0 2.5%;
  }
}

.page-error .title-txt {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .page-error .title-txt {
    font-size: 2.2rem;
    margin: 0 10px 20px;
  }
}

.page-error .btn {
  clear: both;
  text-align: center;
  display: block;
  margin: 0 auto 20px;
}

.page-error .btn a {
  display: inline-block;
  background-color: #1AA0D5;
  color: #fff;
  border: #1AA0D5 3px solid;
  font-size: 1.6rem;
  margin-top: 40px;
  padding: 1.4em 4.3em;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .page-error .btn a {
    padding: 1.2em 1.6em;
  }
}

.page-error .btn a:hover {
  background-color: #fff;
  color: #1AA0D5;
}

/*===================================================================
  お問い合わせ
===================================================================*/
.page-contact .contact-flow {
  margin-bottom: 30px;
}

.page-contact .contact-flow ul {
  overflow: hidden;
}

.page-contact .contact-flow ul li {
  border: #000 1px solid;
  float: left;
  margin-right: 3em;
  padding: 1.0em 2.5em;
  position: relative;
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-flow ul li {
    font-size: 1.2rem;
    padding: 1.0em;
  }
}

.page-contact .contact-flow ul li.current {
  background-color: #fff;
  color: #000;
}

.page-contact .contact-flow ul li::after {
  content: "→";
  display: block;
  position: absolute;
  right: -2em;
  top: 1.0em;
  color: #000;
}

.page-contact .contact-flow ul li:last-child::after {
  display: none;
}

.page-contact .contact-form .cau {
  color: #f00;
  margin-bottom: 10px;
}

.page-contact .contact-form table {
  border: none;
  border-top: #eee 1px solid;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form table tbody tr {
    display: block;
  }
}

.page-contact .contact-form table tbody tr th {
  font-weight: normal;
  vertical-align: top;
  padding: 2em 1em 2em 0;
  border: none;
  border-bottom: #eee 1px solid;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form table tbody tr th {
    padding: 1em 1em 0;
    display: list-item;
    width: 100%;
    border-bottom: none;
  }
}

.page-contact .contact-form table tbody tr th span {
  color: #f00;
}

.page-contact .contact-form table tbody tr td {
  padding: 2em 1em;
  border: none;
  border-bottom: #e0dfdb 1px solid;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form table tbody tr td {
    padding: 1em;
    display: list-item;
    width: 100%;
  }
}

.page-contact .contact-form table tbody tr td .areaS {
  width: 80px;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form table tbody tr td .areaS {
    width: 60px;
  }
}

.page-contact .contact-form table tbody tr td .areaM {
  width: 40%;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form table tbody tr td .areaM {
    width: 80%;
  }
}

.page-contact .contact-form table tbody tr .is-txt {
  font-size: 1.2rem;
  color: #666;
}

.page-contact .contact-form table tbody tr input[type="text"],
.page-contact .contact-form table tbody tr input[type="email"] {
  width: 100%;
  margin-bottom: 2px;
  padding: 0.4em 0.5em;
  border: #747373 1px solid;
  font-size: 1.4rem;
}

.page-contact .contact-form table tbody tr input[type="text"]#zipform,
.page-contact .contact-form table tbody tr input[type="email"]#zipform {
  width: 25%;
}

.page-contact .contact-form table tbody tr textarea {
  width: 100%;
  padding: 0.2em 0.5em;
  font-size: 1.4rem;
}

.page-contact .contact-form .contact-privacy {
  text-align: center;
}

.page-contact .contact-form .contact-privacy .tit {
  margin: 60px 0 20px;
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form .contact-privacy .tit {
    margin: 30px 0 10px;
  }
}

.page-contact .contact-form .contact-privacy .contact-privacy__check {
  font-size: 1.8rem;
}

.page-contact .contact-form .contact-input {
  text-align: center;
  margin-top: 80px;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form .contact-input {
    margin-top: 40px;
  }
}

.page-contact .contact-form .contact-input input {
  border: none;
}

@media screen and (max-width: 640px) {
  .page-contact .contact-form .contact-input input {
    width: 90%;
  }
}

.page-contact .contact-form .contact-input .is-submit {
  background-color: #1AA0D5;
  color: #fff;
  padding: 2.0em 7.0em;
  text-decoration: none;
  font-size: 1.6rem;
}

.page-contact .contact-form .contact-input .is-submit:hover {
  opacity: 0.7;
}

.page-contact .contact-form .contact-input .is-reset {
  background-color: #ccc;
  color: #444;
  padding: 2.0em 7.0em;
  text-decoration: none;
  font-size: 1.6rem;
}

.page-contact .contact-form .contact-input .is-reset:hover {
  opacity: 0.7;
}

.page-contact .contact-form .contact-thanks {
  text-align: center;
  padding: 0 0.5em;
}

.page-contact .contact-form.contact-form-confilm .is-txt,
.page-contact .contact-form.contact-form-confilm .is-notcon {
  display: none;
}

.page-contact .thanks-box .title-txt {
  text-align: center;
  font-size: 4rem;
  margin-bottom: 40px;
}

@media screen and (max-width: 640px) {
  .page-contact .thanks-box .title-txt {
    font-size: 2.2rem;
    margin: 0 10px 20px;
  }
}

.page-contact .thanks-box .btn {
  clear: both;
  text-align: center;
  display: block;
  margin: 0 auto 20px;
}

.page-contact .thanks-box .btn a {
  display: inline-block;
  background-color: #1AA0D5;
  color: #fff;
  border: #1AA0D5 3px solid;
  font-size: 1.6rem;
  margin-top: 40px;
  padding: 1.4em 4.3em;
  text-decoration: none;
}

@media screen and (max-width: 640px) {
  .page-contact .thanks-box .btn a {
    padding: 1.2em 1.6em;
  }
}

.page-contact .thanks-box .btn a:hover {
  background-color: #fff;
  color: #1AA0D5;
}

/*===================================================================
  responsiveTabs
===================================================================*/
.r-tabs .r-tabs-nav {
  margin: 0;
  padding: 0;
}

.r-tabs .r-tabs-tab {
  display: inline-block;
  margin: 0;
  list-style: none;
}

.r-tabs .r-tabs-panel {
  display: none;
}

.r-tabs .r-tabs-accordion-title {
  display: none;
}

.r-tabs .r-tabs-panel.r-tabs-state-active {
  display: block;
}

.r-tabs-tab.r-tabs-state-active {
  font-weight: bold;
}

.r-tabs-tab.r-tabs-state-active a {
  text-decoration: none;
}

/* Accordion responsive breakpoint */
@media screen and (max-width: 640px) {
  .r-tabs .r-tabs-nav {
    display: none;
  }
  .r-tabs-anchor {
    display: block;
    padding: 10px 0;
    color: #333;
    text-decoration: none;
  }
  .r-tabs-accordion-title .r-tabs-anchor::after {
    display: inline-block;
    content: "";
    font-family: FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0 0 0 .4em;
  }
  .r-tabs-state-active .r-tabs-anchor::after {
    display: inline-block;
    content: "";
    font-family: FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: 0 0 0 .4em;
  }
  .r-tabs .r-tabs-accordion-title {
    display: block;
    background-color: #F4F2E9;
  }
}
