@charset "utf-8";
 
 :root {
  --color-primary: #000000;
  --color-hover: #666666;
  --color-accent: #000000;
  --color-bg: #ffffff;
  --color-surface: #333333;
  --color-text:#000000;
  --color-text-muted: #B0B3C3;
  --color-border: #2C2C36;
  --border:#000;
}
.kv_wrap{
  position: relative;
}
.kv_wrap::before,
.kv_wrap::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.kv_wrap::before{
  top: 0;
}
.kv_wrap::after{
  bottom: 0;
}
@media all and (min-width: 769px) {
}
@media all and (max-width: 768px) {
}
 

.catch_wrap{
  position: relative;
}
.catch_wrap::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.cont_wrap{
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.catch_wrap .catch{
  line-height: 1.5;
}
.catch_wrap .copy{
  line-height: 2;
}
@media all and (min-width: 769px) {
  .catch_wrap{
    padding: 190px 11.905% 198px;
  }
  .catch_wrap .catch{
    width: 56.25%;
    font-size: 48px;
  }
  .catch_wrap .copy{
    width: 37.5%;
    margin-left: 9.375%;
    font-size: 15px;
  }
}
@media all and (min-width: 769px) and (max-width: 1280px){
  .catch_wrap{
    padding: 190px 6.905% 198px;
  }
  .catch_wrap .catch{
    font-size: 3.75vw;
  }
}
@media all and (max-width: 768px) {
  .cont_wrap{
    display: block;
  }
  .catch_wrap{
    padding: 13.021% 5.208% 15.625%;
  }
  .catch_wrap .catch{
    margin-bottom: 4.360%;
    font-size: 6.25vw;
  }
  .catch_wrap .copy{
    font-size: 3.125vw;
  }
}
#numbers.sec_wrap,
#about.sec_wrap{
  background-color: #f5f5f5;
}
h3.hd{
  position: relative;
  padding: 62px 0;
  font-size: 48px;
  text-align: center;
  line-height: 1;
}
h3.hd span{
  display: block;
  margin-top: 14px;
  font-size: 16px;
} 

.outline_wrap{
  position: relative;
}
.outline_wrap::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.outline_wrap .inner{
  position: relative;
  display: block;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.outline_wrap .inner .en{
  position: relative;
  display: block;
  width: 100%;
  padding-bottom: 18px;
  margin: 0 auto 50px;
  font-family: "OptimaLTPro-Roman";
}
.outline_wrap .inner .en::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #333;
  width: 100%;
  height: 1px;
  z-index: 1;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}
.outline_wrap .inner .en span{
  display: inline-block;
  font-size: 24px;
  line-height: 1;
}
.outline_wrap table{
  width: 100%;
}
.outline_wrap table tr{
  border-bottom: solid 1px rgba(153,153,153,.25);
  width: 100%;
}
.outline_wrap table th,
.outline_wrap table td{
  padding: 20px 0;
  font-size: 15px;
  line-height: 2;
  text-align: left;
}
.outline_wrap table th{
  width: 200px;
}
.outline_wrap table td.address{
  display: flex;
  justify-content: space-between;
}
.outline_wrap table td.address .wrap{
  width: 48%;
}
.outline_wrap table td.address .wrap > p{
  font-size: 15px;
  line-height: 2;
}
.outline_wrap table td.address .wrap > p + p{
  margin-top: 30px;
}
.outline_wrap table td.address .wrap > p a{
  font-size: 15px;
  color: #333;
  line-height: 2;
}
@media all and (min-width: 769px) {
  .outline_wrap{
    padding: 110px 11.905% 160px;
  }
}
@media all and (max-width: 768px) {
  .outline_wrap{
    padding: 13.021% 5.208% 10.417%;
  }
  .outline_wrap .inner{
    display: block;
    padding: 0;
  }
  .outline_wrap .inner .en{
    padding-bottom: 1.453%;
    margin-bottom: 6.686%;
  }
  .outline_wrap .inner .en span{
    font-size: 3.646vw;
  }
  .outline_wrap table th,
  .outline_wrap table td{
    padding: 3.125vw 0;
    font-size: 3.125vw;
  }
  .outline_wrap table th{
    width: 21.512%;
  }
  .outline_wrap table td.address{
    display: block;
  }
  .outline_wrap table td.address .wrap{
    width: 100%;
  }
  .outline_wrap table td.address .wrap + .wrap{
    margin-top: 9.259%;
  }
  .outline_wrap table td.address .wrap > p{
    font-size: 3.125vw;
    text-decoration: none;
  }
  .outline_wrap table td.address .wrap > p + p{
    margin-top: 9.259%;
  }
  .outline_wrap table td.address .wrap > p a{
    font-size: 3.125vw;
  }
}
  

.privacy-text{
  padding: 50px 0 30px; 
}

.privacy-remark{
  font-size: 12px; line-height: 140%;
}

.privacy-text::after{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: #ea5404;
  width: 10%;
  height: 2px;
  z-index: 1; margin-top: 30px;
  transform: scaleX(var(--border));
  transform-origin: 0 50%;
}

.privacy-text a{
  color: #ea5404;
}

.privacy-text .title{
  position: relative;
  padding: 0px 0;
  font-size: 36px;  line-height: 120%;
  line-height: 1;
}

.privacy-text .subtitle{
  position: relative;
  padding: 20px 0 0; color: #ea5404;
  font-size: 30px;  line-height: 120%;
  line-height: 1;
}

.privacy-text table td{
  text-align: left; vertical-align: top; padding: 10px 0 0 0; margin: 0;
}

.privacy-text table td:first-child {
 min-width: 30px;
}