@charset "UTF-8";
/* CSS Document */

header {
  width: 90%;
  margin: 40px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom:1px solid #DEDEDE;
  padding-bottom: 20px;
}
header img {
  width: 160px;
}
.header-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-list li {
  list-style: none;
  margin-right: 48px;
  font-size: 16px;
}
.header-list li a {
  text-decoration: none;
}
.list-contact {
  background-color: #EE7700;
  padding: 10px 16px;
  border-radius: 16px;
  color: #fff;
}
.list-service a{
  color: #010101;
}
.list-news a {
  color: #010101;
}
.list-corporate a {
  color: #010101;
}
.list-contact a {
  color: #fff;
}
@media (max-width: 1024px) {
  header {
    max-width: 1124px;
    padding: 0;
    height: 80px;
    width: 90%;
    margin: 0 auto;
  }
  header img {
  width: 114px;
  padding-top: 16px;
  padding-left: 16px;
}
}
/* ハンバーガーメニュー */
@media (max-width: 1024px) {
  .openbtn {
    position: relative;
    cursor: pointer;
    width: 50px;
    height: 80px;
    z-index: 9999;
    background-color: #EE7700;
    display: none;
  }
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 10px;
    height: 2px;
    border-radius: 1px;
    background-color: #fff;
    width: 60%;
  }
  .openbtn span:nth-of-type(1) {
    top: 33px;
  }
  .openbtn span:nth-of-type(2) {
    top: 42px;
  }
  .openbtn span:nth-of-type(3) {
    top: 51px;
    width: 40%;
  }
  .openbtn.is-active span:nth-of-type(1) {
    top: 36px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 50%;
  }
  .openbtn.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn.is-active span:nth-of-type(3) {
    top: 48px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 50%;
  }
  #menu {
    width: 80%;
    height: 100%;
    margin: 0 auto;
    background: #fff;
    z-index: 999;
    position: fixed;
    top: 0;
    left: -100%;
    transition: all .6s;
  }
  #menu.is-active {
    left: 0;
  }
  #menu .list-contact a {
    color: #010101;
  }
  .site-menu ul {
    display: flex;
    flex-direction: column;
    margin: 150px auto 0;
  }
  .site-menu ul li {
    margin: 0 0 40px;
    font-size: 24px;
    background-color: #fff;
    color: #010101;
  }
  .site-menu span {
    display: block;
    font-size: 14px;
    margin-top: 4px;
    font-weight: 400;
  }
  }
main {
  background-image: url("../images/main-background.png");
  background-size: contain;
  position: relative;
  z-index: 500;
}

.section-top {
  margin: 80px 0 0;
}
.section-top h1 {
background: rgb(256, 256, 256);
color: rgb(0, 0, 0); 
position: relative;
font-size: 90px;
text-align: left;
  margin: 0 0 0 auto;
  height: 300px;
  padding-top: 240px;
  padding-left: 84px;
  line-height: 50px;
  letter-spacing: 0.6px;
}
.section-top h1::before {
content: '';
top: 0;
right: 0;
position: absolute;
mix-blend-mode: difference; 
background: rgb(256, 256,256); 
width: 84%;
height: 50%;
display: inline-block;
padding-top: 270px;
color: #000;
}
.section-top span {
  font-size: 32px;
  padding-left: 16px;
  letter-spacing: 1.5px;
}
@media (max-width: 1024px) {
  .section-top {
  margin: 40px 0 0;
}
  .section-top h1 {
    font-size: 64px;
    line-height: 56px;
    padding-left: 24px;
  }
  .section-top h1::before {
    width: 100%;
  }
  .section-top span {
    padding: 8px;
    letter-spacing: 2px;
  }
}
.section-service {
  width: 80%;
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  padding: 100px 80px 0;
  z-index: 100;
}
.section-service-background {
  position: absolute;
  top: 97px;
  left: 0;
  font-size: 16vw;
  color: #DEDEDE;
  opacity: 40%;
  z-index: -1;
  padding-top: 88px;
}
.section-service h2 {
  font-size: 56px;
  text-align: left;
}
.section-service h2::before {
  content: '';
  width: 8px;
  height: 48px;
  display: inline-block;
  margin-right: 32px;
  background-color: #EE7700;
}
.section-service-subtitle {
  text-align: left;
  color: #919191;
  font-size: 24px;
  margin-top: 16px;
  margin-left: 42px;
}
.section-service-flexbox {
  display: flex;
  justify-content: space-around;
  margin-top: 120px;
  flex-wrap: wrap;
}
.section-service-image1 {
  position: relative;
  width: 48%;
  background-image: url("../images/images01.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.section-service-description01 {
  position: absolute;
  top: 38%;
  left: 8%;
  z-index: 100;
  color: #fff;
  font-size: 32px;
  text-align: left;
  line-height: 32px;
}
.section-service-description01 span {
  font-size: 18px;
}
.section-service-image2 {
 position: relative;
  width: 48%;
  background-image: url("../images/image02.png");
  height: 345px;
  background-size: contain;
  background-repeat: no-repeat;
}
.section-service-description02 {
  position: absolute;
  top: 38%;
  left: 8%;
  z-index: 100;
  color: #fff;
  font-size: 32px;
  text-align: left;
  line-height: 32px;
}
.section-service-description02 span {
  font-size: 18px;
}
.section-service-flexbox2 {
  display: flex;
  justify-content: space-around;
}
.section-service-image3 {
 position: relative;
  width: 48%;
  background-image: url("../images/image03.jpg");
  height: 345px;
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 32px;
}
.section-service-description03 {
  position: absolute;
  top: 38%;
  left: 8%;
  z-index: 100;
  color: #fff;
  font-size: 32px;
  text-align: left;
  line-height: 32px;
}
.section-service-description03 span {
  font-size: 18px;
}

@media (max-width: 1024px) {
  .section-service {
  width: 80%;
  margin: 0 auto;
  padding: 120px 24px 0;
}
  .section-service-background {
  position: absolute;
  top: 58px;
  left: 0;
  font-size: 22vw;
  padding-top: 88px;
}
  .section-service h2 {
  font-size: 48px;
}
.section-service h2::before {
  width: 6px;
  height: 40px;
  margin-right: 16px;
}
  .section-service-subtitle {
  font-size: 20px;
  margin-top: 16px;
  margin-left: 28px;
}
  .section-service-flexbox {
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-top: 32px;
}
  .section-service-image1 {
  width: 100%;
  background-size: cover;
    height: 300px;
}
  .section-service-image2 {
  width: 100%;
  height: 300px;
  background-size: cover;
  margin-top: 32px;
}
  .section-service-image3 {
  width: 100%;
  height: 300px;
  background-size: cover;
  margin-top: 32px;
}
}
.section-news {
  width: 80%;
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  padding: 100px 80px 0;
  z-index: 100;
}
.section-news-background {
  position: absolute;
  top: 97px;
  left: 0;
  font-size: 16vw;
  color: #DEDEDE;
  opacity: 40%;
  z-index: -1;
  padding-top: 88px;
}
.section-news h2 {
  font-size: 56px;
  text-align: left;
}
.section-news h2::before {
  content: '';
  width: 8px;
  height: 48px;
  display: inline-block;
  margin-right: 32px;
  background-color: #EE7700;
}
.section-news-subtitle {
  text-align: left;
  color: #919191;
  font-size: 24px;
  margin-top: 16px;
  margin-left: 42px;
}
.section-news-flexbox {
  display: flex;
  margin: 40px 0 0 44px;
  padding-bottom: 32px;
  border-bottom: solid 1px #DEDEDE;
  align-items: center;
}
.news-title {
  background-color: #EE7700;
  padding: 2px 8px;
  color: #fff;
  border-radius: 50px;
  margin-bottom: 16px;
  font-size: 12px;
  width: 200px;
}
.news-date:before {
  content: '';
  width: 1px;
  height: 12px;
  display: inline-block;
  margin:0 8px;
  background-color: #fff;
}
.news-description {
  font-size: 16px;
  font-weight: 600;
}
.news-list {
  margin-top: 56px;
  text-align: right;
}
.news-list::before {
  content: '';
  width: 120px;
  height: 1px;
  display: inline-block;
  margin:0 16px 4px;
  background-color: #010101;
}
@media (max-width: 1024px) {
  .section-news {
  width: 80%;
  margin: 0 auto;
  padding: 120px 24px 0;
}
 .section-news-background {
  position: absolute;
  top: 58px;
  left: 0;
  font-size: 22vw;
}
.section-news h2 {
  font-size: 48px;
}
.section-news h2::before {
  width: 6px;
  height: 40px;
  margin-right: 16px;
}
.section-news-subtitle {
  font-size: 20px;
  margin-top: 16px;
  margin-left: 28px;
} 
  .section-news-flexbox {
  margin: 40px 0 0 0;
  padding-bottom: 24px;
  border-bottom: solid 1px #DEDEDE;
  align-items: center;
}
  .news-title {
  padding: 4px 12px;
  margin-bottom: 12px;
  font-size: 14px;
}
}
.section-corporate {
  width: 80%;
  margin: 0 auto;
  position: relative;
  padding: 100px 80px 0;
  background-color: #fff;
  z-index: 100;
}
.section-corporate-background {
  position: absolute;
  top: 97px;
  left: 0;
  font-size: 15vw;
  color: #DEDEDE;
  opacity: 40%;
  z-index: -1;
  padding-top: 84px;
}
.section-corporate-h2-flexbox {
  display: flex;
  justify-content: space-between;
}
.corporate-line {
  content: '';
  width: 24%;;
  height: 1px;
  display: inline-block;
  margin: 32px 8px 0;
  background-color: #DEDEDE;
  position: relative;
}
.corporate-line:before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 50%;
    height: inherit;
    border-bottom: 2px solid #383B43;
}
.section-corporate h2 {
  font-size: 56px;
  text-align: left;
}
.section-corporate h2::before {
  content: '';
  width: 8px;
  height: 48px;
  display: inline-block;
  margin-right: 32px;
  background-color: #EE7700;
}
.section-corporate-subtitle {
  text-align: left;
  color: #919191;
  font-size: 24px;
  margin-top: 16px;
  margin-left: 42px;
}
.section-corporate-title-flexbox {
  display: flex;
  margin-top: 24px;
  text-align: left;
  justify-content: flex-start;
  margin-left: 400px;
}
.corporate-title {
  font-weight: 600;
}
.corporate-description1 {
  margin-left: 80px;
}
.corporate-description11 {
  margin-left: 64px;
}
.corporate-description2 {
  margin-left: 96px;
}
.corporate-description3 {
  margin-left: 80px;
}
.corporate-description4 {
  margin-left: 80px;
}
.corporate-description5 {
  margin-left: 80px;
}
.corporate-description55 {
  margin-left: 64px;
}
.corporate-description55 a {
  text-decoration: none;
  color: #000;
}
.corporate-description5 br {
  display: none;
}
.corporate-description6 {
  margin-left: 64px;
}
.google-map iframe {
  width: 90%;
  filter: grayscale(1);
  margin-top: 120px;
}
@media (max-width: 1024px) {
  .section-corporate {
  width: 80%;
  margin: 0 auto;
  padding: 120px 24px 0;
}
.section-corporate h2 {
  font-size: 42px;
}
  .corporate-line {
    display: none;
  }
.section-corporate h2::before {
  width: 6px;
  height: 40px;
  margin-right: 16px;
}
.section-corporate-subtitle {
  text-align: left;
  color: #919191;
  font-size: 24px;
  margin-top: 16px;
  margin-left: 42px;
}
  .section-corporate-background {
  position: absolute;
  top: 56px;
  left: 0;
  font-size: 16vw;
}
  .section-corporate-subtitle {
  font-size: 20px;
  margin-top: 16px;
  margin-left: 28px;
}
  .section-corporate-title-flexbox {
  width: 100%;
  flex-direction: column;
  margin-top: 0;
  margin-left: 0;
  text-align: center;
  justify-content: center;
}
  .corporate-title {
  font-weight: 600;
    margin-top: 32px;
}
.corporate-description1 {
  margin-left: 0px;
  padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description11 {
  margin-left: 0px;
  padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description2 {
  margin-left: 0px;
    padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description3 {
  margin-left: 0px;
   padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description4 {
  margin-left: 0px;
   padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description5 {
  margin-left: 0px;
   padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description55 {
  margin-left: 0px;
   padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .corporate-description5 br {
  display: block;
}
  .corporate-description6 {
  margin-left: 0px;
   padding: 8px 0;
  border-bottom:1px solid #DEDEDE;
}
  .google-map iframe {
  width: 90%;
  filter: grayscale(1);
  margin-top: 40px;
  height: 320px;
}
}
.section-contact {
  width: 80%;
  margin: 0 auto;
  position: relative;
  z-index: 100;
  padding: 100px 80px 80px;
  background-color: #fff;
}
.section-contact-background {
  position: absolute;
  top: 97px;
  left: 0;
  font-size: 16vw;
  color: #DEDEDE;
  opacity: 40%;
  z-index: -1;
  padding-top: 88px;
}
.contact-line {
  content: '';
  width: 24%;;
  height: 1px;
  display: inline-block;
  margin: 32px 8px 0;
  background-color: #DEDEDE;
  position: relative;
}
.contact-line:before {
    content: "";
    position: absolute;
    left: 0;
    top: -1px;
    width: 50%;
    height: inherit;
    border-bottom: 2px solid #383B43;
}
.section-contact h2 {
  font-size: 56px;
  text-align: left;
}
.section-contact h2::before {
  content: '';
  width: 8px;
  height: 48px;
  display: inline-block;
  margin-right: 32px;
  background-color: #EE7700;
}
.section-contact-subtitle {
  text-align: left;
  color: #919191;
  font-size: 24px;
  margin-top: 16px;
  margin-left: 42px;
}
.form-box {
  margin: 40px auto;
  width: 70%;
}
.contact_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.contact_container span {
  color: #E20909;
}
.contact_container textarea {
  height: 220px;
  margin-bottom: 24px;
}
.form-box label {
  text-align: left;
}
.form-box input {
  height: 32px;
  margin-bottom: 16px;
}
.section_contact-button {
  width: 20%;
  display: block;
  font-size: 16px;
  min-width: 286px;
  letter-spacing: 2px;
  color: #fff;
  border: 1px solid #EE7700;
  padding: 12px 24px;
  background-color: #EE7700;
  border-radius: 8px;
}
@media (max-width: 1024px) {
  .section-contact {
  width: 80%;
  margin: 0 auto;
  padding: 120px 24px 0;
}
.section-contact-background {
  position: absolute;
  top: 58px;
  left: 0;
  font-size: 18vw;
}
  .section-contact h2 {
  font-size: 48px;
}
  .section-contact h2::before {
  width: 6px;
  height: 40px;
  margin-right: 16px;
}
.section-contact-subtitle {
  font-size: 20px;
  margin-top: 16px;
  margin-left: 28px;
}
  .form-box {
  width: 90%;
}
  .section_contact-button {
  width: 20%;
  display: block;
  font-size: 16px;
  min-width: 270px;
  letter-spacing: 2px;
  color: #fff;
  border: 1px solid #EE7700;
  padding: 12px 24px;
  background-color: #EE7700;
  border-radius: 8px;
}
}
footer {
  background-color: #010101;
  color: #fff;
  padding: 40px 0;
}
.footer-flexbox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  margin: 0 auto;
}
.footer-logo {
  display: flex;
  align-items: center;
}
.footer-logo img{
  width: 32px;
}
footer small {
  font-size: 10px;
  margin-left: 16px;
  letter-spacing: 1px;
}
.footer-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.footer-list li {
  list-style: none;
  margin-right: 48px;
  font-size: 16px;
}
.footer-list li a {
  text-decoration: none;
}
.list-service-footer a {
  color: #fff;
}
.list-news-footer a {
  color: #fff;
}
.list-corporate-footer a {
  color: #fff;
}
.list-contact-footer a {
  color: #EE7700;
}
.list-contact-footer {
  border: solid 1px #EE7700;
  padding: 10px 16px;
  border-radius: 16px;
}
@media (max-width: 1024px) {
  .footer-logo img {
    display: none;
  }
  .footer-flexbox {
  flex-direction: column-reverse;
  justify-content: flex-end;
}
  .footer-list li {
  list-style: none;
  margin-right: 14px;
  font-size: 16px;
}
  .footer-list li:last-child {
    margin-right: 0px;
  }
  .list-contact-footer {
  border: solid 1px #EE7700;
  padding: 4px 8px;
  border-radius: 16px;
}
  .list-contact-footer a {
  font-size: 14px;
}
  footer small {
  margin-left: 0px;
  margin-top: 32px;
}
  
  
  }
