@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
html, a {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent; }

a:hover {
  text-decoration: none; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.5; }

html, body {
  font-size: 16px; }

h1, h2, h3, h4, h5 {
  font-size: 100%;
  font-weight: 100;
  margin: 0;
  line-height: 1.5; }

ul, li, dl, dt, dd, figure {
  margin: 0;
  padding: 0;
  list-style: none; }

.container {
  width: 100%;
  padding: 0;
  position: relative;
  overflow: hidden; }

.pc {
  display: block; }

.sp {
  display: none; }

header.header {
  width: 210px;
  height: 100%;
  position: fixed;
  z-index: 10;
  background-color: #FFF;
  font-family: 'Staatliches', sans-serif; }
  header.header h1 {
    margin: 30px auto 0;
    width: 120px; }
  header.header nav {
    margin: 20px 0 0 20px; }
    header.header nav li {
      position: relative;
      line-height: 1;
      margin-bottom: 2px;
      letter-spacing: .08em; }
      header.header nav li a {
        position: relative;
        color: #428435;
        display: block;
        font-size: 16px;
        text-decoration: none;
        margin-left: 10px;
        padding: 10px 0;
        z-index: 1; }
      header.header nav li.on a {
        color: #fff; }
      header.header nav li.on:before {
        position: absolute;
        top: 10px;
        z-index: -1;
        content: "";
        display: block;
        width: 100%;
        height: 15px;
        background-color: #428435;
        left: 0; }
  header.header .copy {
    position: absolute;
    left: 30px;
    bottom: 12px;
    letter-spacing: .04em;
    color: #428435;
    font-size: 10px;
    width: 100%; }

.contents {
  margin-left: 210px;
  width: calc(100% - 210px);
  height: 100%;
  position: relative; }
  .contents:before {
    position: absolute;
    left: 0;
    z-index: -1;
    content: "";
    display: block;
    width: 1px;
    height: 100%;
    border-left: 1px solid #e8ecf2; }
  .contents .hero {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    margin: 0 !important; }
    .contents .hero li {
      position: absolute;
      opacity: 0;
      width: 100%;
      height: 100%; }
      .contents .hero li img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .contents .section, .contents .section2 {
    margin-top: 60px; }
    .contents .section h2, .contents .section2 h2 {
      position: relative;
      display: inline-block;
      font-family: 'Staatliches', sans-serif;
      font-size: 32px;
      line-height: 1;
      font-weight: 400;
      color: #FFF;
      padding: 0; }
      .contents .section h2:before, .contents .section2 h2:before {
        content: "";
        z-index: -1;
        position: absolute;
        top: 2px;
        display: inline-block;
        width: 100%;
        height: 26px;
        background-color: #428435; }
    .contents .section .inner, .contents .section2 .inner {
      margin: 60px auto 0;
      width: 100%;
      max-width: 740px;
      box-sizing: border-box; }
    .contents .section h3, .contents .section2 h3 {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 900;
      font-size: 20px;
      color: #428435;
      margin: 40px 0 20px; }
    .contents .section h4, .contents .section2 h4 {
      font-weight: bold; }
    .contents .section p, .contents .section2 p {
      font-size: 14px;
      margin-bottom: 30px; }
  .contents #renovation .box {
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center; }
    .contents #renovation .box .ttl {
      color: #428435;
      font-size: 30px;
      font-weight: 900; }
      .contents #renovation .box .ttl br {
        display: none; }
      .contents #renovation .box .ttl img {
        vertical-align: bottom; }
    .contents #renovation .box p {
      font-size: 20px;
      font-weight: 400; }
  .contents #renovation .merit {
    display: inline-block;
    background-color: #428435;
    color: #fff;
    line-height: 1; }
  .contents #renovation .col {
    display: flex; }
    .contents #renovation .col .com_left {
      margin-right: 20px;
      flex: 1; }
    .contents #renovation .col .br {
      display: block; }
  .contents #company {
    padding-bottom: 80px; }
    .contents #company dl {
      padding: 2em 0 1em;
      border-bottom: 3px solid #f0f0f0;
      text-align: left; }
      .contents #company dl dt {
        font-weight: bold; }
      .contents #company dl dd {
        font-size: 14px;
        margin-top: 0.5em; }
        .contents #company dl dd li {
          text-indent: -1em;
          padding-left: 1em;
          margin-bottom: 0.5em; }

.contact {
  padding-bottom: 80px; }
  .contact #contact .inner {
    text-align: left;
    width: 100%;
    max-width: 740px;
    margin: 0 auto;
    box-sizing: border-box; }
  .contact .section {
    margin-top: 0; }
  .contact h2 {
    margin: 30px 0 0;
    text-align: center; }
  .contact form dt {
    margin-bottom: 30px;
    font-size: 13px;
    font-weight: bold; }
  .contact form dd {
    margin-bottom: 60px; }
    .contact form dd:last-of-type {
      margin-bottom: 0; }
  .contact form .asterisk {
    font-size: 12px;
    color: #428435;
    margin-left: 5px; }
  .contact form input[type=text],
  .contact form input[type=email] {
    width: 100%;
    padding: 30px 18px;
    font-size: 12px;
    background-color: #f6f6f6;
    border: 1px solid #f6f6f6;
    box-sizing: border-box;
    outline: 0;
    color: #333;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .contact form .telWrapper {
    width: 100%;
    color: #428435; }
    .contact form .telWrapper > span {
      display: inline-block; }
      .contact form .telWrapper > span:nth-of-type(1) {
        width: 24%;
        margin-right: 1.5%; }
      .contact form .telWrapper > span:nth-of-type(2) {
        width: 28%;
        margin: 0 1.5%; }
      .contact form .telWrapper > span:nth-of-type(3) {
        width: 28%;
        margin-left: 1.5%; }
  .contact form textarea {
    width: 100%;
    height: 300px;
    padding: 30px 27px;
    font-size: 14px;
    line-height: 2;
    background-color: #f6f6f6;
    border: 1px solid #f6f6f6;
    box-sizing: border-box;
    outline: 0;
    color: #333;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
  .contact form .submitBtnWrapper {
    text-align: center; }
  .contact form .submitBtn {
    width: 100%;
    max-width: 380px;
    height: 80px;
    margin: 60px auto 0;
    background-color: #428435;
    font-size: 13px;
    color: #fff;
    font-weight: 700;
    border: none;
    outline: 0; }

@media screen and (max-width: 1000px) {
  .pc {
    display: none; }

  .sp {
    display: block; }

  header.header {
    width: 100%;
    height: 60px;
    top: 0; }
    header.header h1 {
      margin: 15px 10px; }
    header.header .menu {
      position: absolute;
      top: 0;
      right: 0; }
      header.header .menu li:nth-child(-n+2) {
        display: none; }
      header.header .menu li:nth-child(3) {
        background-color: #428435;
        padding: 1em;
        font-size: 12px; }
        header.header .menu li:nth-child(3) a {
          color: #fff; }
        header.header .menu li:nth-child(3) span {
          margin-top: -0.2em; }
    header.header .copy {
      display: none; }

  .contents {
    margin-left: 0;
    width: 100%; } }
@media screen and (max-width: 780px) {
  .contents .hero {
    height: auto;
    margin-top: 60px !important; }
    .contents .hero ul {
      padding-top: 65%; }
    .contents .hero li {
      position: absolute;
      top: 0;
      opacity: 0;
      width: 100%;
      height: auto;
      padding: 0; }
      .contents .hero li img {
        position: relative;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .contents .section {
    margin-top: 30px; }
    .contents .section .inner {
      width: 100%;
      max-width: 780px;
      padding: 0 20px;
      margin-top: 30px;
      box-sizing: border-box; }
    .contents .section p img {
      width: 100%; }
  .contents #renovation p img {
    width: 100%; }
  .contents #renovation .box .ttl {
    font-size: calc(24px + (30 - 24)*(100vw - 320px)/(780 - 320)); }
    .contents #renovation .box .ttl br {
      display: block; }
    .contents #renovation .box .ttl img {
      width: 90%;
      max-width: 468px; }
  .contents #renovation .box figure img {
    width: 100%; }
  .contents #renovation .box p {
    font-size: calc(16px + (20 - 16)*(100vw - 320px)/(780 - 320)); }
  .contents #renovation h3 {
    padding: 0 20px; }
  .contents #renovation .col {
    flex-direction: column;
    padding: 0 20px; }
    .contents #renovation .col .br {
      display: none; }
    .contents #renovation .col .com_left {
      margin-right: 0;
      margin-bottom: 20px; }
    .contents #renovation .col .com_right {
      text-align: center; }
  .contents #company dl {
    padding: 1em 0; }
    .contents #company dl dt {
      font-size: 13px; }
    .contents #company dl dd {
      font-size: 12px; }

  .contact nav {
    display: none; }
  .contact .section h2 {
    margin: 40px 0 30px; } }

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