
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700&display=swap");
*{
    padding: 0;
    max-resolution: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Zen Kaku Gothic New', Arial, Helvetica, sans-serif;
    color: #ffffff;
    background-color: #16161e;
}

/* ヘッダの調整 */
header {
    font-weight: 700;
    position: absolute;
    width: 100%;
    z-index: 3;
    background-color: #ffffff; 
}
header img {
    background-color: white;
    width: 200px;
    padding: 5px;
    border-radius: 9px;
    margin-bottom: 3px;
    margin-left: 20px;
}

header .container {
    max-width: 2000px;
    /* max-width: max; */
    width: 90%;
    margin: 0 auto;
    /* background-color: #ffffff; */
}
header .row {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    height: 50px;
    /* padding: 0% 0;  */
    margin-bottom: 0%;
    margin-right: 20px;
    
}


header .logo {
    font-size: 24px;
}

header ul {
    display: flex;
}

header ul li {
    margin-left: 20px;
    font-size: 14px;
    letter-spacing: 1px;
    color: blue;
    
}

.section1 {
    background-image: url(../images/fuji3.jpg);
    background-position: center bottom;
    background-size: cover;
    height: 100vh;
    display: flex;
    align-items: center;
    
    
}
hr {
    border: solid 2px #7cf3d9;
    margin-bottom: 16px;
    width: 1200px;
    margin: 0 auto;        

}

.section1 .filter {
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;   
    /* z-index: 1;   数字が大きいほど後ろにおきます。 */
}

.section1 .container {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    z-index: 2;                
    background-position: center;
    background-size: cover;
    position: relative;
    overflow: hidden;

    /* display: flex; */
    /* align-items: center; */
    /* justify-content: center; */
    }

    .section1 .container::after {
    content: "";
    position: absolute;
    width: 90%;
    /* height: 100vh; */
    top: 0;
    left: 0;
    background-color: #000;    
    z-index: 1;
    opacity: 0.4;
    }
     
/* .section1 h2 {
    font-size: 60px;
    font-weight: 700;
    margin-bottom: 40px;
    margin-top: 150px;
    color: #b5f37c;
    
} */


.section1 .heading {
    font-size: 50px;
    font-weight: 700;
    /* margin-bottom: 80px; */
    margin-top: 15px;
    color: #2cb67d;
}
.section1 h1 {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 40px;
    margin-top: 150px;
    color: #b5f37c;

}

.section1 .text {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 40px;

}
.section1 a {
    font-size: 16px;
    font-weight: 700;
    /* padding: 16px 40px 20px 40px;　左から時計周りになります左→上→右→下。 */
    padding: 16px 40px 20px 40px; 
    display: inline-block;
    background-color: #7f5af0;
    border-radius: 8px;
    letter-spacing: 2px;
    transition-duration: .2s;
    margin-top: 100px;
}
.section1 a:hover {
    background-color: #2cb67d;
}




/* .snow {
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  animation: snowFall 10s linear;

  z-index: 2;
} */

@keyframes snowFall {
  0% {
    opacity: 0;
    top: 0;
    transform: translateX(5px);
  }
  10% {
    opacity: 1;
    transform: translateX(-5px);
  }
  /* 任意 */
  30% {
    transform: translateX(5px);
  }
  40% {
    transform: translateX(-5px);
  }
  50% {
    transform: translateX(5px);
  }
  60% {
    transform: translateX(-5px);
  }
  /* 任意 */
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 100vh;
  }
}


.section2 {
    margin-bottom: 45px;
    margin-top: 45px;

}

.section2 .container {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto;
    
}
.section2 .title1 {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto; 
    margin-bottom: 60px;
    margin-top: 60px;
}

.title1 h1 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    
    
}
.section2 .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    /* transform: translateY(0px); */
    transform: translateY(-48);
    /* transform: translateX(40px); */
    z-index: 2;
    position: relative;
    margin-bottom: 160px;
    
    

}

.section2 .col {
    background-color: #ffffff;
    width: 24%;
    color: #16161e;
    padding: 20px;
    
}

.section2 img {
    background-color: #7f5af0;
    width: 60px;
    padding: 10px;
    border-radius: 9px;
    margin-bottom: 16px;
}
.section2 h2 {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
    margin-top: 20px;
}
.section2 hr {
    border: solid 2px #7f5af0;
    margin-bottom: 16px;
    width: 100px;
    margin-left: 1px;
    margin-top: 150px;
     
}
.section2 .text {
    font-size: 15px;
    line-height: 1.5;
}
.section3 {
    /* padding-top: 45px;      上と距離を置く */
    /* margin-bottom: 60px;　　　下と幅を置く */
    padding-top: 45px;      
    margin-bottom: 60px;
}
.section3 .container {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
}
.section3 .title2 {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto; 
    margin-bottom: 60px;
}

.title2 h1 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    /* margin-bottom: 10px; */
    /* margin-top: 5px; */

}
.section3 .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;  
    margin-bottom: 80px;
    /* margin-top: 10px; */
}
.section3 .col {
    width: 49%;
    
}

.section3 h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 18px;
    line-height: 1.3;
    /* text-align: center; */
    
}
.section3 .text {
    font-size: 16px;
}
.section3 hr {
    border: dashed 2px #7f5af0;
    margin-bottom: 20px;
    width: 200px;
    margin-left: 1px;
    margin-top: 20px;
   
}
.section3 img {
    /* background-color: #7f5af0; */
    width: 100%;
    /* padding: 90px; */
    
}
.section4 {
    /* padding-top: 45px;      上と距離を置く */
    /* margin-bottom: 60px;　　　下と幅を置く */
    padding-top: 60px;      
    margin-bottom: 60px;
}
.section4 .container {
    width: 90%;
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
}
.section4 .title3 {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto; 
    margin-bottom: 60px;
}

.title3 h1 {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;

}
.section4 .row {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center; 
    margin-bottom: 80px;
}
.section4 .col {
    width: 49%;
}
.section4 img {
    /* background-color: #7f5af0; */
    width: 100%;
    /* padding: 90px; */
    
}
.section4 h2 {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 18px;
    line-height: 1.3;
    text-align: left;
}
.section4 .text {
    font-size: 18px;
    text-align: left;
}
.section4 hr {
    border: dashed 2px #7f5af0;
    margin-bottom: 20px; 
    width: 200px; 
    margin-left: 1px;
   
}

.section4 a {
    font-size: 16px;
    font-weight: 700;
    /* padding: 16px 40px 20px 40px;　左から時計周りになります左→上→右→下。 */
    padding: 16px 40px 20px 40px;
    display: inline-block;
    background-color: #7f5af0;
    border-radius: 8px;
    letter-spacing: 2px;
    transition-duration: .2s;
    /* margin-bottom: 16px; */
    margin-top: 180px;
    margin-bottom: 80px;
}
.section4 a:hover {
    background-color: #2cb67d;
}
.section5 {
    padding-top: 60px;
    margin-bottom: 130px;
}
.section5 .container {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto;
}
.section5 h2 {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
    margin-top: 60px;
}
.section5 hr {
    border: solid 2px #7f5af0;
    /* margin-bottom:0 auto 40px; 上、中央(左右）、下方向 */
    margin-bottom:0 auto 40px;
    width: 60px;
}
.section5 form {
    max-width: 540px;
    margin: 0 auto;
}
.section5 label {
    display: block;
    margin-bottom: 16px;
    font-weight: 500;
}
.section5 p {
    text-align: center;
    margin-bottom: 16px;
    font-size: 18px;
    color: #b5f37c;
    
}
.section5 input, .section5 textarea {
    background-color: #ffffff;
    display: block;
    width: 100%;
    padding: 13px 16px;
    margin-bottom: 30px;
    color: #16161e;
}
/* .section5 textarea { */
    /* background-color: #ffffff; */
    /* display: block; */
    /* width: 100%; */
    /* padding: 13px 16px; */
    /* margin-bottom: 30px; */
    /* color: #16161e; */
/* } */
.section5 input[type=submit] {
    text-align: center;
    background-color: #7f5af0;
    color: #ffffff;
    font-weight: 700;
    padding: 20px 16px 22px;
    letter-spacing: 6px;
    border-radius: 8px;
    transition-duration: .2s;
}
.section5 input[type=submit]:hover {
    background-color: #2cb67d;
}
.section5 h1 {
    /* color: #2cb67d; */
    text-align: center;
    margin-top: 50px;
    margin-bottom: 2px;
}
footer {
    background-color: #ffffff;
    text-align: center;
    color: #16161e;
    font-size: 13px;
    letter-spacing: 0.5px;
    padding: 20px 0;
}
.section5 input-name placeholder {
    color: rebeccapurple;

}
@media screen and (max-width: 767px) {
     /* header .container {  */
       /* width: 50%;          */
    /* }  */
    header .row {
        width: 100%;
    }
    header .img {
        width: 50px;
    }
    header .logo {
        font-size: 24px;
    }
    
    header ul {
        display: flex;
    }
    
    header ul li {
        margin-left: 5px;
        font-size: 6px;
        letter-spacing: 1px;
        color: blue;
        
    }
    .section1 .container {
      width: 98%;
      text-align: center;
      margin: 0 auto;
    }
    .section1 h1 {
      font-size: 25px;
      
    }

    .section2 .col {
      width: 100%;
      margin-bottom: 20px;
    }
    .section3 .col {
      width: 100%;
      margin-bottom: 20px;
    }
    .section4 .col {
        width: 100%;
        margin-bottom: 30px;
        
    }
    .section4 .img {
        width: 100px
        /* margin-bottom: 30px; */
        
    }
    .section4 hr {
        width: 80%;
    }
      .section5 .container {
        width: 98%;
        
      }
    hr {
        width: 50%;
    }
  }