@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;400&family=Noto+Sans+JP:wght@400;700;900&display=swap');
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-family: "NotoSansJP-Medium";/*全体の黒文字設定*/
  color: #212529;
  line-height: 1.5;
}

header {
  position: relative;
  max-width: 70vw;
  height: 14vw;
  margin: 0 auto;
}

header h1{
  padding: 4vw 0 0 0vw;
  font-size: 3vw;
}

nav ul {
  list-style: none;
  gap: 3vw;
  display:flex;
  font-size: 1.5vw;
}

nav ul a{
  color: #000;
  text-decoration: none;
  font-weight: 400;
}

nav {
  position: absolute;
  bottom: 30px;
  right: 0;
}

.hamburger_icon{
  display: none; 
 }

 .header-right-sp {
  display: none;  
 }

.main-header-div{
  background-color: #eceaeb;
  position: relative;
}

.main-header-div img{
  width: 45vw;
  height: 25.1vw;
  margin: 1vw 0 0 16vw;
}

#icon{
  width: 20vw;
  height: 20vw;
  position: absolute;
  margin: 2vw 0 0 0;
}

.main-header-msg{
  position: absolute;
  margin: 10vw 0 0 21vw;
  font-size: 1.4vw;
}

.main-header-msg h1{
  font-family: 'Lato', sans-serif; 
  font-weight: 100;
}

.main-header-msg span{
  display:block;
}

.service{
  text-align: center;
}

.service-main-msg{
  font-family: 'Lato', sans-serif;
}

.service-main-msg h2{
  font-weight: 100;
  font-size: 5vw;
  padding: 8vw 0 0 0;
}

.service-div{
  display: block;
  text-align: center;
  gap: 3vw;
}

.service-detail{
  display: inline-flex;
  padding: 2vw 0 0 0;
  gap: 6vw;
}

.direction,
.cording,
.design{
  display:block;
  width: 24vw;
}

.direction-msg,
.cording-msg,
.design-msg{
  text-align: left;
}

.direction-sub-title h4,
.cording-sub-title h4,
.design-sub-title h4{
  font-family: 'Lato', sans-serif;
  font-weight: 100;
  padding-top: 1vw;
}

.direction-img img,
.cording-img img,
.design-img img{width: 8vw;padding-top: 3vw;}

.works-div{
  text-align: center;
}

.works-link-area{
  display:inline-block;
}

.works-link-first-area,
.works-link-second-area,
.works-link-third-area{
  display:flex;
  gap: 16vw;
  margin-top: 3vw;
}

.works-main-msg h2 {
  font-family: 'Lato', sans-serif;
  font-weight: 100;
  font-size: 5vw;
  padding: 8vw 0 0 0;
}

.contact-main-msg{
  text-align: center;
  font-size: 2vw;
  padding-top: 6vw;
}

#contact-main-msg-first{
  display: block; 
}

.contact-main-msg h2{
  font-family: 'Lato', sans-serif;
  font-weight: 100;
  font-size: 5vw;
  padding: 5vw 0 0 0;
}

.input-name-label,
.input-name-name-label,
.input-phone-label,
.input-mail-label,
.input-name-content-label{
  display: flex;
}

.input-name-input{
  border: 0.1vw solid #000;
}

.input-name-input,
.input-phone-input,
.input-mail-input,
.input-name-name-input
{
  width: 41vw;
  height: 2.6vw;
  border: 0.1vw solid #000;
}

.input-name-content-input{
  width: 41vw;
  height: 13.6vw;
  border: 0.1vw solid #000;
  margin-top: 1vw;
}

.input-form-body{
  display: block;
  padding: 3vw 0 0 29vw;
  text-align: center;
}

.any-block{
  display:block;
  background-color: blue;
  color: #ffffff;
  width: 4vw;
}

.required-block{
  display:block;
  background-color: red;
  color: #ffffff;
  width: 4vw; 
}

.input-form-body{
  font-size: 1.5vw;
}

.input-required-company-name{
  margin-left: 2vw;
}

.input-required-name{
  margin-left: 2vw;
}

.input-required-phone{
  margin-left: 2vw;
}

.input-required-mail{
  margin-left: 2vw;
}

.input-required-content{
  margin-left: 2vw;
}

.form_parts{
  width: 100%;
}

.input-name-name,
.input-phone,
.input-mail,
.input-name-content
{
  padding-top: 3vw;
}

.input-name-input,
.input-name-name-input,
.input-phone-input,
.input-mail-input{
  margin-top: 1vw;
}

.contact{
  text-align: center;
}

.payment-form{
  display: inline-block;
  margin: 0 auto;
  width: 37vw;
  height: 10vw;
  text-align: center;
  padding-top: 2.8vw;
  margin-top: 8vw;
  font-size: 3.4vw;
  border-radius: 1vw;
  background-color: #eceaeb;
  box-shadow: 0.5vw 0.5vw 0.5vw #eceaeb;
  text-decoration: none;
}

.payment-form p{
  color: #000;
  font-family: 'Lato', sans-serif;
  font-weight: 100;
}

.order-bottun{
  color: #ffffff;
}

#contact_form{
  text-align: center;
}

#form_has_error{
  color: red;
  font-size: 2vw;
}

footer{
  height: 5vw;
  text-align: center;
  background-color: #eceaeb;
}

.footer-div ul {
  list-style: none;
  gap: 7vw;
  display:inline-flex;
  font-size: 2.5vw;
  padding-top: 0.6vw;
}

.footer-div ul a{
  color: #000;
  text-decoration: none;
  font-family: 'Lato', sans-serif;
  font-weight: 100;
}

.footer-div {
  margin-top: 8vw;
  bottom: 30px;
  right: 0;
}

.works-link-first-area-first img{
  width: 20vw;
}

.works-link-first-area-second img{
  width: 20vw;
}

.works-link-second-area-first img{
  width: 20vw;
}

.works-link-second-area-second img{
  width: 20vw;
}

.works-link-third-area-first img{
  width: 20vw;
}

.works-note{
  display: block;
  padding-top: 2vw;
  font-size: 2vw;
}

.works-note span{
  display: block;
}

@media screen and (max-width: 767px) {
  header {
    position: relative;
    max-width: 70vw;
    height: 14vw;
    margin: 0 3vw;
  }
  
  header h1{
    padding: 3vw 0 0 0vw;
    font-size: 5vw;
  }
  
  nav ul {
    list-style: none;
    gap: 3vw;
    display:flex;
    font-size: 1.5vw;
  }
  
  nav ul a{
    color: #000;
    text-decoration: none;
    font-weight: 400;
  }
  
  nav {
    display: none;
    position: absolute;
    bottom: 30px;
    right: 0;
  }

  .header-right-sp {
    display: none;
    background: #f6f3d9;
    position: absolute;
    height: 27vw;
    font-size: 5vw;
    top: 14vw;
    left: -3vw;
    width: 100vw;
    z-index: 2;
    color: black;
  }

  .header-right-sp-humber a {
    color: black;
    font-weight: 400;
    text-decoration: none;
    font-size: 4vw;
  }

  .header-right-sp-humber ul {
    list-style: none
  }

  .hamburger_icon {
   display: block; 
  }

  .hamburger_icon {
    /* padding-right: 3.6vw; */
    padding-top: 0vw;
    margin-top: -10vw;
    height: 14vw;
    display: flex;
    justify-content: right;
    align-items: center;
    cursor: pointer;
    margin-left: 94vw;
  }

  .hamburger_icon svg {
    font-size: 8.2vw;
  }

  .open {
    display: block;
  }
  
  .main-header-div{
    background-color: #eceaeb;
    position: relative;
    padding: 4vw 0 4vw 0;
  }
  
  .main-header-div img{
    width: 56vw;
    height: auto;
    margin: 1vw 0 0 10vw;
  }
  
  #icon{
    width: 27vw;
    height: auto;
    position: absolute;
    margin: 2vw 0 0 0;
    bottom: 0vw;
  }
  
  .main-header-msg{
    position: absolute;
    margin: 10vw 0 0 14vw;
    font-size: 2.3vw;
  }
  
  .main-header-msg h1{
    font-family: 'Lato', sans-serif;
    font-weight: 100;
  }
  
  .main-header-msg span{
    display:block;
  }
  
  .service{
    text-align: center;
  }
  
  .service-main-msg{
    font-family: 'Lato', sans-serif;
  }
  
  .service-main-msg h2{
    font-weight: 100;
    font-size: 11vw;
    padding: 18vw 0 0 0;
  }
  
  .service-div{
    display: block;
    text-align: center;
    gap: 3vw;
  }
  
  .service-detail{
    display: inline-block;
    padding: 0vw 0 0 0;
    gap: 6vw;
  }
  
  .direction,
  .cording,
  .design{
    display:block;
    width: 80vw;
    padding-top: 20vw;
  }
  
  .direction-msg,
  .cording-msg,
  .design-msg{
    text-align: left;
  }
  
  .direction-sub-title h4,
  .cording-sub-title h4,
  .design-sub-title h4{
    font-family: 'Lato', sans-serif;
    font-weight: 100;
    padding-top: 1vw;
  }
  
  .direction-img img,
  .cording-img img,
  .design-img img{width: 16vw;padding-top: 3vw;}

  .works-div{
    text-align: center;
  }
  
  .works-link-area{
    display:inline-block;
  }
  
  .works-link-first-area,
  .works-link-second-area,
  .works-link-third-area
  {
    display: block;
    gap: 16vw;
  }
  
  .works-main-msg h2 {
    font-family: 'Lato', sans-serif;
    font-weight: 100;
    font-size: 11vw;
    padding: 18vw 0 0 0;
  }

  .works-link-first-area-first,
  .works-link-first-area-second,
  .works-link-second-area-first,
  .works-link-second-area-second,
  .works-link-third-area-first
  {
    padding-top: 15vw;
  }

  .contact-main-msg{
    text-align: center;
    font-size: 3vw;
    padding-top: 12vw;
  }
  
  .contact-main-msg span{
    display: block;
  }
  
  .contact-main-msg h2{
    font-family: 'Lato', sans-serif;
    font-weight: 100;
    font-size: 11vw;
    padding: 12vw 0 0 0;
  }
  
  .input-name-label,
  .input-name-name-label,
  .input-phone-label,
  .input-mail-label,
  .input-name-content-label{
    display: flex;
  }
  
  .input-name-input{
    border: 0.1vw solid #000;
  }
  
  .input-name-input,
  .input-phone-input,
  .input-mail-input,
  .input-name-name-input
  {
    width: 74vw;
    height: 4.6vw;
    border: 0.1vw solid #000;
  }
  
  .input-name-content-input{
    width: 74vw;
    height: 13.6vw;
    border: 0.1vw solid #000;
    margin-top: 1vw;
  }
  
  .input-form-body{
    display: block;
    padding: 11vw 0 0 12vw;
    text-align: center;
  }
  
  .any-block{
    display:block;
    background-color: blue;
    color: #ffffff;
    width: 8vw;
  }
  
  .required-block{
    display:block;
    background-color: red;
    color: #ffffff;
    width: 8vw;
  }
  
  .input-form-body{
    font-size: 3.5vw;
  }
  
  .input-required-company-name{
    margin-left: 2vw;
  }
  
  .input-required-name{
    margin-left: 2vw;
  }
  
  .input-required-phone{
    margin-left: 2vw;
  }
  
  .input-required-mail{
    margin-left: 2vw;
  }
  
  .input-required-content{
    margin-left: 2vw;
  }
  
  .form_parts{
    width: 100%;
    height: 100%;
  }
  
  .input-name-name,
  .input-phone,
  .input-mail,
  .input-name-content
  {
    padding-top: 3vw;
  }
  
  .input-name-input,
  .input-name-name-input,
  .input-phone-input,
  .input-mail-input{
    margin-top: 1vw;
  }
  
  .payment-form{
    display: inline-block;
    margin: 0 auto;
    width: 57vw;
    height: 15vw;
    text-align: center;
    padding-top: 3.7vw;
    margin-top: 17vw;
    font-size: 5.4vw;
    border-radius: 1vw;
    background-color: #eceaeb;
    box-shadow: 0.5vw 0.5vw 0.5vw #eceaeb;
    text-decoration: none;
  }
  
  .order-bottun{
    color: #ffffff;
  }
  
  #contact_form{
    text-align: center;
  }
  
  #form_has_error{
    color: red;
    font-size: 2vw;
  }
  
  footer{
    height: 9vw;
    text-align: center;
    background-color: #eceaeb;
  }
  
  .footer-div ul {
    list-style: none;
    gap: 12vw;
    display:inline-flex;
    font-size: 3.5vw;
    padding-top: 2vw;
  }
  
  .footer-div ul a{
    color: #000;
    text-decoration: none;
    font-family: 'Lato', sans-serif;
    font-weight: 100;
  }
  
  .footer-div {
    margin-top: 17vw;
    bottom: 30px;
    right: 0;
  }

  .works-link-first-area-first img,
  .works-link-first-area-second img,
  .works-link-second-area-first img,
  .works-link-second-area-second img,
  .works-link-third-area-first img{
    width: 60vw;
  }
}