.grid-container {
  max-width:1050px !important;
}
a {
  color: #004EA2;
}
h4 {
  color: #004EA2;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.4642;
  padding-bottom: 6px;
  border-bottom: 3px solid #004EA2;
  border-left: none;
  max-width: 534px;
  margin-top: 112px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  letter-spacing: 0.05em;
  justify-content: space-between;
  align-items: baseline;
}
h4 a {
  font-size: 13px;
  letter-spacing: 0;
  position: relative;
  padding-right: 40px;
}
h4 a::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 0;
  width: 30px;
  height: 30px; 
  border-radius: 50%; 
  background: #fff;
}
h4 a::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 13px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #6F7071;
  border-right: 2px solid #6F7071;
  transform: rotate(45deg);
}
.c-green {
  color: #138046;
  border-left: 5px solid #138046;
  padding-left: 10px;
  font-weight: bold;
}
.c-red {
  color: #E51050;
  border-left: 5px solid #E51050;
  padding-left: 10px;
  font-weight: bold;
}
.c-red-pdf {
  color: #b30c00;
  border-left: 5px solid #b30c00;
  padding-left: 10px;
  font-weight: bold;
}
.c-red-andpad {
  color: #ef3340;
  border-left: 5px solid #ef3340;
  padding-left: 10px;
  font-weight: bold;
}
.c-blue {
  color: #004EA2;
  border-left: 5px solid #004EA2;
  padding-left: 10px;
  font-weight: bold;
}
.c-orange {
  color: #fc644c;
  border-left: 5px solid #fc644c;
  padding-left: 10px;
  font-weight: bold;
}
.c-lblack {
  color: #000;
  border-left: 5px solid #000;
  padding-left: 10px;
  font-weight: bold;
}
.c-black {
  color: #000;
}
.c-lgray {
  color: #888;
}
.fw-bold {
  font-weight: bold;
}
.fs-12 {
  font-size: 12px;
}
.fs-16 {
  font-size: 16px;
}
.ta-right {
  text-align: right;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mt-40 {
  margin-top: 40px;
}
.mt-80 {
  margin-top: 80px;
}
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.separate-containers .inside-article {
  padding: 0;
}
.site.grid-container {
  max-width: 1000px;
  padding: 0;
}
.header-wrap {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
  display: flex;
  justify-content: space-between;
}
.inside-header {
  padding-left: 0;
}
.main-navigation {
  display: flex;
}
.nav-below-header .main-navigation .inside-navigation.grid-container {
  padding: 0;
}
.main-navigation .main-nav ul li a,
.site-footer .footer-widget-1 ul li a {
  padding-left: 30px;
  padding-right: 0;
  font-size: 15px;
  font-weight: bold;
  position: relative;
  color: #333;
}
.main-navigation .main-nav ul li a::after,
.site-footer .footer-widget-1 ul li a::after {
  position: absolute;
  content: "";
  display: block;
  width: 28px;
  height: 11px;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228.276%22%20height%3D%2210.565%22%20viewBox%3D%220%200%2028.276%2010.565%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_32%22%20data-name%3D%22%E3%83%91%E3%82%B9%2032%22%20d%3D%22M494.6%2C319.23v3.146l-14.14-3.146%2C14.14%2C10.565v-3.146l14.135%2C3.146Z%22%20transform%3D%22translate(-480.46%20-319.23)%22%20fill%3D%22%23ffd900%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat;
  top: -3px;
  left: 50%;
  opacity: 0;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
.main-navigation .main-nav ul li a::after {
  top: -3px;
}
.site-footer .footer-widget-1 ul li a::after {
  top: -23px;
}
.main-navigation .main-nav ul li a:hover::after,
.site-footer .footer-widget-1 ul li a:hover::after{
  opacity: 1;
}
.site-footer .footer-widget-1 ul li a:hover {
  color: #004EA2;
}
.footer-widgets-container {
  padding: 40px 0 23px;
}
.site-footer .footer-widgets-container .inside-footer-widgets {
  margin: 0 0 5px;
}
.inside-footer-widgets > div.footer-widget-1 {
  order: 1;
  flex-basis: content;
}
.inside-footer-widgets > div.footer-widget-1 ul {
  display: flex;
  margin: 0 23px 0 0;
}
.inside-footer-widgets > div.footer-widget-2 {
  order: 0;
  flex-basis: content;
}
.site-footer {
  margin-top: 2rem;
}
.site-footer .footer-widgets-container .inner-padding {
  padding: 0;
}
.inside-site-info {
  flex-flow: column;
  flex-direction:column-reverse;
  padding: 23px;
}
.footer-bar {
  width: 100%;
  max-width: 1000px;
}
.footer-bar ul {
  display: flex;
  justify-content: center;
}
.footer-bar ul li {
  font-size: 14px;
}
.footer-bar ul li + li {
  margin-left: 4rem;
}
.footer-bar ul li a[target=_blank]:after {
  margin: 0 0 0 8px;
  font-family: "FontAwesome";
  content: '\f35d';
  font-weight: 400;
}
.footer-bar-align-right .copyright-bar {
  margin: 2rem auto 0;
  font-size: 12px;
}
.footer-widgets ul li[class*="current-menu-"] > a {
  color: #004EA2;
}

/* TOPページ お知らせ */
.news-box {
  max-width: 534px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 120px;
}
.news-content a {
  display: flex;
  color: #333;
}
.news-content a span, .news-content a h5 {
  font-size: 14px;
  line-height: 1.4;
}
.news-content a span {
  flex-basis: 14em;
  width: 14em;
}
.news-content a h5 {
  width: 100%;
  word-break: break-all;
}

/* TOPページ 導入事例 */
ul.case_items {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.case_items li.case_item {
  max-width: 422px;
}
ul.case_items li.case_item:nth-child(n + 3) {
  margin-top: 40px;
}
ul.case_items li.case_item figure {
  margin-bottom: 20px;
}
ul.case_items li.case_item .case_item_ttl {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #004EA2;
  margin-bottom: 10px;
}
ul.case_items li.case_item .case_item_company {
  font-size: 13px;
  font-weight: bold;
  color: #004EA2;
  margin-bottom: 20px;
}
ul.case_items li.case_item .case_item_cnt a {
  color: #333;
}
ul.case_items li.case_item .case_item_cnt a .more {
  color: #004EA2;
}

/*　ContactForm7のテーブル化レスポンシブ調整　*/
.table-res-form {
  width: 100%;
}
.table-res-form,
.table-res-form th,
.table-res-form td {
  border: none;
}
.table-res-form th {
  width: 17rem;
  font-size: 13px;
  font-weight: normal;
}
.table-res-form th, 
.table-res-form td {
  padding: 1.0em 0;
}
.table-res-form th {
  width: 24%;
  text-align: left;
  padding-right: 50px;
}
.required {
  color: #C50003;
}

@media only screen and (max-width: 1024px) {
  .header-wrap,
  .site.grid-container,
  .footer-widgets-container {
    padding: 0 20px;
  }
  .footer-widgets-container {
    padding: 0;
  }
  .site-footer .footer-widgets-container .inside-footer-widgets {
    flex-direction: column;
  }
  .inside-footer-widgets > div.footer-widget-2 {
    text-align: center;
  }
  .inside-footer-widgets > div.footer-widget-1 ul {
    justify-content: center;
    margin-top: 1.5rem;
    flex-wrap:wrap;
  }
}
@media only screen and (max-width: 768px) {
  h4 {
    font-size: 1.3rem;
  }
  .header-wrap {
    position: relative;
  }
  .site-header {
    max-width: 130px;
  }
  .inside-header {
    padding-right: 0;
  }
  .main-navigation .main-nav ul li a {
    color: #004EA2;
    padding-left: 0;
    text-align: center;
  }
  .main-navigation .gp-icon svg {
    height: 2em;
    width: 2em;
    fill: #004EA2;
  }
  .main-navigation .menu-toggle {
    padding: 0;
    margin-left: auto;
  }
  .main-navigation .menu-toggle .mobile-menu {
    display: none;
  }
  .main-navigation.toggled {
    position: absolute;
    width: 100%;
    margin: 0 -20px;
    top: 0;
    background-color: rgba(245,245,245,.85);
    transition: 1s;
  }
  .main-navigation.toggled .inside-navigation.grid-container {
    display: block;
    padding: 0 20px;
    width: 100%;
  }
  .main-navigation.toggled .main-nav li {
    border-bottom: 2px solid #fff;
  }
  .table-res-form th {
    padding-bottom: 10;
    text-align: left;
    width: 30%;
  }
  .inside-footer-widgets > div.footer-widget-1 {
    display: none;
  }
  .inside-footer-widgets > div.footer-widget-2 {
    text-align: center;
    padding: 0 20px;
    margin-bottom: 0;
  }
  .footer-widgets .widget :last-child {
    margin-bottom: 1rem;
  }
  .footer-bar ul {
    display: block;
  }
  .footer-bar ul li + li {
    margin-left: 0;
  }
}

/*ここから入力欄のスタイル指定*/
.table-res-form input[type="text"], 
input[type="email"], 
input[type=tel],
textarea {
  border: none;
  background-color: #fff;
  padding: 0.5em;
  margin-bottom: 0.5em;
  width: 100%;
  height: 40px;
}
.table-res-form input[type="text"]:focus, textarea:focus {
  background: #fff;
  box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

/*送信ボタンスタイリング*/
#subbtn {
  border: none;
  padding: 1em;
  border-radius: 5px;
  background-color: #2C3042;
  color: #fff;
  font-weight: bold;
  width: 300px;
  font-size: 16px;
}
#subbtn:hover {
  background-color: #4d66a8;
  border-radius: 8px;
  border: none;
}

/*送信ボタン中央寄せ*/
.subbtn_position{
  text-align: center
}
#prebtn {
  border: none;
  padding: 1em;
  border-radius: 5px;
  background-color: #2C3042;
  color: #fff;
  font-weight: bold;
  width: 300px;
  font-size: 16px;
}
#prebtn:hover {
  background-color: #4d66a8;
  border-radius: 8px;
  border: none;
}

/*未入力警告スタイリング*/
.wpcf7-not-valid-tip {
  color: #fff;
  background: red;
  width: 25em;
  border-radius: 2.7px;
  font-size: 0.8em;
  height: 1.8em;
  padding-left: 10px;
  padding-top: 2px;
}

/*テキストボックス内例文をフォーカスで非透明に*/
input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder {
	color: transparent;
}

/*警告罫線スタイリング*/
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
  border: none;
  padding-left: 0;
  padding-right: 0;
  margin: 0 0 2rem;
}

/*送信失敗警告スタイリング*/
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  color: red;
}

/*送信成功時コメントスタイリング*/
.wpcf7 form.sent .wpcf7-response-output {
  color: green;
}

/*送信ボタン押下時の回転を削除(ボタン中央寄せ)*/
.wpcf7-spinner {
  display: none;
}

.title-head{
  font-weight:bold;
  font-size:1.5rem;
  text-align:center;
}

/* 導入事例 アーカイブページ */
.page-cases {
  background-color: #fff;
  margin-top: 12px;
  padding: 52px 20px;
  width: 100%;
}
.page-cases h4 {
  font-size: 24px;
  max-width: 750px;
  margin-top: 0;
  margin-bottom: 0;
}
.page-cases .cases-term-box {
  max-width: 750px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  border-bottom: 1px solid #004EA2;
}
.page-cases .cases-term-box p {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 0;
}
.page-cases ul.cases-term,
.page-cases .cases-items .cases-item__body ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 18px 0;
}
.page-cases ul.cases-term li,
.page-cases .cases-items .cases-item__body ul li {
  font-weight: bold;
  border: 2px solid #004EA2;
  border-radius: 5px;
  margin: 3px 2px;
}
.page-cases ul.cases-term li + li,
.page-cases .cases-items .cases-item__body ul li + li {
}
.page-cases ul.cases-term li a,
.page-cases .cases-items .cases-item__body ul li a {
  display: block;
  padding: 0 12px;
  line-height: 1.4;
}
.page-cases ul.cases-term li a:hover,
.page-cases .cases-items .cases-item__body ul li a:hover {
  background-color: #004EA2;
  color: #fff;
}
.page-cases ul.cases-term li a::before,
.page-cases .cases-items .cases-item__body ul li a::before {
  content: "#";
}
.cases-archive .cases-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cases-archive .cases-items .cases-item {
  max-width: 422px;
}
.cases-archive .cases-items .cases-item__title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-top: 20px;
  margin-bottom: 10px;
}
.cases-archive .cases-items .cases-item__company {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.cases-archive .cases-items .cases-item__body {
  margin-bottom: 40px;
}

/* 導入事例 記事ページ */
.cases-single {
  max-width: 750px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.cases-single .cases-item__company {
  color: #004EA2;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #004EA2;
  padding: 20px 0;
  margin-bottom: 0;
}
.cases-single .cases-term-box {
  margin-bottom: 0;
  border-bottom: none;
}
.cases-single .company-info {
  border: 1px solid #004EA2;
  padding: 30px;
  margin-top: 4.5rem;
  display: flex;
  justify-content: space-between;
}
.cases-single .company-info__txt,
.cases-single .company-info__img {
  flex-basis: 48%;
}
.cases-single .company-info__txt p,
.cases-single .single-content h3 {
  color: #004EA2;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.cases-single .company-info__txt dl {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.cases-single .company-info__txt dl dt {
  font-size: 12px;
  font-weight: bold;
  width: 25%;
}
.cases-single .company-info__txt dl dd {
  font-size: 13px;
  width: 75%;
  margin: 0 0 15px;
  line-height: 1.36;
}
.cases-single .company-info__txt dl dd a[target=_blank]:after {
  margin: 0 0 0 8px;
  font-family: "FontAwesome";
  content: '\f35d';
  font-weight: 400;
}
.cases-single .single-thumbnail img,
.cases-single .single-content img {
  width: 100%;
  margin: 2rem 0;
}
.cases-single ul.case_items li.case_item {
  max-width: 350px;
}
.cases-single h5 {
  color: #004EA2;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.05em;
  margin-top: 5rem;
}
.cases-single a.back_btn {
  color: #004EA2;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
  display: block;
  text-align: center;
  margin-top: 2.5rem;
}
.cases-single a.back_btn::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: calc(50% - 5em);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #004EA2;
}
.cases-single a.back_btn::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: calc((50% - 5em) + 13px);
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
  .cases-archive .cases-items .cases-item {
    max-width: 48%;
  }
}
@media only screen and (max-width: 768px) {
  .page-cases {
    padding: 30px 20px;
  }
  .page-cases .cases-term-box {
    display: block;
  }
  .page-cases .cases-term-box p {
    margin-top: 0.5rem;
  }
  .page-cases .cases-archive .cases-term-box ul.cases-term {
    flex-wrap: wrap;
    margin-top: 0;
  }
  .page-cases .cases-archive .cases-term-box ul.cases-term li {
    font-size: 12px;
    margin-top: 5px;
  }
  .cases-single .company-info {
    padding: 20px;
    margin-top: 3rem;
    display: block;
  }
}

/* お知らせ 記事ページ */
.single .site-main header .entry-title {
  font-size: 28px;
}
.single .site-main header .entry-meta .byline {
  display: none;
}
.single .site-main footer .cat-links {
  display: none;
}
.single .site-main .post-navigation {
  display: flex;
  justify-content: space-between;
}
/*product選択時警告非表示*/
.wpcf7-form-control-wrap[data-name="product"] span.wpcf7-not-valid-tip
{
  display:none;
}