@charset "UTF-8";
/* ▽ SP layout ========== */
/*====================================================================================
■01.RESET HTML
====================================================================================*/
/* ========== end △ */
#wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  color: #141414;
  overflow-x: hidden;
  font-size: 14px;
  min-width: 320px; }

/* ▽ PC-TAB layout ========== */
html {
  overflow-y: auto;
  line-height: normal; }

body {
  font-family: "Noto Sans Japanese","Meiryo","メイリオ","MS PGothic","MS Pゴシック",sans-serif;
  background: url("../common_img/bg_body.jpg");
  color: #141414;
  line-height: 1.5;
  font-size: 14px; }

img {
  vertical-align: top;
  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;
  -webkit-transition: all linear 0.3s;
  -o-transition: all linear 0.3s;
  transition: all linear 0.3s;
  word-break: break-all; }

a:hover {
  text-decoration: none; }

/* ========== end △ */
/*====================================================================================
■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;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%; }

.SEO {
  font-size: 10px;
  font-weight: normal;
  color: #666; }

@media only screen and (max-width: 959px) {
  .SEO {
    display: none; } }
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
  .container {
    max-width: 100%;
    margin: 0 auto; } }
@media screen and (min-width: 640px) {
  .pc {
    display: block; }

  .sp {
    display: none; } }
@media screen and (max-width: 639px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
/* ▽ TAB layout ========== */
@media only screen and (min-width: 640px) and (max-width: 1023px) {
  .container {
    width: 100%;
    padding: 0 2%; } }
/* ▽ SP layout ========== */
@media print, screen and (max-width: 640px) {
  .container {
    width: 100% !important;
    padding: 0 2%; } }
@media screen and (max-width: 320px) {
  body {
    width: 320px; } }
/*====================================================================================
■05.FLEX
====================================================================================*/
.dis_flex {
  display: flex;
  display: -webkit-flex;
  /* Safari */
  display: -moz-flex;
  /* Firefox */
  display: -ms-flex;
  /* IE */ }

.flex_between {
  display: flex;
  justify-content: space-between; }

.flex_between_center {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.flex_center_center {
  display: flex;
  justify-content: center;
  align-items: center; }

/*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; }

.a_phone {
  text-decoration: none !important;
  color: #141414 !important; }

@media screen and (min-width: 769px) {
  .a_phone {
    pointer-events: none; } }
.dis_tb960 {
  display: none; }

.dis_tb767 {
  display: none; }

@media screen and (max-width: 959px) {
  .dis_tb960 {
    display: block; } }
@media screen and (max-width: 766px) {
  .dis_tb767 {
    display: block; } }
.sp {
  display: none; }

.pc {
  display: none; }

@media screen and (min-width: 640px) {
  .pc {
    display: block; } }
@media screen and (max-width: 639px) {
  .sp {
    display: block; } }
/*====================================================================================
■06.HEADER
====================================================================================*/
#header {
  position: relative; }
  #header .container {
    width: 78rem; }

.h_main {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  padding-bottom: 10px; }
  .h_main .h_left {
    width: 30%; }
    .h_main .h_left .logo {
      padding-top: 5px; }
  .h_main .h_right {
    width: 70%; }
    .h_main .h_right .h_infor {
      display: flex;
      justify-content: flex-end;
      align-items: center;
      letter-spacing: 1px; }
      .h_main .h_right .h_infor .banner {
        width: 172px;
        background: url("../common_img/bg_01.png") no-repeat center;
        background-size: 100%;
        text-align: center;
        font-size: 11px;
        font-weight: bold;
        padding: 10px 0; }
      .h_main .h_right .h_infor .tel {
        width: 214px;
        margin-left: 10px; }
        .h_main .h_right .h_infor .tel span {
          display: block;
          font-size: 11px;
          font-weight: bold;
          text-align: right; }
      .h_main .h_right .h_infor .btn_contact {
        width: 165px;
        height: 47px; }

.btn_contact {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ef9524;
  margin-left: 10px;
  position: relative; }
  .btn_contact a {
    color: #fff;
    font-weight: bold;
    text-decoration: none; }
    .btn_contact a:after {
      position: absolute;
      content: "";
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
  .btn_contact:hover {
    opacity: 0.7; }

/* ▽ TAB layout ========== */
@media print, screen and (max-width: 1023px) {
  #header .container {
    width: 100%; }

  .h_main .h_left .logo {
    width: 70%; }
    .h_main .h_left .logo img {
      width: 100%; } }
@media only screen and (min-width: 767px) and (max-width: 959px) {
  .h_main .h_left {
    width: 20%; }
    .h_main .h_left .logo {
      width: 100%; }
      .h_main .h_left .logo img {
        width: 100%; }
  .h_main .h_right {
    width: 75%; }
    .h_main .h_right #gnav {
      padding-top: 10px; }

  #gnav li a {
    font-size: 1.5vw;
    letter-spacing: 0 !important;
  }

  .f_cont .h_main .logo {
    width: 20%; }
    .f_cont .h_main .logo img {
      width: 100%; } }
/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) {
  .h_main {
    padding-bottom: 2%;
    padding-top: 2%;
    align-items: center; }
    .h_main .h_left {
      width: 35%; }
      .h_main .h_left .logo {
        width: 100%;
        padding-top: 0; }
        .h_main .h_left .logo img {
          width: 100%; }
    .h_main .h_right {
      width: 22%; }
      .h_main .h_right .h_infor {
        display: none; }
      .h_main .h_right .h_btn {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%; }
        .h_main .h_right .h_btn li {
          width: 40%; }
          .h_main .h_right .h_btn li img {
            width: 100%; }

  .btn_close {
    display: none; }

  .btn_gnav.opened img {
    display: none; }

  .btn_gnav.opened .btn_close {
    display: inline; } }
@media only screen and (max-width: 480px) {
  .h_main .h_left {
    width: 40%; } }
/*====================================================================================
■07.GOLABLE NAVIGATION
====================================================================================*/
#gnav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  padding-bottom: 10px; }
  #gnav li {
    position: relative; }
    #gnav li a {
      position: relative;
      text-decoration: none;
      font-weight: bold;
      letter-spacing: 2px;
      display: block;
      transition: all 0.5s;
      -webkit-transition: all 0.5s; }
      #gnav li a:before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 0;
        height: 2px;
        background: #ef9524;
        transition: all 0.5s;
        -webkit-transition: all 0.5s; }
      #gnav li a:hover:before {
        width: 100%; }

/* ▽ TAB layout ========== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) {
  #gnav {
    position: absolute;
    display: none;
    background: #454545;
    width: 100%;
    left: 0%;
    right: 0;
    top: 100%;
    z-index: 999;
    padding-top: 0; }
    #gnav li {
      border-top: 2px solid #878787;
      padding: 3% 2%; }
      #gnav li a {
        font-weight: bold;
        color: #fff; }
        #gnav li a:before {
          background: none; }
      #gnav li .infor li {
        border-top: none;
        margin: 2% auto; }
      #gnav li .infor .sp_tel {
        width: 70%; }
        #gnav li .infor .sp_tel img {
          width: 100%; }
      #gnav li .infor .btn_contact {
        position: relative;
        width: 50%;
        font-size: 20px; }

  .f_nav #gnav {
    display: none !important; }
  .f_cont .logo {
    width: 30%;
    margin: auto; }
    .f_cont .logo img {
      width: 100%; }
  .f_cont .h_main .h_right {
    display: none; } 
  }
@media print, screen and (max-width: 639px) {
  .f_cont .logo {
    width: 50%;
    padding-bottom: 2%; } }
@media only screen and (max-width: 480px) {
  #gnav li .infor .btn_contact {
    width: 250px;
    font-size: 16px; }
    #gnav li .infor .btn_contact a img {
      width: 32px; } }
/*====================================================================================
■08.FOOTER
====================================================================================*/
#back-top {
  background: #cdc9c2;
  text-align: center; }

.f_cont {
  background: #f7f2e9;
  padding: 2% 0 0; }
  .f_cont .container {
    width: 78rem; }
    .f_cont .container .h_main {
      align-items: center; }

.f_nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  padding: 3% 0; }
  .f_nav #gnav {
    width: calc(100% - 140px);
    display: flex;
    justify-content: flex-start; }
    .f_nav #gnav li {
      padding-right: 15px; }
  .f_nav .f_logo {
    width: 140px;
    display: flex;
    justify-content: space-between; }
    .f_nav .f_logo li:hover {
      opacity: 0.7; }
.list_logo {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 3% 0;
}
@media only screen and (max-width: 1024px) {
  .f_nav #gnav {
    width: calc(100% - 130px);
  }
  .f_nav #gnav li {
    padding-right: 2%;
  }
  .f_nav #gnav li:last-child {
    padding-right: 0;
  }
  .f_nav #gnav li a {
    font-size: 1.35vw;
    letter-spacing: 0 !important;
  }
  .f_nav .f_logo {
    width: 140px;
    margin: auto;
  }
  .list_logo li {
    width: 18%;
  }
  .list_logo li img {
    width: 100%;
  }
}
@media only screen and (max-width: 959px) and (min-width: 767px) {
  .f_nav #gnav {
    width: calc(100% - 100px);
  }
  .f_nav #gnav li {
    padding-right: 2% !important;
  }
  .f_nav #gnav li:last-child {
    padding-right: 0 !important;
  }
  .f_nav .f_logo {
    width: 100px;
  }
  .f_nav .f_logo li img {
    width: 30px;
  }
}
/* ============= */
.style_btn01 {
  display: block;
  background: #a5733a;
  width: 350px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: normal;
  position: relative;
  transition: all 0.25s ease-in;
  letter-spacing: 2px; }
  .style_btn01:after {
    content: '';
    border: solid #fff;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    margin-left: 3px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -5px; }
  .style_btn01:hover {
    background: #333; }

@media print, screen and (max-width: 639px) {
  .style_btn01 {
    width: 300px; } }
