@charset "UTF-8";

/* 共通部分
--------------------------- */
html {
  font-size: 100%;
}
body {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  line-height: 1.7;
  color: #000;
}
a {
  text-decoration: none;
}
img {
  max-width: 100%;
}

.container {
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* top-page
--------------------------------- */
.top-page {
  background-color: #775B3F;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
}
.fa-buromobelexperte {
  font-size: 27px;
  color: #fff;
  position: absolute;
  top: 10%;
  left: 10%;
}
h1 {
  font-family: 'Alegreya Sans SC', sans-serif;
  font-weight: lighter;
  font-size: 35px;
}
.top-text p {
  font-family: 'Alegreya Sans SC', sans-serif;
  font-size: 12px;
  padding-left: 10px;
  line-height: 0;
  transform: translateX(67%);
}

/* sub-text
----------------------------------- */
.sub-text {
  font-family: 'Alegreya Sans SC', sans-serif;
  font-size: 16px;
}
.programming {
  writing-mode: vertical-rl;
  position: absolute;
  top: 15%;
  right: 10%;
}
.programming::after {
  content: '';
  display: inline-block;
  background-color: #fff;
  width: 1px;
  height: 120px;
  margin-top: 0.3em;
  margin-right: 2px;
}
.webdesign {
  writing-mode: vertical-rl;
  position: absolute;
  bottom: 15%;
  left: 10%;
}
.webdesign::before {
  content: '';
  display: inline-block;
  background-color: #fff;
  width: 1px;
  height: 120px;
  margin-bottom: 0.3em;
  margin-right: 2px;
}

/* about
------------------------------------ */
.about {
  background-color: #FFF;
  position: relative;
  top: 100vh;
  left:0;
  z-index: 1;
}
.about-img {
  width: 30%;
  background-color: #eae5e1;
  padding: 25px;
}
.about-text {
  text-align: left;
  padding-left: 40px;
}
.about-text h2 {
  font-family: 'Benne', serif;
  font-size: 20px;
  letter-spacing: 2px;
  margin-bottom: 1em;
}
.about-text p {
  font-size: 14px;
  letter-spacing: 1px;
  margin-bottom: .5em;
  padding-left: 16px;
}

/* big-img
---------------------------------- */
.big-img {
  background: url(images/big-img.jpg) no-repeat center center/cover;
  background-color: #000;
  mix-blend-mode: lighten;
  position: relative;
  top: 100vh;
  left: 0;
  z-index: 2;
}

/* design
------------------------------------ */
.design {
  background-color: #FFF;
  position: relative;
  top: 100vh;
  left:0;
  z-index: 1;
  height: 120vh;
}
.design-img {
  width: 90%;
  height: 60vh;
  background: url(images/img2.jpg) no-repeat center bottom/cover;
}
.design-text {
  height: 180px;
  width: 350px;
  background-color: #eae5e1;
  margin-left: 200px;
  margin-top: 20px;
  text-align: center;
}
.design-text h2 {
  font-family: 'Cormorant', serif;
  font-size: 28px;
  letter-spacing: 2px;
  padding-top: 1.3em;
  padding-bottom: .5em;
}
.design-text p {
  font-size: 13px;
}

/* portfolio
----------------------------------- */
.portfolio {
  background-color: #fff;
  position: relative;
  top: 100vh;
  left: 0;
  z-index: 3;
  flex-direction: column;
}
.portfolio-text {
  text-align: center;
}
h3 {
  background-color: #eae5e1;
  padding-left: 200px;
  padding-right: 200px;
  font-family: 'Benne', serif;
  font-size: 25px;
  letter-spacing: 2px;
}
.portfolio-text p {
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 0;
  margin-bottom: 8em;
}
.item-container {
  width: 60%;
  margin: 0 auto;
}
.item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: space-around;
  justify-content: space-around;
}
.item-list {
  width: 220px;
  margin-top: .5em;
}
.item-list img {
  border-radius: 10px;
}
.item-list img:hover {
  transform: scale(1.1);
  transition: .1s;
}
.item-list p {
  font-family: 'Benne', serif;
  text-align: center;
  font-size: 15px;
}
.item-list:nth-child(6) {
  width: 220px;
}

/* contact
--------------------------------------- */
.contact {
  background-color: #fff; 
  position: relative;
  top: 100vh;
  left: 0;
  z-index: 4;
}
.contact-img {
  background: url(images/contact.jpg) no-repeat center center/cover;
  width: 75%;
  height: 50vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.contact-img p {
  font-family: 'Benne', serif;
  background-color: rgba(255,255,255,.3);
  font-size: 13px;
  margin-bottom: 2em;
}
.contact-img a {
  font-family: 'Benne', serif;
  font-size: 18px;
  letter-spacing: 2px;
  display: inline-block;
  background-color: rgba(255,255,255,.3);
  color: #000;
  border: 1px solid #000;
  padding: 0.3em 5em;
}
.contact-img a:hover {
  background-color: rgba(255,255,255,.5);
  transform: scale(1.1);
  transition: .5s;
}

/* footer
-------------------------------- */
footer {
  background-color: #fff; 
  position: relative;
  top: 100vh;
  left: 0;
  z-index: 5;
  text-align: center;
  font-size: 14px;
  padding-bottom: 1em;
}

/* contact.html
---------------------------------------- */
.contact-back {
  background: #ddd url(images/contact-img.jpg) no-repeat center/cover;
  height: 350px;
  position: relative;
}
.contact-title {
  font-family: 'Benne', serif;
  font-size: 30px;
  color: #000;
  background-color: rgba(255,255,255,.5);
  padding: 15px 60px;
  position: absolute;
  left: 200px;
  top: 140px;
}
.totop {
  font-size: 20px;
  color: #ddd;
  position: absolute;
  bottom: -26px;
  left: 200px;
}
.contact-contents p {
  margin: 90px 0 50px 190px;
}
.contact-area {
  background-color: #eee;
  border-radius: 10px;
  height: 100vh;
  width: 85%;
  padding-top: 60px;
  margin: 0 auto;
}
form div {
  margin-bottom: 20px;
  margin-left: 50px;
}
label {
  margin-bottom: 10px;
  display: block;
}
input[type="text"],
input[type="email"],
textarea {
  background-color: rgba(255,255,255,.5);
  border-bottom: 1px solid #fff;
  border-radius: 5px;
  padding: 10px;
  font-size: 14px;
}
input[type="text"],
input[type="email"] {
  width: 100%;
  max-width: 240px;
}
textarea {
  width: 100%;
  max-width: 450px;
  height: 8rem;
}
.button {
  background-color: rgba(255,255,255,.8);
  color: #000;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  margin-left: 50px;
  margin-top: 30px;
}
/* confirm , thanks */
.mail-title {
  font-size: 25px;
  padding-top: 1em;
}
.mailp {
  font-size: 15px;
  padding-top: 30px;
}
/* footer
-------------------------------- */
.contact-footer {
  text-align: center;
  font-size: 14px;
  padding-top: 80px;
}






/* モバイル版
--------------------------------------- */
 /* 960px～1279px : 小型PC */
 @media screen and (min-width:960px) {
  .body{
    max-width: 100%;
  }
}

 /* 600px～959px : タブレット */
 @media screen and (min-width:600px) and (max-width:959px) {
  .body{
    max-width: 100%;
  }
  .about-img {
    width: 60%;
  }
  .about-text {
    padding-left: 20px;
  }
  .design-text {
    margin-left: 50px;
    margin-top: 50px;
  }
  .design-img {
    height: 75vh;
  }
  /* portforio */
  h3 {
    padding-left: 150px;
    padding-right: 150px;
    font-size: 22px;
  }
  .portfolio-text p {
    font-size: 8px;
    margin-bottom: 5em;
  }
  .item-container {
    width: 80%;
  }
  .item-list {
    width: 220px;
  }
  .item-list p {
    font-size: 13px;
  }
  .item-list:nth-child(6) {
    width: 220px;
  }
  /*contact.html
  ------------------------- */
  .contact-title {
    font-size: 25px;
    padding: 12px 45px;
    left: 175px;
    top: 140px;
  }
  .totop {
    left: 170px;
  }
  .contact-contents p {
    margin: 90px 0 50px 120px;
  }
  textarea {
    max-width: 390px;
  }
  /* confirm , thanks */
  .mail-title {
    font-size: 18px;
  }
  .mailp {
    font-size: 14px;
    padding-top: 10px;
  }
}

 /* ～479px : スマートフォン縦 */
 @media screen and (max-width:479px) {
  .body{
    max-width: 100%;
  }
  .about {
    display: flex;
    flex-direction: column;
  }
  .about-img {
    width: 60%;
    padding: 15px;
  }
  .about-text {
    margin-top: 2em;
    padding-left: 0;
  }
  .about-text h2 {
    font-size: 15px;
    letter-spacing: 1px;
    margin-bottom: .3em;
  }
  .about-text p {
    font-size: 10px;
    margin-bottom: .2em;
  }
  .design-text {
    height: 120px;
    width: 250px;
    margin-left: 30px;
  }
  .design-text h2 {
    font-size: 15px;
  }
  .design-text p {
    font-size: 10px;
  }
  /* portforio */
  h3 {
    padding-left: 80px;
    padding-right: 80px;
    font-size: 15px;
  }
  .portfolio-text p {
    font-size: 4px;
    margin-bottom: 8em;
  }
  .item-container {
    width: 95%;
  }
  .item-list {
    width: 150px;
  }
  .item-list p {
    font-size: 8px;
  }
  .item-list:nth-child(6) {
    width: 150px;
  }
  /* contact */
  .contact-img {
    width: 95%;
    height: 40vh;
  }
  .contact-img p {
    font-size: 12px;
  }
  .contact-img a {
    font-size: 15px;
  }
  /* contact.html
  ------------------------------ */
  .contact-back {
    height: 200px;
  }
  .contact-title {
    font-size: 20px;
    padding: 10px 20px;
    left: 85px;
    top: 70px;
  }
  .totop {
    font-size: 14px;
    left: 80px;
  }
  .contact-contents p {
    font-size: 13px;
    margin: 70px 0 40px 40px;
  }
  .contact-area {
    width: 93%;
  }
  form div {
    margin-bottom: 10px;
    margin-left: 30px;
  }
  label {
    margin-bottom: 7px;
  }
  input[type="text"],
  input[type="email"],
  textarea {
    padding: 8px;
    font-size: 12px;
  }
  textarea {
    max-width: 240px;
  }
  .button {
    padding: 7px 10px;
    font-size: 12px;
    margin-left: 30px;
    margin-top: 20px;
  }
/* confirm , thanks */
  .mail-title {
    font-size: 15px;
  }
  .mailp {
    font-size: 12px;
    padding-top: 8px;
  }
}
