/* manual
========================================== */
.pcOnly {
  display: none; }

.spOnly {
  display: block; }

.tabOnly, .pctabOnly {
  display: none; }

.tabspOnly {
  display: block; }

.top_img h2 {
  font-size: 30px; }

h3 {
  font-size: 30px;
  margin-bottom: 20px; }

.block {
  width: 92%;
  margin: 30px auto; }

/* header
========================================== */
.hdPc {
  display: none; }

/* headerSP
========================================== */
.btnMenu {
  cursor: pointer;
  position: fixed;
  color: #fff;
  text-align: center;
  z-index: 100;
  transition: all 0.3s linear;
  display: block;
  margin: 0 auto;
  border-radius: 50%;
  background: #002147;
  top: 3px;
  right: 1%;
  height: 50px;
  width: 50px;
  visibility: visible;
  opacity: 1; }
  .btnMenu:hover {
    -webkit-box-shadow: inset 15px 30px 40px rgba(255, 255, 255, 0.55), 0 3px 7px rgba(0, 0, 0, 0.2);
    box-shadow: inset 15px 30px 40px rgba(255, 255, 255, 0.55), 0 3px 7px rgba(0, 0, 0, 0.2); }
  .btnMenu.fixed {
    visibility: visible;
    opacity: 1; }
  .btnMenu span {
    background-color: #fff;
    transition: all 0.3s ease-out;
    position: absolute;
    display: block;
    top: 26px;
    left: 30%;
    width: 40%;
    height: 1px; }
    .btnMenu span:nth-of-type(2) {
      top: 32px; }
    .btnMenu span:nth-of-type(3) {
      top: 38px; }
  .btnMenu em {
    position: absolute;
    top: 17px;
    left: 0;
    width: 100%;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    line-height: 0;
    text-align: center; }
  .btnMenu.vew {
    background-color: #fff; }
    .btnMenu.vew em {
      color: #000; }
    .btnMenu.vew span {
      background: #000; }
      .btnMenu.vew span:nth-of-type(1) {
        top: 32px;
        transform: rotate(45deg);
        -webkit-transform: rotate(45deg); }
      .btnMenu.vew span:nth-of-type(2) {
        display: none; }
      .btnMenu.vew span:nth-of-type(3) {
        top: 32px;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg); }

header.hdSp {
  position: absolute;
  width: 100%;
  display: block; }
  header.hdSp ul.hdnavSp {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    transition: all 0.3s linear;
    background-color: rgba(0, 0, 0, 0.7);
    bottom: 0px;
    width: 100%;
    z-index: 100;
    text-align: center;
    padding: 10px 0; }
    header.hdSp ul.hdnavSp.fixed {
      opacity: 1;
      visibility: visible; }
    header.hdSp ul.hdnavSp li {
      display: inline-block;
      width: 38%;
      margin: 0 0.3%;
      text-align: center;
      font-size: 16px;
      vertical-align: text-top; }
      header.hdSp ul.hdnavSp li a {
        color: #333333;
        background-color: #eeeeee;
        text-decoration: none;
        display: block;
        padding: 18px 0;
        font-size: 13px;
        line-height: 1;
        position: relative;
        overflow: hidden;
        border: solid 2px #000000; }
      header.hdSp ul.hdnavSp li.btn_or a {
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        background: #ed6d00;
        border: 2px solid #fff;
        border-radius: 5px;
        padding: 12px 0;
        color: #fff; }
        header.hdSp ul.hdnavSp li.btn_or a p {
          margin-right: 10px;
          line-height: 2;
          letter-spacing: 0.1em; }
      header.hdSp ul.hdnavSp li a i {
        margin-bottom: 0px;
        font-size: 30px; }
      header.hdSp ul.hdnavSp li a em {
        left: 0;
        width: 100%;
        font-size: 14px;
        font-weight: bold;
        font-style: normal;
        text-align: center;
        display: block; }
      header.hdSp ul.hdnavSp li a .txt {
        font-weight: bold;
        line-height: 1.3; }
      header.hdSp ul.hdnavSp li.btnTel {
        display: none; }
      header.hdSp ul.hdnavSp li.btnReq a {
        padding: 7px 0;
        background-color: #0035c3;
        color: #ffffff;
        border-color: #0035c3; }
      header.hdSp ul.hdnavSp li.btnRes a {
        padding: 7px 0;
        background-color: #ca0821;
        color: #ffffff;
        border-color: #ca0821; }
  header.hdSp nav.gnav.gnavSp {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    transition: all 0.3s linear;
    visibility: visible;
    background-color: rgba(0, 0, 0, 0.8);
    width: 100%;
    top: 0;
    left: 0;
    padding-top: 15vh;
    height: 85vh;
    z-index: -10; }
    header.hdSp nav.gnav.gnavSp.show {
      opacity: 1;
      visibility: visible;
      z-index: 90; }
    header.hdSp nav.gnav.gnavSp ul.gn {
      text-align: center;
      width: 90%;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap; }
      header.hdSp nav.gnav.gnavSp ul.gn li {
        width: 43%;
        margin: 0 3% 1vh; }
        header.hdSp nav.gnav.gnavSp ul.gn li a {
          color: #ffffff;
          padding: 4vh 0px;
          font-size: 3vh; }
          header.hdSp nav.gnav.gnavSp ul.gn li a i {
            display: none; }
      header.hdSp nav.gnav.gnavSp ul.gn.eng li a {
        font-size: 5vh;
        padding: 20px 10px;
        border: none;
        box-shadow: -1px 1px 0px 0px #000000;
        border-radius: 0px;
        color: #000000; }
        header.hdSp nav.gnav.gnavSp ul.gn.eng li a span {
          font-size: 3vh; }
  header.hdSp p.logo {
    display: block;
    padding: 10px 2%;
    top: 0;
    left: 2%;
    max-width: 280px; }
    header.hdSp p.logo a img {
      width: 100%; }
  header.hdSp ul.hdnavSp {
    opacity: 1;
    visibility: visible;
    position: fixed;
    bottom: 0px;
    width: 100%;
    padding: 10px 0; }
    header.hdSp ul.hdnavSp.fixed {
      opacity: 1;
      visibility: visible; }

header.hdSp ul.hdnavSp li:first-child {
  width: 15%; }
header.hdSp ul.hdnavSp li.btn_or a {
  padding: 7px 0; }
  header.hdSp ul.hdnavSp li.btn_or a p {
    font-size: 12px;
    line-height: 1.5;
    margin-right: 5px; }
    header.hdSp ul.hdnavSp li.btn_or a p span {
      display: none; }
header.hdSp ul.hdnavSp li a {
  padding: 9px 0;
  font-size: 12px;
  border-radius: 10px; }
  header.hdSp ul.hdnavSp li a i {
    margin-bottom: 0px;
    font-size: 20px; }
  header.hdSp ul.hdnavSp li a em {
    left: 0;
    width: 100%;
    font-size: 12px;
    font-weight: bold;
    font-style: normal;
    text-align: center;
    display: block; }
  header.hdSp ul.hdnavSp li a .txt {
    font-size: 10px; }
header.hdSp ul.hdnavSp li.btnTel {
  display: none; }
header.hdSp ul.hdnavSp li.btnReq a, header.hdSp ul.hdnavSp li.btnRes a {
  padding: 2px 0; }
header.hdSp nav.gnav.gnavSp {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding-top: 14vh;
  height: 100vh;
  z-index: -10;
  display: block; }
  header.hdSp nav.gnav.gnavSp.show {
    opacity: 1;
    visibility: visible;
    z-index: 90;
    position: fixed; }
  header.hdSp nav.gnav.gnavSp ul.gn {
    text-align: center; }
    header.hdSp nav.gnav.gnavSp ul.gn li {
      margin: 0 3% 1vh;
      width: 43%; }
      header.hdSp nav.gnav.gnavSp ul.gn li a {
        font-size: 2.2vh; }
        header.hdSp nav.gnav.gnavSp ul.gn li a span {
          font-size: 2vh; }

/* gmenu
========================================== */
.gnav {
  width: 57%;
  position: absolute;
  z-index: 3;
  top: 35px;
  left: 140px; }
  .gnav .gn {
    width: 100%;
    margin: 0 auto;
    max-width: 1300px;
    text-align: left;
    font-size: 0; }
    .gnav .gn li {
      width: 16%;
      margin: 0 0.25% 5px;
      height: auto;
      position: relative;
      text-align: center;
      display: inline-block; }
      .gnav .gn li.gnHouse, .gnav .gn li.gnLand {
        width: 35.5%; }
      .gnav .gn li a {
        padding: 7px 0px 4px;
        font-size: 18px;
        border-radius: 10px; }
      .gnav .gn li.gnHouse a {
        color: #e65b82; }
      .gnav .gn li.gnLand a {
        color: #31a71d; }
      .gnav .gn li a span {
        display: block;
        font-size: 12px; }
      .gnav .gn li.gnHouse a:hover, .gnav .gn li.gnHouse.on a {
        border: solid 1px #e65b82; }
      .gnav .gn li.gnLand a:hover, .gnav .gn li.gnLand.on a {
        border: solid 1px #31a71d; }
      .gnav .gn li.gnHouse a::before, .gnav .gn li.gnLand a::before {
        content: "";
        height: 40px;
        width: 40px;
        display: inline-block;
        position: absolute;
        top: 11%;
        left: 25%; }

.gn li.new::before {
  top: 10px; }

/* gmenu  no
========================================== */
.gnav .gn li.no a {
  opacity: 0.3;
  border: none;
  cursor: default; }
  .gnav .gn li.no a:hover {
    opacity: 0.3;
    border: none; }
.gnav .gn li.gnHouse.no a {
  color: #e37e78; }
.gnav .gn li.gnLand.no a {
  color: #418835; }
.gnav .gn li.gnHouse.no a:hover, .gnav .gn li.gnLand.no a:hover {
  background-color: #ffffff;
  opacity: 0.3; }
.gnav .gn li.no .comson {
  display: block;
  font-size: 20px;
  position: absolute;
  width: 100%;
  color: #776c3b;
  font-style: italic;
  top: 50%;
  left: 0px;
  margin-top: -16px; }

/* ==================
footer
======================== */
.contact {
  padding: 20px; }
  .contact ul li {
    width: 100%; }
    .contact ul li:first-child {
      margin-bottom: 20px;
      width: 100%; }
    .contact ul li:last-child {
      width: 100%;
      margin: 0 auto; }
    .contact ul li h4 {
      font-size: 18px; }
    .contact ul li a.mail {
      font-size: 20px;
      max-width: 100%;
      margin-bottom: 10px; }
  .contact p {
    font-size: 16px; }

footer {
  padding: 50px 0 0; }
  footer ul.block .flogo {
    width: 100%; }
  footer ul.block .nav {
    display: none; }
  footer ul.gn {
    flex-wrap: wrap; }
    footer ul.gn li {
      margin: 0 15px 10px 0; }

.pageTop {
  bottom: 40px; }

/* ==================
top
======================== */
.index .mainIn .mainIn_tit h2 {
  font-size: 18px; }

.main .greeting {
  font-size: 14px; }
  .main .greeting span {
    font-size: 14px; }
.main .top_menu {
  width: 90%;
  margin: 0 auto 80px; }
  .main .top_menu li {
    width: 100%;
    margin-bottom: 15px; }

/* ==================
company
======================== */
.company .main h2.block {
  margin: 80px auto 20px; }
.company .main ul.company_box {
  margin-top: 20px; }
  .company .main ul.company_box li:nth-child(odd) {
    width: 100%;
    padding: 20px 0;
    color: #002147;
    font-weight: bold; }
  .company .main ul.company_box li:nth-child(even) {
    width: 100%;
    padding: 20px 0; }
.company .main .company_img li {
  width: 48.5%; }

/* ==================
about
======================== */
.about .about_box {
  font-size: 16px; }
  .about .about_box p {
    font-size: 14px; }

/* ==================
result
======================== */
.result h4 {
  font-size: 18px; }
.result .result_box ul li img {
  height: 150px;
  width: auto; }
.result ul.career li {
  width: 100%; }
  .result ul.career li p {
    padding: 10px;
    box-sizing: border-box; }
    .result ul.career li p:first-child {
      background: #eee;
      font-weight: bold; }

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