@charset "UTF-8";
/* ==========================================================================
  Reset
  ========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline; }

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block; }

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none; }

img {
  font-size: 0;
  line-height: 0; }

a {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 100%;
  vertical-align: baseline; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  font-weight: bold;
  font-style: italic;
  color: #000; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-spacing: 0;
  border-collapse: collapse; }

fieldset, img {
  line-height: 0;
  vertical-align: top; }

hr {
  display: none; }

input, select {
  vertical-align: middle; }

html {
  overflow-y: scroll;
  *zoom: 1;
  /* firefox */ }

* {
  margin: 0;
  padding: 0; }

img {
  vertical-align: bottom; }

html, body {
  width: 100%;
  height: 100%; }

ul, li {
  list-style: none; }

b {
  font-weight: bold; }

iframe {
  border: none;
  outline: none; }

p {
  margin: 0; }

/* ==========================================================================
  Base
========================================================================== */
* {
  box-sizing: border-box; }

body {
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.7;
  background: #f7f1e2;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media screen and (max-width: 1028px) {
    body {
      font-size: 14px; } }

.container {
  overflow: hidden; }

.wrapper {
  position: relative;
  padding-top: 80px; }
  @media screen and (max-width: 1028px) {
    .wrapper {
      padding-top: 0; } }

.cont-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0 30px; }
  @media screen and (max-width: 1028px) {
    .cont-inner {
      max-width: 100%;
      padding: 0 0 30px; } }

img {
  width: 100%;
  height: auto; }

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

@media screen and (min-width: 1029px) {
  .sp {
    display: none !important; } }

.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  z-index: 0; }
  .youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: 0; }

.caution {
  font-size: 12px !important; }

.hide {
  opacity: 0;
  transform: scale(1.1);
  -webkit-transition: all .6s;
  transition: all .6s; }

.moves {
  opacity: 1;
  transform: scale(1) translate(0, 0);
  -webkit-transition: all .6s;
  transition: all .6s; }

.m-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }

.l-inner {
  position: relative;
  width: 100%;
  max-width: 86%;
  margin: 0 auto; }

.top-cont {
  padding: 80px 0;
  text-align: center; }

h3 {
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
  text-align: center;
  width: 100%; }

.none {
  display: none; }

.hide-bottom {
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0; }
  @media screen and (max-width: 1028px) {
    .hide-bottom {
      -webkit-transform: translate(0, 25px);
      transform: translate(0, 25px); } }

.hide-top {
  -webkit-transform: translate(0, -50px);
  transform: translate(0, -50px);
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0; }
  @media screen and (max-width: 1028px) {
    .hide-top {
      -webkit-transform: translate(0, -25px);
      transform: translate(0, -25px); } }

.hide-right {
  -webkit-transform: translate(50px, 0);
  transform: translate(50px, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0; }
  @media screen and (max-width: 1028px) {
    .hide-right {
      -webkit-transform: translate(25px, 0);
      transform: translate(25px, 0); } }

.hide-left {
  -webkit-transform: translate(-50px, 0);
  transform: translate(-50px, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0; }
  @media screen and (max-width: 1028px) {
    .hide-left {
      -webkit-transform: translate(-25px, 0);
      transform: translate(-25px, 0); } }

.border-left {
  content: '';
  left: 0;
  top: 0;
  border-top: solid 8px #000;
  -webkit-transform: translate(-100vw, 0);
  transform: translate(-100vw, 0);
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out; }
  @media screen and (max-width: 1028px) {
    .border-left {
      border-top: solid 5px #000; } }

.border-right {
  content: '';
  left: 0;
  top: 0;
  border-top: solid 8px #000;
  -webkit-transform: translate(100vw, 0);
  transform: translate(100vw, 0);
  -webkit-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out; }
  @media screen and (max-width: 1028px) {
    .border-right {
      border-top: solid 5px #000; } }

.moves {
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 1; }

.fadein {
  display: none; }

/* ==========================================================================
  Link
========================================================================== */
a {
  text-decoration: none;
  color: #000; }
  @media screen and (min-width: 1029px) {
    a {
      -webkit-transition: all .3s;
      transition: all .3s; }
      a:hover {
        text-decoration: none; }
        a:hover img {
          opacity: .7; } }
  a:hover, a img {
    -webkit-transition: all .3s;
    transition: all .3s; }

.btn {
  display: block;
  position: relative;
  width: 180px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  padding: 0 20px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  color: #000;
  background-color: #fff; }
  .btn:hover {
    opacity: 0.7; }

.btn-yellow {
  background: #ffe000;
  margin-right: 20px; }

/* ==========================================================================
 header
========================================================================== */
.garage-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background: #000;
  line-height: 1; }
  @media screen and (max-width: 1028px) {
    .garage-header {
      height: 60px;
      background: none; } }

.header-inner {
  position: relative;
  width: 100%;
  height: 80px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between; }
  @media screen and (max-width: 1028px) {
    .header-inner {
      display: none;
      position: fixed;
      z-index: 100;
      top: 60px;
      left: 0;
      width: 100%;
      background: #000;
      height: auto; } }

.header-left {
  margin-left: 160px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (max-width: 1028px) {
    .header-left {
      display: block;
      margin-left: 0; } }
  .header-left ul {
    text-align: center;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media screen and (max-width: 1028px) {
      .header-left ul {
        display: block; } }
    .header-left ul li {
      margin: 0 10px; }
      @media screen and (max-width: 1028px) {
        .header-left ul li {
          width: 100%;
          margin: 0; } }
      .header-left ul li a {
        font-family: 'Arvo', serif;
        font-weight: 400;
        color: #fff;
        font-size: 14px;
        text-decoration: none;
        position: relative;
        padding-bottom: 10px; }
        @media screen and (max-width: 1028px) {
          .header-left ul li a {
            display: block;
            padding: 20px 0 0;
            width: 100%;
            text-align: center;
            font-size: 15px; } }
        .header-left ul li a::after {
          position: absolute;
          right: 0;
          bottom: 3px;
          left: 0;
          width: 20px;
          height: 2px;
          margin: auto;
          -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
          -webkit-transform-origin: right top;
          transform-origin: right top;
          background: #000;
          content: '';
          -webkit-transition: -webkit-transform .3s;
          transition: -webkit-transform .3s;
          transition: transform .3s;
          transition: transform .3s,-webkit-transform .3s; }
        .header-left ul li a:hover {
          color: #ffe000; }
          .header-left ul li a:hover::after {
            transform-origin: left top;
            transform: scale(1, 1); }
        .header-left ul li a .nav-icon {
          width: 15px;
          margin-left: 5px; }

.header-right {
  padding-right: 20px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center; }
  @media screen and (max-width: 1028px) {
    .header-right {
      justify-content: space-between;
      padding: 20px;
      width: 100%; } }
  .header-right .border-r {
    border-right: solid 1px #000; }
    @media screen and (max-width: 1028px) {
      .header-right .border-r {
        border-right: solid 1px; } }

.header-right .header-login {
  height: 25px;
  margin: 0 auto;
  color: #000;
  text-decoration: none;
  line-height: 25px;
  padding: 0 15px;
  font-size: 14px;
  text-align: center; }
  @media screen and (max-width: 1028px) {
    .header-right .header-login {
      height: 35px;
      line-height: 35px;
      width: 50%;
      margin: 0 auto; } }
  .header-right .header-login:hover {
    opacity: 0.7; }

@media screen and (max-width: 1028px) {
  .header-right .link-btn {
    height: 35px;
    line-height: 35px;
    width: 80%;
    margin: 0 auto 20px; } }

.header-logo {
  display: block;
  margin-right: 15px;
  line-height: 1;
  font-size: 0;
  background-color: #f7f1e2;
  padding: 17px;
  position: absolute; }
  @media screen and (max-width: 1028px) {
    .header-logo {
      height: 70%;
      margin: 10px 0 0 10px;
      padding: 0;
      background-color: #fff0; } }
  .header-logo img {
    width: auto;
    height: 47px; }
    @media screen and (max-width: 1028px) {
      .header-logo img {
        height: 100%;
        width: auto; } }

.header-artfield {
  margin-right: 40px; }
  @media screen and (max-width: 1028px) {
    .header-artfield {
      margin-right: 20px; } }

.menu {
  position: fixed;
  cursor: pointer;
  right: 0;
  width: 60px;
  height: 60px;
  z-index: 100; }
  @media screen and (min-width: 1029px) {
    .menu {
      display: none; } }
  .menu span {
    transition: all .2s;
    background: #000;
    position: absolute;
    width: 32px;
    height: 2px;
    left: 14px; }
    .menu span:nth-child(1) {
      top: 20px; }
    .menu span:nth-child(2) {
      top: 28px; }
    .menu span:nth-child(3) {
      top: 36px;
      width: 20px; }

.active span {
  transition: all .2s; }
  .active span:nth-child(1), .active span:nth-child(3) {
    transform-origin: center center;
    -webkit-transform-origin: center center; }
  .active span:nth-child(1) {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    top: 28px; }
  .active span:nth-child(2) {
    display: none; }
  .active span:nth-child(3) {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 32px;
    top: 28px; }

/* ==========================================================================
MV
========================================================================== */
.mv-area .mv-inner {
  max-width: 1200px;
  min-height: 600px;
  margin: 50px auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around; }
  @media screen and (max-width: 1028px) {
    .mv-area .mv-inner {
      min-height: 200px;
      flex-direction: column-reverse;
      margin: 30px auto; } }
.mv-area .mv-img {
  width: 80%; }
  @media screen and (max-width: 1028px) {
    .mv-area .mv-img {
      width: 100%; } }

/* ==========================================================================
about
========================================================================== */
/*.about {
    border-bottom: solid 8px #000;
}*/
.about-cont {
  max-width: 1400px;
  margin: 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }
  .about-cont .about-img {
    width: 55%; }
    .about-cont .about-img img {
      width: 100%;
      height: 500px;
      object-fit: cover; }
    @media screen and (max-width: 1028px) {
      .about-cont .about-img {
        width: 100%;
        text-align: center; }
        .about-cont .about-img img {
          margin: 30px auto 0;
          height: 90%; } }
  @media screen and (max-width: 1028px) {
    .about-cont {
      flex-direction: column; } }
  .about-cont .about-text {
    width: 45%;
    text-align: center; }
    @media screen and (max-width: 1028px) {
      .about-cont .about-text {
        width: 100%;
        margin-top: 10px; } }
    .about-cont .about-text h3 img {
      width: 70%; }
    .about-cont .about-text p {
      line-height: 2;
      font-size: 16px; }

/* ==========================================================================
garege-cont
========================================================================== */
.garage-cont {
  position: relative;
  /*border-bottom: solid 8px #000;*/ }

.cont-inner .cont-top {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
  align-items: flex-end; }
  .cont-inner .cont-top img {
    width: 45%;
    height: fit-content; }
    @media screen and (max-width: 1028px) {
      .cont-inner .cont-top img {
        width: 45%;
        height: auto; } }
  .cont-inner .cont-top .text-area {
    width: 50%; }
    .cont-inner .cont-top .text-area h3 {
      text-align: left; }
      .cont-inner .cont-top .text-area h3 img {
        height: 90px;
        width: auto; }
        @media screen and (max-width: 1028px) {
          .cont-inner .cont-top .text-area h3 img {
            height: auto;
            width: 100%;
            margin-left: -8%; } }
  .cont-inner .cont-top .sp {
    font-size: 16px;
    width: 90%;
    margin: 20px auto 0; }

.bg-white {
  background-color: #fff; }

/* =====================================
garden factory
===================================== */
.cont-inner .gf-top {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }
  .cont-inner .gf-top img {
    width: 32%; }
    @media screen and (max-width: 1028px) {
      .cont-inner .gf-top img {
        padding-right: 3%; } }
  .cont-inner .gf-top .text-area {
    width: 60%; }
    @media screen and (max-width: 1028px) {
      .cont-inner .gf-top .text-area {
        width: 40%;
        margin-left: 10%; } }
    .cont-inner .gf-top .text-area h3 img {
      height: 150px;
      width: fit-content; }
      @media screen and (max-width: 1028px) {
        .cont-inner .gf-top .text-area h3 img {
          height: auto;
          width: 100%; } }

/* =====================================
Family Playbase
===================================== */
@media screen and (max-width: 1028px) {
  .cont-inner .fp-top img {
    margin-top: 20px; } }
@media screen and (max-width: 1028px) {
  .cont-inner .fp-top .text-area {
    width: 40%;
    margin-right: 5%; } }
@media screen and (max-width: 1028px) {
  .cont-inner .fp-top .text-area h3 {
    text-align: right; } }
.cont-inner .fp-top .text-area h3 img {
  height: 150px;
  width: fit-content; }
  @media screen and (max-width: 1028px) {
    .cont-inner .fp-top .text-area h3 img {
      height: auto;
      width: 100%;
      margin-left: 0; } }

/* =====================================
Storage
===================================== */
@media screen and (max-width: 1028px) {
  .cont-inner .st-top img {
    width: 50%; } }
@media screen and (max-width: 1028px) {
  .cont-inner .st-top .text-area {
    width: 40%;
    margin-left: 10%; } }
.cont-inner .st-top .text-area h3 img {
  height: 90px;
  width: auto; }
  @media screen and (max-width: 1028px) {
    .cont-inner .st-top .text-area h3 img {
      height: auto;
      width: 100%; } }

/* ==========================================================================
style
========================================================================== */
.style-inner {
  max-width: 1100px;
  margin: 70px auto;
  padding: 70px;
  background-color: #fff;
  border: 2px dashed #000; }
  @media screen and (max-width: 1028px) {
    .style-inner {
      max-width: 90%;
      margin: 20px auto;
      padding: 20px; } }
  .style-inner img {
    width: 100%; }
  .style-inner .style-tag {
    position: relative;
    width: 120px;
    background-color: #000;
    padding: 20px;
    top: -147px; }
    @media screen and (max-width: 1028px) {
      .style-inner .style-tag {
        width: 62px;
        top: -47px;
        padding: 15px; } }
    .style-inner .style-tag img {
      width: 80px; }
      @media screen and (max-width: 1028px) {
        .style-inner .style-tag img {
          width: 35px; } }
  .style-inner .style-ttl {
    font-size: 35px;
    font-weight: 900;
    margin: -110px auto 30px; }
    @media screen and (max-width: 1028px) {
      .style-inner .style-ttl {
        font-size: 20px;
        margin: -40px auto 10px; } }
  .style-inner .style-layaut {
    margin-top: 50px;
    align-items: center;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-evenly; }
    @media screen and (max-width: 1028px) {
      .style-inner .style-layaut {
        margin-top: 30px;
        display: block; } }
    .style-inner .style-layaut .exterior {
      width: 45%;
      height: fit-content; }
      .style-inner .style-layaut .exterior p {
        font-size: 18px;
        font-weight: 900;
        margin-top: 30px;
        text-align: center; }
        @media screen and (max-width: 1028px) {
          .style-inner .style-layaut .exterior p {
            font-size: 15px;
            margin-top: 10px; } }
      @media screen and (max-width: 1028px) {
        .style-inner .style-layaut .exterior {
          margin: 8% auto;
          width: 90%; } }
    @media screen and (max-width: 1028px) {
      .style-inner .style-layaut .floorplan {
        margin: 30px auto 0;
        width: 50%; } }
    .style-inner .style-layaut .floorplan img {
      width: 250px; }
      @media screen and (max-width: 1028px) {
        .style-inner .style-layaut .floorplan img {
          width: 100%; } }
    @media screen and (max-width: 1028px) {
      .style-inner .style-layaut .floorplan-02 {
        margin: 50px auto 0;
        width: 70%; } }
    .style-inner .style-layaut .floorplan-02 img {
      width: 300px; }
      @media screen and (max-width: 1028px) {
        .style-inner .style-layaut .floorplan-02 img {
          width: 100%;
          width: 90%;
          margin-left: 4%; } }

.style_01 {
  background-color: #bbdbec;
  padding: 0 0 5px; }

.style_02 {
  background-color: #a72126;
  padding: 5px 0; }

/* ==========================================================================
footer
========================================================================== */
footer {
  background-color: #ffffff;
  color: black;
  text-align: center;
  padding-bottom: 20px; }
  footer small {
    font-size: 10px; }

.footer-logo {
  width: 130px;
  padding: 30px 0 20px;
  margin: 0 auto; }
  @media screen and (max-width: 1028px) {
    .footer-logo {
      width: 80px; } }
