
*{
  margin: 0;
  padding: 0;
  box-sizing:border-box;
}

/* <particles> */

#particles-js {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  z-index: -1;
}

/* <all> */
.text-jp {
  font-family: "Noto Sans JP";
 }

.text-en {
  font-size: 28px;
  font-family: "Teko", sans-serif;
  opacity: 0.5;
}

body {
  background-color: #0646BE;
  color: #ffffff;
  font-family: "Noto Sans JP";
  font-family: "Teko", sans-serif;
}

h1{
  font-size: 42px;
  letter-spacing: 20px;
  font-weight: lighter;
  margin: auto 0;

}

h2{
  display: inline-block;
  font-size: 60px;
  letter-spacing: 25px;
  margin-top: 30px;
  writing-mode:vertical-lr;
  font-weight: lighter;
  opacity: 0.5;
  margin-left: 0px;
  padding: 0;
}
/*  writing-mode:vertical-lr;*/
/*    transform-origin:left top;
  transform:rotate(-90deg);;*/

h3{
  font-size: 28px;
  font-weight: lighter;
}

h4{
  font-size: 28px;
  font-weight: lighter;
  letter-spacing: 5px;
  opacity: 0.5;
}

p{
  font-size: 16px;
  font-weight: lighter;
  letter-spacing: 5px;
  line-height: 54px;
  padding-top: 10px;
}

/* <header> */
header{
  height: 60px;
  width: 100%;
  background-color: rgba(6,70,190,0.5);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  z-index: 1;
}
/*   background-color: rgba(6,70,190,0.75); */
/*   background-color: rgba(0,0,0,0.05); */

.header-container{
  width: 980px;
  margin: 0px auto;
}

.header-logo{
  float: left;
  padding-top: 8px;
  font-size: 32px;
}

.header-list{
  float: right;
  padding-top: 15px;
}

li {
  list-style: none;
  float: left;
  font-size: 24px;
  margin-left: 20px;

}

/* <main visual> */
.flex-top{
  display: flex;
  height: 100vh;
  width: 980px;
  margin: 0 auto;
  padding-top: 60px;
}
/* height: 640px; */

.top-copy{
  margin: auto 0;
}


.copy-jp{
  font-family: "Noto Sans JP";
  font-style: lighter;
  font-size: 22px;
  letter-spacing: 12px;
  line-height: 60px;
}

/* <area all> */

.wrapper-area-bg{
  width: 980px;
  margin: 20px auto;
}
/* background-color: rgba(6,70,190,0.75); */
/* background-color: rgba(0,0,0,0.1); */

.wrapper{
  width: 980px;
  margin: 0 auto;
  margin-bottom: 120px;
  background-color: rgba(0,0,0,0.1);
}

.contents{
  float: right;
  width: 800px;
}

.flex1-container{
  display: flex;
}

.text-rotate{
  transform: rotate(-90deg);
}


.flex-title{
  width: 100px;

  background-color: rgba(255,255,255,0.15);
}
/* border-right: 1px solid #ffffff; */

.flexbox1-item{
  width: 100%;
  margin-left: 40px;
  margin-right: 40px;
  padding: 60px 0;
  flex-basis: auto;
}



/* <area Vision> */



/* <area Service> */
.service-title1{
  border-bottom: 1px solid #ffffff;
}

.service-title2{
  border-bottom: 1px solid #ffffff;
  margin-top: 60px;
}

.service-name{
  display: inline-block;
  margin-right: 20px;
  margin-bottom: -10px;
}

.service-content{
  margin-top: 10px;
}

/* <area Portfolio> */
.btn{
  background-color:rgba(255,255,255,0.85);
  color:#0646BE;
  font-family: 'Teko', sans-serif;
  font-size: 22px;
  letter-spacing: 5px;
  width:40%;
  height: 60px;
  margin: auto;
  margin-top: 20px;
  padding: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-text{
  font-size: 22px;
}

.flex2-container{
  display: flex;
  flex-wrap: wrap;
  padding-right: 20px;
}


.flexbox2-pic{
  width: 100%;
}



/* <area Form> */
.flex3-container{
  margin-right: 20px;
  display: flex;
  flex-direction: column;
}

.flex3-form{
  width: 100%;
}

.form{
  padding-bottom: 30px;
}

.form-title1{
  border-bottom: 1px solid #ffffff;
}

.form-title2{
  border-bottom: 1px solid #ffffff;
  margin-top: 60px;
}

.form-name{
  display: inline-block;
  margin-right: 20px;
  margin-bottom: -10px;
}

.form-content{
  margin-top: 10px;
  margin-top: 30px;
}

input{
  margin: 0 auto;
  border:none;
  background-color:#0646BE;
  font-family: "Noto Sans JP";
}


.text-box{
  width: 500px;
  color: #ffffff;
  font-family: "Noto Sans JP";
  font-size:16px;
  background:none;
}

textarea{
  resize: none;
  width: 840px;
  height: 150px;
  margin-top:10px;
  padding: 0 15px;
  font-family: "Noto Sans JP";
  font-size:14px;
  line-height: 28px;
  color: #ffffff;
  border:none;
  background:none;
}
/* background-color:#0646BE; */


#contact-submit{
  display: block;
  margin:  auto;
  padding: 20px auto;
}



/* <footer> */

footer{
  width: 100%;
  background-color: rgba(6,70,190,0.5);
  margin-top: 120px;
  padding:20px auto;
}

.footer-text{
  font-size: 12px;
  line-height: 14px;
  margin-bottom: 20px;
}

/* <footer> */

footer {
  text-align: center;
  letter-spacing: 2px;
}
