@charset "UTF-8";

/*-----------------------------------------------------------------
		header
-----------------------------------------------------------------*/
.new-header {
  background: rgba(255, 255, 255, 0.95);
}
.new-nav-list a {
  text-shadow: none;
  color: #3E3E3E;
}

.new-btn-contact a {
  color: #fff;
}

/*-----------------------------------------------------------------
		main-wrap
-----------------------------------------------------------------*/
.main-wrap {
  background: none;
}

.page-ttl {
  background: #E9EBF2;
  text-align: left;
  padding-bottom: 60px;
  margin-bottom: 70px;
  height: 367px;
}

.page-ttl h1 {
  margin: auto;
  color: #041F69;
  font-size: 4.2rem;
  width: 1000px;
  letter-spacing: 0;
  padding-top: 160px;
  padding-bottom: 30px;
}

.has-lead .ttl-lead {
  margin: auto;
  color: #041F69;
  width: 1000px;
}

.scrolled h1 {
  color: #041F69;
}

.sec-wrap-l {
  scroll-margin-top: 94px;
  margin-top: 70px;
}

.link-anchor-wrap {
  display: flex;
  gap: 20px;
}

.btn-anchor-link {
  padding: 0 45px 0 20px;
  line-height: 46px;
  display: block;
  font-size: 16px;
  color: #041F69;
  border-radius: 26px;
  background: #E9EBF2 url(../img/new-top/i_arrow_bottom.png) no-repeat center right 20px;
  background-size: 13px auto;
}

.link-anchor-wrap.column-5 li {
  width: calc(20% - 16px);
}

.wd700px {
  width: 700px !important;
}

.wd100 {
  width: 100% !important;
}

br.is-sp {
  display: none;
}

br.is-pc {
  display: inline;
}

/*-----------------------------------------------------------------
		product
-----------------------------------------------------------------*/
.product .page-ttl {
  background: url(../img/new-product/bg_ttl.webp) no-repeat bottom left;
  background-size: cover;
}

.product h1 {
  color: #fff;
}

.product .ttl-lead {
  color: #fff;
}

.products-list {
  gap: 20px;
}

.products-list li {
  width: calc((100% - 40px) / 3);
  margin-right: 0;
  padding-bottom: 0;
}

.products-list.column-2 li {
  width: calc(50% - 10px);
}

.products-list li a {
  height: auto;
  padding: 0;
}

.products-list-flex {
  display: flex;
  gap: 20px;
  align-items: center;
  background: #F7F7F7;
  padding: 15px 40px;
}

.products-list-logo {
  width: 116px;
}

.products-list-logo img + img {
  margin-top: 10px;
}

.products-list-thumbnail {
  width: 146px;
}

.column-2 .products-list-logo {
  width: 148px;
}

.column-2 .products-list-thumbnail {
  width: 242px;
}

.products-list-thumbnail.jkeeper {
  padding: 25px 0;
}

.products-list-ttl {
  font-size: 2rem;
  margin-bottom: 0;
}

.products-list-notes {
  font-size: 1.4rem;
  margin-bottom: 0;
}

.mente-wrap {
  background: #F7F7F7;
  padding: 0;
  font-size: 1.4rem;
}

.mente-wrap .img-area {
  width: 490px;
}

.mente-wrap .txt-area {
  padding: 42px 34px 37px 38px;
  width: 510px;
  box-sizing: border-box;
}

.mente-wrap .txt-area p {
  margin-bottom: 35px;
}

.btn-maintenance-wrap a {
  margin: auto;
  width: 100%;
  max-width: 273px;
  padding: 0 22px;
  line-height: 55px;
  display: block;
  font-size: 16px;
  color: #fff;
  border-radius: 26px;
  background: #041F69 url(../img/new-top/i_arrow_white.png) no-repeat center right 22px;
  background-size: 24px auto;
}

/*-----------------------------------------------------------------
		campany
-----------------------------------------------------------------*/
.company .page-ttl {
  background: url(../img/new-top/bg_ttl_company.webp) no-repeat top left;
  background-size: cover;
}

.company h1 {
  color: #fff;
}

.company .ttl-lead {
  color: #fff;
}

.overview-list {
  padding: 0;
}

.overview-list .list-line dt {
  background: #E2EBF7;
  color: #041F69;
  vertical-align: middle;
  padding: 20px;
  box-sizing: border-box;
  border-bottom: 5px solid #fff;
}

.overview-list .list-line dd {
  background: #F7F7F7;
  color: #333;
  font-weight: normal;
  padding: 20px 40px;
  border-bottom: 5px solid #fff;
}

.overview-list .list-address {
  display: flex;
  flex-wrap: wrap;
}

.overview-list li .list-address dt {
  display: flex;
  align-items: center;
  color: #333;
  background: transparent;
  padding: 0;
  vertical-align: middle;
  width: 110px;
  border-bottom: none;
}

.overview-list li .list-address dd {
  vertical-align: middle;
  background: transparent;
  padding: 0;
  width: calc(100% - 110px);
  border-bottom: none;
}


.btn-map-wrap a {
  width: 100%;
  max-width: 273px;
  padding: 0 22px;
  line-height: 55px;
  display: block;
  font-size: 16px;
  color: #fff;
  border-radius: 26px;
  background: #041F69 url(../img/new-top/i_arrow_white.png) no-repeat center right 22px;
  background-size: 24px auto;
}

.history-list li dl {
  margin-bottom: 15px;
}

.history-list li dl dt {
  color: #041F69;
  font-size: 2rem;
  font-weight: bold;
  padding: 0;
  vertical-align: middle;
}

.history-list li:first-child dl dt {
  padding-top: 0;
}

.history-list li dl dd {
  color: #333;
  padding: 0;
  vertical-align: middle;
}

.history-list li:first-child dl dd {
  padding-top: 0;
}

/*-----------------------------------------------------------------
		contact
-----------------------------------------------------------------*/
.body-contact .grecaptcha-badge {
  visibility: visible;
}

.contact .list-line dt {
  display: block;
  padding-bottom: 0;
  border-bottom: none;
}

.contact .list-line dd {
  display: block;
  border-bottom: none;
}

.tel-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.tel-list li {
  width: calc(25% - 15px);
  background: #F5F5F7;
  padding: 0 30px;
  border-radius: 10px;
}

.tel-list dt.office-name {
  width: 100%;
  color: #041F69;
  font-size: 2rem;
  border-bottom: 2px solid #2FA0BA;
}

.office-tel {
  letter-spacing: normal;
}

.office-tel .txt-tel {
  display: block;
  color: #041F69;
  font-weight: bold;
}

.office-tel .tel-num {
  width: 100%;
  font-size: 2.6rem;
  padding-left: 0;
  padding-bottom: 14px;
  line-height: 1;
}

.office-tel .tel-num a {
  color: #3E3E3E;
  font-size: 2.6rem;
  font-weight: bold;
}

.office-tel .time {
  width: 100%;
  font-size: 1.6rem;
  line-height:1.4;
  color: #3E3E3E;
}

.office-detail a {
  margin: 30px auto 0;
  display: block;
  width: 188px;
  line-height: 36px;
  padding: 0 10px;
  background: #00aec8;
  text-align: center;
  color: #fff;
  border-radius: 18px;
}

.contact-form-wrap {
  display: block;
  background: #E9EBF2;
  border-radius: 10px;
  padding: 60px;
  box-sizing: border-box;
}

.contact-form {
  padding-bottom: 0;
}

.contact-form p {
  margin-bottom: 0;
}

.contact-form .form-list .list-line dt {
  font-size: 1.6rem;
  padding-top: 0;
}

.contact-form .form-list .list-line dt .required {
  position: relative;
  top: 0;
  right: 0;
  display: inline-block;
  margin-right: 10px;
  color: #041F69;
  background: transparent;
  border: 1px solid #041F69;
  border-radius: 4px;
  width: 64px;
  height: 24px;
  padding: 4px;
}

.contact-form .form-list .list-line dd {
  padding: 30px 0 70px;
  width: 100%;
}

.contact-form .form-list .list-line dd .input-wrap {
  width: 489px;
  padding-left: 0;
}

.contact-form-wrap .input-wrap input {
  height: 60px;
  padding-left: 22px;
  background: #fff;
  border-radius: 10px;
}

.contact-form-wrap input::placeholder {
    color: #B9BCC2;
    opacity: 1;
}

.contact-form-wrap textarea {
  background: #fff;
  border-radius: 10px;
}

/* Contact Form 7で定義されている要素の上書き */
.btn-wrap input.wpcf7-submit {
  background: #041F69;
  padding-left: 6px;
  border-radius: 30px;
  font-size: 1.6rem;
  width: 240px;
}

.btn-wrap input.wpcf7-submit:hover {
  color: #1ec2f1;
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s;
  opacity: 0.7;
  cursor: pointer;
}
.wpcf7-spinner {
  display: none;
}

form.submitting .wpcf7-spinner {
  display: inline-block;
}

@media screen and (max-width: 980px) {
  .sec-wrap-l {
    margin-top: 50px;
  }

  /*.product */
  .product .page-ttl {
    background: url(../img/new-product/bg_ttl.webp) no-repeat top -92px left 48%;
    background-size: 370%;
    padding-bottom: 36px;
    height: auto;
  }

  .products-list {
    flex-direction: column;
  }

  .products-list li {
    width: 100%;
  }

  .link-anchor-wrap.column-5 li {
    width: 100%;
  }

  .products-list.column-2 li {
    width: 100%;
  }

  .products-list-flex {
    flex-direction: column;
  }

  .products-list-thumbnail.jkeeper {
    padding: 0;
  }

  .products-list-logo.mh {
    width: 100%;
  }

  .products-list-logo.mh img {
    width: 49%;
  }

  .products-list-logo.mh img + img {
    margin-top: 0;
  }

  .products-list-thumbnail {
    width: 100%;
  }

  .mente-wrap .img-area {
    width: 100%;
  }

  .mente-wrap .txt-area {
    width: 100%;
    padding: 20px;
  }

  .mente-wrap .txt-area p {
    margin-bottom: 15px;
  }

  /* company */
  .company .page-ttl {
    background: url(../img/new-top/bg_ttl_company.webp) no-repeat top left;
    background-size: cover;
    padding-bottom: 36px;
    height: auto;
  }

  .list-line {
    padding: 20px 0 0;
  }

  .list-line:after {
    background: none;
  }

  .company .inner {
    padding: 0;
  }

  .overview-list li .list-line dd {
    padding-left: 20px;
  }

  /* contact */
  .contact .list-line:after {
    display: none;
  }

  .tel-list .list-line dt {
    line-height: 1.6;
  }

  .contact-form .form-list .list-line dd {
    padding: 15px 0 20px;
  }

  br.is-pc {
    display: none;
  }
  br.is-sp {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  /* base */
  .page-ttl h1 {
    padding-top: 60px;
    width: 100%;
  }

  .has-lead .ttl-lead {
    width: 100%;
  }

  /* contact */
  .link-anchor-wrap {
    flex-direction: column;
  }

  .tel-list {
    flex-direction: column;
  }

  .tel-list li {
    width: 100%;
  }

  .contact-form-wrap {
    padding: 30px;
  }

  .contact-form .form-list .list-line dd .input-wrap {
    width: 100% !important;
  }

  .office-detail a {
    width: 100%;
  }
}