@charset "UTF-8";
figure {
  margin: 0;
}
.w100 img {
  width: 100%;
}
.fwb {
  font-weight: bold;
}
.mt10 {
  margin-top: 1rem!important;
}
.mt20 {
  margin-top: 2rem!important;
}
.c-blue {
  color: #007ac9;
}
:is(#case, #prod-info, #rel-solution) .headLine01 {
  font-size: clamp(22px, 2.5vw, 35px);
}

#merit {
  padding: 7rem 0;
}
.merit-txt {
  color: #fff;
  /* font-size: clamp(32px, 2.5vw, 40px); */
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1.25;
}
.merit-txt small {
  font-size: 70%;
}
@media screen and (max-width: 896px) {
  #merit {
    padding: 5rem 0;
  }
  .merit-txt {
    font-size: clamp(24px, 2.0vw, 34px);
  }
}

#main .onayami__flex {
  align-items: center;
  gap: 6rem;
}
#main .onayami__flex img {
  /* width: 16%; */
  margin-top: 0;
}
@media screen {
  .onayami {
    padding-top: 3rem;
  }
}

#pickup {
  background: #ecf4fa;
}
#pickup .headLine01 {
  color: inherit;
  font-size: clamp(22px, 1.8vw, 35px);
  font-weight: bold;
}
.pickup-ttl-accent {
  color: #007ac9;
  font-size: 150%;
  font-weight: bold;
}
.pickup-box {
  background: #fff;
  padding: 4rem;
  border-radius: 8px;
}
.pickup-box__ttlarea {
  text-align: center;
  font-size: clamp(20px, 1.5vw,30px);
  font-weight: bold;
  color: #007ac9;
  line-height: 1.25;
  margin-bottom: 2rem;
}
.pickup-box__ttlarea small {
font-size: 70%;
}
.pickup-box__ttl--small {
  color: #007ac9;
  font-size: clamp(18px, 1.3vw,20px);
  font-weight: bold;
  text-align: center;
  margin-bottom: 3rem;
}
.pickup-box__subttl {
  color: #fff;
  font-size: clamp(20px, 1.45vw, 28px);
  font-weight: bold;
  text-align: center;
  background: #767474;
  margin-bottom: 3rem;
  padding: 5px;
}
.pickup-box__single {
  padding: 3rem;
}
.pickup-box__body .u-flex {
  gap: 2rem;
}
.pickup-box__body .u-flex__item {
  flex: 1;
}
.pickup-box__movie01,
.pickup-box__movie02 {
    height: 100%;
    flex-direction: column;
    display: flex;
    border-radius: 8px;
}
.pickup-box__movie01 {
  background: #f9f8e7;
}
.pickup-box__movie02 {
    background: #ecf4fa;
}
.pickup-box__movie--head {
  font-size: clamp(16px, 1.15vw,20px);
  font-weight: bold;
  text-align: center;
  padding: 10px;
  border-radius: 8px 8px 0 0;
}
.pickup-box__movie01 .pickup-box__movie--head {
  background: #efe87f;
}
.pickup-box__movie02 .pickup-box__movie--head {
    background: #9ad3fb;
}
.pickup-box__movie--body {
    padding: 3rem;
    border-radius: 8px;
    flex-grow: 1;
}
.pickup-box__movie--head + .pickup-box__movie--body {
    border-radius: 0 0 8px 8px;
}
.pickup-box__movie--movie video {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.pickup-box__movie--baloon {
    background: #fff;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border: 2px solid;
    margin-top: 3rem;
    position: relative;
    border-radius: 5px;
}
.pickup-box__movie--baloon::before {
  content: '';
  display: block;
  width: 20px;
  height: 25px;
  background: #fff;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.pickup-box__movie--baloon::after {
  content: '';
  display: block;
  width: 25px;
  height: 29px;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  position: absolute;
  top: -29px;
  left: 50%;
  transform: translateX(-50%);
}
.pickup-box__movie01 .pickup-box__movie--baloon::after {
  background: #c3c096;
}
.pickup-box__movie02 .pickup-box__movie--baloon::after {
  background: #84b9df;
}
.pickup-box__movie01 .pickup-box__movie--baloon {
  border-color: #c3c096;
}
.pickup-box__movie02 .pickup-box__movie--baloon {
  border-color: #84b9df;
}
.pickup-box__data {
    display: flex;
    align-items: baseline;
    font-weight: bold;
    margin-top: 1rem;
}
.pickup-box__movie--baloon small {
  font-size: .9em;
}
.pickup-box__movie--baloon .pickup-box__label {
  margin-bottom: 0;
}
.pickup-box__label {
  width: 100%;
  display: inline-block;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  border-radius: 1000px;
  margin-bottom: 10px;
}
.pickup-box__accent {
  color: #007ac9;
}
.pickup-box__movie01 .pickup-box__label {
  background: #eeebbc;
}
.pickup-box__movie02 .pickup-box__label {
  background: #c7ddee;
}
.pickup-box__data .pickup-box__label {
    width: 45%;
    margin-right: 1rem;
    margin-bottom: 0;
}
.pickup-box__note {
  font-size: .9em;
  font-weight: bold;
  text-align: right;
  margin-top: 10px;
}
.pickup-box__movie--img {
  margin-top: 1rem;
  text-align: center;
  position: relative;
}
.pickup-box__movie--img::before {
  content: '断面図';
  color: #fff;
  font-weight: bold;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  padding: 5px;
  background: #333;
}
.pickup-box__movie--img img {
  width: 100%;
}
.pickup-box__movie--txt {
  font-weight: bold;
}
.pickup-box__movie--detail {
  margin-top: 15px;
}
.pickup-box__ex {
  margin-top: 25px;
  margin-bottom: 30px;
}
.pickup-box__ex--text {
  color: #007ac9;
  font-size: clamp(20px, 1.3vw,26px);
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 897px) {
  .pickup-box__ex--text__accent {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 896px) {
  .pickup-box {
    padding: 2rem;
  }
  .pickup-box__subttl {
    font-size: clamp(14px, calc(1.04vw + 10.67px), 20px);
    margin-bottom: 2rem;
  }
  .pickup-box__body .u-flex {
    flex-direction: column;
    gap: 1rem;
  }
  .pickup-box__movie--head + .pickup-box__movie--body {
    padding: 2rem;
  }
  .pickup-box__movie--detail {
    margin-top: 0;
  }
  .pickup-box__data {
    flex-direction: column;
    align-items: flex-start;
  }
  .pickup-box__data .pickup-box__label {
    width: 100%;
    margin-bottom: 10px;
    margin-right: 0;
  }
  .pickup-box__movie--baloon {
    padding: 1rem;
  }
  .pickup-box__ex--text {
    text-align: left;
  }
}

.case-box {
    border: 1px solid #007ac9;
}
.case-box__head {
    color: #fff;
    font-size: clamp(20px, 1.3vw,26px);
    background: #007ac9;
    padding: 5px 10px;
}
.case-box__head--label {
    color: #007ac9;
    background: #fff;
    padding: 0px 5px;
    margin-right: 10px;
}
.case-box__head .arrow {
    width: 10px;
    height: 10px;
    background: #fbb100;
    display: inline-block;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    margin-bottom: 3px;
    margin: auto 10px 3px;
}
.case-box__body--ttl {
    padding-top: 2rem;
}
.case-box__body--ttl span {
    color: #007ac9;
    font-size: clamp(20px, 1.3vw,26px);
    font-weight: bold;
    padding-left: 3rem;
    padding-right: 1rem;
    border-bottom: 1px solid #007ac9;
}
.case-box__body--detail {
    padding: 3rem;
}
.case-box__body--detail .u-flex {
    gap: 4rem;
}
.case-box__body--detail .u-flex.jcsb {
  justify-content: space-between;
}
/* .case-box__body--detail .u-flex__item {
  flex: 1;
} */
.case-box__body--detail .u-flex__item img {
  width: auto;
  max-width: none;
  height: 100%;
}
.case-box__cont01,
.case-box__cont02 {
  padding: 3rem;
}
.case-box__cont01 {
    background: #f9f8e7;
    height: 100%;
}
.case-box__cont02 {
    background: #ecf4fa;
    height: 100%;
}
.case-box__cont--ttl {
  font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
}
.case-box__cont--txt {
    /* font-size: 14px; */
    font-weight: bold;
    background: #fff;
    padding: 2rem;
    margin-bottom: 3rem;
}
.case-box__cont01 .case-box__cont--txt {
  position: relative;
}
.case-box__cont01 .case-box__cont--txt::after {
    content: '';
    display: block;
    width: 4rem;
    height: 10rem;
    background: #007ac9;
    position: absolute;
    top: 50%;
    right: -7rem;
    transform: translateY(-50%);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.case-box__cont--label {
    text-align: center;
    display: inline-block;
    border-radius: 1000px;
    width: 50%;
    padding: 1px 2px;
    margin: 2rem 0 1rem;
}
.case-box__cont01 .case-box__cont--label {
  background: #eeebbc;
}
.case-box__cont02 .case-box__cont--label {
  background: #c7ddee;
}
.case-box__cont--list li {
  position: relative;
  padding-left: 2rem;
}
.case-box__cont--list li::before {
  content: '■';
  font-size: 10px;
  color: #999;
  position: absolute;
  left: 0;
  top: 4px;
}
.case-box__cont--movie video {
  width: 100%;
  max-width: 100%;
}
.case-box__body--note {
  font-size: .9em;
  font-weight: bold;
    text-align: right;
}
.case-box__body--accent {
  color: #007ac9;
  font-weight: bold;
}
.case02 .u-flex__item:first-child {
  width: 325px;
}
.case02 .u-flex__item:last-child {
  width: calc(100% - 325px - 4rem);
}
@media screen and (max-width: 896px) {
  .case-box__cont01,
  .case-box__cont02 {
    padding: 2rem;
  }
  .case-box__cont--ttl {
    font-size: 18px;
    margin-bottom: 1rem;
  }
  .case-box__cont--txt {
    font-size: 15px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
  }
  .case-box__cont--label {
    width: 100%;
  }
  .case-box__body--detail {
    padding: 2rem;
  }
  .case-box__body--detail .u-flex {
    flex-direction: column;
    align-items: center;
  }
  .case-box__cont01 {
    position: relative;
  }
  .case-box__cont01::after {
    content: '';
    display: block;
    width: 10rem;
    height: 4rem;
    background: #007ac9;
    position: absolute;
    bottom: -4rem;
    left: 50%;
    transform: translateX(-50%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .case-box__cont01 .case-box__cont--txt::after {
    display: none;
  }
  .case02 .u-flex__item:first-child,
  .case02 .u-flex__item:last-child {
    width: 100%;
  }
  .case-box__body {
    padding-top: 2rem;
  }
  .case-box__body--ttl {
    padding: 0 2rem;
    border-bottom: 1px solid #007ac9;
  }
  .case-box__body--ttl span {
    padding-left: 0;
    border: none;
  }
}

#prod-info {
  color: #fff;
  background: #007ac9;
}
#prod-info .headLine01 {
  color: #fff;
  line-height: 1.3;
}
#prod-info .headLine01 small {
  font-size: .8em;
}
.prod-info-box__movie video {
  width: 100%;
}
.prod-info-box__note {
  font-size: .9em;
  font-weight: bold;
  text-align: right;
}

/* 
#main .btmBox .comBtn a {
    padding: 18px;
    color: #fff;
    font-size: 1.8rem;
    background-color: #0071bf;
    display: block;
    font-weight: 700;
    text-align: center;
}
*/

#prod-info .contact_Btn {
  margin: 5rem auto 0;
  /* box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.35); */
  width: 490px;
}
#prod-info .contact_Btn a {
  color: #0071bf;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  display: block;
  padding: 18px;
  background-color: #fff;
}
/* #prod-info .contact_Btn a span {
  background: url(../img/common/icon03.png) no-repeat left center/28px auto;
  text-align: left;
} */
@media screen and (max-width: 896px) {
  #prod-info .contact_Btn {
    margin: 20px auto 0;
    width: 100%;
  }
  #main .btmBox.btmBox02 .comBtn {
    max-width: 490px;
    width: 100%;
  }
}

#rel-solution .top_solution_list {
  gap: 0 10rem;
  grid-template-columns: repeat(3, 1fr);
  place-items: center;
}
#rel-solution .top_solution_list LI {
  width: 100%;
}
#rel-solution .top_solution_list img {
  width: 100%;
}
@media screen and (max-width: 896px) {
  #rel-solution .top_solution_list {
    gap: 10px 0;
    grid-template-columns: repeat(1, 1fr);
  }
}
#main .mainVisual .imgBox video {
  right: -5%;
}
#main .mainVisual .inner .textBox .txt {
  font-size: 1.9rem!important;
}
.mainVisual__sptxt {
  color: #007ac9;
  font-weight: bold;
  text-align: center;
  background: #fff;
  padding: 10px;
  position: relative;
}
.mainVisual__sptxt::before,
.mainVisual__sptxt::after {
  content: '';
  display: block;
  width: 15px;
  height: 8px;
  background: #f0ab00;
  position: absolute;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  left: 50%;
  transform: translateX(-50%);
}
.mainVisual__sptxt::before {
  bottom: -12px;
}
.mainVisual__sptxt::after {
  bottom: -22px;
}
.mainVisual__sptxt br {
  display: block!important;
}

@media screen and (max-width: 896px) {
  #main .mainVisual .inner .textBox .txt {
    font-size: 16px!important;
  }
  #main .mainVisual .imgBox_inner:has(video)::before {
    display: none;
  }
  #main .mainVisual .imgBox_inner__catch {
    position: static;
    width: 100%;
  }
  #main .mainVisual .imgBox_inner__catch--txt {
    text-align: center;
    padding: 5px 10px;
  }
}

.bg-arrow-white {
  padding-bottom: 8rem;
}
#case {
  padding-top: 8rem;
}
@media screen and (max-width: 896px) {
  .bg-arrow-white {
    padding-bottom: 6rem;
  }
  #case {
    padding-top: 6rem;
  }
}
