/*----------------------------------------------------------------------------------------------------

  経営理念
  
----------------------------------------------------------------------------------------------------*/
.rinen {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  background-color: var(--bgcolor-blue);
}
.rinen-hdline {
  color: rgba(var(--color-blue),1);
  font-size: var(--fs-3l);
  line-height: var(--line-height-m);
  font-weight: 700;
}
.rinen-list {
  list-style: none;
  counter-reset: list-no;
  padding-top: 1.5em;
}
.rinen-list li {
  font-size: var(--fs-m);
  font-weight: 500;
  counter-increment: list-no;
  position: relative;
  padding-left: 2.25em;
}
.rinen-list li:not(:first-child) {
  margin-top: 0.75em;
}
.rinen-list li:before {
  position: absolute;
  left: 0.15em;
  top: 0.15em;
  content: counter(list-no);
  vertical-align: middle;
  font-size: var(--fs-2s);
  font-weight: 400;
  margin-bottom: 0.25em;
  width: 1.75em;
  height: 1.75em;
  text-align: center;
  border-radius: 50%;
  background-color: rgba(var(--color-blue),1);
  color: #FFF;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: -webkit-inline-flex;
	display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width:641px) {
  .sec-rinen {
    padding-left: var(--side-space);
    padding-right: var(--side-space);
    padding-top: var(--block-space-max);
  }
  .rinen {
    padding: var(--box-space-l);
  }
}
@media screen and (max-width:640px) {
  .rinen {
    padding-left: var(--side-space);
    padding-right: var(--side-space);
    padding-top: var(--block-space-l);
    padding-bottom: var(--block-space-l);
  }
  .rinen-list li {
    padding-left: 2;
  }
  .rinen-list li:before {
    left: 0;
  }
}

/*----------------------------------------------------------------------------------------------------

  発明者・特許取得者・CEO
  
----------------------------------------------------------------------------------------------------*/
.sec-prof {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  text-align: left;
}
.prof-hdline {
  font-size: var(--fs-3l);
  line-height: var(--line-height-m);
  font-weight: 700;
  padding-bottom: var(--block-space-s);
}
.prof {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.prof-main .name {
  font-size: var(--fs-2l);
  font-weight: 500;
}
.prof-main .name small {
  color: rgba(var(--color-gray),1);
  font-weight: 300;
  font-size: var(--fs-min);
  display: inline-block;
  padding-left: 1em;
}
.prof-main p,
.prof-mainB p {
  padding-top: 1.5em;
}
@media print, screen and (min-width:641px) {
  .sec-prof {
    box-sizing: content-box;
    padding-top: var(--block-space-max);
  }
  .prof {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .prof-photo {
    width: 32%;
  }
  .prof-main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 6%;
  }
  .prof-mainB {
    width: 100%;
    padding-top: 1.5em;
  }
}
@media screen and (max-width:640px) {
  .sec-prof {
    padding-top: var(--block-space-l);
  }
  .prof {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .prof-photo {
    text-align: center;
  }
  .prof-photo img {
    width: 70%;
    max-width: 320px;
  }
  .prof-main {
    padding-top: var(--block-space-s);
  }
  .prof-main .name {
    display: block;
    text-align: center;
  }
  .prof-main .name small {
    display: block;
    padding-left: 0;
  }
}

/*----------------------------------------------------------------------------------------------------

  会社概要
  
----------------------------------------------------------------------------------------------------*/
.sec-company {
  max-width: var(--base-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--side-space);
  padding-right: var(--side-space);
  padding-bottom: var(--block-space-max);
  text-align: left;
}
.sec-company .hdline {
  font-size: var(--fs-3l);
  line-height: var(--line-height-m);
  font-weight: 700;
  padding-bottom: var(--block-space-min);
}
@media print, screen and (min-width:641px) {
  .sec-company {
    box-sizing: content-box;
  }
  .sec-company .col {
    padding-top: var(--block-space-l);
  }
}
@media screen and (max-width:640px) {
  .sec-company .col {
    padding-top: var(--block-space-max);
  }
}

/*--------------------------------------------------------------------------------
  概要
--------------------------------------------------------------------------------*/
.outlineTbl {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--linecolor-gray2);
}
.outlineTbl tr {
  border-bottom: 1px solid var(--linecolor-gray2);
}
.outlineTbl th,
.outlineTbl td {
  padding: 1em;
  text-align: left;
  line-height: var(--line-height-m);
}
.outlineTbl th {
  white-space: nowrap;
  width: 24%;
  font-weight: 500;
  vertical-align: top;
  background-color: var(--bgcolor-gray);
}
.outlineTbl td {
  vertical-align: middle;
}
.outlineTbl .ad {
  display: inline-block;
  padding-bottom: 0.5em;
  line-height: var(--line-height-s);
}
@media print, screen and (min-width:641px) {
  .outlineTbl th,
  .outlineTbl td {
    padding: 1em;
  }
}
@media screen and (max-width:640px) {
  .outlineTbl {
    min-width: 360px;
  }
  .outlineTbl th,
  .outlineTbl td {
    padding: 0.75em;
  }
}

/*--------------------------------------------------------------------------------
  業務内容
--------------------------------------------------------------------------------*/
@media print, screen and (min-width:641px) {
  .gyomu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .gyomu .hdline {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  .gyomu-list {
    width: 75%;
  }
}

/*--------------------------------------------------------------------------------
  沿革
--------------------------------------------------------------------------------*/
.timeline {
  list-style: none;
}
.timeline li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: hidden;
  position: relative;
}
.timeline-y {
  color: rgba(var(--color-dblue),0.3);
  font-size: var(--fs-4l);
  font-weight: 500;
  line-height: 1.2;
  border-right: 1px solid rgba(var(--color-dblue),0.2);
}
.timeline-txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
}
.timeline li:not(:last-of-type) .timeline-txt {
  padding-bottom: 1em;
}
.timeline-txt .item:not(:first-of-type) {
  margin-top: 0.5em;
}
.timeline-txt .item {
  padding-left: 1.5em;
  position: relative;
}
.timeline-txt .item:before {
  content: "";
  width: 9px;
  height: 9px;
  background: rgba(var(--color-dblue),1);
  position: absolute;
  left: -5px;
  top: calc(0.5em + 2px);
  border-radius: 100%;
  line-height: 1;
  z-index: 2;
}
@media print, screen and (min-width:641px) {
  .enkaku {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .enkaku .hdline {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    letter-spacing: 2em;
  }
  .timeline {
    width: 75%;
  }
  .timeline li,
  .timeline-txt .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .timeline-y {
    width: 4.5em;
  }
  .timeline-txt {
    padding-top: 0.3em;
  }
  .timeline-txt .date {
    width: 6em;
    text-align: right;
  }
  .timeline-txt p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 1em;
  }
}
@media screen and (max-width:640px) {
  .timeline-y {
    width: 3.25em;
  }
  .timeline-txt {
    padding-top: 0.2em;
  }
}
