@charset "UTF-8";
/*
Theme Name: shinsen_sangyou
Description: 新泉産業用テンプレート
*/
/* ==============================================================
*  ベース
* ============================================================ */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
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, main, menu, nav, section, summary {
  display: block;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow: auto;
  font-size: 62.5%;
  height: 100%;
}

body {
  color: #333333;
  font-size: 1.5rem;
  font-family: "Noto Sans Japanese", Arial, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, sans-serif;
  line-height: 1.6;
  background-color: white;
  overflow: hidden;
  position: relative;
  -webkit-text-size-adjust: none;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}

a {
  color: #2d79c8;
  text-decoration: none;
  cursor: pointer;
}
a:hover {
  text-decoration: none;
}

a, button, input[type=button], input[type=reset], input[type=submit] {
  touch-action: manipulation;
  transition: border .15s linear, color .15s linear, background-color .15s linear;
}

img {
  vertical-align: bottom;
}

.inner {
  width: 1040px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1170px) {
  .inner {
    width: 100%;
    padding: 0 5%;
  }
}

.clear {
  overflow: hidden;
  *zoom: 1;
}

/* ==============================================================
*  レイアウト
* ============================================================ */
/*
*  header
* ----------------------------------------*/
header {
  height: 60px;
  padding: 0 2.5%;
  padding-top: 12px;
}
header h1 img {
  width: 130px;
  height: auto;
}
header .logo img {
  width: 130px;
  height: auto;
}

/*-------------------------------------
  PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    position: relative;
    height: 90px;
    padding: 0 0 0 25px;
  }
  header h1 img {
    width: 152px;
  }
  header .logo img {
    width: 152px;
  }
}
/*
*  navigation
* ----------------------------------------*/
.nav-sub ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.nav-sub ul li {
  background: white url(../images/dot.png) repeat-y;
  background-size: 3px 3px;
  position: relative;
}
.nav-sub ul li:nth-child(1) a:before,
.nav-sub ul li:nth-child(2) a:before,
.nav-sub ul li:nth-child(3) a:before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  position: absolute;
  left: 50%;
  top: 30%;
  -webkit-transform: translate(-50%, -30%);
  transform: translate(-50%, -30%);
}
.nav-sub ul li:nth-child(1) a:before {
  background: url(../images/icon_home.svg) no-repeat;
  background-size: 30px 30px;
}
.nav-sub ul li:nth-child(2) a:before {
  background: url(../images/icon_sitemap.svg) no-repeat;
  background-size: 30px 30px;
}
.nav-sub ul li:nth-child(3) a:before {
  background: url(../images/icon_mail.svg) no-repeat;
  background-size: 30px 30px;
}
.nav-sub ul li:nth-child(3) a {
  color: #fff !important;
  background: #5794d3;
  background: -moz-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #5794d3), color-stop(100%, #2d79c8));
  background: -webkit-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -o-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -ms-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: linear-gradient(to right, #5794d3 0%, #2d79c8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
}
.nav-sub ul li:nth-child(3) a:hover {
  background: #286cb3;
  background: -moz-linear-gradient(left, #286cb3 0%, #286cb3 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #286cb3), color-stop(100%, #286cb3));
  background: -webkit-linear-gradient(left, #286cb3 0%, #286cb3 100%);
  background: -o-linear-gradient(left, #286cb3 0%, #286cb3 100%);
  background: -ms-linear-gradient(left, #286cb3 0%, #286cb3 100%);
  background: linear-gradient(to right, #286cb3 0%, #286cb3 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
}
.nav-sub ul a {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 1.15rem;
}
.nav-sub ul a:hover {
  background-color: #e6f0f9;
}

header .menu-nav-main-container ul li.has_child {
  position: relative;
}

/*-------------------------------------
  PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .nav-button {
    display: none;
  }

  #nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 100%;
  }

  header .menu-nav-main-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
    position: relative;
    width: 100%;
    padding-left: 30px;
  }
  header .menu-nav-main-container a {
    color: #333333;
    font-weight: bold;
    position: relative;
    display: inline-block;
    padding-bottom: 3px;
    text-transform: uppercase;
  }
  header .menu-nav-main-container a:after {
    background-color: #2d79c8;
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0;
    transform: translate3d(0, 100%, 0);
    transition: transform 0.2s cubic-bezier(0.84, 0.41, 0, 1.2), opacity 0.2s ease-out;
  }
  header .menu-nav-main-container a:hover:after, header .menu-nav-main-container a:focus:after {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  header .menu-nav-main-container a:hover {
    color: #2d79c8;
  }
  header .menu-nav-main-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  header .menu-nav-main-container ul li {
    font-size: 1.4rem;
    display: block;
    padding-right: 20px;
    position: relative;
  }
  header .menu-nav-main-container ul li.has_child {
    padding: 0px 0 0px 0;
    margin-right: 20px;
  }
  header .menu-nav-main-container ul li.has_child:after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -2px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    transform: translate(-50%, 0px) rotate(135deg);
  }
  header .menu-nav-main-container ul li.has_child:hover ul, header .menu-nav-main-container ul li.has_child:active ul {
    visibility: visible;
    opacity: 1;
  }
  header .menu-nav-main-container ul li.has_child ul {
    -webkit-flex-direction: vertical;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    position: absolute;
    right: 0;
    top: 35px;
    z-index: 4;
    background: #2d79c8;
    width: 220px;
    visibility: hidden;
    opacity: 0;
    transition: all .3s;
  }
  header .menu-nav-main-container ul li.has_child ul li {
    padding: 0;
  }
  header .menu-nav-main-container ul li.has_child ul li:last-of-type a {
    border-bottom: none;
  }
  header .menu-nav-main-container ul li.has_child ul li a {
    color: #fff;
    border-bottom: solid 1px rgba(255, 255, 255, 0.6);
    display: block;
    padding: 10px;
  }
  header .menu-nav-main-container ul li.has_child ul li a:active {
    background: #5794d3;
  }
  header .menu-nav-main-container ul li.has_child ul li a:hover {
    background: #5794d3;
  }
  header .menu-nav-main-container ul li a {
    transition: all .3s;
  }

  .nav-sub a {
    width: 80px;
    height: 90px;
    padding-top: 55px;
  }
  .nav-sub a:hover {
    background: #e6f0f9 url(../images/dot.png) repeat-y;
    background-size: 3px 3px;
  }
}
/*-------------------------------------
  SP～PC 769～1170
-------------------------------------*/
@media screen and (min-width: 769px) and (max-width: 1170px) {
  header .menu-nav-main-container ul {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  header .menu-nav-main-container ul li {
    font-size: 1.3rem;
    padding: 0px 20px 0px 0;
  }
}
/*-------------------------------------
PC 1200～
-------------------------------------*/
@media screen and (min-width: 1200px) {
  header .menu-nav-main-container ul li {
    font-size: 1.5rem;
  }
}
/*-------------------------------------
  SP ～768：右からにょきっと出てくるメニュー
-------------------------------------*/
@media screen and (max-width: 768px) {
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }

  .nav-button {
    position: fixed;
    top: 20px;
    right: 2.5%;
    width: 26px;
    height: 19px;
  }
  .nav-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #2d79c8;
    border-radius: 2px;
  }
  .nav-button span:nth-of-type(1) {
    top: 0;
  }
  .nav-button span:nth-of-type(2) {
    top: 8px;
  }
  .nav-button span:nth-of-type(3) {
    bottom: 0;
  }

  .nav-open .nav-button {
    z-index: 6;
  }
  .nav-open .nav-button a {
    color: white;
  }
  .nav-open .nav-button span {
    background-color: white;
  }
  .nav-open .nav-button span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }
  .nav-open .nav-button span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
  }
  .nav-open .nav-button span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
  }

  @-webkit-keyframes active-menu-bar02 {
    100% {
      height: 0;
    }
  }
  @keyframes active-menu-bar02 {
    100% {
      height: 0;
    }
  }
  #nav {
    display: block;
    position: fixed;
    top: 0;
    height: 100%;
    z-index: 5;
    width: 260px;
    overflow-x: hidden;
    overflow-y: auto;
    background: #2d79c8;
    color: white;
  }
  #nav .sidr-inner {
    padding: 0 0 15px;
  }
  #nav.right {
    left: auto;
    right: -260px;
  }
  #nav .menu-nav-main-container {
    display: block;
    padding: 0;
    margin-top: 60px;
  }
  #nav .menu-nav-main-container ul {
    border-top: 1px dotted #000;
  }
  #nav .menu-nav-main-container ul .has_child:after {
    content: '';
    position: absolute;
    right: 20px;
    top: 2rem;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
  }
  #nav .menu-nav-main-container ul .has_child.active:after {
    transform: rotate(-45deg);
  }
  #nav .menu-nav-main-container ul .has_child ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    opacity: 1;
    display: none;
    transition: none;
  }
  #nav .menu-nav-main-container ul .has_child ul li {
    background-color: #5794d3;
  }
  #nav .menu-nav-main-container li {
    display: block;
    margin: 0;
    line-height: 48px;
  }
  #nav .menu-nav-main-container li + li {
    border-top: 1px dotted #000;
  }
  #nav .menu-nav-main-container li a, #nav .menu-nav-main-container li span {
    padding: 0 5%;
    display: block;
    text-decoration: none;
    font-weight: bold;
    color: white;
  }
  #nav .menu-nav-main-container li a:hover, #nav .menu-nav-main-container li span:hover {
    background-color: #286cb3;
  }
  #nav .nav-sub {
    padding: 0 2.5%;
  }
  #nav .nav-sub li {
    width: 33.333%;
    height: 33.333%;
    background: #fff !important;
    border-left: 1px solid #2d79c8;
  }
  #nav .nav-sub a {
    height: 33.333%;
    padding: 55% 0 10%;
    font-size: 1.1rem;
  }
}
/*
*  footer
* ----------------------------------------*/
footer {
  background-color: #e3ebf1;
}

footer .contact {
  background: #5794d3;
  background: -moz-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #5794d3), color-stop(100%, #2d79c8));
  background: -webkit-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -o-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -ms-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: linear-gradient(to right, #5794d3 0%, #2d79c8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
  color: #fff;
  padding: 6% 0 5%;
}
footer .contact h2 {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 6%;
}
footer .contact .border-wrap {
  position: relative;
  background: url(../images/dot_wh.png) repeat-x bottom;
  background-size: 3px 3px;
}
footer .contact .border-wrap:before, footer .contact .border-wrap:after {
  content: '';
  display: block;
  background: url(../images/dot_wh.png) repeat-y;
  background-size: 3px 3px;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
}
footer .contact .border-wrap:before {
  left: 0;
}
footer .contact .border-wrap:after {
  right: 0;
}
footer .contact .border-wrap > div {
  background: url(../images/dot_wh.png) repeat-x top;
  background-size: 3px 3px;
  padding: 6%;
  overflow: hidden;
}
footer .contact .border-wrap p {
  font-weight: bold;
  margin-bottom: 4%;
}
footer .contact .border-wrap p + .btn {
  margin-top: 0;
}
footer .contact .border-wrap dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
footer .contact .border-wrap dl + dl {
  margin-top: 2%;
}
footer .contact .border-wrap dl dt {
  border: 1px solid #fff;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  padding: 4px 6px;
}
footer .contact .border-wrap dl dd {
  font-size: 2.4rem;
  line-height: 1;
  white-space: nowrap;
  padding-left: 3%;
}
footer .contact .border-wrap a {
  color: white;
}

footer .footer-contents {
  text-align: center;
  padding-bottom: 6%;
}
footer .footer-contents ul {
  display: none;
  font-size: 0;
  margin-bottom: 40px;
}
footer .footer-contents ul.menu {
  margin-bottom: 10px;
}
footer .footer-contents ul li {
  font-size: 1.4rem;
  display: inline-block;
  margin-right: 20px;
}
footer .footer-contents ul a {
  color: #333333;
  font-weight: bold;
  font-size: 1.4rem;
}
footer .footer-contents ul a:hover {
  color: #2d79c8;
}
footer .footer-contents > img {
  width: 152px;
  height: auto;
  margin: 6% 0 3%;
}
footer .footer-contents address b {
  font-weight: bold;
  font-size: 1.5rem;
}
footer .footer-contents address p {
  margin: 2% 0;
}
footer .footer-contents small {
  font-size: 1.2rem;
  line-height: 1.3;
}

/*----- ページトップへ */
.page-top {
  display: block;
  background-color: #000;
  height: 45px;
  cursor: pointer;
  color: #fff;
  text-align: center;
  position: relative;
}
.page-top:before {
  content: '';
  display: block;
  background: url(../images/icon_arrow_t.svg) no-repeat center;
  background-size: 20px auto;
  width: 20px;
  height: 12px;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.page-top:hover {
  background-color: #333;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  footer .footer-contents address p {
    font-size: 1.2rem;
  }
}
/*-------------------------------------
PC 1041～
-------------------------------------*/
@media screen and (min-width: 1041px) {
  footer .contact {
    padding: 60px 0;
  }
  footer .contact .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    -ms-align-items: center;
    align-items: center;
  }
  footer .contact h2 {
    font-size: 2.0rem;
    margin-bottom: 0;
    width: 20%;
  }
  footer .contact .border-wrap {
    width: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    -ms-align-items: stretch;
    align-items: stretch;
  }
  footer .contact .border-wrap > div {
    position: relative;
    padding: 30px;
  }
  footer .contact .border-wrap > div:first-child {
    width: 55%;
  }
  footer .contact .border-wrap > div:first-child:after {
    content: '';
    display: block;
    background: url(../images/dot_wh.png) repeat-y left;
    background-size: 3px 3px;
    width: 1px;
    height: 70%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 0;
  }
  footer .contact .border-wrap > div:last-child {
    width: 45%;
  }
  footer .contact .border-wrap p {
    margin-bottom: 10px;
  }
  footer .contact .border-wrap dl {
    float: left;
    margin-top: 10px;
    margin-right: 15px;
  }
  footer .contact .border-wrap dl + dl {
    margin-top: 10px;
    margin-right: 0;
  }
  footer .contact .border-wrap dl dt {
    font-size: 1.3rem;
    padding: 3px 4px;
  }
  footer .contact .border-wrap dl dd {
    font-size: 2.2rem;
  }

  footer .footer-contents {
    text-align: left;
    padding-top: 40px;
    padding-bottom: 50px;
    overflow: hidden;
  }
  footer .footer-contents ul {
    display: block;
  }
  footer .footer-contents ul.menu-sub {
    background: url(../images/dot.png) repeat-x bottom;
    background-size: 3px 3px;
    padding-bottom: 40px;
  }
  footer .footer-contents > img {
    margin: 12px 0 0;
    float: left;
  }
  footer .footer-contents address {
    margin-left: 30px;
    float: left;
  }
  footer .footer-contents address p {
    margin: 4px 0 0;
    font-size: 1.4rem;
  }
  footer .footer-contents small {
    float: right;
  }

  .page-top {
    height: 60px;
  }
}
/* ==============================================================
*  モジュール（汎用的に使用できるスタイル）
* ============================================================ */
/*----- clearfix */
.clear {
  overflow: hidden;
  *zoom: 1;
}

/*----- インライン要素化、ブロック要素化 */
.ib {
  display: inline-block !important;
}

.db {
  display: block !important;
}

/*----- ブロック要素の位置 */
.f-l {
  float: left !important;
}

.f-r {
  float: right !important;
}

/*----- 文字位置：横 */
.t-c {
  text-align: center !important;
}

.t-r {
  text-align: right !important;
}

.t-l {
  text-align: left !important;
}

/*----- 文字位置：縦 */
.va-t {
  vertical-align: top !important;
}

.va-m {
  vertical-align: middle !important;
}

.va-b {
  vertical-align: bottom !important;
}

/*----- 文字の太さ */
.fw-n {
  font-weight: normal !important;
}

.fw-b {
  font-weight: bold !important;
}

/*----- リンク */
.img_hover {
  transition: all  0.3s ease;
}
@media screen and (min-width: 769px) {
  .img_hover:hover {
    opacity: 0.7;
  }
}

/*----- コンテンツの中心に配置 */
.t-center {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*----- リスト */
.ol {
  list-style: decimal;
  padding-left: 20px;
}
.ol li + li {
  padding-top: 20px;
}

.ul {
  overflow: hidden;
  *zoom: 1;
}
.ul li {
  float: left;
}

/*----- 画像 */
.img-full {
  width: 100% !important;
}

.img-full-max {
  max-width: 100%;
  height: auto;
}

/*------------------------------
    LineHeight Helpers
------------------------------*/
.lh0 {
  line-height: 0 !important;
}

.lh5 {
  line-height: 5px !important;
}

.lh10 {
  line-height: 10px !important;
}

.lh15 {
  line-height: 15px !important;
}

.lh20 {
  line-height: 20px !important;
}

.lh25 {
  line-height: 25px !important;
}

.lh30 {
  line-height: 30px !important;
}

.lh35 {
  line-height: 35px !important;
}

.lh40 {
  line-height: 40px !important;
}

.lh45 {
  line-height: 45px !important;
}

.lh50 {
  line-height: 50px !important;
}

/*------------------------------
Padding Helpers
------------------------------*/
.pn {
  padding: 0 !important;
}

.p1 {
  padding: 1px !important;
}

.p2 {
  padding: 2px !important;
}

.p3 {
  padding: 3px !important;
}

.p4 {
  padding: 4px !important;
}

.p5 {
  padding: 5px !important;
}

.p6 {
  padding: 6px !important;
}

.p7 {
  padding: 7px !important;
}

.p8 {
  padding: 8px !important;
}

.p9 {
  padding: 9px !important;
}

.p10 {
  padding: 10px !important;
}

.p12 {
  padding: 12px !important;
}

.p14 {
  padding: 14px !important;
}

.p16 {
  padding: 16px !important;
}

.p18 {
  padding: 18px !important;
}

.p20 {
  padding: 20px !important;
}

.p30 {
  padding: 30px !important;
}

.p40 {
  padding: 40px !important;
}

.p50 {
  padding: 50px !important;
}

.p60 {
  padding: 60px !important;
}

.ptn {
  padding-top: 0 !important;
}

.pt1 {
  padding-top: 1px !important;
}

.pt2 {
  padding-top: 2px !important;
}

.pt3 {
  padding-top: 3px !important;
}

.pt4 {
  padding-top: 4px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.prn {
  padding-right: 0 !important;
}

.pr1 {
  padding-right: 1px !important;
}

.pr2 {
  padding-right: 2px !important;
}

.pr3 {
  padding-right: 3px !important;
}

.pr4 {
  padding-right: 4px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pbn {
  padding-bottom: 0 !important;
}

.pb1 {
  padding-bottom: 1px !important;
}

.pb2 {
  padding-bottom: 2px !important;
}

.pb3 {
  padding-bottom: 3px !important;
}

.pb4 {
  padding-bottom: 4px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb6 {
  padding-bottom: 6px !important;
}

.pb7 {
  padding-bottom: 7px !important;
}

.pb8 {
  padding-bottom: 8px !important;
}

.pb9 {
  padding-bottom: 9px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pln {
  padding-left: 0 !important;
}

.pl1 {
  padding-left: 1px !important;
}

.pl2 {
  padding-left: 2px !important;
}

.pl3 {
  padding-left: 3px !important;
}

.pl4 {
  padding-left: 4px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pvn {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.pv5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.pv10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pv15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.pv20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.pv25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}

.pv30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.pv35 {
  padding-top: 35px !important;
  padding-bottom: 35px !important;
}

.pv40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.pv45 {
  padding-top: 45px !important;
  padding-bottom: 45px !important;
}

.pv50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.pv55 {
  padding-top: 55px !important;
  padding-bottom: 55px !important;
}

.pv60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.pv65 {
  padding-top: 65px !important;
  padding-bottom: 65px !important;
}

.pv70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.pv75 {
  padding-top: 75px !important;
  padding-bottom: 75px !important;
}

.pv80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.phn {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ph1 {
  padding-left: 1px !important;
  padding-right: 1px !important;
}

.ph2 {
  padding-left: 2px !important;
  padding-right: 2px !important;
}

.ph3 {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

.ph4 {
  padding-left: 4px !important;
  padding-right: 4px !important;
}

.ph5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.ph6 {
  padding-left: 6px !important;
  padding-right: 6px !important;
}

.ph7 {
  padding-left: 7px !important;
  padding-right: 7px !important;
}

.ph8 {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

.ph9 {
  padding-left: 9px !important;
  padding-right: 9px !important;
}

.ph10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.ph15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.ph20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.ph25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}

.ph30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.ph35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.ph40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.ph45 {
  padding-left: 45px !important;
  padding-right: 45px !important;
}

.ph50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

.ph55 {
  padding-left: 55px !important;
  padding-right: 55px !important;
}

.ph60 {
  padding-left: 60px !important;
  padding-right: 60px !important;
}

.mauto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.mn {
  margin: 0 !important;
}

.m5 {
  margin: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.mtn {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mrn {
  margin-right: 0 !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mbn {
  margin-bottom: 0 !important;
}

.mb1 {
  margin-bottom: 1px !important;
}

.mb2 {
  margin-bottom: 2px !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.mb4 {
  margin-bottom: 4px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb6 {
  margin-bottom: 6px !important;
}

.mb7 {
  margin-bottom: 7px !important;
}

.mb8 {
  margin-bottom: 8px !important;
}

.mb9 {
  margin-bottom: 9px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mln {
  margin-left: 0 !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.mv1 {
  margin-top: 1px !important;
  margin-bottom: 1px !important;
}

.mv2 {
  margin-top: 2px !important;
  margin-bottom: 2px !important;
}

.mv3 {
  margin-top: 3px !important;
  margin-bottom: 3px !important;
}

.mv4 {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
}

.mv5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.mv6 {
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.mv7 {
  margin-top: 7px !important;
  margin-bottom: 7px !important;
}

.mv8 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.mv9 {
  margin-top: 9px !important;
  margin-bottom: 9px !important;
}

.mv10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.mv15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.mv20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.mv25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

.mv30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.mv35 {
  margin-top: 35px !important;
  margin-bottom: 35px !important;
}

.mv40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

.mv45 {
  margin-top: 45px !important;
  margin-bottom: 45px !important;
}

.mv50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.mv55 {
  margin-top: 55px !important;
  margin-bottom: 55px !important;
}

.mv60 {
  margin-top: 60px !important;
  margin-bottom: 60px !important;
}

.mh5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.mh10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}

.mh15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}

.mh20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}

.mh25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}

.mh30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}

.mh35 {
  margin-left: 35px !important;
  margin-right: 35px !important;
}

.mh40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}

.mh45 {
  margin-left: 45px !important;
  margin-right: 45px !important;
}

.mh50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}

.mh55 {
  margin-left: 55px !important;
  margin-right: 55px !important;
}

.mh60 {
  margin-left: 60px !important;
  margin-right: 60px !important;
}

.mtn5 {
  margin-top: -5px !important;
}

.mtn10 {
  margin-top: -10px !important;
}

.mtn15 {
  margin-top: -15px !important;
}

.mtn20 {
  margin-top: -20px !important;
}

.mrn5 {
  margin-right: -5px !important;
}

.mrn10 {
  margin-right: -10px !important;
}

.mrn15 {
  margin-right: -15px !important;
}

.mrn20 {
  margin-right: -20px !important;
}

.mbn5 {
  margin-bottom: -5px !important;
}

.mbn10 {
  margin-bottom: -10px !important;
}

.mbn15 {
  margin-bottom: -15px !important;
}

.mbn20 {
  margin-bottom: -20px !important;
}

.mln5 {
  margin-left: -5px !important;
}

.mln10 {
  margin-left: -10px !important;
}

.mln15 {
  margin-left: -15px !important;
}

.mln20 {
  margin-left: -20px !important;
}

.mvn5 {
  margin-top: -5px !important;
  margin-bottom: -5px !important;
}

.mvn10 {
  margin-top: -10px !important;
  margin-bottom: -10px !important;
}

.mvn15 {
  margin-top: -15px !important;
  margin-bottom: -15px !important;
}

.mvn20 {
  margin-top: -20px !important;
  margin-bottom: -20px !important;
}

.color_main {
  color: #2d79c8;
}

.color_red {
  color: #fd3d39;
}

.bg_gray {
  background-color: #EEEEEE;
}

.lsd {
  list-style-type: disc;
  padding-left: 20px;
}

/*
*  breadcrumb
* ----------------------------------------*/
#breadcrumb {
  width: 1040px;
  margin: 20px auto 60px;
}
#breadcrumb ul {
  font-size: 0;
}
#breadcrumb li {
  display: inline-block;
  font-size: 1.3rem;
  color: #666666;
}
#breadcrumb li + li {
  padding-left: 8px;
}
#breadcrumb li + li:before {
  font-size: 1.1rem;
  font-weight: bold;
  content: '>';
  padding-right: 7px;
  color: #666666;
}
#breadcrumb a {
  color: #666666;
  text-decoration: underline;
}
#breadcrumb a:hover {
  text-decoration: none;
}
@media screen and (max-width: 1170px) {
  #breadcrumb {
    width: 100%;
    padding: 0 5%;
    margin-bottom: 5%;
  }
}

/*
*  button
* ----------------------------------------*/
.btn {
  display: block;
  font-weight: bold;
  border: 2px solid transparent;
  position: relative;
  height: 44px;
  line-height: 42px;
  -moz-border-radius: 22px;
  -webkit-border-radius: 22px;
  border-radius: 22px;
  padding-left: 18px;
  font-size: 1.4rem;
  font-size: 1.3rem;
}
.btn:after {
  content: '';
  display: block;
  width: 8px;
  height: 10px;
  position: absolute;
  right: 12px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

p + .btn {
  margin-top: 4%;
}

/* ボタン：カラー */
.btn-main {
  border-color: #2d79c8;
}
.btn-main:after {
  background: url(../images/icon_arrow_r.svg) no-repeat right center;
  background-size: 12px auto;
}
.btn-main:hover {
  background-color: #2d79c8;
  color: #fff;
}
.btn-main:hover:after {
  background: url(../images/icon_arrow_wr.svg) no-repeat right center;
  background-size: 12px auto;
}

.btn-white {
  border-color: #fff;
  color: #fff;
}
.btn-white:after {
  background: url(../images/icon_arrow_wr.svg) no-repeat right center;
  background-size: 12px auto;
}
.btn-white:hover {
  background-color: #fff;
  color: #2d79c8 !important;
}
.btn-white:hover:after {
  background: url(../images/icon_arrow_r.svg) no-repeat right center;
  background-size: 12px auto;
}

.btn-blue {
  border-color: #2d79c8;
  color: #2d79c8;
}
.btn-blue:after {
  background: url(../images/icon_arrow_r.svg) no-repeat right center;
  background-size: 12px auto;
}
.btn-blue:hover {
  background-color: #2d79c8;
  color: #fff !important;
}
.btn-blue:hover:after {
  background: url(../images/icon_arrow_wr.svg) no-repeat right center;
  background-size: 12px auto;
}

/* ボタン：サイズ */
.btn-s {
  width: 100%;
}

/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .btn {
    height: 50px;
    line-height: 44px;
    -moz-border-radius: 25px;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    padding-left: 28px;
    font-size: 1.4rem;
  }
  .btn:after {
    width: 10px;
    height: 12px;
    right: 20px;
  }

  p + .btn {
    margin-top: 26px;
  }

  .btn-s {
    width: 200px;
  }
}
/*
*  採用フォーム
* ----------------------------------------*/
.tbl td {
  padding: 8px 10px;
}

.recruit.contact {
  /*-------------------------------------
  SP ～768
  -------------------------------------*/
  /*-------------------------------------
  PC 769～
  -------------------------------------*/
}
.recruit.contact .radio-400 .wpcf7-list-item, .recruit.contact .radio-401 .wpcf7-list-item, .recruit.contact .radio-921 .wpcf7-list-item {
  margin-right: 10px;
}
.recruit.contact .radio-400 .wpcf7-list-item.last, .recruit.contact .radio-401 .wpcf7-list-item.last, .recruit.contact .radio-921 .wpcf7-list-item.last {
  margin-right: 0px;
}
.recruit.contact .entry_area {
  margin-top: 20px;
}
.recruit.contact .entry_area .in .btn {
  color: #2d79c8;
  background-color: #fff;
}
.recruit.contact .screen-reader-response ul li a {
  color: #333333;
  pointer-events: none;
}
.recruit.contact .wpcf7-not-valid-tip, .recruit.contact .error {
  font-size: 1.2rem;
  color: #C00;
  display: block;
}
.recruit.contact .your-name input, .recruit.contact .your-name2 input, .recruit.contact .your-katakana input, .recruit.contact .your-katakana2 input {
  width: 80%;
}
.recruit.contact .graduate input, .recruit.contact .graduate2 input {
  width: 40%;
}
.recruit.contact .td_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
}
.recruit.contact .td_flex li {
  margin-right: 10px;
}
.recruit.contact .td_flex li:last-of-type {
  margin-right: 0;
}
.recruit.contact .td_flex.name_flex li {
  width: 90%;
}
.recruit.contact .td_flex.bd_flex li {
  width: 30%;
}
.recruit.contact .td_flex.bd_flex li select {
  width: calc(100% - 2rem);
}
.recruit.contact input.name, .recruit.contact input.name2 {
  width: calc(100% - 2rem);
}
.recruit.contact input.namekana, .recruit.contact input.namekana2 {
  width: calc(100% - 5.85rem);
}
.recruit.contact .mwform-radio-field {
  margin-right: 10px;
}
.recruit.contact .mwform-radio-field:last-of-type {
  margin-right: 0;
}
.recruit.contact .mwform-radio-field input {
  width: auto;
}
.recruit.contact .mwform-tel-field .tel {
  width: 20%;
}
@media screen and (max-width: 768px) {
  .recruit.contact .td_flex.name_flex {
    -webkit-flex-direction: vertical;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .recruit.contact .td_flex.name_flex li {
    margin-bottom: 8px;
  }
  .recruit.contact .td_flex.name_flex li:last-of-type {
    margin-bottom: 0;
  }
  .recruit.contact .td_flex.bd_flex li {
    margin-bottom: 0;
  }
  .recruit.contact .td_flex.bd_flex li select {
    margin-bottom: 0;
  }
  .recruit.contact input {
    width: 100%;
  }
  .recruit.contact .td_graduate {
    -webkit-flex-direction: horizontal;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
  }
  .recruit.contact .td_graduate div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 48%;
    margin-right: 10px;
  }
  .recruit.contact .td_graduate div:last-of-type {
    margin-right: 0;
  }
  .recruit.contact .td_graduate div .graduate input, .recruit.contact .td_graduate div .graduate2 input {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .recruit.contact .td_flex li {
    width: 48.5%;
    margin-right: 10px;
  }
  .recruit.contact .td_flex li:last-of-type {
    margin-right: 0;
  }
  .recruit.contact .td_flex .your-name input, .recruit.contact .td_flex .your-name2 input {
    width: calc(100% - 2rem);
  }
  .recruit.contact .td_flex .your-katakana input, .recruit.contact .td_flex .your-katakana2 input {
    width: calc(100% - 5.85rem);
  }
  .recruit.contact .td_graduate div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  .recruit.contact .td_graduate div .graduate, .recruit.contact .td_graduate div .graduate2 {
    width: 75%;
  }
  .recruit.contact .td_graduate div .graduate input, .recruit.contact .td_graduate div .graduate2 input {
    width: 100%;
  }
  .recruit.contact .your-name input, .recruit.contact .your-name2 input, .recruit.contact .your-katakana input, .recruit.contact .your-katakana2 input {
    width: 35%;
  }
  .recruit.contact .radio-400 .wpcf7-list-item, .recruit.contact .radio-401 .wpcf7-list-item, .recruit.contact .radio-921 .wpcf7-list-item {
    margin-right: 10px;
  }
  .recruit.contact .radio-400 .wpcf7-list-item.last, .recruit.contact .radio-401 .wpcf7-list-item.last, .recruit.contact .radio-921 .wpcf7-list-item.last {
    margin-right: 0px;
  }
  .recruit.contact .your-email input, .recruit.contact .your-email_confirm input, .recruit.contact .text-224 input, .recruit.contact .text-225 input, .recruit.contact .text-226 input {
    width: 70%;
  }
  .recruit.contact .city input, .recruit.contact .addr input {
    width: 70%;
  }
  .recruit.contact .graduate input, .recruit.contact .graduate2 input {
    width: 75%;
  }
  .recruit.contact .td_flex {
    width: 100%;
  }
  .recruit.contact .td_flex.name_flex li {
    width: 48.5%;
  }
  .recruit.contact .td_flex.bd_flex li {
    width: 30%;
  }
  .recruit.contact .td_flex.bd_flex li select {
    width: calc(100% - 2rem);
  }
  .recruit.contact input.name, .recruit.contact input.name2 {
    width: calc(100% - 2rem);
  }
  .recruit.contact input.namekana, .recruit.contact input.namekana2 {
    width: calc(100% - 5.85rem);
  }
  .recruit.contact .mwform-tel-field .tel {
    width: 20%;
  }
  .recruit.contact .entry_area {
    margin-top: 30px;
  }
  .recruit.contact .entry_area .in .btn {
    width: 35%;
    padding: 0 28px;
  }
  .recruit.contact .entry_area .in .btn:hover {
    cursor: pointer;
    color: #fff;
    background-color: #2d79c8;
  }
}

/*
*  見積りフォーム
* ----------------------------------------*/
.contact.form {
  /*-------------------------------------
  SP ～768
  -------------------------------------*/
  /*-------------------------------------
  PC 769～
  -------------------------------------*/
}
.contact.form .tbl .table_in .w55 {
  width: 55%;
}
.contact.form .tbl .table_in .w30 {
  width: 30%;
}
.contact.form .entry_area {
  margin-top: 20px;
}
.contact.form .entry_area .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.contact.form .entry_area .in p {
  text-align: center;
}
.contact.form .entry_area .in .btn {
  color: #2d79c8;
  margin-right: auto;
  margin-left: auto;
  padding: 0 35px 0 30px;
  text-align: center;
  background-color: #fff;
}
.contact.form .error {
  font-size: 1.2rem;
  color: #C00;
  display: block;
}
.contact.form .agree .mwform-checkbox-field {
  display: inline-block;
}
.contact.form .td_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: 100%;
}
.contact.form .td_flex li {
  margin-right: 10px;
}
.contact.form .td_flex li:last-of-type {
  margin-right: 0;
}
.contact.form .td_flex.name_flex li {
  width: 90%;
}
.contact.form .td_flex.bd_flex li {
  width: 30%;
}
.contact.form .td_flex.bd_flex li select {
  width: calc(100% - 2rem);
}
.contact.form .td_flex.type li {
  width: 30%;
}
.contact.form .td_flex.type li:first-of-type {
  width: 35%;
}
.contact.form .flex_clm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: vertical;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.contact.form .flex_clm .horizontal-item {
  margin-left: 0;
}
.contact.form input.name, .contact.form input.name2 {
  width: calc(100% - 2rem);
}
.contact.form input.namekana, .contact.form input.namekana2 {
  width: calc(100% - 5.85rem);
}
.contact.form .mwform-radio-field {
  margin-right: 10px;
}
.contact.form .mwform-radio-field:last-of-type {
  margin-right: 0;
}
.contact.form .mwform-radio-field input {
  width: auto;
}
.contact.form .mwform-tel-field .tel {
  width: 20%;
}
@media screen and (max-width: 768px) {
  .contact.form .td_flex.name_flex {
    -webkit-flex-direction: vertical;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .contact.form .td_flex.name_flex li {
    margin-bottom: 8px;
  }
  .contact.form .td_flex.name_flex li:last-of-type {
    margin-bottom: 0;
  }
  .contact.form .td_flex.bd_flex li {
    margin-bottom: 0;
  }
  .contact.form .td_flex.bd_flex li select {
    margin-bottom: 0;
  }
  .contact.form input {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .contact.form .td_flex {
    width: 100%;
  }
  .contact.form .td_flex li {
    width: 48.5%;
    margin-right: 10px;
  }
  .contact.form .td_flex li:last-of-type {
    margin-right: 0;
  }
  .contact.form .td_flex.name_flex li {
    width: 48.5%;
  }
  .contact.form .td_flex.bd_flex li {
    width: 30%;
  }
  .contact.form .td_flex.bd_flex li select {
    width: calc(100% - 2rem);
  }
  .contact.form .td_flex.type li {
    width: 31%;
  }
  .contact.form .td_flex.type li:first-of-type {
    width: 28%;
  }
  .contact.form .td_flex.type li:nth-of-type(2) {
    margin-right: 15px;
  }
  .contact.form .td_flex.type li:nth-of-type(2) input, .contact.form .td_flex.type li:nth-of-type(3) input {
    width: calc(100% - 8rem);
  }
  .contact.form .td_flex.type2 li {
    width: 48.5%;
    margin-left: 5px;
  }
  .contact.form .td_flex.type2 li input {
    width: calc(100% - 5rem);
  }
  .contact.form .type3 input {
    width: calc(100% - 2rem);
  }
  .contact.form .td_add .num input {
    width: 30%;
  }
  .contact.form .td_add .area input {
    width: 39%;
  }
  .contact.form .td_add .otr input {
    width: 90%;
  }
  .contact.form input.name, .contact.form input.name2 {
    width: calc(100% - 2rem);
  }
  .contact.form input.namekana, .contact.form input.namekana2 {
    width: calc(100% - 5.85rem);
  }
  .contact.form .city input, .contact.form .addr input {
    width: 70%;
  }
  .contact.form .mwform-tel-field .tel {
    width: 20%;
  }
  .contact.form .entry_area {
    margin-top: 30px;
  }
  .contact.form .entry_area .in .btn {
    width: 35%;
    padding: 0 28px;
  }
  .contact.form .entry_area .in .btn:hover {
    cursor: pointer;
    color: #fff;
    background-color: #2d79c8;
  }
}

/*
*  grid
* ----------------------------------------*/
.row {
  margin-left: -20px;
  margin-right: -20px;
  overflow: hidden;
  *zoom: 1;
}

.col-6 {
  width: 50%;
  float: left;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .col-6 {
    width: 100%;
    float: inherit;
  }
  .col-6 + .col-6 {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .col-row {
    margin: 0 -8px 0 -8px;
  }

  .col-xs,
  .col-xs-1,
  .col-xs-2,
  .col-xs-3,
  .col-xs-4,
  .col-xs-5,
  .col-xs-6,
  .col-xs-7,
  .col-xs-8,
  .col-xs-9,
  .col-xs-10,
  .col-xs-11,
  .col-xs-12 {
    display: inline-block;
    padding: 0 8px;
    vertical-align: top;
  }

  .col-xs {
    width: 100%;
  }

  .col-xs-1 {
    width: 8.333%;
  }

  .col-xs-2 {
    width: 16.667%;
  }

  .col-xs-3 {
    width: 25%;
  }

  .col-xs-4 {
    width: 33.333%;
  }

  .col-xs-5 {
    width: 41.667%;
  }

  .col-xs-6 {
    width: 50%;
  }

  .col-xs-7 {
    width: 58.333%;
  }

  .col-xs-8 {
    width: 66.667%;
  }

  .col-xs-9 {
    width: 75%;
  }

  .col-xs-10 {
    width: 83.333%;
  }

  .col-xs-11 {
    width: 91.667%;
  }

  .col-xs-12 {
    width: 100%;
  }
}
@media screen and (min-width: 769px) {
  .col-row {
    margin: 0 -15px 0 -15px;
  }

  .col-sm,
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12 {
    display: inline-block;
    padding: 0 15px;
    vertical-align: top;
  }

  .col-sm {
    width: 100%;
  }

  .col-sm-1 {
    width: 8.333%;
  }

  .col-sm-2 {
    width: 16.667%;
  }

  .col-sm-3 {
    width: 25%;
  }

  .col-sm-4 {
    width: 33.333%;
  }

  .col-sm-5 {
    width: 41.667%;
  }

  .col-sm-6 {
    width: 50%;
  }

  .col-sm-7 {
    width: 58.333%;
  }

  .col-sm-8 {
    width: 66.667%;
  }

  .col-sm-9 {
    width: 75%;
  }

  .col-sm-10 {
    width: 83.333%;
  }

  .col-sm-11 {
    width: 91.667%;
  }

  .col-sm-12 {
    width: 100%;
  }
}
/*
*  table
* ----------------------------------------*/
.tbl {
  width: 100%;
  padding: 1px;
  border: 1px solid #ccc;
  border-spacing: 0;
}

.tbl th {
  padding: 5px 10px;
  border-bottom: 1px solid #fff;
  background: #e6f0f9;
  vertical-align: middle;
  white-space: nowrap;
  font-weight: bold;
  border: 1px solid #ccc;
}

.tbl td {
  padding: 5px 10px;
  border-bottom: 1px dotted #DBDBDB;
  vertical-align: middle;
  border: 1px solid #ccc;
}

.tbl tr:last-child td,
.tbl tr:last-child th {
  border-bottom: none;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  .tbl-block th,
  .tbl-block td {
    display: block;
  }
}
/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .tbl th {
    width: 140px;
  }
}
/*
*  title
* ----------------------------------------*/
.titile-br {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 4%;
}
.titile-br:after {
  content: '';
  display: block;
  width: 30px;
  height: 3px;
  margin-top: 1%;
  background: #5794d3;
  background: -moz-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #5794d3), color-stop(100%, #2d79c8));
  background: -webkit-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -o-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: -ms-linear-gradient(left, #5794d3 0%, #2d79c8 100%);
  background: linear-gradient(to right, #5794d3 0%, #2d79c8 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
}

.title-bold {
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .titile-br {
    font-size: 2.0rem;
    margin-bottom: 26px;
  }
  .titile-br:after {
    width: 60px;
    height: 4px;
    margin-top: 10px;
  }

  .title-bold {
    font-size: 1.8rem;
  }
}
/*
*  tab
* ----------------------------------------*/
.tab {
  border-bottom: 2px solid #2d79c8;
  font-size: 1.8rem;
}
.tab .wrap {
  margin-bottom: -2px;
}
.tab .item {
  float: left;
}
.tab a {
  display: block;
  text-align: center;
  background-color: #2d79c8;
  padding-top: 10px;
  padding-bottom: 10px;
  color: white;
  border-left: 2px solid white;
  border-right: 2px solid white;
  -moz-border-radius: 8px 8px 0 0/8px 8px 0 0;
  -webkit-border-radius: 8px;
  border-radius: 8px 8px 0 0/8px 8px 0 0;
}
.tab a:hover {
  background-color: #7aade1;
}
.tab .active {
  background-color: white;
  border: 2px solid #2d79c8;
  border-bottom: none;
  font-weight: bold;
  color: #2d79c8;
}
.tab .active:hover {
  color: white;
}

.tab-2 .item {
  width: 50%;
}

.tab-3 .item {
  width: 33.333%;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  .tab {
    margin-bottom: 20px;
    line-height: 1.25;
    font-size: 1.3rem;
  }
}
/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .tab {
    margin-bottom: 60px;
    font-size: 1.75rem;
  }
  .tab .wrap {
    padding-left: 50px;
    padding-right: 50px;
  }
  .tab a {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}
/* ==============================================================
*  各ページ固有のスタイル
* ============================================================ */
/*
*  slider
* ----------------------------------------*/
.bx-wrapper {
  position: relative;
  margin-bottom: 9%;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}
.bx-wrapper img {
  width: 100%;
  display: block;
}

/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  .bx-wrapper {
    margin-bottom: 60px;
  }
}
.bxslider {
  margin: 0;
  padding: 0;
}

.bx-viewport {
  -webkit-transform: translateZ(0);
}

.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url("../images/bx_loader.gif") center center no-repeat white;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000;
}
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 20px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
  background: #fff;
  border: 2px solid #2d79c8;
  text-indent: -9999px;
  display: block;
  width: 10px;
  height: 10px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  margin: 0 5px;
  outline: 0;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #2d79c8;
}
.bx-wrapper .bx-pager-item {
  font-size: 0;
  line-height: 0;
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
  position: absolute;
  bottom: -30px;
  width: 100%;
}

.bx-wrapper .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  vertical-align: bottom;
  *zoom: 1;
  *display: inline;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
  text-align: left;
  width: 80%;
}
.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
  right: 0;
  width: 35px;
}

.bx-wrapper .bx-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  background: #666;
  background: rgba(80, 80, 80, 0.75);
  width: 100%;
}
.bx-wrapper .bx-caption span {
  color: #fff;
  font-family: Arial;
  display: block;
  font-size: .85em;
  padding: 10px;
}

/*
*  top
* ----------------------------------------*/
body.home .box {
  padding: 5% 5% 5.5%;
}
body.home .box_1 {
  background: url(../images/dot.png) repeat-x bottom;
  background-size: 3px 3px;
}
body.home .box_3 {
  background: white url(../images/dot.png) repeat-x top;
  background-size: 3px 3px;
}
body.home .wrap .box {
  width: 100%;
}
body.home .wrap .box img {
  margin-bottom: 20px;
}
body.home .bana {
  padding: 5%;
}
body.home .bana img {
  width: 100%;
  height: auto;
}
body.home .bana a {
  display: block;
  transition: opacity 0.2s ease-out;
}
body.home .bana a + a {
  margin-top: 3%;
}
body.home .bana a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
body.home .blog {
  border-top: 1px solid #2d79c8;
  border-bottom: 1px solid #2d79c8;
  padding: 5%;
}
body.home .blog ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
}
body.home .blog ul li {
  width: 48%;
  margin-bottom: 30px;
}
body.home .blog ul li a {
  text-decoration: none;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
body.home .blog ul li .thumb {
  margin-bottom: 10px;
}
body.home .blog ul li .thumb img {
  transition: all 0.3s ease-out;
  width: auto;
  max-width: 100%;
}
body.home .blog ul li .ttl_area .day {
  color: #333;
}
body.home .blog ul li .ttl_area .ttl {
  color: #2d79c8;
}
body.home .topics-br {
  border-top: 1px solid #2d79c8;
  border-bottom: 1px solid #2d79c8;
  position: relative;
}
body.home .topics-br:before {
  left: 0;
}
body.home .topics-br:after {
  right: 0;
}
body.home .topics {
  padding: 6%;
}
body.home .topics .btn {
  text-decoration: none;
  color: #2d79c8;
}
body.home .topics .btn:hover {
  color: #fff;
}
body.home .topics h2 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 5%;
}
body.home .topics dl dd + dt {
  margin-top: 3%;
}
body.home .topics a {
  color: #333333;
  text-decoration: underline;
}
body.home .topics a:hover {
  color: #2d79c8;
  text-decoration: none;
}
body.home .slider img {
  width: 100%;
  display: block;
}
body.home .kv {
  position: relative;
}
body.home .kv .copy {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  font-weight: 500;
  padding: 0;
  margin: 0;
  -moz-text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.75), 0px 0px 11px rgba(0, 0, 0, 0.7);
  -webkit-text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.75), 0px 0px 11px rgba(0, 0, 0, 0.7);
  -ms-text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.75), 0px 0px 11px rgba(0, 0, 0, 0.7);
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.75), 0px 0px 11px rgba(0, 0, 0, 0.7);
}
body.home .kv .copy h1 {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.02rem;
  margin-bottom: 10px;
}
body.home .kv .copy p {
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.02rem;
}
body.home .titile-br-low {
  background: url(../images/dot.png) repeat bottom;
  background-size: 3px 3px;
  font-weight: bold;
  font-size: 1.4rem;
  text-align: center;
  padding: 5px;
  margin-bottom: 20px;
}
body.home .titile-br a {
  color: #333;
}
body.home .box_1_img img {
  width: 100%;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  body.home .inner_w {
    padding: 0;
  }
  body.home .box_1_img {
    margin-bottom: 20px;
  }
  body.home .box_2 img,
  body.home .box_3 img {
    width: 100%;
  }
  body.home .topics .btn {
    margin-top: 10px;
  }
  body.home .topics-br {
    margin: 5% 5% 0 5%;
  }
}
/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  body.home .kv .copy h1 {
    font-size: 5rem;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  body.home .kv .copy p {
    font-size: 2.0rem;
    line-height: 1.6;
    letter-spacing: 0.08rem;
  }
  body.home .box {
    padding: 60px;
  }
  body.home .box_3 {
    background: white url(../images/dot.png) repeat-y;
    background-size: 3px 3px;
  }
  body.home .box_2 img,
  body.home .box_3 img {
    width: 400px;
  }
  body.home .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  body.home .wrap .box {
    width: 50%;
  }
  body.home .bana {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 60px 0;
  }
  body.home .bana a + a {
    margin-top: 0;
    margin-left: 10px;
  }
  body.home .topics {
    padding: 30px 0 30px 0;
  }
  body.home .topics .warp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
  body.home .topics .btn-warp {
    position: relative;
    height: 25px;
  }
  body.home .topics .btn {
    position: absolute;
    right: 0;
    width: 140px;
    height: 25px;
    line-height: 22px;
    padding-left: 20px;
    font-size: 1.2rem;
  }
  body.home .topics .btn:after {
    background-size: 9px auto;
    right: 12px;
  }
  body.home .topics h2 {
    width: 24%;
    font-size: 1.8rem;
    margin-bottom: 0;
    padding-left: 5.6%;
  }
  body.home .topics dl {
    width: 76%;
  }
  body.home .topics dl dt, body.home .topics dl dd {
    margin-bottom: 8px;
  }
  body.home .topics dl dd + dt {
    margin-top: 0;
  }
  body.home .topics dl dt {
    width: 140px;
    float: left;
  }
  body.home .topics dl dd {
    margin-left: 140px;
  }
  body.home .topics-br {
    margin: 6% 6% 0 6%;
  }
  body.home .titile-br a {
    transition: all .3s;
  }
  body.home .titile-br a:hover {
    color: #2d79c8;
  }
  body.home .box_1_img {
    width: 40%;
    float: right;
  }
  body.home .box_1_txt {
    width: 55%;
    float: left;
  }
  body.home .img_link {
    transition: all .3s;
  }
  body.home .img_link:hover {
    opacity: 0.7;
  }
  body.home .blog {
    padding-left: 60px;
    padding-right: 60px;
    margin-top: 5%;
  }
  body.home .blog ul li {
    width: calc(calc(100% - 80px) / 3);
  }
  body.home .blog ul li a:hover .thumb img {
    opacity: 0.7;
  }
  body.home .blog ul li a:hover .ttl_area .ttl {
    text-decoration: underline;
  }
  body.home .blog ul li .thumb {
    margin-bottom: 12px;
  }
  body.home .blog .btn-warp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  body.home .blog .btn-warp .btn {
    width: 140px;
    height: 30px;
    font-size: 1.2rem;
    line-height: 1.9;
    padding-left: 22px;
  }
  body.home .blog .btn-warp .btn:after {
    background-size: 10px auto;
    right: 12px;
  }
}
/*
*  page
* ----------------------------------------*/
article, .error404 > .inner {
  margin-bottom: 6%;
}

.page-title {
  background-color: #eaf1f9;
  padding: 9% 0;
  background: #edf4fa url(../images/page-title.jpg) right top no-repeat;
}
.page-title.ttlL {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: vertical;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-size: cover;
}
.page-title.ttlL .sub {
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.4;
  background-color: #2d79c8;
  padding: 3px 9px 4px 8px;
  margin-top: 6px;
  border-radius: 5px;
}
.page-title h2 {
  font-size: 2.0rem;
  font-weight: bold;
  color: #2d79c8;
  line-height: 1.2;
}
.page-title h1, .page-title .h1 {
  font-size: 2.0rem;
  font-weight: bold;
  color: #2d79c8;
  line-height: 1.2;
}

.tag {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  padding: 2px 6px;
  background-color: #2d79c8;
  color: white;
  display: inline-block;
  margin-top: 4px;
  margin-bottom: 4px;
  margin-right: 10px;
}
.tag.c-1 {
  background-color: #4cb3ca;
}
.tag.c-2 {
  background-color: #3d58bb;
}
.tag.c-3 {
  background-color: #4890d2;
}

.line {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  padding: 0;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  .page-title {
    background-size: 110%;
  }

  .pc {
    display: none;
  }

  .line {
    margin: 1em 0;
  }
}
/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  article, .error404 > .inner {
    margin-bottom: 60px;
  }

  .page-title {
    padding: 65px 0 60px;
  }
  .page-title.ttlL {
    padding-top: 0;
    padding-bottom: 0;
    height: 162px;
    background-size: contain;
  }
  .page-title.ttlL .sub {
    font-size: 1.5rem;
    padding: 3px 12px 4px 10px;
    margin-top: 8px;
  }
  .page-title h2 {
    font-size: 3.0rem;
  }
  .page-title h1, .page-title .h1 {
    font-size: 3.0rem;
  }

  .wrapper {
    padding-left: 60px;
    padding-right: 60px;
  }

  .sp {
    display: none;
  }

  .line {
    margin: 3em 0;
  }
}
/*----- 販売・その他施工サービス -----*/
.recycling_service {
  /*-------------------------------------
  SP ～768
  -------------------------------------*/
  /*-------------------------------------
  PC 769～
  -------------------------------------*/
}
.recycling_service .col-row.sale .col-sm-4 {
  padding: 0 10px;
}
.recycling_service .col-row .box {
  padding: 10px;
  margin-top: 10px;
  border: 1px solid #ccc;
}
.recycling_service .col-row .ttl {
  font-weight: bold;
  font-size: 1.6rem;
}
.recycling_service .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.recycling_service .in p {
  text-align: center;
}
.recycling_service .in .btn {
  margin-right: auto;
  margin-left: auto;
  padding: 0 35px 0 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recycling_service .col-row.sale .col-xs-6 {
    width: 49%;
  }
}
@media screen and (min-width: 769px) {
  .recycling_service .col-row .ttl {
    font-size: 1.7rem;
  }
  .recycling_service .col-row.sale .box.boxL {
    min-height: 94px;
  }
  .recycling_service .col-row.service .txt {
    font-size: 1.45rem;
  }
  .recycling_service .col-row.service .col-sm-3 {
    width: 24.5%;
    padding: 0 5px;
  }
  .recycling_service .in .btn {
    width: 39%;
    min-width: 335px;
    padding: 0 30px;
  }
}

/*----- 見積フォーム -----*/
.table_in {
  width: 100%;
}
.table_in th, .table_in td {
  font-size: 1.4rem;
}
.table_in .w10 {
  width: 10%;
}
.table_in .w20 {
  width: 20%;
}
.table_in .w25 {
  width: 25%;
}

.tbl .table_in tr:last-child th, .tbl .table_in tr:last-child td {
  border-bottom: 1px solid #ccc;
}

/*----- 採用情報 -----*/
.recruit {
  /*-------------------------------------
  SP ～768
  -------------------------------------*/
  /*-------------------------------------
  PC 769～
  -------------------------------------*/
}
.recruit .voice {
  margin-top: 30px;
  margin-bottom: 7rem;
}
.recruit .voice .voice_box {
  margin-bottom: 7.5rem;
}
.recruit .voice .voice_box:nth-of-type(2) {
  margin-bottom: 8.5rem;
}
.recruit .voice .voice_box .voice_img img {
  width: auto;
  max-width: 100%;
}
.recruit .voice .voice_box .voice_name {
  width: 100%;
}
.recruit .voice .voice_box .voice_name .in {
  padding: 1.5rem;
  background-color: #5bb927;
}
.recruit .voice .voice_box .voice_name .in p {
  color: #fff;
}
.recruit .voice .voice_box .voice_name .name1 {
  font-size: 1.6rem;
  font-weight: bold;
}
.recruit .voice .txt_area p {
  margin-bottom: 1rem;
}
.recruit .entry_area .in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.recruit .entry_area .in p {
  text-align: center;
}
.recruit .entry_area .in .btn {
  margin-right: auto;
  margin-left: auto;
  padding: 0 35px 0 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .recruit .voice .voice_box .voice_name .in {
    text-align: center;
    margin-bottom: 2rem;
  }
}
@media screen and (min-width: 769px) {
  .recruit .voice {
    margin-top: 40px;
    margin-bottom: 140px;
  }
  .recruit .voice .voice_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  .recruit .voice .voice_box:nth-of-type(2) {
    margin-bottom: 110px;
  }
  .recruit .voice .voice_box .voice_img {
    width: 28.8%;
    max-width: 300px;
  }
  .recruit .voice .voice_box .voice_name {
    width: 66.1%;
    max-width: 680px;
  }
  .recruit .voice .voice_box .voice_name .in {
    padding: 2.0rem 2.5rem;
    width: 50%;
    min-width: 250px;
    display: inline-block;
    margin-bottom: 20px;
  }
  .recruit .voice .voice_box .voice_name .name1 {
    font-size: 2.0rem;
    margin-bottom: 5px;
  }
  .recruit .voice .voice_box .voice_name .name2 {
    font-size: 1.8rem;
  }
  .recruit .voice .txt_area p {
    margin-bottom: 1.5rem;
  }
  .recruit .entry_area .in .btn {
    width: 35%;
    padding: 0 28px;
  }
}

/*----- 新卒採用 -----*/
.recruit.graduates {
  /*-------------------------------------
  PC 769～
  -------------------------------------*/
}
.recruit.graduates .page-title {
  background-color: #fff;
  background: white url(../recruit/images/page-title-recruit2.jpg) right top no-repeat;
  background-size: cover;
  /*h1{color: #5bb927;}
  &.ttlL {
      .sub{
          background: #5bb927;
          background: -moz-linear-gradient(left, #5bb927 0%, #42ba27 100%);
          background: -webkit-gradient(linear, left top, right top, color-stop(0%, #5bb927), color-stop(100%, #42ba27));
          background: -webkit-linear-gradient(left, #5bb927 0%, #42ba27 100%);
          background: -o-linear-gradient(left, #5bb927 0%, #42ba27 100%);
          background: -ms-linear-gradient(left, #5bb927 0%, #42ba27 100%);
          background: linear-gradient(to right, #5bb927 0%, #42ba27 100%);
      }
  }*/
}
.recruit.graduates .graduates_main {
  color: #2d79c8;
}
.recruit.graduates .titile-br:after {
  background: #5bb927;
  background: -moz-linear-gradient(left, #5bb927 0%, #42ba27 100%);
  background: -webkit-gradient(linear, left top, right top, color-stop(0%, #5bb927), color-stop(100%, #42ba27));
  background: -webkit-linear-gradient(left, #5bb927 0%, #42ba27 100%);
  background: -o-linear-gradient(left, #5bb927 0%, #42ba27 100%);
  background: -ms-linear-gradient(left, #5bb927 0%, #42ba27 100%);
  background: linear-gradient(to right, #5bb927 0%, #42ba27 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$start-color', endColorstr='$end-color',GradientType=1 );
}
.recruit.graduates .msg_area {
  font-size: 1.6rem;
  line-height: 1.65;
  text-align: center;
  background: white url(../recruit/images/graduates_msgBG_sp.png) center no-repeat;
  background-size: 100%;
  margin-bottom: 7rem;
}
.recruit.graduates .msg_area .rgb_area {
  background: rgba(255, 255, 255, 0.7);
  padding: 2rem 0 1rem;
}
.recruit.graduates .msg_area p {
  margin-bottom: 1.5rem;
  text-shadow: 0px 0px 8px rgba(255, 255, 255, 0.85);
}
.recruit.graduates .msg_area p:last-of-type {
  margin-bottom: 0;
}
.recruit.graduates .mb80 {
  margin-bottom: 8rem;
}
.recruit.graduates .mb85 {
  margin-bottom: 8.5rem;
}
.recruit.graduates .mb90 {
  margin-bottom: 9.0rem;
}
@media screen and (min-width: 769px) {
  .recruit.graduates .msg_area {
    font-size: 1.8rem;
    line-height: 1.9;
    background: white url(../recruit/images/graduates_msgBG_pc.png) center no-repeat;
    background-size: contain;
    margin-bottom: 140px;
  }
  .recruit.graduates .msg_area .rgb_area {
    background: rgba(255, 255, 255, 0.8);
    padding: 1.5rem 0;
  }
  .recruit.graduates .msg_area p {
    margin-bottom: 25px;
  }
  .recruit.graduates .mb80 {
    margin-bottom: 80px;
  }
  .recruit.graduates .mb85 {
    margin-bottom: 85px;
  }
  .recruit.graduates .mb90 {
    margin-bottom: 90px;
  }
}

/*
*  override
* ----------------------------------------*/
/*
* analysis_service
*/
.analysis_service .analysis_table dl {
  float: left;
  margin: 10px;
  border: 1px solid #ccc;
  background: #fff;
}
.analysis_service .analysis_table dl dt {
  padding: 8px;
  border: 1px solid #fff;
  border-bottom: 1px solid #2d79c8;
  background: #e6f0f9;
  font-weight: bold;
}
.analysis_service .analysis_table dl dd {
  padding: 12px;
  background: #fff;
}
.analysis_service .water {
  margin: 15px auto 0;
  padding: 10px;
  background: #eee;
}
.analysis_service .support {
  margin: 0 auto;
  padding: 15px 10px;
  border: 2px solid #F90;
  background: #F9EAC6;
  font-size: 110%;
}

/*
* rd
*/
.rd .rd_txt dl {
  margin-bottom: 20px;
}
.rd .rd_txt dt {
  margin-bottom: 5px;
  padding-left: 25px;
  color: #5180CE;
  background: url(../images/icon_circle02.jpg) 3px center no-repeat;
}
.rd .rd_txt dd {
  float: left;
  width: 260px;
  padding-left: 26px;
}

/*
* sitemap
*/
.sitemap .sitemap_list ul li a {
  display: block;
  margin-bottom: 1em;
  padding: 6px 10px 6px 30px;
  color: #333;
  background: url(/images/icon_arrow_r.svg) no-repeat left center;
  background-size: 12px auto;
  background-color: #e6f0f9;
  background-position: 10px;
  font-weight: bold;
}

.sitemap .sitemap_list a:hover {
  color: #3F95D3;
}

.sitemap .sitemap_list ul li ul {
  float: none;
}

.sitemap .sitemap_list ul li ul li {
  padding-left: 2em;
}

.sitemap .sitemap_list ul li ul li a {
  border: 1px solid #C8E6F0;
  background: url(/images/icon_arrow_r.svg) no-repeat left center;
  background-size: 12px auto;
  background-position: 10px;
}

.sitemap .sitemap_list ul li ul li a:hover {
  border: 1px solid #C8E6F0;
}

/*
* recruit
*/
.recruit .txt_indent {
  padding-left: 1em;
}

/*
* contact
*/
.contact .caution {
  color: #C00;
  font-weight: normal;
}
.contact .type {
  font-weight: normal;
}
.contact table {
  margin-top: 1em;
}
.contact table th {
  text-align: left;
}
.contact table td.type {
  border-bottom: 1px solid #fff;
  background: #C8E0EC;
  text-align: right;
  white-space: nowrap;
}
.contact table tr:last-child td.type {
  border-bottom: none;
}
.contact #privacy {
  margin: 30px 30px 15px;
  padding: 10px;
  border: 1px solid #ccc;
}
.contact #privacy h3 {
  margin-bottom: 0.3em;
}
.contact #privacy p {
  padding: 0 1em;
}
.contact .agree {
  text-align: center;
  font-weight: bold;
}
.contact .button {
  margin-top: 20px;
  text-align: center;
}
.contact input.number {
  width: 30%;
}
.contact input.name {
  width: 25%;
}
.contact input.company,
.contact input.address,
.contact .message {
  width: 100%;
}
.contact input.mail {
  width: 100%;
}
.contact select {
  width: 100%;
  margin-bottom: 5px;
}
.contact .act_button {
  display: block;
  margin: auto auto 20px auto;
}

/*
* topics
*/
.topics_list dd {
  margin-bottom: 8px;
}
.topics_list dd a {
  color: #333333;
  text-decoration: underline;
}
.topics_list dd a:hover {
  color: #2d79c8;
  text-decoration: none;
}

.entry .date {
  color: #666666;
}

.entry_content p,
.entry_content img,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6 {
  clear: both;
}
.entry_content h1,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6,
.entry_content strong,
.entry_content b {
  font-weight: bold;
}
.entry_content p,
.entry_content img,
.entry_content h1,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6,
.entry_content ul,
.entry_content ol,
.entry_content blockquote,
.entry_content hr {
  margin-bottom: 17px;
}
.entry_content h1 {
  padding: 4px 0 4px 8px;
  border-left: 4px solid #5794d3;
  font-size: 2.0rem;
}
.entry_content h2 {
  padding: 4px 0 4px 8px;
  border-left: 4px solid #5794d3;
  font-size: 1.9rem;
}
.entry_content h3 {
  font-size: 1.8rem;
}
.entry_content h4 {
  font-size: 1.7rem;
}
.entry_content h5 {
  font-size: 1.6rem;
}
.entry_content h6 {
  font-size: 1.5rem;
}
.entry_content h1,
.entry_content h2,
.entry_content h3,
.entry_content h4,
.entry_content h5,
.entry_content h6 {
  line-height: 1.45;
}
.entry_content em {
  font-style: italic;
}
.entry_content ul,
.entry_content ol {
  margin-left: 20px;
}
.entry_content li {
  list-style-type: disc;
}
.entry_content ol li {
  list-style-type: decimal;
}
.entry_content hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  padding: 0;
}
.entry_content blockquote {
  margin-right: 10px;
  margin-left: 10px;
  padding: 10px 15px;
  border-radius: 10px;
  background: #ededed;
}
.entry_content blockquote p {
  margin-bottom: 0px;
}
.entry_content .alignleft {
  display: block;
  float: left;
}
.entry_content .alignright {
  display: block;
  float: right;
}
.entry_content .aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
.entry_content a {
  text-decoration: underline;
}
.entry_content a:hover {
  text-decoration: none;
}
.entry_content img {
  max-width: 100%;
  height: auto;
}
.entry_content .table {
  width: 100%;
  padding: 1px;
  border: 1px solid #ccc;
  border-spacing: 0;
}
.entry_content table th {
  padding: 5px 10px;
  border-bottom: 1px solid #fff;
  background: #ccc;
  vertical-align: middle;
  white-space: nowrap;
  font-weight: bold;
  border: 1px solid #ccc;
}
.entry_content table td {
  padding: 5px 10px;
  border-bottom: 1px dotted #DBDBDB;
  vertical-align: middle;
  border: 1px solid #ccc;
}

/**
 * wp-pagenavi
 */
.wp-pagenavi {
  clear: both;
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
}

.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  background: #5794d3;
  border: solid 1px #5794d3;
  padding: 10px 10px;
  margin: 2px;
  color: white;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
  background: white;
  border: solid 1px #5794d3;
  color: #5794d3;
}

.wp-pagenavi span.current {
  font-weight: bold;
}

.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi .extend {
  display: none;
}

/*-------------------------------------
SP ～768
-------------------------------------*/
@media screen and (max-width: 768px) {
  .entry .entry_content {
    margin-top: 10px;
  }
}
/*-------------------------------------
PC 769～
-------------------------------------*/
@media screen and (min-width: 769px) {
  /*
  * contact
  */
  .contact input.number {
    width: 100px;
  }
  .contact input.name {
    width: 150px;
  }
  .contact input.company,
  .contact input.address,
  .contact .message {
    width: 400px;
  }
  .contact input.mail {
    width: 300px;
  }
  .contact select {
    width: 150px;
    margin-bottom: 5px;
  }

  .entry .entry_content {
    margin-top: 30px;
  }
  .entry .date {
    margin-top: -20px;
  }

  .topics_list dt {
    width: 140px;
    float: left;
    margin-bottom: 8px;
  }
}
