@charset "UTF-8";
/* main Visual setting
------------------------------------*/
#mainVisual {
  position: relative;
  box-sizing: border-box;
  background: url("/assets/img/privacy-policy/bg_main-privacy_pc.webp") center/cover no-repeat;
  margin: 0 auto;
  padding: 0 0 0;
  width: 100%;
  height: 315px;
}
#mainVisual:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  background: url("/assets/img/common/bg_main-wave_pc.webp") 0 0/100% 100% no-repeat;
  width: 100%;
  height: 82px;
}
#mainVisual .inner {
  position: relative;
  margin: 0 auto;
  max-width: 1280px;
}
#mainVisual .inner h1 {
  position: absolute;
  top: 200px;
  left: 165px;
  font-weight: 700;
  font-size: 30px;
  color: #fff;
}
#mainVisual .inner p {
  position: absolute;
  top: 95px;
  right: 0;
  width: 40.625%;
  max-width: 520px;
}

/* policy list setting
------------------------------------*/
#policyList {
  padding: 0 0 150px;
}
#policyList .inner {
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
}
#policyList .inner h2:after {
  content: '個人情報保護方針';
  padding: 42px 0 0;
  font-size: 16px;
}
#policyList .inner > p {
  margin: 0 auto 50px;
  width: 95%;
  line-height: 1.92;
  letter-spacing: 0.05em;
  text-align: left;
  font-weight: 500;
  font-size: 14px;
}
#policyList .inner > ol {
  counter-reset: policy-counter-parents;
  text-align: left;
}
#policyList .inner > ol > li {
  border-top: 1px solid #333;
  padding: 20px 0 20px 40px;
}
#policyList .inner > ol > li h3 {
  margin: 0 0 12px -16px;
  line-height: 1.4;
  font-weight: 500;
  font-size: 16px;
}
#policyList .inner > ol > li h3:before {
  content: "第" counter(policy-counter-parents) "条 ";
  counter-increment: policy-counter-parents;
  font-weight: 500;
}
#policyList .inner > ol > li > p {
  margin: 0 0 0 -16px;
  line-height: 1.4;
  font-size: 14px;
}
#policyList .inner > ol > li > p:not(:last-child) {
  margin: 0 0 20px -16px;
}
#policyList .inner > ol > li > ol {
  counter-reset: policy-counter-child;
}
#policyList .inner > ol > li > ol > li:not(:last-child) {
  margin: 0 0 15px;
}
#policyList .inner > ol > li > ol > li p {
  line-height: 1.4;
  font-size: 14px;
}
#policyList .inner > ol > li > ol > li p:before {
  content: counter(policy-counter-child) ". ";
  counter-increment: policy-counter-child;
  margin: 0 0 0 -14px;
}
#policyList .inner > ol > li > ol > li ul {
  padding: 5px 0 0 0;
}
#policyList .inner > ol > li > ol > li ul li {
  position: relative;
  padding: 5px 0 0 12px;
  line-height: 1.4;
  font-size: 14px;
}
#policyList .inner > ol > li > ol > li ul li:before {
  content: '';
  position: absolute;
  top: 52.5%;
  left: 2px;
  display: block;
  border-radius: 50%;
  background: #666;
  width: 4px;
  height: 4px;
}
#policyList .inner > ol > li > ol > li ol {
  counter-reset: policy-counter-grandchild;
  padding: 5px 0 0 12px;
}
#policyList .inner > ol > li > ol > li ol > li {
  padding: 5px 0 0 5px;
  line-height: 1.4;
  font-size: 14px;
}
#policyList .inner > ol > li > ol > li ol > li:before {
  content: counter(policy-counter-grandchild) ". ";
  counter-increment: policy-counter-grandchild;
  margin: 0 0 0 -14px;
}

/* ------------------------------------------------------------------------
	Ajustment For Small PC Window 
------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------
	Ajustment For Smart Phone 
------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  /* main Visual setting
  ------------------------------------*/
  #mainVisual {
    background: url("/assets/img/privacy-policy/bg_main-privacy_sp.webp") center/cover no-repeat;
    height: 60vw;
  }
  #mainVisual:after {
    background: url("/assets/img/common/bg_main-wave_sp.webp") 0 0/100% 100% no-repeat;
    width: 100%;
    height: 18.4vw;
  }
  #mainVisual .inner {
    max-width: 100vw;
  }
  #mainVisual .inner h1 {
    top: 31.333333vw;
    left: 0;
    width: 100vw;
    text-align: center;
    font-size: 8vw;
  }
  #mainVisual .inner p {
    display: none;
  }

  /* policy list setting
  ------------------------------------*/
  #policyList {
    padding: 0 0 14.666667vw;
  }
  #policyList .inner h2:after {
    padding: 11.2vw 0 0;
    font-size: 4.2666667vw;
  }
  #policyList .inner > p {
    margin: 0 auto 12vw;
    width: 92vw;
    letter-spacing: 0;
    font-size: 3.2vw;
  }
  #policyList .inner > ol > li {
    border-top: 0.2666667vw solid #333;
    padding: 5.3333333vw 0 5.3333333vw 5.3333333vw;
  }
  #policyList .inner > ol > li h3 {
    margin: 0 0 4vw -4vw;
    font-size: 4vw;
  }
  #policyList .inner > ol > li > p {
    margin: 0 0 0 -3.2vw;
    font-size: 3.2vw;
  }
  #policyList .inner > ol > li > p:not(:last-child) {
    margin: 0 0 3.2vw -3.2vw;
  }
  #policyList .inner > ol > li > ol > li:not(:last-child) {
    margin: 0 0 2.4vw;
  }
  #policyList .inner > ol > li > ol > li p {
    font-size: 3.2vw;
  }
  #policyList .inner > ol > li > ol > li p:before {
    margin: 0 0 0 -3.2vw;
  }
  #policyList .inner > ol > li > ol > li ul {
    padding: 1.2vw 0 0 0;
  }
  #policyList .inner > ol > li > ol > li ul li {
    padding: 1.2vw 0 0 2.4vw;
    font-size: 3.2vw;
  }
  #policyList .inner > ol > li > ol > li ul li:before {
    left: 0.5333333vw;
    width: 0.8vw;
    height: 0.8vw;
  }
  #policyList .inner > ol > li > ol > li ol {
    padding: 1.2vw 0 0 2.4vw;
  }
  #policyList .inner > ol > li > ol > li ol > li {
    padding: 1.2vw 0 0 1.2vw;
    font-size: 3.2vw;
  }
  #policyList .inner > ol > li > ol > li ol > li:before {
    margin: 0 0 0 -3.2vw;
  }
}
