@charset "UTF-8";
.technology {
  max-width: 1000px;
  margin: 0 auto;
}
.technology h2 {
  font-size: 21pt;
  letter-spacing: 2px;
}
.technology h2 figure {
  margin: 0 0 35px;
  width: 40%;
}
.technology h2 figure img {
  width: 50%;
}
.technology h3 {
  background-color: #f0f0f0;
  padding: 10px;
  font-size: 20pt;
  display: inline-block;
  margin: 35px 0;
  letter-spacing: 1.5px;
}
.technology .tec_flx {
  display: flex;
  justify-content: space-between;
}
.technology .tec_flx figure {
  margin-top: 0;
  margin-right: 0;
  width: 570px;
}
.technology .tec_flx .tec_blk {
  width: 430px;
}
.technology .tec_flx .tec_blk h4 {
  font-size: 14pt;
}
.technology .tec_flx .tec_blk p {
  font-size: 12pt;
  margin: 20px 0 0;
  line-height: 2;
}
.technology .tec_flx02 {
  display: flex;
  margin: 50px 0 0;
}
.technology .tec_flx02 figure {
  margin: 0 35px 0 0;
  width: 570px;
}
.technology .tec_flx02 .tec_blk {
  width: 430px;
}
.technology .tec_flx02 .tec_blk h4 {
  font-size: 14pt;
}
.technology .tec_flx02 .tec_blk p {
  font-size: 12pt;
  margin: 20px 0 0;
  line-height: 2;
}
.technology .tec_flx03 {
  display: flex;
  justify-content: space-between;
  margin: 60px 0;
}
.technology .tec_flx03 figure {
  margin-top: 0;
  margin-right: 0;
  width: 38%;
}
.technology .tec_flx03 .tec_blk {
  width: 550px;
}
.technology .tec_flx03 .tec_blk h4 {
  font-size: 14pt;
}
.technology .tec_flx03 .tec_blk p {
  font-size: 12pt;
  margin: 20px 0 0;
  line-height: 2;
}
.technology .tec_flx04 {
  display: flex;
  justify-content: space-between;
}
.technology .tec_flx04 h3 {
  background-color: #fff;
  font-size: 14pt;
  margin: 0;
  padding: 0;
  letter-spacing: 2px;
}
.technology .tec_flx04 .tec_blk {
  width: 380px;
}
.technology .tec_flx04 .tec_blk p {
  font-size: 12pt;
  line-height: 1.7;
  margin: 20px 0;
}
.technology .tec_flx04 .tec_blk ul {
  line-height: 1.5;
  margin: 120px 0 0;
}
.technology .tec_flx04 .tec_blk ul li {
  font-size: 0.7rem;
}
.technology .tec_flx04 figure {
  margin-top: 0;
  margin-right: 0;
  width: 560px;
}
.evidence {
  max-width: 1000px;
  margin: 100px auto;
}
.evidence .evidence_top h2 {
  width: 174px;
}
.evidence .evidence_top h3 {
  border: solid 1px;
  padding: 5px;
  width: 162px;
  letter-spacing: 1.5px;
  margin: 30px 0;
  text-align: center;
}
.evidence .evidence_top h4 {
  font-size: 14pt;
  font-weight: 500;
}
.evidence .evidence_top p {
  line-height: 1.7;
  margin: 15px 0;
  font-size: 12pt;
}
.evidence .evidence_flx01 {
  margin: 30px 0;
}
.evidence .evidence_flx02 {
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
}
.evidence .evidence_flx02 h3 {
  border: solid 1px;
  padding: 5px;
  width: 162px;
  letter-spacing: 1.5px;
  margin: 30px 0 20px;
  text-align: center;
}
.evidence .evidence_flx02 h4 {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 1.5px;
  font-size: 14pt;
}
.evidence .evidence_flx02 p {
  line-height: 1.5;
  margin: 15px 0;
  letter-spacing: 1.2px;
  font-size: 12pt;
}
.evidence .evidence_flx02 figure {
  width: 500px;
  margin-top: 50px;
}
.evidence .evidence_flx03 {
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
}
.evidence .evidence_flx03 h3 {
  border: solid 1px;
  padding: 5px;
  width: 162px;
  letter-spacing: 1.5px;
  margin: 0 0 20px;
  text-align: center;
}
.evidence .evidence_flx03 h4 {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 1.5px;
  font-size: 14pt;
}
.evidence .evidence_flx05 h4 {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 1.5px;
  font-size: 14pt;
}
.evidence .evidence_flx03 p {
  line-height: 1.5;
  margin: 15px 0;
  letter-spacing: 1.2px;
  font-size: 12pt;
}
.evidence .evidence_flx03 figure {
  width: 600px;
  margin-top: 50px;
}
.evidence .evidence_flx02 .evidence_flx02-blk {
  width: 400px;
}
.evidence .evidence_flx03 .evidence_flx03-blk {
  width: 400px;
}
.evidence ul {
  line-height: 1.5;
}
.evidence ul li {
  font-size: 0.7rem;
}
.evidence .evidence_flx04 {
  display: flex;
  justify-content: space-between;
}
.evidence .evidence_flx04 .evidence_blk {
  width: 500px;
}
.evidence .evidence_flx04 figure {
  width: 400px;
}
.evidence .evidence_flx05 {
  display: flex;
  justify-content: space-between;
}
.evidence .evidence_flx05 .evidence_blk {
  width: 500px;
}
.evidence .evidence_flx05 figure {
  width: 400px;
}
.evidence_flx05 {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 50px auto;
}
.evidence_flx05 .evidence_flx03-blk {
  width: 500px;
}
.evidence_flx05 figure {
  width: 400px;
}
.evidence_flx05 .evidence_flx03-blk {
  width: 500px;
  font-size: 12pt;
}
.evidence .evidence_flx05 p {
  line-height: 1.5;
  margin: 15px 0;
  letter-spacing: 1.2px;
  font-size: 12pt;
}
.technology02 {
  max-width: 1000px;
  margin: 50px auto;
}
.technology02 h2 {
  width: 163px;
}
.technology02 .technology02_flx {
  display: flex;
  justify-content: space-between;
}
.technology02 .technology02_flx figure {
  margin-right: 0;
}
.technology02 .technology02_flx .technology02_blk {
  width: 400px;
}
.technology02 .technology02_flx .technology02_blk h3 {
  background-color: #f0f0f0;
  padding: 5px 15px;
  display: inline-block;
  margin: 20px 0;
  font-size: 17pt;
  font-weight: 500;
  letter-spacing: 1.5px;
}
.technology02 .technology02_flx .technology02_blk h4 {
  font-weight: 500;
  letter-spacing: 1.5px;
  margin-bottom: 10px;
  font-size: 14pt;
}
.technology02 .technology02_img {
  margin: 30px 0;
}
.technology02 .technology02_flx .technology02_blk p {
  font-size: 12pt;
}
.technology02 .technology02_img02 {
  margin: 90px auto;
  width: 538px;
}
.spec_dl {
  max-width: 1000px;
  margin: 110px auto;
}
.spec_dl h2 {
  font-size: 20pt;
  text-align: center;
  letter-spacing: 2.5px;
  margin: 50px 0;
}
.spec_dl dl {
  display: flex;
  border-top: solid 1px;
}
.spec_dl dl dt {
  letter-spacing: 3px;
  padding: 20px 50px;
  width: 10%;
}
.spec_dl dl dd {
  padding: 20px 0 20px 50px;
  width: 90%;
  letter-spacing: 2px;
}
.spec_dl dl.spec_last {
  border-bottom: solid 1px;
}
.spec_dl ul {
  padding: 20px;
  letter-spacing: 1.5px;
}
.tec_flx04-sp {
  display: none;
}
.technology02_img-sp {
  display: none;
}
.technology02_img02 {
  max-width: 1000px;
  margin: 80px auto;
  text-align: center;
}
.technology02_img02 img {
  width: 760px;
}
.sp_only {
  display: none;
}
.comp_table {
  max-width: 1024px;
  margin: 50px auto;
  text-align: center;
}
/* 横スクロール対応 */
.comp_table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 700px; /* スマホでスクロール可能に */
}
.table_img {
  width: 150px;
  padding: 0;
  border: solid 1px #000000;
}
.table_img-blk {
  width: 60px;
}
.table_img img {
  max-width: 100%;
  height: auto;
}
.comp_table table {
  border-collapse: collapse; /* 枠線をまとめる */
  width: 100%;
  border: 2px solid rgba(0, 0, 0, 0.9);
}
.comp_table table th.comp {
  border: 1px solid #000000;
  padding: 12px;
  text-align: center;
}
.comp_table table td.comp_td {
  border: 1px solid #000000;
  padding: 12px;
  text-align: center;
}
.comp_description {
  max-width: 920px;
  margin: 0 auto
}
.comp_description ul {
  display: flex;
  margin: 50px 0;
  text-align: left;
  gap: 50px;
}
.comp_description ul li h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  letter-spacing: 1.5px;
  font-weight: 500;
}
.comp_description ul li p {
  font-size: 0.9rem;
  letter-spacing: 1.1px;
  line-height: 1.8;
}
.comp_description ul li:nth-child(1) {
  width: 56%;
}
.comp_description ul li:nth-child(2) {
  width: 44%;
}
.howto {
  max-width: 1000px;
  margin: 0 auto;
}
.howto .howto_sp {
  display: none;
}
.come_true {
  max-width: 1000px;
  margin: 60px auto;
}
.come_true-sp {
  display: none;
}
.develop {
  max-width: 920px;
  margin: 90px auto;
}
.develop h2 {
  text-align: center;
  margin-bottom: 50px;
}
.develop h2 img {
  width: 20%;
}
.develop .develop_flx {
  display: flex;
  align-items: center;
  padding: 50px 0 60px;
}
.develop .develop_flx .develop_blk {
  max-width: 90%;
  margin-bottom: 20px;
}
.develop .develop_flx .develop_blk p {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 10px;
}
.develop .develop_flx figure {
  width: 100%;
  max-width: 600px;
  margin-right: 0;
}
.develop .develop_flx h3 {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.5;
}
.develop .develop_bf-sp {
  display: none;
}
.develop_sec02 {
  display: flex;
  align-items: baseline;
  text-align: center;
}
.develop_sec02-txt {
  max-width: 90%;
  margin-bottom: 20px;
}
.develop_sec02-txt .hino {
  border-top: solid 1px #808080;
  border-bottom: solid 1px #808080;
  margin-top: 100px;
}
.develop_sec02-txt .hino p {
  font-size: 0.8rem;
  margin: 0 0 10px;
  line-height: 1.5;
}
.develop_sec02-txt .hino h4 {
  margin: 20px 0 0;
  letter-spacing: 2.5px;
}
.develop_sec02-txt h3 {
  font-size: 1.2rem;
  line-height: 1.8;
  letter-spacing: 2px;
  font-weight: 500;
}
.develop_sec02-txt p {
  font-size: 1rem;
  line-height: 2;
  margin-top: 20px;
}
.develop_sec02-txt h4 {
  font-size: 1.2rem;
  font-weight: bold;
  color: #444;
  margin-top: 20px;
}
.develop_sec02-img {
  width: 100%;
  max-width: 600px;
}
.develop_sec02-img img {
  width: 100%;
  height: auto;
}
.develop_sec02-sp {
  display: none;
}
.holder_case {
  max-width: 1000px;
  margin: 30px auto;
}
.holder_case ul li {
  text-align: center;
}
.holder_case ul li:nth-child(1) {
  padding-bottom: 30px;
}
/* 画面サイズが768px以上の場合 */
@media (min-width: 768px) {
  .develop_sec02 {
    flex-direction: row-reverse;
    justify-content: space-around;
  }
  .develop_sec02-txt {
    max-width: 55%;
    text-align: left;
  }
  .develop_sec02-img {
    max-width: 33.8%;
    margin: 0;
  }
  .develop_sec02-img ul li:nth-child(1) {
    padding-bottom: 10px;
  }
}
@media screen and (max-width: 768px) {
  .comp_table {
    overflow-x: auto;
    display: block;
  }
  .comp_table table {
    min-width: 700px;
    border: solid 1px #000000;
  }
  .comp_table td {
    font-size: 14px;
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.7);
  }
  .comp_table th {
    border: 1px solid rgba(0, 0, 0, 0.8);
    font-size: 14px;
    padding: 8px;
  }
  .comp_table th.table_img {
    border: 1px solid rgba(0, 0, 0, 0.8);
    font-size: 14px;
    padding: 0;
    width: 30%;
  }
  .table_img-blk {
    width: 15%;
  }
  .comp_description ul {
    display: block;
  }
  .comp_description ul li:nth-child(1) {
    width: 100%;
    padding-bottom: 30px;
  }
  .comp_description ul li:nth-child(2) {
    width: 100%;
  }
  .comp_description ul li h3 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 820px) {
  .develop {
    padding: 0 20px;
  }
  .develop_sec02-txt h3 {
    font-size: 1.1rem;
  }
  .develop_sec02-txt .hino {
    margin-top: 10px;
  }
  .develop_sec02-img {
    max-width: 38%;
  }
}
@media screen and (max-width: 768px) {
  .develop_sec02-img {
    max-width: 42%;
  }
}
@media screen and (max-width: 766px) {
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  .howto .howto_sp {
    display: block;
    padding: 0 20px;
  }
  .howto .howto_sp .howto_p01 h2 {
    font-size: 1.2rem;
    margin: 10px 0;
    font-weight: 500;
  }
  .come_true {
    display: none;
  }
  .come_true-sp {
    background-image: url("../img/history_sp.png");
    background-repeat: no-repeat;
    display: block;
    background-size: cover;
    margin-top: 70px;
  }
  .come_true-sp .come_true-sp_inner {
    padding: 360px 20px 80px;
  }
  .come_true-sp .come_true-sp_inner h3 {
    font-size: 1.2rem;
    letter-spacing: 1.5px;
    padding-bottom: 20px;
    font-weight: 500;
  }
  .come_true-sp .come_true-sp_inner figure {
    margin: 30px 0 50px;
  }
  .develop .develop_flx {
    flex-direction: column;
    padding: 35px 0 15px;
  }
  .develop .develop_flx figure {
    margin: 20px;
  }
  .develop {
    padding: 0 20px;
  }
  .develop h2 img {
    width: 50%;
  }
  .develop .develop_flx .develop_blk {
    max-width: 100%;
    margin-bottom: 0;
  }
  .develop .develop_flx h3 {
    line-height: 1.8;
  }
  .develop .develop_flx .develop_blk p {
    margin-top: 25px;
    font-size: 0.95rem;
  }
  .develop .develop_bf {
    display: none;
  }
  .develop .develop_bf-sp {
    display: block;
  }
  .develop .develop_bf-sp ul li:nth-child(1) {
    padding-bottom: 30px;
  }
  .develop_sec02 {
    display: none;
  }
  .develop_sec02-sp {
    display: block;
  }
  .develop_sec02-sp h3 {
    font-size: 1.2rem;
    letter-spacing: 1.5px;
    font-weight: 500;
    margin-bottom: 25px;
    line-height: 1.7;
  }
  .develop_sec02-sp p {
    line-height: 1.7;
    font-size: 0.95rem;
  }
  .develop_sec02-sp figure {
    margin: 20px 0;
  }
  .develop_sec02-sp figure ul li:nth-child(1) {
    padding-bottom: 15px;
  }
  .develop_sec02-sp .hino {
    border-top: solid 1px #808080;
    border-bottom: solid 1px #808080;
    padding: 15px 0;
  }
  .develop_sec02-sp .hino p {
    font-size: 0.8rem;
  }
  .holder_case {
    padding: 0 20px;
  }
}