@charset "UTF-8";
/* =============================================================================
   パーシャルファイル
   ========================================================================== */
/* -----------------------------------------------------------------------------
   メディアクエリ
   -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
	l-breadcrumb
	-------------------------------------------------------------------------- */
.l-breadcrumbs-wrap {
  max-width: 1040px;
  width: 100%;
  font-size: 1.2rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .l-breadcrumbs-wrap {
    display: block;
  }
}
@media screen and (min-width: 1000px) {
  .l-breadcrumbs-wrap {
    padding: 0 20px;
  }
}
.l-breadcrumbs-wrap span a {
  color: #245AB3;
}

.l-lower-breadcrumb-inner {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
  font-size: 1.2rem;
}

.l-breadcrumbs {
  font-size: 1.2rem;
  line-height: 1.2;
  color: #1A9BE0;
}
.l-breadcrumbs a {
  color: #ccc;
  text-decoration: none;
}

/* -----------------------------------------------------------------------------
	l-post
	-------------------------------------------------------------------------- */
.l-post {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.l-post p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .l-post p {
    margin-bottom: 60px;
  }
}
.l-post .wp-block-separator {
  width: 100% !important;
  border: none;
  border-bottom: 1px solid #ddd;
  margin: 0 0 20px;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-separator {
    margin: 0 0 30px;
  }
}
.l-post img {
  width: initial;
}

.l-post h2 {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #003894), color-stop(15%, #C8D7EF));
  background-image: linear-gradient(90deg, #003894 0 15%, #C8D7EF 15%);
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-position: bottom;
  color: #003894;
  margin-bottom: 30px;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-post h2 {
    font-size: 3rem;
    margin-bottom: 50px;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #003894), color-stop(10%, #C8D7EF));
    background-image: linear-gradient(90deg, #003894 0 10%, #C8D7EF 10%);
  }
}
.l-post h3 {
  font-size: 1.9rem;
  font-weight: 700;
  color: #003894;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post h3 {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
.l-post h3::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 20px;
  background-image: url(../img/common/cmn_ico01.png);
  background-size: cover;
  background-position: center;
  margin-right: 10px;
}

.l-post h4 {
  font-size: 1.7rem;
  font-weight: 700;
  color: #003894;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post h4 {
    font-size: 2rem;
    margin-bottom: 40px;
  }
}
.l-post h4::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #003894;
  border-radius: 50%;
  margin-right: 10px;
  vertical-align: middle;
  margin-bottom: 4px;
}
@media screen and (min-width: 768px) {
  .l-post h4::before {
    margin-right: 20px;
  }
}
.l-post h5 {
  font-size: 1.7rem;
  font-weight: 700;
  color: #003894;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post h5 {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
}
.l-post ul {
  padding-left: 15px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post ul {
    margin-bottom: 30px;
  }
}
.l-post ul li {
  text-indent: -15px;
  padding-left: 15px;
  color: #002767;
}

.l-post ul li:before {
  display: inline-block;
  content: "";
  width: 5px;
  height: 5px;
  background: #003894;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  top: -3px;
}

.l-post ol {
  counter-reset: item;
  margin-bottom: 30px;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .l-post ol {
    margin-bottom: 60px;
  }
}
.l-post ol li {
  text-indent: -25px;
  padding-left: 25px;
  counter-increment: title;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .l-post ol li {
    text-indent: -24px;
    padding-left: 23px;
    font-size: 1.6rem;
  }
}
.l-post ol li:before {
  content: "";
  font-family: "Roboto", sans-serif;
  font-size: 1.2rem;
  color: #fff;
  width: 16px;
  height: 16px;
  padding: 1.5px 5px;
  background-color: #003894;
  border-radius: 50%;
  content: counter(title);
  margin-right: 7px;
  position: relative;
  top: -2px;
}
@media screen and (min-width: 768px) {
  .l-post ol li:before {
    top: -3px;
  }
}
.l-post > a {
  color: #1A9BE0;
  text-decoration: none;
  border-bottom: 1px dotted #222;
}

.l-post > a:hover,
.l-post > figure a {
  border-bottom: none;
}

.l-post .wp-block-quote {
  position: relative;
  margin-bottom: 30px;
  padding: 30px 20px;
  background-color: #EFF4FC;
  border: 10px solid #F5F8FF;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-quote {
    padding: 40px;
    margin-bottom: 60px;
  }
}
.l-post .wp-block-quote::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 32px;
  height: 28px;
  background-image: url(../img/lower/quote_icon01.png);
  background-size: cover;
  background-position: left;
}

.l-post .wp-block-quote p {
  position: relative;
  font-size: 1.6rem;
  line-height: 2;
  color: #245AB3;
  font-weight: 500;
  margin-bottom: 40px;
  z-index: 1;
}

.wp-block-quote cite {
  font-size: 1.4rem;
  color: #245AB3 !important;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  color: #245AB3;
}

.wp-block-columns {
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .wp-block-columns {
    margin-bottom: 0;
  }
}
.l-post .wp-block-image {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-image {
    margin-bottom: 60px;
  }
}
.l-post ul.wp-block-gallery {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post ul.wp-block-gallery {
    margin-bottom: 30px;
  }
}
.l-post ul.wp-block-gallery li::before,
.l-post ul.blocks-gallery-grid li::before {
  display: none !important;
}

.blocks-gallery-grid {
  margin-right: -5px !important;
}

.blocks-gallery-item {
  padding-left: 0 !important;
  margin-right: 5px !important;
  margin-bottom: 5px !important;
}

.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 80px;
}

.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button {
  background-color: #003894;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button {
    width: auto;
  }
}
.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link {
  position: relative;
  background-color: #003894;
  border-radius: 0;
  color: #fff;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link {
    width: auto;
  }
}
.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0; /*初期位置は10px下*/
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  visibility: visible;
  opacity: 1;
  left: 10px; /*ホバー時は下に4pxの位置へ*/
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link::after {
    left: 0; /*初期位置は10px下*/
    visibility: hidden;
    opacity: 0;
  }
}
.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link:hover::after {
  visibility: visible;
  opacity: 1;
  left: 10px; /*ホバー時は下に4pxの位置へ*/
}
.l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link:hover {
  background-color: #003894;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-buttons.is-layout-flex.wp-block-buttons-is-layout-flex .wp-block-button .wp-block-button__link:hover {
    background-color: #245AB3;
  }
}
.l-post .wp-block-table {
  margin-bottom: 60px;
}

.l-post .wp-block-table table,
.l-post .wp-block-table td,
.l-post .wp-block-table th {
  border-collapse: collapse; /* 1pxにする */
  border: 1px solid #fff;
}

.l-post .wp-block-table thead {
  background-color: #DCE7F8;
  border-bottom: none;
}

.l-post .wp-block-table th {
  padding: 15px;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  color: #002767;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-table th {
    padding: 15px 30px;
  }
}
.l-post .wp-block-table tbody {
  background-color: #EFF4FC;
}

.l-post .wp-block-table td {
  color: #002767;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 15px;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-table td {
    padding: 15px 30px;
  }
}
.l-post .wp-block-image figcaption {
  font-size: 1.4rem;
  color: #245AB3;
  text-align: left;
  max-width: 900px;
  margin: 0 auto;
  letter-spacing: 0;
  margin-top: 15px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-post .wp-block-image figcaption {
    margin-top: 30px;
    margin-bottom: 40px;
  }
}
.l-post-wrap {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .l-post-wrap {
    padding: 100px 20px;
  }
}
.l-post-btn {
  text-align: center;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .l-post-btn {
    margin-top: 100px;
  }
}
/* -----------------------------------------------------------------------------
	wp-pagenavi
	-------------------------------------------------------------------------- */
.wp-pagenavi {
  text-align: center;
}
.wp-pagenavi a {
  display: inline-block;
  margin: 0 5px;
  font-size: 1.4rem;
  color: #fff;
  background-color: #003894;
  width: 44px;
  height: 44px;
  text-align: center;
  vertical-align: middle;
  line-height: 3;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi a {
    width: 50px;
    height: 50px;
    line-height: 3.5;
  }
}
.wp-pagenavi .current {
  display: inline-block;
  margin: 0 5px;
  font-size: 1.4rem;
  color: #002767;
  background-color: #DCE7F8;
  width: 44px;
  height: 44px;
  text-align: center;
  vertical-align: middle;
  line-height: 3;
}
@media screen and (min-width: 768px) {
  .wp-pagenavi .current {
    width: 50px;
    height: 50px;
    line-height: 3.5;
  }
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  position: relative;
  background-color: #003894;
  color: #fff;
}

/* -----------------------------------------------------------------------------
	l-404
	-------------------------------------------------------------------------- */
.l-404 {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-404 {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-404 {
    margin-top: 98px;
  }
}

.l-404-inner {
  max-width: 1040px;
  margin: 0 auto;
  padding: 100px 20px;
}

/* -----------------------------------------------------------------------------
	下層ページ共通部分
	-------------------------------------------------------------------------- */
.m-lower-ttl-wrap {
  margin-bottom: 30px;
  padding: 0 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(#EFF4FC), to(#FFF));
  background: linear-gradient(to bottom, #EFF4FC, #FFF);
}
@media screen and (min-width: 768px) {
  .m-lower-ttl-wrap {
    margin-bottom: 50px;
  }
}
.m-lower-ttl-inner {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.m-lower-ttl-inner::after {
  content: "";
  display: none;
  width: 240px;
  height: 240px;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 50px;
  right: 0;
}
@media screen and (min-width: 1000px) {
  .m-lower-ttl-inner::after {
    display: inline-block;
  }
}
.m-lower-ttl-inner.design::after {
  background-image: url(../img/lower/design_img01.png);
}

.m-lower-ttl-inner.maintenance::after {
  background-image: url(../img/lower/maintenance_img01.png);
}

.m-lower-ttl-inner.product::after {
  background-image: url(../img/lower/product_img01.png);
}

.m-lower-ttl-inner.system::after {
  background-image: url(../img/lower/system_img01.png);
}

.m-lower-ttl-inner.equipment::after {
  background-image: url(../img/lower/equipment_img01.png);
}

.m-lower-ttl-inner.facility::after {
  background-image: url(../img/lower/facility_img01.png);
}

.m-lower-ttl-inner .m-cmn-ttl-deco {
  padding-top: 50px;
  line-height: 1.5;
  font-size: 1.8rem;
}
@media screen and (min-width: 1000px) {
  .m-lower-ttl-inner .m-cmn-ttl-deco {
    padding-top: 100px;
  }
}
.m-lower-ttl-inner .m-cmn-ttl {
  font-size: 3rem;
}
@media screen and (min-width: 768px) {
  .m-lower-ttl-inner .m-cmn-ttl {
    font-size: 4rem;
  }
}
.m-lower-sub-ttl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #003894), color-stop(15%, #C8D7EF));
  background-image: linear-gradient(90deg, #003894 0 15%, #C8D7EF 15%);
  background-repeat: no-repeat;
  background-size: 100% 3px;
  background-position: bottom;
  padding-bottom: 30px;
  color: #003894;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .m-lower-sub-ttl {
    font-size: 3rem;
    margin-bottom: 50px;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #003894), color-stop(10%, #C8D7EF));
    background-image: linear-gradient(90deg, #003894 0 10%, #C8D7EF 10%);
  }
}
.m-lower-sub-head {
  font-size: 2rem;
  font-weight: 700;
  color: #003894;
  line-height: 1.4;
  text-indent: -28px;
  padding-left: 28px;
}
@media screen and (min-width: 768px) {
  .m-lower-sub-head {
    font-size: 2.4rem;
  }
}
.m-lower-sub-head::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 20px;
  background-image: url(../img/common/cmn_ico01.png);
  background-size: cover;
  background-position: center;
  margin-right: 13px;
}

.m-lower-cv-wrap {
  padding: 0 20px;
}

.m-lower-cv-wrap-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.m-lower-cv-btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 50px 20px;
  background-color: #003894;
}
@media screen and (min-width: 768px) {
  .m-lower-cv-btn-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 30px;
  }
}
.m-lower-cv-btn {
  width: 100%;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .m-lower-cv-btn {
    width: 260px;
  }
}
.m-lower-cv-case-btn {
  border: 1px solid #fff;
}

.m-lower-cv-case-btn a {
  position: relative;
  display: block;
  padding: 30px 0;
  color: #FFF;
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-case-btn a {
    padding: 20px 0;
    background-color: #245AB3;
  }
}
.m-lower-cv-case-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-case-btn a::after {
    visibility: visible;
    opacity: 1;
    left: 30px;
  }
}
.m-lower-cv-case-btn a:hover::after {
  visibility: visible;
  opacity: 1;
  left: 30px;
}

.m-lower-cv-case-btn a:hover {
  color: #fff;
  background-color: #245AB3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.m-lower-cv-document-btn a {
  position: relative;
  display: block;
  padding: 30px 0;
  color: #002767;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-document-btn a {
    padding: 20px 0;
    background-color: #7ADFED;
  }
}
.m-lower-cv-document-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #002767;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-document-btn a::after {
    visibility: visible;
    opacity: 1;
    left: 30px;
  }
}
.m-lower-cv-document-btn a:hover::after {
  visibility: visible;
  opacity: 1;
  left: 30px;
}

.m-lower-cv-document-btn a:hover {
  background-color: #7ADFED;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.m-lower-cv-contact-btn a {
  position: relative;
  display: block;
  padding: 30px 0;
  color: #002767;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-contact-btn a {
    padding: 20px 0;
    background-color: #7ADFED;
  }
}
.m-lower-cv-contact-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #002767;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .m-lower-cv-contact-btn a::after {
    visibility: visible;
    opacity: 1;
    left: 30px;
  }
}
.m-lower-cv-contact-btn a:hover::after {
  visibility: visible;
  opacity: 1;
  left: 30px;
}

.m-lower-cv-contact-btn a:hover {
  background-color: #7ADFED;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* -----------------------------------------------------------------------------
   l-lower-design
   -------------------------------------------------------------------------- */
.l-lower-design {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-design {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-design {
    margin-top: 98px;
  }
}

.l-lower-design-value {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-design-value {
    padding: 100px 20px;
  }
}
.l-lower-design-value-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-design-value-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-value-gallery {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 40px;
  }
}
.l-lower-design-value-gallery-left-box {
  width: 100%;
  margin-right: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-value-gallery-left-box {
    width: 660px;
    margin-bottom: 0;
  }
}
.l-lower-design-value-gallery-right-box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .l-lower-design-value-gallery-right-box {
    width: 300px;
  }
}
.l-lower-design-value-gallery-right-box img {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-value-gallery-right-box img {
    margin-bottom: 0;
  }
}
.l-lower-design-value-gallery-right-box img:last-of-type {
  margin-bottom: 0;
}

.l-lower-design-system {
  padding: 50px 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(#EFF4FC), to(#FFF));
  background: linear-gradient(to bottom, #EFF4FC, #FFF);
}
@media screen and (min-width: 1000px) {
  .l-lower-design-system {
    padding: 100px 20px;
  }
}
.l-lower-design-system-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-design-system-lists {
  max-width: 250px;
  margin: 0 auto;
  padding: 0 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-system-lists {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 860px;
  }
}
.l-lower-design-system-lists li {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-system-lists li {
    width: 200px;
    margin-bottom: 0;
  }
}
.l-lower-design-system-lists li:last-of-type {
  margin-bottom: 0;
}

.l-lower-design-system-lists li p {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  margin-top: 20px;
}

.l-lower-design-system-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-design-system-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-design-system-info-img-box {
  width: 100%;
  padding-right: 0;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-design-system-info-img-box {
    width: 50%;
    padding-right: 50px;
    margin-bottom: 0;
  }
}
.l-lower-design-system-info-txt-box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .l-lower-design-system-info-txt-box {
    width: 50%;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-maintenance
   -------------------------------------------------------------------------- */
.l-lower-maintenance {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-maintenance {
    margin-top: 98px;
  }
}

.l-lower-maintenance-service {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-maintenance-service {
    padding: 130px 20px 100px;
  }
}
.l-lower-maintenance-service-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-maintenance-service-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-service-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-maintenance-service-info-img-box {
  width: 100%;
  padding-right: 0;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-service-info-img-box {
    width: 50%;
    padding-right: 50px;
    margin-bottom: 0;
  }
}
.l-lower-maintenance-service-info-txt-box {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-service-info-txt-box {
    width: 50%;
  }
}
.l-lower-maintenance-service-info-desc {
  margin-bottom: 20px;
}

.l-lower-maintenance-service-info-attention {
  font-size: 1.4rem;
  color: #245AB3;
}

.l-lower-maintenance-voice {
  padding: 50px 20px;
  background: -webkit-gradient(linear, left top, left bottom, from(#EFF4FC), to(#FFF));
  background: linear-gradient(to bottom, #EFF4FC, #FFF);
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-voice {
    padding: 100px 20px;
  }
}
.l-lower-maintenance-voice-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-maintenance-voice-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-voice-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-maintenance-voice-info-img-box {
  max-width: 250px;
  margin: 0 auto;
  margin-bottom: 20px;
}
@media screen and (min-width: 480px) {
  .l-lower-maintenance-voice-info-img-box {
    max-width: 300px;
  }
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-voice-info-img-box {
    width: 220px;
    margin: 0;
    margin-bottom: 0;
  }
}
.l-lower-maintenance-voice-info-txt-box {
  width: 100%;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-voice-info-txt-box {
    width: calc(100% - 220px);
    padding-left: 50px;
  }
}
.l-lower-maintenance-voice-info-txt-box .m-lower-sub-head {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-maintenance-voice-info-txt-box .m-lower-sub-head {
    margin-bottom: 25px;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-facility
   -------------------------------------------------------------------------- */
.l-lower-facility {
  margin-top: 60px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-facility {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-facility {
    margin-top: 98px;
  }
}

.l-lower-facility-topic {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-facility-topic {
    padding: 130px 20px 100px;
  }
}
.l-lower-facility-topic-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-facility-topic-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-topic-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-facility-topic-info {
    gap: 50px;
  }
}
.l-lower-facility-topic-info-left-box {
  width: 100%;
  background-color: #EFF4FC;
  padding: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-topic-info-left-box {
    width: 50%;
  }
}
.l-lower-facility-topic-info-right-box {
  width: 100%;
  background-color: #EFF4FC;
  padding: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-topic-info-right-box {
    width: 50%;
  }
}
.l-lower-facility-topic-info-img {
  margin-bottom: 30px;
}

.l-lower-facility-topic-info-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-topic-info-ttl {
    font-size: 2.1rem;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-facility-topic-info-ttl {
    font-size: 2.4rem;
  }
}
.l-lower-facility-lists {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-facility-lists {
    padding: 100px 20px;
  }
}
.l-lower-facility-lists-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-facility-item-box {
  margin-top: 70px;
}
@media screen and (min-width: 1000px) {
  .l-lower-facility-item-box {
    margin-top: 100px;
  }
}
.l-lower-facility-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-facility-item:last-of-type {
  margin-bottom: 0;
}

.l-lower-facility-item-img-box {
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-img-box {
    width: 300px;
    margin: 0;
    margin-bottom: 0;
  }
}
.l-lower-facility-item-txt-box {
  width: 100%;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-txt-box {
    padding-left: 50px;
    width: calc(100% - 300px);
  }
}
.l-lower-facility-item-txt-box-ttl {
  padding-left: 25px;
  text-indent: -25px;
  margin-bottom: 20px;
  line-height: 1.5;
  color: #003894;
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-txt-box-ttl {
    font-size: 2rem;
    padding-left: 30px;
    text-indent: -30px;
  }
}
.l-lower-facility-item-txt-box-ttl::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #003894;
  border-radius: 50%;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-txt-box-ttl::before {
    margin-right: 15px;
  }
}
.l-lower-facility-item-txt-desc-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  margin-top: 30px;
}
@media screen and (min-width: 480px) {
  .l-lower-facility-item-txt-desc-box {
    gap: 30px;
  }
}
.l-lower-facility-item-txt-desc-box li {
  width: 300px;
}

.l-lower-facility-item-txt-desc-box img {
  margin-bottom: 10px;
}

.l-lower-facility-item-txt-desc-box p {
  font-size: 1.4rem;
  color: #245AB3;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-txt-desc-box p {
    text-align: left;
  }
}
.l-lower-facility-item-txt-desc-box p.l-lower-facility-sub-txt {
  font-size: 1.6rem;
  color: #003894;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-item-txt-desc-box p.l-lower-facility-sub-txt {
    text-align: left;
  }
}
.l-lower-facility-lists .m-lower-sub-head {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-facility-lists .m-lower-sub-head {
    margin-bottom: 30px;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-equipment
   -------------------------------------------------------------------------- */
.l-lower-equipment {
  margin-bottom: 50px;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-equipment {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-equipment {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-equipment {
    margin-top: 98px;
  }
}

.l-lower-equipment-sub-ttl {
  font-size: 1.8rem;
  color: #003894;
  font-weight: 700;
  margin-bottom: 10px;
}

.l-lower-equipment-item-detail-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1000px) {
  .l-lower-equipment-item-detail-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-equipment-item-detail-item dt {
  width: 100%;
  background-color: #DCE7F8;
  border-bottom: none;
  padding: 5px 15px;
}
@media screen and (min-width: 1000px) {
  .l-lower-equipment-item-detail-item dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 15px 10px;
    width: 190px;
    border-bottom: 1px solid #fff;
  }
}
.l-lower-equipment-item-detail-item dd {
  width: 100%;
  background-color: #EFF4FC;
  border-bottom: 1px solid #fff;
  padding: 5px 15px;
}
@media screen and (min-width: 1000px) {
  .l-lower-equipment-item-detail-item dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: calc(100% - 190px);
    padding: 15px 20px;
  }
}
.l-lower-equipment-item-detail-item:last-of-type dt,
.l-lower-equipment-item-detail-item:last-of-type dd {
  border-bottom: none;
}

.l-lower-equipment-item-lists li {
  color: #002767;
  text-indent: -15px;
  padding-left: 15px;
}

.l-lower-equipment-item-lists li::before {
  display: inline-block;
  content: "";
  width: 5px;
  height: 5px;
  background: #003894;
  border-radius: 50%;
  margin-right: 10px;
  position: relative;
  top: -3px;
}

/* -----------------------------------------------------------------------------
   l-lower-system
   -------------------------------------------------------------------------- */
.l-lower-system {
  margin-bottom: 50px;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-system {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-system {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-system {
    margin-top: 98px;
  }
}

.l-lower-system-topic {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-topic {
    padding: 130px 20px 100px;
  }
}
.l-lower-system-topic-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-system-topic-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-system-topic-info {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-system-topic-info-img-box {
  width: 100%;
  padding-right: 0;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-topic-info-img-box {
    width: 50%;
    padding-right: 50px;
    margin-bottom: 0;
  }
}
.l-lower-system-topic-info-txt-box {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-lower-system-topic-info-txt-box {
    width: 50%;
  }
}
.l-lower-system-topic-info-txt-box .m-lower-sub-head {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-topic-info-txt-box .m-lower-sub-head {
    margin-bottom: 25px;
  }
}
.l-lower-system-box {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-box {
    padding: 100px 20px;
  }
}
.l-lower-system-box-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-system-box-inner > p {
  margin-bottom: 50px;
}
.l-lower-system-box-items {
  max-width: 300px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 40px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-box-items {
    max-width: 740px;
    gap: 50px 40px;
  }
}
.l-lower-system-box-items li {
  width: 100%;
  color: #245AB3;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .l-lower-system-box-items li {
    width: 220px;
  }
}
.l-lower-system-box-items li img {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-box-items li img {
    margin-bottom: 20px;
  }
}
.l-lower-system-customization {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-customization {
    padding: 100px 20px;
  }
}
.l-lower-system-customization-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-system-customization-inner > p {
  margin-bottom: 50px;
}

.l-lower-system-customization-diagram {
  max-width: 600px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #EFF4FC;
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-customization-diagram {
    padding: 50px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-system-customization-diagram {
    max-width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
  }
}
.l-lower-system-customization-diagram-left-box {
  width: 100%;
  margin-right: 0;
  margin-bottom: 50px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-customization-diagram-left-box {
    width: 50%;
    margin-right: 25px;
    margin-bottom: 0;
  }
}
.l-lower-system-customization-diagram-right-box {
  width: 100%;
  margin-left: 0;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-customization-diagram-right-box {
    width: 50%;
    margin-left: 25px;
  }
}
.l-lower-system-customization-diagram-ttl {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px;
  color: #003894;
  text-indent: -20px;
  padding-left: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-customization-diagram-ttl {
    font-size: 2rem;
    margin-bottom: 30px;
  }
}
.l-lower-system-customization-diagram-ttl::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #003894;
  border-radius: 50%;
  margin-right: 10px;
  margin-bottom: 3px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-customization-diagram-ttl::before {
    margin-right: 15px;
  }
}
.l-lower-system-flow {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow {
    padding: 100px 20px;
  }
}
.l-lower-system-flow-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-system-flow-box {
  position: relative;
}

.l-lower-system-flow-box::before {
  content: "";
  display: inline-block;
  height: 89%;
  width: 3px;
  background-color: #003894;
  position: absolute;
  left: 38px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow-box::before {
    height: 100%;
    left: 223px;
  }
}
.l-lower-system-flow-item {
  position: relative;
  margin-bottom: 50px;
  counter-increment: mycounter;
}

.l-lower-system-flow-item::before {
  content: counter(mycounter, decimal-leading-zero);
  display: inline-block;
  width: 67px;
  height: 67px;
  border-radius: 50%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 2rem;
  font-family: "Roboto", sans-serif;
  color: #003894;
  background: -webkit-gradient(linear, left top, left bottom, from(#EFF4FC), to(#C8D7EF));
  background: linear-gradient(to bottom, #EFF4FC, #C8D7EF);
  position: absolute;
  top: 5px;
  left: 5px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-flow-item::before {
    width: 70px;
    height: 70px;
    font-size: 2.4rem;
  }
}
.l-lower-system-flow-item:last-of-type {
  margin-bottom: 0;
}

.l-lower-system-flow-item-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow-item-inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-system-flow-item-ttl-box {
  width: 100%;
  margin-bottom: 10px;
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow-item-ttl-box {
    width: 50%;
    margin-bottom: 0;
  }
}
.l-lower-system-flow-item-ttl-box > h3 {
  width: 370px;
  display: block;
  background-color: #003894;
  font-size: 1.8rem;
  color: #fff;
  line-height: 1.5;
  padding: 25px 0;
  border-radius: 40px;
  text-align: left;
  padding-left: 90px;
}
@media screen and (min-width: 480px) {
  .l-lower-system-flow-item-ttl-box > h3 {
    display: inline-block;
    width: 450px;
  }
}
@media screen and (min-width: 768px) {
  .l-lower-system-flow-item-ttl-box > h3 {
    font-size: 2rem;
    padding-left: 100px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow-item-ttl-box > h3 {
    text-align: center;
    padding-left: 0;
  }
}
.l-lower-system-flow-item-txt-box {
  width: 100%;
  padding-left: 90px;
}
@media screen and (min-width: 768px) {
  .l-lower-system-flow-item-txt-box {
    padding-left: 100px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-system-flow-item-txt-box {
    width: 50%;
    padding-left: 0;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-product
   -------------------------------------------------------------------------- */
.l-lower-product {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-product {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-product {
    margin-top: 98px;
  }
}

.l-lower-product-topic {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-topic {
    padding: 100px 20px;
  }
}
.l-lower-product-topic-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-product-topic-inner > p {
  margin-bottom: 50px;
}

.l-lower-product-topic-inner img {
  margin-bottom: 50px;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-topic-inner img {
    margin-bottom: 100px;
  }
}
.l-lower-product-topic-nav-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-topic-nav-box {
    gap: 8px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.l-lower-product-topic-nav-item {
  width: 100%;
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .l-lower-product-topic-nav-item {
    width: 49%;
    text-align: center;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-product-topic-nav-item {
    width: 244px;
  }
}
.l-lower-product-topic-nav-item p a {
  position: relative;
  display: block;
  padding: 12px 0;
  color: #fff;
  background-color: #245AB3;
  padding-left: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-topic-nav-item p a {
    background-color: #003894;
    padding-left: 0;
  }
}
.l-lower-product-topic-nav-item p a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-lower-product-topic-nav-item p a::after {
    visibility: visible;
    opacity: 1;
    left: 30px;
  }
}
.l-lower-product-topic-nav-item p a:hover::after {
  visibility: visible;
  opacity: 1;
  left: 10px;
}
@media screen and (max-width: 767px) {
  .l-lower-product-topic-nav-item p a:hover::after {
    left: 30px;
  }
}
.l-lower-product-topic-nav-item p a:hover {
  color: #fff;
  background-color: #245AB3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-lower-product-system {
  padding: 50px 20px 0;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-system {
    padding: 100px 20px 0;
  }
}
.l-lower-product-system-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-product-system-inner > p {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-system-inner > p {
    margin-bottom: 50px;
  }
}
.l-lower-product-system-inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  max-width: 740px;
  margin: 0 auto;
  gap: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-system-inner ul {
    margin-bottom: 50px;
    gap: 40px;
  }
}
.l-lower-product-btn {
  text-align: center;
}

.l-lower-product-qr {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-qr {
    padding: 100px 20px 50px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-product-qr {
    padding: 100px 20px;
  }
}
.l-lower-product-qr-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-product-qr-inner > p {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-qr-inner > p {
    margin-bottom: 50px;
  }
}
.l-lower-product-qr-inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  max-width: 740px;
  margin: 0 auto;
  gap: 10px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-qr-inner ul {
    margin-bottom: 50px;
    gap: 40px;
  }
}
.l-lower-product-qr-inner ul li > p {
  color: #245AB3;
  font-size: 1.2rem;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-qr-inner ul li > p {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
.l-lower-product-equipment {
  padding: 50px 20px 0;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-equipment {
    padding: 100px 20px 0;
  }
}
.l-lower-product-equipment-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-product-equipment-inner > p {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-equipment-inner > p {
    margin-bottom: 50px;
  }
}
.l-lower-product-equipment-section:first-of-type {
  margin-bottom: 70px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-equipment-section:first-of-type {
    margin-bottom: 100px;
  }
}
.l-lower-product-equipment-section .m-lower-sub-head {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-equipment-section .m-lower-sub-head {
    margin-bottom: 50px;
  }
}
.l-lower-product-equipment-section ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 20px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-equipment-section ul {
    margin-bottom: 50px;
    gap: 40px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.l-lower-product-equipment-section ul li {
  width: 47%;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-equipment-section ul li {
    width: 220px;
  }
}
.l-lower-product-equipment-section ul li p {
  font-size: 1.2rem;
  color: #245AB3;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-equipment-section ul li p {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
.l-lower-product-facility {
  padding: 50px 20px;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-facility {
    padding: 100px 20px;
  }
}
.l-lower-product-facility-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-product-facility-inner > p {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-facility-inner > p {
    margin-bottom: 50px;
  }
}
.l-lower-product-facility-inner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 20px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-facility-inner ul {
    margin-bottom: 50px;
    gap: 40px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.l-lower-product-facility-inner ul li {
  width: 47%;
}
@media screen and (min-width: 1000px) {
  .l-lower-product-facility-inner ul li {
    width: 220px;
  }
}
.l-lower-product-facility-inner ul li p {
  font-size: 1.2rem;
  color: #245AB3;
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .l-lower-product-facility-inner ul li p {
    font-size: 1.4rem;
    margin-top: 15px;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-company
   -------------------------------------------------------------------------- */
.l-lower-company {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-company {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-company {
    margin-top: 98px;
  }
}

.l-lower-company-about {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about {
    padding: 130px 20px 100px;
  }
}
.l-lower-company-about-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-company-about-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-company-about-item dt {
  width: 100%;
  padding: 15px 0 15px 20px;
  font-weight: 700;
  background-color: #DCE7F8;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item dt {
    width: 150px;
    padding: 20px 0 20px 30px;
    border-bottom: 1px solid #fff;
  }
}
.l-lower-company-about-item dd {
  width: 100%;
  padding: 15px 20px;
  background-color: #EFF4FC;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item dd {
    width: calc(100% - 150px);
    padding: 20px 30px;
  }
}
.l-lower-company-about-item dd ul li {
  text-indent: -13px;
  padding-left: 15px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item dd ul li {
    text-indent: -21px;
    padding-left: 21px;
  }
}
.l-lower-company-about-item dd ul li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background-color: #003894;
  border-radius: 5px;
  margin-right: 8px;
  margin-bottom: 4px;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item dd ul li::before {
    margin-right: 15px;
  }
}
.l-lower-company-about-item dd ul li span {
  display: block;
  font-size: 1.3rem;
  padding-left: 10px;
  text-indent: 0;
}
@media screen and (min-width: 768px) {
  .l-lower-company-about-item dd ul li span {
    font-size: 1.4rem;
    padding-left: 0;
  }
}
.l-lower-company-map {
  padding: 0 20px 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-map {
    padding: 0 20px 100px;
  }
}
.l-lower-company-map-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-company-map-box {
  width: 100%;
  height: 300px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-map-box {
    height: 500px;
  }
}
.l-lower-company-history {
  padding: 0 20px 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-history {
    padding: 0 20px 100px;
  }
}
.l-lower-company-history-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-company-history-box {
  position: relative;
}

.l-lower-company-history-box::before {
  background: radial-gradient(circle farthest-side, #C8D7EF, #C8D7EF 50%, transparent 30%, transparent);
  background-size: 10px 14px;
  content: "";
  display: block;
  height: auto;
  width: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-history-box::before {
    left: 49px;
  }
}
.l-lower-company-history-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 50px;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .l-lower-company-history-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-company-history-item:last-of-type {
  margin-bottom: 0;
  background-color: #fff;
}

.l-lower-company-history-item-date {
  margin-right: 10px;
}

.l-lower-company-history-item-date span {
  display: block;
  width: 100%;
  font-weight: 700;
  padding: 5px 10px 5px 10px;
  background-color: #C8D7EF;
}
@media screen and (min-width: 768px) {
  .l-lower-company-history-item-date span {
    width: 110px;
    padding: 10px 0 10px 10px;
  }
}
.l-lower-company-history-item-desc {
  width: 100%;
  padding: 10px 20px 10px 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-company-history-item-desc {
    width: calc(100% - 110px);
    padding: 10px 0 10px 0px;
  }
}
/* -----------------------------------------------------------------------------
   l-lower-contact
   -------------------------------------------------------------------------- */
.l-lower-contact {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-contact {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-contact {
    margin-top: 98px;
  }
}

.l-lower-contact-box {
  max-width: 1000px;
  margin: 50px auto;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-contact-box {
    margin: 100px auto;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-contact-box {
    padding: 0;
  }
}

.l-lower-contact-box-desc {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-contact-box-desc {
    margin-bottom: 50px;
  }
}
.l-contact-dl-wrap {
  text-align: center;
}

.l-lower-contact-txt-box {
  max-width: 1000px;
  margin: 100px auto;
  padding: 0 20px;
}
@media screen and (min-width: 1200px) {
  .l-lower-contact-txt-box {
    padding: 0;
  }
}

.l-lower-contact-thanks-desc {
  margin-bottom: 20px;
}

/* -----------------------------------------------------------------------------
   l-contact-dl
  -------------------------------------------------------------------------- */
.l-contact-dl {
  text-align: center;
  margin-bottom: 30px;
}

.l-contact-dl div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: none;
  padding-top: 20px;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-contact-dl div {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    border-top: 1px solid #C8D7EF;
    padding-bottom: 20px;
  }
}
.l-contact-dl div:last-of-type {
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .l-contact-dl div:last-of-type {
    border-bottom: 1px solid #C8D7EF;
  }
}
.l-contact-dl dt {
  width: 220px;
  padding-left: 0;
  font-size: 1.6rem;
  font-weight: 600;
  color: #002767;
  text-align: left;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .l-contact-dl dt {
    padding-left: 20px;
    margin-bottom: 0;
  }
}
.m-required {
  font-size: 1.3rem;
  font-weight: 500;
  color: #fff;
  padding: 0px 10px;
  margin-left: 10px;
  background-color: #003894;
}

.l-contact-dl dd {
  width: 100%;
  font-size: 1.6rem;
  color: #333;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .l-contact-dl dd {
    width: 400px;
  }
}
.l-contact-dl dd input[type=text],
.l-contact-dl dd input[type=email],
.l-contact-dl dd input[type=tel] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 40px;
  padding-left: 10px;
  border: 1px solid #C8D7EF;
  background-color: #fff;
}

.l-contact-dl dd .m-select {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  text-align: center;
  position: relative;
  border: 1px solid #C8D7EF;
  border-radius: 3px;
  background: #fff;
}

.l-contact-dl dd select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 5px 30px 5px 10px;
}

.l-contact-dl dd .m-select::before {
  position: absolute;
  top: 17px;
  right: 7px;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #999;
  pointer-events: none;
}

.l-contact-dl dd .m-select::after {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 1px;
  content: "";
  border-left: 1px solid #eee;
}

.l-contact-dl dd.l-contact-min input {
  width: 120px;
}

.l-contact-dl dd textarea {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 140px;
  padding-top: 5px;
  padding-left: 10px;
  border: 1px solid #C8D7EF;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .l-contact-dl dd textarea {
    width: 400px;
  }
}
.l-contact-button-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.l-contact-button-box input[type=submit],
.l-contact-button-box button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  cursor: pointer;
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0.15em;
  text-decoration: none;
  padding: 7px 30px;
  margin-left: 5px;
  margin-right: 5px;
  position: relative;
  background-color: #003894;
}
.wpcf7-list-item {
  display: block !important;
  margin-left: 5px !important;
}

input[type=radio] {
  display: none;
}

input[type=radio] + span {
  cursor: pointer;
  display: inline-block;
  font-size: 1.5rem;
  padding-left: 20px;
  position: relative;
}

input[type=radio] + span::before {
  content: "";
  display: block;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 12px;
  height: 12px;
  width: 12px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

input[type=radio] + span::after {
  content: "";
  height: 6px;
  width: 6px;
  background-color: #5c3386;
  border: 1px solid transparent;
  border-radius: 8px;
  position: absolute;
  top: 50%;
  left: 3px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
}

input[type=radio]:checked + span::after {
  opacity: 1;
}

.wpcf7 form .wpcf7-response-output {
  font-size: 1.3rem !important;
  margin: 0 !important;
}

.wpcf7-not-valid-tip {
  text-align: left;
  font-size: 1.3rem !important;
}

.l-contact-acceptance-confirm-text {
  font-size: 1.3rem;
  color: #002767;
  text-decoration: underline;
  margin-top: 15px;
  margin-bottom: 50px;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-radio {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 480px) {
  .wpcf7-radio {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.wpcf7-radio .wpcf7-list-item {
  margin-right: 0;
  color: #002767;
}
@media screen and (min-width: 480px) {
  .wpcf7-radio .wpcf7-list-item {
    margin-right: 20px;
  }
}
input[type=radio] + span::before {
  border: 1px solid #C8D7EF;
}

input[type=radio] + span::after {
  background-color: #002767;
}

/* -----------------------------------------------------------------------------
   l-404
  -------------------------------------------------------------------------- */
.l-lower-404 {
  padding: 70px 20px 70px;
}
@media screen and (min-width: 768px) {
  .l-lower-404 {
    padding: 100px 20px 150px;
  }
}
.l-lower-404-box {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .l-lower-404-box {
    max-width: 620px;
  }
}
.l-lower-404-title {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-404-title {
    margin-bottom: 70px;
  }
}
.l-lower-404-title span {
  display: block;
  margin-top: 5px;
  margin-left: 0;
}

.l-lower-404-box-text {
  margin-bottom: 50px;
}

/* -----------------------------------------------------------------------------
	各カテゴリー一覧ページのタイトル部分
	-------------------------------------------------------------------------- */
.l-lower-category-ttl-wrap {
  max-width: 1000px;
  margin: 0 auto;
}

.l-lower-category-ttl-wra .m-lower-sub-ttl {
  margin-bottom: 50px;
}

/* -----------------------------------------------------------------------------
	l-lower-news
	-------------------------------------------------------------------------- */
.l-lower-news {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-news {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-news {
    margin-top: 98px;
  }
}

.l-lower-news .l-lower-news-single-ttl .m-cmn-ttl::before {
  content: "新着情報：";
  display: inline-block;
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-lower-news .l-lower-news-single-ttl .m-cmn-ttl::before {
    font-size: 4rem;
  }
}
.l-lower-news .l-lower-news-single-ttl.l-lower-page-ttl .m-cmn-ttl::before {
  content: "";
}

.l-lower-news-box-wrap {
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-news-box-wrap {
    padding: 100px 20px;
  }
}
.l-lower-news-box {
  max-width: 1000px;
  margin: 0 auto 100px;
}
.l-lower-news-box-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #EFF4FC;
  border-bottom: 1px solid #fff;
  padding: 10px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-news-box-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 15px 30px;
  }
}
.l-lower-news-box-item > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.l-lower-news-box-item-date-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-lower-news-box-item-date {
  margin-right: 20px;
}

.l-lower-news-box-item-cate {
  margin-right: 20px;
  white-space: nowrap;
}

.l-lower-news-box-item-cate a {
  font-size: 1.3rem;
  padding: 3px 5px;
  color: #fff;
  background-color: #003894;
  z-index: 1;
  position: relative;
}

/* -----------------------------------------------------------------------------
	l-lower-case
	-------------------------------------------------------------------------- */
.l-lower-case {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .l-lower-case {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1200px) {
  .l-lower-case {
    margin-top: 98px;
  }
}

.l-lower-case .l-lower-case-single-ttl .m-cmn-ttl::before {
  content: "導入事例：";
  display: inline-block;
  font-size: 3rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-lower-case .l-lower-case-single-ttl .m-cmn-ttl::before {
    font-size: 4rem;
  }
}
.l-lower-case-contents-wrap {
  max-width: 1040px;
  margin: 0 auto;
  padding: 50px 20px;
}
@media screen and (min-width: 768px) {
  .l-lower-case-contents-wrap {
    padding: 100px 20px;
  }
}
.l-lower-case-contents-nav {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .l-lower-case-contents-nav {
    margin-bottom: 50px;
  }
}
.l-lower-case-contents-nav-ttl {
  background-color: #DCE7F8;
  font-size: 1.8rem;
  font-weight: 700;
  padding: 10px 30px;
}

.l-lower-case-contents-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 30px;
  background-color: #EFF4FC;
}
@media screen and (min-width: 768px) {
  .l-lower-case-contents-nav ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-case-contents-nav-item {
  margin-right: 35px;
}

.l-lower-case-contents-nav-item a {
  position: relative;
  padding-bottom: 2px;
  border-bottom: 1px solid #002767;
}
@media screen and (max-width: 767px) {
  .l-lower-case-contents-nav-item a {
    color: #245AB3;
    border-bottom: 1px solid #245AB3;
  }
}
.l-lower-case-contents-nav-item a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -30px; /*初期位置は10px下*/
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #245AB3;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .l-lower-case-contents-nav-item a::after {
    visibility: visible;
    opacity: 1;
    left: -10px;
  }
}
.l-lower-case-contents-nav-item a:hover::after {
  visibility: visible;
  opacity: 1;
  left: -10px; /*ホバー時は下に4pxの位置へ*/
}

.l-lower-case-contents-nav-item a:hover {
  color: #245AB3;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  border-bottom: 1px solid #245AB3;
}

.l-lower-case-contents-items {
  max-width: 650px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 50px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-case-contents-items {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 1000px) {
  .l-lower-case-contents-items {
    max-width: 100%;
  }
}
.l-lower-case-contents-items li {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-case-contents-items li {
    width: 300px;
  }
}
.l-lower-case-contents-items li img {
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 10px;
}

.l-index-case-item-info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.l-lower-case-contents-item-ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 5px;
}

.l-lower-case-contents-item-desc {
  margin-bottom: 20px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.l-lower-case-info-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 768px) {
  .l-lower-case-info-box {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.l-lower-case-info-item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .l-lower-case-info-item {
    width: 50%;
    margin-bottom: 50px;
  }
}
.l-lower-case-info-item:last-of-type {
  margin-bottom: 50px;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .l-lower-case-info-item:last-of-type {
    margin-top: 0;
  }
}
.l-lower-case-info-item dt {
  width: 25%;
  padding: 15px 0;
  text-align: center;
  background-color: #DCE7F8;
}
@media screen and (min-width: 768px) {
  .l-lower-case-info-item dt {
    width: 130px;
  }
}
.l-lower-case-info-item dd {
  width: 75%;
  padding: 15px 20px;
  background-color: #EFF4FC;
}
@media screen and (min-width: 768px) {
  .l-lower-case-info-item dd {
    width: calc(100% - 130px);
  }
}
.l-lower-case .related-posts .m-lower-ttl-inner {
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .l-lower-case .related-posts .m-lower-ttl-inner {
    margin-bottom: 100px;
  }
}
.related-posts ul {
  max-width: 650px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 50px 50px;
}
@media screen and (min-width: 1000px) {
  .related-posts ul {
    max-width: 1000px;
  }
}
.related-posts ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .related-posts ul li {
    width: 300px;
  }
}
.related-posts ul li img {
  margin-bottom: 10px;
}

.related-posts .notfound-desc {
  max-width: 1000px;
  margin: 0 auto;
}