@charset "UTF-8";
/* CSS Document */
/*■01.RESET HTML*/
img {
  margin: 0px;
  padding: 0px;
  border: 0px;
  transition: All 0.3s ease;
  -webkit-transition: All 0.3s ease;
  -moz-transition: All 0.3s ease;
  -o-transition: All 0.3s ease; }

.ov_hover:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70)"; }

a {
  color: #333;
  text-decoration: underline; }

a:hover {
  text-decoration: none;
  color: #ac0707; }

html {
  overflow-y: auto; }

body {
  font-size: 14px;
  font-family: "Yu Gothic", "MS PGothic", "Meiryo","メイリオ","MS PGothic","MS Pゴシック",sans-serif;
  color: #323232;
  min-width: 1000px;
  overflow: hidden; }

/*■02.CLEAR FLOAT*/
.clearfix:after {
  clear: both;
  display: block;
  content: " ";
  height: 0px;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hide these rules from IE-mac \*/
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

.hidden {
  display: none; }

/*■03.USE MEDIA*/
.pull-left {
  float: left; }

.pull-right {
  float: right; }

.media, .media-body {
  overflow: hidden; }

.media-text:after {
  clear: both;
  display: block;
  content: "";
  height: 0px;
  visibility: hidden; }

/*■04.LAYOUT*/
.container {
  position: relative;
  width: 1000px;
  margin: 0 auto; }

/*■05.FLEX*/
.dis_flex {
  display: flex;
  display: -webkit-flex;
  /* Safari */
  display: -moz-flex;
  /* Firefox */
  display: -ms-flex;
  /* IE */ }

/*justify-content*/
.flex_jus_start {
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  -moz-justify-content: flex-start;
  -ms-justify-content: flex-start; }

.flex_jus_end {
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  -moz-justify-content: flex-end;
  -ms-justify-content: flex-end; }

.flex_jus_center {
  justify-content: center;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center; }

.flex_jus_between {
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between; }

.flex_jus_around {
  justify-content: space-around;
  -webkit-justify-content: space-around;
  -moz-justify-content: space-around;
  -ms-justify-content: space-around; }

.flex_jus_ini {
  justify-content: initial;
  -webkit-justify-content: initial;
  -moz-justify-content: initial;
  -ms-justify-content: initial; }

/*align-items*/
.flex_align_item_start {
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start; }

.flex_align_item_end {
  align-items: flex-end;
  -webkit-align-items: flex-end;
  -moz-align-items: flex-end;
  -ms-align-items: flex-end; }

.flex_align_item_stretch {
  align-items: stretch;
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch; }

.flex_align_item_baseline {
  align-items: baseline;
  -webkit-align-items: baseline;
  -moz-align-items: baseline;
  -ms-align-items: baseline; }

.flex_align_item_center {
  align-items: center;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center; }

.flex_align_item_ini {
  align-items: initial;
  -webkit-align-items: initial;
  -moz-align-items: initial;
  -ms-align-items: initial; }

.flex-container {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.flex_bg {
  width: 100%;
  margin-right: -100%; }

.flex_content {
  width: 100%;
  position: relative; }

.cm_btn_contact {
  width: 145px;
  margin-right: 3px; }
  .cm_btn_contact a {
    background: url(../common_img/icon_mail.png) center left 20px no-repeat #ac0707;
    color: #fff;
    font-weight: bold;
    display: block;
    padding: 9px 10px 9px 45px;
    text-decoration: none; }
    .cm_btn_contact a:hover {
      background: url(../common_img/icon_mail_on.png) center left 20px no-repeat #131313;
      color: #ac0707;
      transition: all 0.5s;
      box-shadow: 0 1px #ac0707; }

header .seo {
  font-size: 10px;
  color: #fff;
  background: #131313;
  padding: 5px 0 0;
  font-weight: normal;
  font-family: "Meiryo","メイリオ","MS PGothic","MS Pゴシック",sans-serif; }
header .h_header {
  padding: 15px 0 18px; }
  header .h_header .hlogo {
    width: 529px;
    padding-top: 5px; }
  header .h_header .h_infor {
    width: 365px; }
    header .h_header .h_infor .txt01 {
      font-size: 13px;
      margin-bottom: 4px;
      text-align: right;
      letter-spacing: -1px; }
    header .h_header .h_infor .dis_flex .cm_contact {
      width: 205px;
      text-align: right; }
      header .h_header .h_infor .dis_flex .cm_contact .tel {
        font-size: 21px;
        font-weight: bold;
        line-height: 1;
        margin-bottom: 3px; }
      header .h_header .h_infor .dis_flex .cm_contact .fax {
        font-size: 16px;
        font-weight: bold;
        line-height: 1; }

  header .h_header .h_infor2 {
    margin-left: 10px; }
header #gnav {
  background: #131313;
  padding: 17px 0; }
  header #gnav ul li {
    text-align: center; }
    header #gnav ul li a {
      border-left: 1px solid #e5e5e5;
      color: #fff;
      font-size: 16px;
      font-weight: bold;
      padding: 4px 26px;
      text-decoration: none;
      text-align: center;
      letter-spacing: 1px; }
      header #gnav ul li a:hover {
        color: #ac0707;
        transition: all 0.5s; }
    header #gnav ul li:last-child a {
      border-right: 1px solid #e5e5e5; }

footer .page_up {
  position: fixed;
  right: 4%;
  bottom: 10%; }
footer .f_footer {
  background: #cbcbcb;
  padding: 45px 0 30px; }
  footer .f_footer .flogo {
    width: 290px;
    padding-top: 5px; }
  footer .f_footer .address{
    text-align: center;
  }
  footer .f_footer .address p {
    line-height: 1.4444;
    padding-top: .5em;  }
    footer .f_footer .address p strong {
      font-size: 16.5px; }
    footer .f_footer .address p a.map {
      background: url(../common_img/icon_map.png) center left no-repeat;
      color: #000000;
      display: inline-block;
      padding: 3px 3px 3px 15px;
      text-decoration: none;
      /*margin-left: 15px; */
    }
  footer .f_footer .f_infor {
    width: 345px; }
    footer .f_footer .f_infor .txt01 {
      font-size: 13px;
      margin-bottom: 5px;
      text-align: right; }
    footer .f_footer .f_infor .dis_flex .cm_contact {
      width: 185px;
      text-align: right; }
      footer .f_footer .f_infor .dis_flex .cm_contact .tel {
        font-size: 20px;
        font-weight: bold;
        line-height: 1;
        margin-bottom: 7px; }
      footer .f_footer .f_infor .dis_flex .cm_contact .fax {
        font-size: 16px;
        font-weight: bold;
        line-height: 1; }
footer .menu_footer {
  background: #131313;
  padding: 25px 0 87px; }
  footer .menu_footer ul li a {
    border-left: 1px solid #d0d0d0;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
    font-size: 13px;
    padding: 0 10px; }
    footer .menu_footer ul li a:hover {
      color: #ac0707;
      transition: all 0.5s; }
  footer .menu_footer ul li:last-child a {
    border-right: 1px solid #d0d0d0; }
