@charset "utf-8";

html {
  scroll-behavior: smooth;
}

.subheader {
  height: 40px;
  padding: 40px 0;
  background-color: #f2f2f2;
}

.company_title {
  margin-bottom: 15px;
  font-size: 3.6rem;
  font-family: "valion";
  font-weight: 200;
  letter-spacing: 0.05em;
}

.subtitle {
  font-size: 1.2rem;
  font-weight: 400;
}
.company_title2 {
  margin: 80px 0 15px;
  font-size: 3.6rem;
  font-family: "valion";
  font-weight: 200;
  letter-spacing: 0.05em;
}

@media(min-width:1040px) {
  .subheader {
    height: 110px;
    padding: 80px 0 30px;
  }

  .company_title {
    margin-bottom: 40px;
    font-size: 6.4rem;
  }

  .subtitle {
    font-size: 2.0rem;
  }
  .company_title2 {
    margin: 100px 0 40px;
    font-size: 6.4rem;
    font-weight: 200;
    letter-spacing: 0.05em;
  }
}

.policy-main{
  padding:0 30px 100px;
}
.policy-main img {
  width: 50px;
  margin: 0 auto;
}
.policy1,.policy2{
  padding:50px 0;
  text-align:left;
}
.policy1 h3,.policy2 h3{
  padding-bottom:10px;
  font-size:1.8rem;
  font-weight:600;
}
.policy1 p,.policy2 p{
  font-size:1.2rem;
  font-weight:400;
}
.policy2 h4{
  padding-bottom:5px;
  font-size:1.6rem;
  font-weight:500;
}
.policy2 h5{
  font-size:1.4rem;
  font-weight:500;
}
.pick{
  font-size:1.3rem;
  font-weight:600;
}
.table-wrap{
  overflow-x: auto;
}
.purpose{
  width:500px;
  border:solid 1px #333;
  border-collapse: collapse;
  table-layout: fixed;
}
.purpose th{
  padding:5px;
  background-color:#D1DCBA;
  border:solid 1px #333;
  font-size:1.4rem;
  font-weight:400;
}
.purpose th:nth-of-type(1){
width:30%;
}
.purpose th:nth-of-type(2){
width:50%;
}
.purpose th:nth-of-type(3){
width:20%;
}
.purpose td{
  padding:5px;
  border:solid 1px #333;
  font-size:1.2rem;
  font-weight:400;
}

@media(min-width:1040px) {
  .policy-main{
  padding:0 150px 150px;
}
  .policy-main img {
    width: 120px;
  }
.policy1,.policy2{
  padding:100px 0;
}
.policy1 h3,.policy2 h3{
  padding-bottom:20px;
  font-size:2.4rem;
  font-weight:600;
}
.policy1 p,.policy2 p{
  font-size:1.4rem;
  line-height:2.6rem;
  font-weight:400;
}
.policy2 h4{
  padding-bottom:10px;
  font-size:1.8rem;
  font-weight:500;
}
.policy2 h5{
  font-size:1.6rem;
  font-weight:500;
}
.pick{
  font-size:1.8rem;
  font-weight:600;
}
.purpose{
  width:1200px;
}
.purpose th{
  height:50px;
  align-content: center;
  background-color:#D1DCBA;
  border:solid 1px #333;
  font-size:1.4rem;
  font-weight:400;
}
.purpose td{
  border:solid 1px #333;
  font-size:1.2rem;
  font-weight:400;
}
  }

.contact {
  background-color: #f2f2f2;
  padding: 0 30px 70px 30px;
}

.contact img {
  width: 50px;
}

.contact p {
  font-size: 1.2rem;
  margin-top: 50px;
  font-weight: 400;
  line-height: 2.0rem;
}

.contact_button {
  display: flex;
  margin: 50px auto 0;
  justify-content: center;
  align-items: center;
  width: 200px;
  height:45px;
  border-radius: 25px;
  border: solid 1px #333;
  background-color: #FFF;
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
}

.contact_button:hover {
  background-color: #333;
  color: #FFF;
  opacity: 1.0;
}

.contact_button i::before {
  padding-left: 15px;
}

@media(min-width:1040px) {
  .contact {
    padding: 0px 70px 150px;
  }

  .contact img {
    width: 120px;
  }

  .contact p {
    font-size: 1.8rem;
    margin-top: 70px;
  }

  .contact_button {
    margin-top: 70px;
    width: 340px;
    height:80px;
    font-size: 2.0rem;
    border-radius: 50px;
    border: solid 2px #333;
  }

  .contact_button i::before {
    padding-left: 20px;
  }
}