@charset "UTF-8";
/* CSS Document */
/*@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese');*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
/*変数*/
/*---------画面幅---------*/
/*---------流用高---------*/
/*---------色コード---------*/
/*関数*/
/*---------------------変数レスポンシブ------------------------*/
/* リセット
----------------------------------------------------------- */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th {
  text-align: left; }

q:before, q:after {
  content: ''; }

object, embed {
  vertical-align: top; }

img, abbr, acronym, fieldset {
  border: 0; }

ul, li {
  list-style-type: none; }

/*---------------------基本------------------------*/
* {
  box-sizing: border-box;
  margin: 0;
  /*vertical-align: bottom;*/ }

html, body {
  font-family: verdana,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
  /*line-height:1.5;*/
  font-size: 16px;
  margin: 0;
  padding: 0;
  /*min-width: 1120px;*/
  -webkit-text-size-adjust: none;
  color: #333; }

img {
  max-width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  flex-shrink: 0; }

a {
  text-decoration: none;
  color: inherit;
  display: block; }

　
h2, p {
  margin: 0; }

h3 {
  font-size: 1.2rem; }

br {
  font-size: 0; }

/*初期化*/
p {
  font-size: 1rem; }

input,
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

ul {
  margin: 0;
  padding: 0; }

li {
  list-style: none;
  display: inline-block; }

span {
  display: inline-block; }

main {
  /*overflow-X: hidden;*/ }
  @media screen and (max-width: 767px) {
    main {
      /*margin-bottom: 100px;*/ } }

/*---------------------汎用------------------------*/
.wrap-style-b {
  width: 1280px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .wrap-style-b {
      width: 100%; } }

.wrap-style-1 {
  width: 1280px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .wrap-style-1 {
      width: calc(100% - 80px); } }
  @media screen and (max-width: 767px) {
    .wrap-style-1 {
      width: calc(100% - 40px); } }

.wrap-style-2 {
  width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .wrap-style-2 {
      width: calc(100% - 80px); } }
  @media screen and (max-width: 767px) {
    .wrap-style-2 {
      width: calc(100% - 40px); } }

.flex-base {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  @media screen and (max-width: 767px) {
    .flex-base {
      display: block; } }

/*---------------------フッター---------------------*/
.fix-sp-btn {
  display: none; }
  @media screen and (max-width: 767px) {
    .fix-sp-btn {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%;
      position: fixed;
      bottom: 0;
      background: #fff; }
      .fix-sp-btn > div {
        width: 49%; } }

/*---------------------バナー------------------------*/
.banner {
  width: 100%;
  padding: 120px 0 0; }
  @media screen and (max-width: 1024px) {
    .banner {
      padding: 110px 0 0; } }
  @media screen and (max-width: 768px) {
    .banner {
      padding: 85px 0 0; } }
  @media screen and (max-width: 767px) {
    .banner {
      padding: 65px 0 0; } }
  .banner img {
    display: block;
    width: 100%;
    height: 100%; }

/*---------------------ファーストビュー------------------------*/
.first-view-area h2 {
  margin-top: 100px;
  text-align: center;
  font-size: 2rem; }
  @media screen and (max-width: 767px) {
    .first-view-area h2 {
      font-size: 1.8rem; } }
.first-view-area img {
  width: 100%;
  height: 100%; }
.first-view-area .first-view {
  margin: 100px auto 60px;
  align-items: center; }
  @media screen and (max-width: 767px) {
    .first-view-area .first-view {
      flex-direction: column; } }
  .first-view-area .first-view .fv-left {
    width: 45%; }
    @media screen and (max-width: 767px) {
      .first-view-area .first-view .fv-left {
        width: 100%; } }
    .first-view-area .first-view .fv-left h3 {
      font-size: 1.6rem;
      /*color: $blue;*/
      margin-bottom: 40px;
      font-weight: bold; }
      @media screen and (max-width: 768px) {
        .first-view-area .first-view .fv-left h3 {
          /*text-align: center;*/
          font-size: 1.4rem;
          font-weight: 900; } }
      @media (max-width: 413px) {
        .first-view-area .first-view .fv-left h3 {
          margin-bottom: 20px; } }
      @media screen and (max-width: 768px) {
        .first-view-area .first-view .fv-left h3 + p {
          margin-bottom: 30px;
          text-align: justify;
          font-size: 0.9rem; } }
    .first-view-area .first-view .fv-left p {
      text-align: justify; }
  .first-view-area .first-view .fv-right {
    width: 50%; }
    @media screen and (max-width: 767px) {
      .first-view-area .first-view .fv-right {
        width: 100%; } }
.first-view-area .first-view-btn {
  margin: 0 auto 100px; }
  .first-view-area .first-view-btn .btn-detail a {
    display: grid;
    grid-template-columns: 1fr 70px;
    width: 325px;
    height: 50px;
    background-color: #414141;
    color: #FFF;
    text-align: center;
    line-height: 50px;
    margin: 0 auto; }
    @media screen and (max-width: 768px) {
      .first-view-area .first-view-btn .btn-detail a {
        width: 250px;
        grid-template-columns: 1fr 50px; } }
    .first-view-area .first-view-btn .btn-detail a .btn-text {
      font-size: 17px;
      font-weight: 500;
      padding-left: 70px; }
      @media screen and (max-width: 768px) {
        .first-view-area .first-view-btn .btn-detail a .btn-text {
          padding-left: 50px; } }
    .first-view-area .first-view-btn .btn-detail a .btn-arrow {
      font-size: 24px;
      font-weight: 600; }
      .first-view-area .first-view-btn .btn-detail a .btn-arrow img {
        width: 22px;
        margin-bottom: 5px; }

/*---------------------特徴------------------------*/
.features-area .features-copy {
  margin: 35px 0 60px; }
  @media screen and (max-width: 767px) {
    .features-area .features-copy {
      font-size: 0.9rem; } }
.features-area .features-view {
  width: 90%;
  margin: 0 auto; }
  .features-area .features-view h4 {
    color: #005273;
    font-weight: bold;
    line-height: 2rem;
    margin-bottom: 15px; }
    .features-area .features-view h4::after {
      content: '';
      border-bottom: 2px solid #005273;
      display: block; }
  @media screen and (max-width: 767px) {
    .features-area .features-view p {
      font-size: 0.9rem; } }
  .features-area .features-view .features-left {
    width: 45%; }
    @media screen and (max-width: 767px) {
      .features-area .features-view .features-left {
        width: 100%; } }
  .features-area .features-view .features-right {
    width: 45%; }
    @media screen and (max-width: 767px) {
      .features-area .features-view .features-right {
        margin-top: 25px;
        width: 100%; } }
    .features-area .features-view .features-right p span {
      font-size: 0.8rem; }
      @media screen and (max-width: 767px) {
        .features-area .features-view .features-right p span {
          font-size: 0.7rem; } }
.features-area .features-img-pc {
  width: 90%;
  margin: 60px auto 100px;
  display: block; }
  @media screen and (max-width: 767px) {
    .features-area .features-img-pc {
      display: none; } }
  .features-area .features-img-pc .features-table {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border: 2px solid #2e2624;
    text-align: center; }
    .features-area .features-img-pc .features-table .features-title {
      width: 13%;
      font-size: 0.8rem; }
      .features-area .features-img-pc .features-table .features-title dt {
        min-height: 2rem;
        line-height: 2rem;
        background: #bae2f8; }
      .features-area .features-img-pc .features-table .features-title dd {
        line-height: 2rem;
        background: #eaf5fc;
        border-top: 0.5px solid #2e2624; }
    .features-area .features-img-pc .features-table .features-list {
      width: 29%;
      border-left: 0.5px solid #2e2624;
      font-size: 0.8rem; }
      .features-area .features-img-pc .features-table .features-list dt {
        line-height: 2rem;
        background: #bae2f8; }
      .features-area .features-img-pc .features-table .features-list dd {
        line-height: 2rem;
        border-top: 0.5px solid #2e2624; }
  .features-area .features-img-pc .features-mode {
    text-align: center; }
    .features-area .features-img-pc .features-mode h4 {
      color: #d7000f;
      font-weight: bold;
      margin: 60px auto 15px; }
    .features-area .features-img-pc .features-mode .features-mode-img {
      display: flex;
      gap: 10px; }
.features-area .features-img-sp {
  width: 90%;
  margin: 60px auto;
  display: none; }
  @media screen and (max-width: 767px) {
    .features-area .features-img-sp {
      display: block; } }
  .features-area .features-img-sp .features-box {
    margin-bottom: 35px; }
    .features-area .features-img-sp .features-box .features-table {
      border: 2px solid #2e2624;
      text-align: center; }
      .features-area .features-img-sp .features-box .features-table .features-title {
        background: #bae2f8;
        font-weight: bold;
        line-height: 2rem; }
      .features-area .features-img-sp .features-box .features-table .features-list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        font-size: 0.8rem;
        border-top: 0.5px solid #2e2624; }
        @media (max-width: 413px) {
          .features-area .features-img-sp .features-box .features-table .features-list {
            font-size: 0.7rem; } }
        .features-area .features-img-sp .features-box .features-table .features-list dt {
          line-height: 2rem;
          background: #eaf5fc;
          width: 30%;
          border-right: 0.5px solid #2e2624; }
        .features-area .features-img-sp .features-box .features-table .features-list dd {
          line-height: 2rem;
          width: 70%; }
.features-area .features-double .features-double-box {
  width: 48%;
  margin-bottom: 100px; }
  @media screen and (max-width: 767px) {
    .features-area .features-double .features-double-box {
      width: 100%; } }
  .features-area .features-double .features-double-box .features-double-box-text {
    text-align: justify;
    margin: 30px auto; }
    @media screen and (max-width: 767px) {
      .features-area .features-double .features-double-box .features-double-box-text {
        font-size: 0.9rem; } }
  .features-area .features-double .features-double-box .features-double-img {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .features-area .features-double .features-double-box .features-double-img div {
      width: 48%;
      text-align: center; }
      .features-area .features-double .features-double-box .features-double-img div p {
        margin-bottom: 10px; }
        @media screen and (max-width: 767px) {
          .features-area .features-double .features-double-box .features-double-img div p {
            font-size: 0.9rem; } }
  .features-area .features-double .features-double-box .features-double-item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .features-area .features-double .features-double-box .features-double-item p {
      text-align: justify;
      margin-top: 30px;
      width: 48%; }
      @media screen and (max-width: 767px) {
        .features-area .features-double .features-double-box .features-double-item p {
          font-size: 0.8rem; } }
      .features-area .features-double .features-double-box .features-double-item p span {
        margin-top: 15px;
        font-size: 0.8rem; }
        @media screen and (max-width: 767px) {
          .features-area .features-double .features-double-box .features-double-item p span {
            font-size: 0.7rem; } }
    .features-area .features-double .features-double-box .features-double-item img {
      margin-top: 30px;
      width: 48%;
      object-fit: contain; }

/*---------------------活用事例------------------------*/
.casestudy-area {
  margin-bottom: 120px; }
  .casestudy-area .casestudy-box {
    border-radius: 30px;
    background-color: #005070;
    padding: 50px 100px;
    text-align: center; }
    @media screen and (max-width: 767px) {
      .casestudy-area .casestudy-box {
        padding: 20px; } }
    .casestudy-area .casestudy-box h3 {
      color: #FFF;
      margin-bottom: 20px;
      font-weight: bold;
      font-size: 1.2rem; }
    .casestudy-area .casestudy-box .casestudy-item {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 30px; }
      @media screen and (max-width: 767px) {
        .casestudy-area .casestudy-box .casestudy-item {
          gap: 10px; } }
      .casestudy-area .casestudy-box .casestudy-item .casestudy-img {
        width: calc(100% / 3 - 20px); }
        @media screen and (max-width: 767px) {
          .casestudy-area .casestudy-box .casestudy-item .casestudy-img {
            width: calc(100% / 2 - 10px); } }
        .casestudy-area .casestudy-box .casestudy-item .casestudy-img p {
          color: #FFF;
          font-size: 0.9rem; }
          @media screen and (max-width: 767px) {
            .casestudy-area .casestudy-box .casestudy-item .casestudy-img p {
              font-size: 0.8rem; } }

/*---------------------製品仕様------------------------*/
.product-area {
  margin-bottom: 100px; }
  .product-area h3 {
    font-weight: bold;
    margin-bottom: 30px; }
  .product-area .product-box-pc {
    display: block; }
    @media screen and (max-width: 767px) {
      .product-area .product-box-pc {
        display: none; } }
    .product-area .product-box-pc .product-list {
      border: 2px solid #231815;
      text-align: center; }
      .product-area .product-box-pc .product-list .product-title {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end; }
        .product-area .product-box-pc .product-list .product-title dt {
          width: 18%;
          min-height: 3rem;
          line-height: 3rem; }
        .product-area .product-box-pc .product-list .product-title dd {
          background-color: #c30d23;
          color: #FFF;
          font-weight: bold;
          /*font-size: 0.9rem;*/
          width: 41%;
          border-left: 1px solid #595757;
          min-height: 3rem;
          line-height: 3rem; }
          .product-area .product-box-pc .product-list .product-title dd:last-child {
            border-left: 1px solid #fff; }
        .product-area .product-box-pc .product-list .product-title dd.nvr {
          width: 82%; }
      .product-area .product-box-pc .product-list .product-img {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-top: 1px solid #595757; }
        .product-area .product-box-pc .product-list .product-img dt {
          width: 18%;
          background-color: #f8e6de; }
        .product-area .product-box-pc .product-list .product-img dd {
          width: 41%;
          padding: 50px;
          border-left: 1px solid #595757; }
        .product-area .product-box-pc .product-list .product-img dd.nvr {
          /*width: 82%;*/
          width: calc(82% / 3);
          /*padding: 20px 50px;*/
          padding: 20px 10px; }
          .product-area .product-box-pc .product-list .product-img dd.nvr img {
            /*width: 50%;*/
            width: 100%; }
        .product-area .product-box-pc .product-list .product-img dd.nvr-col2 {
          /*width: 82%;*/
          width: calc( 82% * 2 / 3);
          /*padding: 20px 50px;*/
          padding: 20px 10px; }
          .product-area .product-box-pc .product-list .product-img dd.nvr-col2 img {
            /*width: 50%;*/
            width: 100%; }
      .product-area .product-box-pc .product-list .product-item {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        border-top: 1px solid #595757; }
        .product-area .product-box-pc .product-list .product-item dt {
          width: 18%;
          background-color: #f8e6de;
          min-height: 2rem;
          /*line-height: 2rem;*/
          font-size: 0.9rem;
          padding: 10px;
          display: grid;
          place-items: center; }
        .product-area .product-box-pc .product-list .product-item dd {
          width: 41%;
          border-left: 1px solid #595757;
          min-height: 2rem;
          /*line-height: 2rem;*/
          font-size: 0.8rem;
          padding: 10px;
          display: grid;
          place-items: center; }
          .product-area .product-box-pc .product-list .product-item dd span {
            margin-left: 10px;
            font-size: 0.6rem; }
        .product-area .product-box-pc .product-list .product-item dd.nvr {
          width: calc( 82% / 3 ); }
        .product-area .product-box-pc .product-list .product-item .col2 {
          width: 82%; }
        .product-area .product-box-pc .product-list .product-item .nvr-col2 {
          width: calc( 82% * 2 / 3); }
        .product-area .product-box-pc .product-list .product-item .nvr-col3 {
          width: 82%; }
    .product-area .product-box-pc p {
      font-size: 0.8rem;
      margin-top: 15px;
      text-align: center; }
    .product-area .product-box-pc .product-btn {
      margin: 100px auto; }
      .product-area .product-box-pc .product-btn .btn-detail a {
        display: grid;
        grid-template-columns: 1fr 70px;
        width: 325px;
        height: 50px;
        background-color: #414141;
        color: #FFF;
        text-align: center;
        line-height: 50px;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          .product-area .product-box-pc .product-btn .btn-detail a {
            width: 250px;
            grid-template-columns: 1fr 50px; } }
        .product-area .product-box-pc .product-btn .btn-detail a .btn-text {
          font-size: 17px;
          font-weight: 500;
          padding-left: 70px; }
          @media screen and (max-width: 768px) {
            .product-area .product-box-pc .product-btn .btn-detail a .btn-text {
              padding-left: 50px; } }
        .product-area .product-box-pc .product-btn .btn-detail a .btn-arrow {
          font-size: 24px;
          font-weight: 600; }
          .product-area .product-box-pc .product-btn .btn-detail a .btn-arrow img {
            width: 22px;
            margin-bottom: 5px; }
      .product-area .product-box-pc .product-btn .btn-contact {
        background-color: transparent;
        border: none; }
        @media screen and (max-width: 767px) {
          .product-area .product-box-pc .product-btn .btn-contact {
            display: none; } }
        .product-area .product-box-pc .product-btn .btn-contact a {
          display: grid;
          grid-template-columns: 1fr 70px;
          width: 325px;
          height: 50px;
          background-color: #d04730;
          color: #FFF;
          text-align: center;
          line-height: 50px;
          margin: 15px auto 0; }
          @media screen and (max-width: 768px) {
            .product-area .product-box-pc .product-btn .btn-contact a {
              width: 250px;
              grid-template-columns: 1fr 50px; } }
          .product-area .product-box-pc .product-btn .btn-contact a .btn-text {
            font-size: 17px;
            font-weight: 500;
            padding-left: 70px; }
            @media screen and (max-width: 768px) {
              .product-area .product-box-pc .product-btn .btn-contact a .btn-text {
                padding-left: 50px; } }
          .product-area .product-box-pc .product-btn .btn-contact a .btn-arrow {
            font-size: 24px;
            font-weight: 600; }
            .product-area .product-box-pc .product-btn .btn-contact a .btn-arrow img {
              width: 22px;
              margin-bottom: 5px; }
  .product-area .product-box-sp {
    display: none; }
    @media screen and (max-width: 767px) {
      .product-area .product-box-sp {
        display: block; } }
    .product-area .product-box-sp .product-sp .product-list-sp {
      border: 2px solid #231815;
      text-align: center;
      margin-bottom: 50px; }
      .product-area .product-box-sp .product-sp .product-list-sp:last-of-type {
        margin-bottom: 15px; }
      .product-area .product-box-sp .product-sp .product-list-sp .product-name {
        background-color: #c30d23;
        color: #FFF;
        font-weight: bold;
        font-size: 0.8rem;
        line-height: 3rem; }
      .product-area .product-box-sp .product-sp .product-list-sp .product-img {
        padding: 40px; }
      .product-area .product-box-sp .product-sp .product-list-sp .product-item {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        border-top: 1px solid #595757; }
        .product-area .product-box-sp .product-sp .product-list-sp .product-item dt {
          width: 40%;
          background-color: #f8e6de;
          /*line-height: 2rem;*/
          font-size: 0.7rem;
          display: grid;
          place-items: center; }
        .product-area .product-box-sp .product-sp .product-list-sp .product-item dd {
          width: 60%;
          /*line-height: 2rem;*/
          font-size: 0.7rem;
          border-left: 1px solid #595757;
          padding: 15px 10px;
          display: grid;
          place-items: center;
          text-wrap: balance; }
    .product-area .product-box-sp .product-cation {
      font-size: 0.7rem;
      margin-bottom: 60px; }
    .product-area .product-box-sp .product-btn {
      margin: 60px auto 100px; }
      .product-area .product-box-sp .product-btn .btn-detail a {
        display: grid;
        grid-template-columns: 1fr 70px;
        width: 325px;
        height: 50px;
        background-color: #414141;
        color: #FFF;
        text-align: center;
        line-height: 50px;
        margin: 0 auto; }
        @media screen and (max-width: 768px) {
          .product-area .product-box-sp .product-btn .btn-detail a {
            width: 250px;
            grid-template-columns: 1fr 50px; } }
        .product-area .product-box-sp .product-btn .btn-detail a .btn-text {
          font-size: 17px;
          font-weight: 500;
          padding-left: 70px; }
          @media screen and (max-width: 768px) {
            .product-area .product-box-sp .product-btn .btn-detail a .btn-text {
              padding-left: 50px; } }
        .product-area .product-box-sp .product-btn .btn-detail a .btn-arrow {
          font-size: 24px;
          font-weight: 600; }
          .product-area .product-box-sp .product-btn .btn-detail a .btn-arrow img {
            width: 22px;
            margin-bottom: 5px; }
