@charset "UTF-8";
@font-face {
  font-family: 'GenJyuuGothic';
  font-style: normal;
  font-weight: 400;
  src: url("../webfonts/GenJyuuGothic-P-Normal.ttf") format("truetype"), url("../webfonts/GenJyuuGothic-P-Normal.woff") format("woff"); }
@font-face {
  font-family: 'GenJyuuGothic';
  font-style: normal;
  font-weight: 500;
  src: url("../webfonts/GenJyuuGothic-P-Medium.ttf") format("truetype"), url("../webfonts/GenJyuuGothic-P-Medium.woff") format("woff"); }
a {
  opacity: 1;
  transition: opacity .3s; }
  a img {
    filter: opacity(1);
    transition: filter .3s; }
  a:hover {
    opacity: .7;
    transition: opacity .3s; }
    a:hover img {
      filter: opacity(0.7);
      transition: filter .3s; }

.wrapper {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif; }

.animation {
  opacity: 0;
  visibility: hidden;
  transition: 1s;
  transform: translateY(30px); }

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0); }

/*ヘッダー*/
.header_wrap {
  display: flex;
  background-color: #fff;
  padding: 1% 0;
  align-items: center; }

.header_txt {
  font-size: 13px; }

.logo_img {
  margin-top: 2%; }

.header {
  max-width: 1024px;
  margin: 0 auto;
  background-repeat: no-repeat;
  position: relative; }

.headerNavWrap {
  display: none; }
  @media (min-width: 1281px) {
    .headerNavWrap {
      display: block;
      width: 65%;
      position: relative; } }

.headerNavWrap {
  width: 65%; }

.headerNav {
  position: relative; }

.headerNavLi {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  font-weight: bold; }

.headerNavList {
  margin-left: 10%; }

.main-catch {
  position: relative; }

.main-catch_wrap {
  width: 330px;
  background-color: #fefe2d;
  position: absolute;
  height: 19%;
  padding: 2%;
  bottom: 0; }
  @media (max-width: 767px) {
    .main-catch_wrap {
      width: 250px;
      height: auto; } }

.main-catch_txt {
  font-size: 24px;
  text-align: center;
  font-weight: bold; }
  @media (max-width: 767px) {
    .main-catch_txt {
      font-size: 18px; } }

/*スライド*/
.slider {
  padding-top: 5%; }
  @media (min-width: 1281px) {
    .slider {
      padding-top: 10%; } }

/*共通*/
.main_wrap {
  display: flex;
  margin: 5% 0;
  align-items: baseline; }

.header-3 {
  font-size: 60px; }
  @media (max-width: 767px) {
    .header-3 {
      font-size: 50px; } }

.header_txt {
  margin-left: 1%; }

/*ハンバーガー*/
.hamburger_sp {
  display: block; }

@media (min-width: 1281px) {
  .hamburger_sp {
    display: none; } }
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 13px;
  top: 6px;
  width: 42px;
  height: 42px;
  cursor: pointer;
  text-align: center; }

.hamburger span {
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  left: 6px;
  background: #014099;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out; }

.hamburger span:nth-child(1) {
  top: 10px; }

.hamburger span:nth-child(2) {
  top: 20px; }

.hamburger span:nth-child(3) {
  top: 30px; }

.NuvMenu {
  color: #014099;
  line-height: 300%;
  margin-top: 27px;
  font-weight: bold;
  font-size: 14px; }

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 6px;
  background: #014099;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg); }

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background: #014099;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg); }

nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  color: #fff;
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  background-color: #fff;
  visibility: hidden; }

nav.globalMenuSp.active {
  opacity: 100;
  visibility: visible; }

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%; }

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all; }

nav.globalMenuSp ul li:last-child {
  padding-bottom: 0; }

/*nav.globalMenuSp ul li:hover{
  background :#ddd;
}*/
nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration: none; }

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100; }

#main {
  .position-position: relative; }
  #main .concept_wrap {
    padding: 0 5%; }
  #main .concept_txt {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 5%; }
  #main .concept_span {
    border-bottom: dotted 3px #FEFE31; }
  #main .main_txt {
    font-size: 14px; }
  #main .service {
    display: flex; }
    @media (max-width: 767px) {
      #main .service {
        display: block; } }
  #main .service_wrap {
    margin-bottom: 5%; }
    @media (max-width: 767px) {
      #main .service_wrap {
        position: relative;
        margin-bottom: 15%;
        padding: 6%; } }
  #main .service_content {
    position: relative; }
  #main .service_header_img {
    max-width: 1024px;
    margin: 0 auto;
    height: 16rem;
    background-image: url("../img/home/service_img_one.png");
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 5%; }
  #main .service_header_img:hover {
    filter: opacity(60%); }
  #main .service_headerLatterhalf_img {
    max-width: 1024px;
    margin: 0 auto;
    height: 16rem;
    background-image: url("../img/home/service_img_two.png");
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 5%;
    width: 90%; }
  #main .service_headerLatterhalf_img:hover {
    filter: opacity(50%); }
  #main .header-4 {
    color: #000;
    font-size: 19px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 43%;
    transform: translateY(-50%) translateX(-50%);
    text-align: center;
    width: 75%; }
    @media (max-width: 767px) {
      #main .header-4 {
        left: 48%; } }
  #main .header-4:before {
    content: url("../img/home/logo_house.png");
    vertical-align: middle;
    line-height: 2rem;
    display: inline-block; }
  #main .header-4Latterhalf {
    color: #000;
    font-size: 19px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translateY(-50%) translateX(-50%); }
    @media (max-width: 767px) {
      #main .header-4Latterhalf {
        width: 70%;
        left: 50%; } }
  #main .header-4Latterhalf:before {
    content: url("../img/home/logo_house.png");
    vertical-align: middle;
    line-height: 2rem;
    display: inline-block; }
  #main .service_sentence_wrap {
    margin-left: 3%;
    width: 87%; }
  #main .service_sentence_wrap2 {
    margin-left: 3%;
    width: 87%;
    margin: 0 auto; }
  #main .service_txt {
    font-size: 18px;
    font-weight: bold; }
  #main .service_txt:before {
    display: inline-block;
    vertical-align: middle;
    content: '';
    width: 0.8em;
    height: 0.8em;
    background: #000;
    margin-right: 1%; }
  #main a:visited {
    color: #fff; }
  #main a {
    text-decoration: none; }
  #main .btn {
    color: #fff;
    font-weight: bold;
    position: absolute;
    right: 0;
    text-align: center;
    display: inline-block;
    width: 140px;
    height: 40px;
    border: 2px solid #000;
    padding: 5px;
    overflow: hidden;
    margin-top: 3%;
    background-color: #000; }
    @media (max-width: 767px) {
      #main .btn {
        margin-top: 5%; } }
    #main .btn::before {
      background: #fff;
      content: "";
      position: absolute;
      left: -10px;
      top: 0px;
      height: 100%;
      width: 0;
      transform: skewX(20deg);
      transition: all .2s ease-in;
      z-index: -1; }
    #main .btn:hover {
      color: #000; }
  #main .btn:hover::before {
    width: 110%;
    transition: all .2s ease-in;
    z-index: -1; }
  #main .btn02 {
    color: #fff;
    font-weight: bold;
    position: absolute;
    right: 6%;
    text-align: center;
    display: inline-block;
    width: 140px;
    height: 40px;
    border: 2px solid #000;
    padding: 5px;
    overflow: hidden;
    margin-top: 6%;
    background-color: #000; }
    #main .btn02::before {
      background: #fff;
      content: "";
      position: absolute;
      left: -10px;
      top: 0px;
      height: 100%;
      width: 0;
      transform: skewX(20deg);
      transition: all .2s ease-in;
      z-index: -1; }
    #main .btn02:hover {
      color: #000; }
  #main .btn02:hover::before {
    width: 110%;
    transition: all .2s ease-in;
    z-index: -1; }
  #main .about_more {
    position: absolute;
    /*top: 0;*/
    right: 0;
    width: 140px;
    height: 40px;
    background: #000; }
  #main .about_more_txt {
    font-weight: bold;
    color: #fff;
    padding: 5% 0 0 8%; }
  #main .service_wrapLatterhalf {
    position: relative; }
    @media (min-width: 1281px) {
      #main .service_wrapLatterhalf {
        margin-left: 10%; } }
    @media (max-width: 767px) {
      #main .service_wrapLatterhalf {
        margin-left: 0;
        margin-bottom: 25%; } }

#company_wrap .company_wrap {
  width: 55%;
  margin: 0 auto; }
#company_wrap .company_img {
  margin: 0 auto;
  margin-bottom: 6%; }
#company_wrap .company_title {
  font-weight: bold;
  border-left: solid 7px #05439a;
  padding-left: 1.5%;
  height: 23px; }
#company_wrap .company_data {
  margin: 3% 3% 4%; }

.g-mapsp {
  padding: 5%; }

.g-map {
  max-width: 1024px;
  margin-top: 5%;
  overflow: hidden; }

.g-map_txt {
  text-align: center;
  height: 100%;
  width: 100%;
  display: block; }
  @media (max-width: 767px) {
    .g-map_txt {
      display: none; } }

.g-map_txt_SP {
  display: none; }
  @media (max-width: 767px) {
    .g-map_txt_SP {
      text-align: center;
      height: 100%;
      width: 100%;
      display: block; } }

#contact_wrap .contact_wrap {
  text-align: center; }
#contact_wrap .header-3 {
  font-size: 60px;
  text-align: center;
  margin: 5% 0 1%; }
  @media (max-width: 767px) {
    #contact_wrap .header-3 {
      font-size: 50px; } }
#contact_wrap .contact_txt {
  text-align: center; }
#contact_wrap .contact_txt2 {
  margin-top: 5%;
  text-align: center; }
#contact_wrap .contact_span {
  font-weight: bold;
  font-size: 22px;
  text-align: center; }
#contact_wrap .position_contact {
  width: 30%;
  margin: 0 auto; }
#contact_wrap a:visited {
  color: #fff; }
#contact_wrap a {
  text-decoration: none; }
#contact_wrap .btn03 {
  color: #fff;
  font-weight: bold;
  position: relative;
  text-align: center;
  display: inline-block;
  width: 340px;
  height: 40px;
  border: 2px solid #014099;
  padding: 5px;
  overflow: hidden;
  margin: 5% auto;
  background-color: #014099;
  margin-top: 5%; }
  #contact_wrap .btn03::before {
    background: #fff;
    content: "";
    position: absolute;
    left: -10px;
    top: 0px;
    height: 100%;
    width: 0;
    transform: skewX(20deg);
    transition: all .2s ease-in;
    z-index: -1; }
  #contact_wrap .btn03:hover {
    color: #014099; }
#contact_wrap .btn03:hover::before {
  width: 110%;
  transition: all .2s ease-in;
  z-index: -1; }
#contact_wrap .contact_mail_link {
  width: 55%;
  margin: 0 auto; }
#contact_wrap .contact_mail {
  width: 310px;
  height: 40px;
  position: relative;
  background-color: #014099;
  margin: 5% auto; }
#contact_wrap .contact_mail_txt {
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding-top: 2%; }

#footer .footer {
  margin-top: 16%; }
#footer .footer_wrap {
  display: block;
  background-color: #014099;
  padding: 2% 4%; }
  @media (min-width: 1281px) {
    #footer .footer_wrap {
      display: flex; } }
#footer .footer_address {
  width: 50%; }
  @media (max-width: 767px) {
    #footer .footer_address {
      width: 100%; } }
#footer .footer_txt {
  color: #fff;
  margin-bottom: 2%; }
  @media (max-width: 767px) {
    #footer .footer_txt {
      padding: 2% 0; } }
#footer .footer_txt2 {
  color: #fff; }
#footer .footer_link {
  position: relative;
  width: 75%;
  margin-top: 5%; }
  @media (min-width: 1281px) {
    #footer .footer_link {
      margin-top: 0; } }
  @media (max-width: 767px) {
    #footer .footer_link {
      margin-left: -6%;
      width: 100%; } }
#footer .footerNavLi {
  display: block;
  width: 100%;
  justify-content: end; }
  @media (min-width: 1281px) {
    #footer .footerNavLi {
      display: flex;
      position: absolute;
      top: 50%;
      left: 38%;
      transform: translateY(-50%) translateX(-50%); } }
#footer .footerNavList {
  color: #fff;
  font-weight: bold; }
  @media (min-width: 1281px) {
    #footer .footerNavList {
      margin-left: 5%; } }
  @media (max-width: 767px) {
    #footer .footerNavList {
      margin-left: 5%; } }

/*# sourceMappingURL=common.css.map */
