@charset "UTF-8";

:root {
  --color-white: #FFFFFF;
  --color-black: #3E3A39;
  --color-1a1a1a: #1a1a1a;
  --color-666666: #666666;
  --color-8a8a8a: #8a8a8a;
  --color-cdcdcd: #cdcdcd;
  --color-ebebeb: #ebebeb;
  --color-e1e1e2: #e1e1e2;
  --color-f3f3f3: #f3f3f3;
  --color-ececec: #ececec;
  --color-2b4cdb: #2b4cdb;
  --color-00B9EF: #00B9EF;
  --color-00AB5A: #00AB5A;
  --color-00AB5A-5: rgba(0, 173, 92, 0.5);
  --color-007320: #007320;
  --color-FDD000: #FDD000;
  --color-FFE901: #FFE901;
  --color-E8380D: #E8380D;
  --color-b89023: #b89023;
  --color-6b82e6: #6b82e6;
  --color-DDF3FA: #DDF3FA;
  --color-EAEDFB: #EAEDFB;
  --color-main: #666666;
  --color-main-light: #ececec;
  --color-main-sub: #8a8a8a;
  --color-main-sub-light: #cdcdcd;
  --font10: 0.625rem;
  --font12: 0.75rem;
  --font13: 0.8125rem;
  --font14: 0.875rem;
  --font15: 0.9375rem;
  --font16: 1rem;
  --font17: 1.0625rem;
  --font18: 1.125rem;
  --font20: 1.25rem;
  --font21: 1.3125rem;
  --font24: 1.5rem;
  --font26: 1.625rem;
  --font28: 1.75rem;
  --font30: 1.875rem;
  --font32: 2rem;
  --font35: 2.1875rem;
  --font38: 2.1875rem;
  --font40: 2.5rem;
  --font43: 2.6875rem;
  --font45: 2.8125rem;
  --font50: 50px;
  --font70: 70px;
  --font80: 80px;
  --font90: 90px;

  --font-weight-bold: 700;
  --font-weight-normal: normal;
  --shape-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --shape-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --shadow: 0 0.3rem 2.5rem -2rem rgba(85, 96, 96, 0.3), 0 0.3rem 0.5rem rgba(84, 96, 96, 0.376);
  --shadow2: 0 0.2rem 2rem -1rem rgba(85, 96, 96, 0.4), 0 0.2rem 0.3rem rgba(84, 96, 96, 0.4);
  --number-width: clamp(136px, 33.8vw, 180px);
  --stretch: stretch;
  --header-h: clamp(65px, 11vw, 110px);
}

/*プライバシーポリシー
---------------------------------*/
.policy-text{
  font-size: clamp(var(--font16), calc((0.0625rem * 16) + ((1vw - 3.8px) * (5 / 4.2))), var(--font21));
  line-height: 1.7;
  margin-bottom: 1em;
  strong{
    font-weight: var(--font-weight-normal);
  }
}
/*署名*/
.policy-signature{
  text-align: right;
  margin-top: 1rem;
}
.signature-item{
  display: flex;
  justify-content: end;
  gap: 01em;
}
/*お問い合わせ*/
.policy-box{
  padding: clamp(20px, 5vw / 0.8, 50px) clamp(15px, 4vw / 0.8, 40px);
}
.policy-box__title{
  font-size: clamp(var(--font17), calc((0.0625rem * 17) + ((1vw - 3.8px) * (3 / 4.2))), var(--font20));
  margin-bottom: 1em;
}
.contact-info{
  border-left: 2px solid var(--color-main-sub-light);
  margin-top: clamp(15px, 4vw / 0.8, 40px);
  padding-left: .8em;
}
.contact-info__name{
  font-weight: var(--font-weight-bold);
  margin-bottom: 0.5em;
}
.contact-info__tel-fax >div{
  display: flex;
}
.contact-btn{
  text-decoration: underline;
  padding-right: 1.5em;
  &:hover{
    opacity: .8;
  }
}
.contact-info__address, .contact-info__tel-fax >div, .contact-btn{
  margin-bottom: 0.3em;
}
/*画像*/
.isms-certification-img{
  display: flex;
  gap: 4%;
  padding-block: clamp(30px, 5vw / 0.8, 50px);
}
.isms-certification{
  width: 70%;
}
.isms-mark{
  width: 26%;
  img{
    background: var(--color-white);
    padding: clamp(10px, 2vw / 0.8, 20px);
  }
}
/*テーブル*/
.isms-table{
  border-top: 3px solid;
  border-bottom: 3px solid;
}
caption{
  font-weight: var(--font-weight-bold);
  font-size: clamp(var(--font15), calc((0.0625rem * 15) + ((1vw - 4px) * (5 / 9))), var(--font20));
  margin-bottom: 1em;
}
.isms-table th, .isms-table td {
  border-bottom: 1px solid;
  vertical-align: top;
  padding-block: clamp(.5em, 1.6vw / 0.8, 1em);
  padding-inline: clamp(0.5em, 3.2vw / 0.8, 2em) clamp(0.2em, 2.4vw / 1.3, 1.5em);
}
.isms-table th {
  width: 5.5em;
  text-align: left;
  white-space: nowrap;
}
.isms-table td{
  background: var(--color-white);
}
/*-- コンプライアンスポリシー --*/
.policy-contact{
  margin-bottom: 1.5rem;
  h3, p{
    margin-bottom: .5em;
  }
}
/*ナンバリング*/
.policy-list li{
  margin-bottom: 1.5em;
}
.policy-list-number{
  font-size: clamp(var(--font16), calc((0.0625rem * 16) + ((1vw - 3.8px) * (4 / 4.2))), var(--font20));
  margin-bottom: .3em;
  &::before{
    content: counter(num) ". "; 
  }
}
.policy-contact__number{
  margin-bottom: .3em;
  padding-left: 2em;
  &::before{
    position: absolute;
    top: 0;
    left: 0;
  }
}
.number-type1{
  &::before{
    content: counter(num) ". ";
  }
  ol{
    margin-block: .5em 1em;
  }
  .number-type2{
    margin-left: 0;
  }
}
.number-type2{
  font-size: clamp(var(--font15), calc((0.0625rem * 16) + ((1vw - 3.8px) * (1 / 4.2))), var(--font16));
  margin-left: 1em;
  &::before{
    content: "(" counter(num) ")"; 
  }
}

/*404
---------------------------------*/
.not-found{
  text-align: center;
}
.not-found__title{
  font-size: clamp(var(--font28), calc((0.0625rem * 28) + ((1vw - 3.8px) * (38 / 6.2))), 56px);
  margin-bottom: 0.5em;
}
.not-found__text{
  color: var(--color-2b4cdb);
  font-weight: var(--font-weight-bold);
  font-size: clamp(var(--font18), calc((0.0625rem * 18) + ((1vw - 3.8px) * (10 / 6.2))), var(--font28));
  margin-bottom: 0.5em;
}
.not-found__img{
  width: clamp(250px, 40vw, 400px);
  margin-block: clamp(25px, 5vw, 50px);
}
.not-found__link{
  background: var(--color-black);
  border-radius: 2em;
  color: var(--color-white);
  padding: 0.5em 2.5em 0.5em 1.5em;
  span{
    font-size: 120%;
    margin-inline: 0.2em;
  }
  &:hover{
    background: var(--color-2b4cdb);
  }
}