#policy .side-cart{
  display: none;
}
#policy #left-text{
  display: none;
}
#policy article{
  padding-bottom: 90px;
}
#policy article .container{
  max-width: 974px;
}
#policy article section{
  padding-top: 0; 
  padding-bottom: 0;
}
#policy article .policy-header{
  padding-top: 58px;
}
#policy article .policy-header h1{
  color: var(--main-color);
  margin-bottom: 40px;
  line-height: 0.8;
}
#policy article .policy-header h1 .en{
  font-size: 80px;
  font-weight: 600;
  line-height: 0.8;
  margin-right: 30px;
  font-family: var(--font-family-en);
}
#policy article .policy-header h1 .ja{
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 2;
}
#policy article .policy-header p{
  font-size: 1.6rem;
  line-height: 2.0;
  margin-bottom: 65px;
}
#policy article .policy-content h2{
  font-size: 21px;
  font-weight: 700;
  margin-bottom: 20px;
}
#policy article .policy-content h2 span{
  font-family: var(--font-family-en);
  margin-right: 10px;
  font-size: 26px;
  letter-spacing: 2.6px;
}
#policy article .policy-content p{
  margin-bottom: 20px;
  line-height: 1.8;
}
#policy article .policy-content p:has(+ h2){
  margin-bottom: 60px;
}
#policy article .policy-content a.link-open span{
  position: relative;
}
#policy article .policy-content a.link-open span::after{
  content: '';
  width: 100%;
  height: 1px;
  background-color: var(--font-color-text);
  position: absolute;
  left:0;
  bottom: -7px;
}
#policy article .policy-content a.link-open svg{
  stroke: var(--font-color-text);
}
@media screen and (max-width: 1023px){
  #policy article{
    width: 90%;
    margin: 0 auto;
  }
  #policy article .policy-header h1{
    margin-bottom: 30px;
  }
  #policy article .policy-header h1 .en{
    font-size: 56px;
    letter-spacing: 0.0112em;
    margin-right: 15px;
  }
  #policy article .policy-header h1 .ja{
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
  #policy article .policy-header P{
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 50px;
  }
  #policy article .policy-content h2{
    font-size: 2.0rem;
    margin-bottom: 10px;
  }
  #policy article .policy-content p{
    font-size: 1.4rem;
    line-height: 1.7;
  }
  #policy article .policy-content p:has(+ h2){
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px){
  #policy article{
    width: 100%;
  }
  #policy article .policy-header{
    padding-top: 43px;
  }
  #policy article .policy-header h1{
    margin-bottom: 20px;
  }
  #policy article .policy-header h1 .en{
    font-size: 5.0rem;
    display: block;
    margin-bottom: 20px;
  }
  #policy article .policy-header h1 .ja{
    font-size: 1.5rem;
    display: block;
  }
  #policy article .policy-content h2{
    letter-spacing: 0.08em;
  }
  #policy article .policy-content h2 span{
    font-size: 2.4rem;
  }
  #policy article{
    padding-bottom: 70px;
  }

}
#policy article .policy-header.no-padding{
  padding-top: 0;
}