@charset "utf-8";
/*==================================
pages
==================================*/
h1 {
  font-size: 2.667em !important;
  position: relative;
  border-bottom: solid 1px #B2B2B2;
  padding: 0.2em 0.1em !important;
  margin: 0em 0 !important;
  /*margin-bottom: 1em;*/
}
h1::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 2em;
  content: '';
  border-bottom: solid 1px var(--keycolor);
}
h2 {
  font-size: 2em;
  margin-top: 1.5em;
  padding: 0.2em 0.5em;
  border-left: solid 1px var(--keycolor);
}

h2.add {
  border-left: none;
}


h3 {
  font-size: 1.333em;
  margin-top: 1.5em;
}
h4 {
  font-size: 1.111em;
  margin-top: 1.5em;
}
h3 + p, h4 + p {
  margin-top: 0.2em;
}
/*==================================
page common
==================================*/
.catgTopMenu {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 2em 0 0;
}
.catgTopMenu li {
  width: calc((100% / 2) - 1em);
  border: solid 1px var(--keycolor);
  padding: 0.3em;
  margin-bottom: 1.5em;
  text-align: center;
}
.catgTopMenu::after {
  display: block;
  content: "";
  width: calc((100% / 3) - 1em);
}
.catgTopMenu img {
  width: 100%;
}
.catgTopMenu a {
  display: block;
}
.catgTopMenu a:hover {
  background: #DEE3EB;
}
.catgTopMenu.add a {
  padding: 2em 0.3em;
}
.catgTopMenu strong {
  padding: 0.6em 0 0.5em 1.6em;
  background: url("../../common/img/ui/arrow1.svg") no-repeat left center/1.2rem;
}
@media (max-width: 1099px) {
  .catgTopMenu li {
    width: 100%;
  }
}
/* 0901
------------------------------------------------*/
.h3_imgTitleA {
  font-size: 2em;
  border-bottom: solid 4px #5278C4;
  text-align: center;
  padding-bottom: 0.2em;
}
/*.infoAtt {
  margin: 1.5em 0;
  border-radius: 8px;
  border: solid 3px var(--keycolor);
  padding: 1.5em 2em 0.5em;
}*/
/*==================================
支援技術
==================================*/
figure:first-of-type{
    margin-bottom: 1em;
}


figcaption{
    font-size:var(--font15);
    text-align: right;
}


.lay2colSt {
  margin: 1.5em 0;
  display: flex;
  justify-content: space-between;
}
.lay2colSt.add {
  flex-direction: row-reverse;
}
.lay2colSt img {
  width: 100%;
}
.lay2colSt div:first-of-type {
  width: calc(60%);
}
.lay2colSt div:last-of-type {
  width: calc(40% - 1em);
}
.lay2colSt div > p:first-of-type {
  margin-top: 0;
}



.linkTable a {
  display: block;
  margin-bottom: 1.5em;
  padding-bottom: 1em;
  border-bottom: dotted 1px #333;
}
.linkTable a:last-of-type {
  border-bottom: none;
}
.linkTable strong {
  font-size: 1.5em;
  padding-left: 1.5em;
  background: url("../../common/img/ui/arrow1.svg") no-repeat left center/1em;
}
@media (max-width: 1099px) {
  .lay2colSt, .lay2colSt.add {
    flex-direction: column;
  }
  .lay2colSt div:first-of-type, .lay2colSt div:last-of-type {
    width: 100%;
  }
  .lay2colSt div:last-of-type {
    margin-top: 1.5em;
  }
}
/*==================================
sitamap
==================================*/
.fnavi.sitemapnav {
  border-top: none;
}
.fnavi.sitemapnav nav {
  display: block;
  font-size: 1.2em;
  margin-left: 2em;
}
.fnavi.sitemapnav nav ul {
  font-weight: bold;
}
.fnavi.sitemapnav nav ul ul {
  font-size: var(--font16);
  margin-top: 1em;
  margin-left: 3em;
  font-weight: normal !important;
  margin-bottom: 2em;
}
.fnavi.sitemapnav nav li a {
  padding-left: 1.5em;
  background: url("../../common/img/ui/arrow1.svg") no-repeat left center/1em;
}
@media (max-width: 1099px) {
  .fnavi.sitemapnav {
    display: block;
  }
}
/*==================================
データベース大バナー トップ以外
==================================*/
.dbBanner {
  margin-top: 3em;
}
/*==================================
contact
==================================*/
.formSet {
  margin: 2em 0;
}
.formSet dt, .formSet dd {
  margin-left: 0 !important;
}
.formSet dd {
  margin-bottom: 1em;
}
.formSet input[type=text], .formSet textarea {
  font-size: 1.2em;
  box-sizing: border-box;
  width: 100%;
  margin: 8px 0;
  padding: 0.8rem;
  border: 1px solid #707070;
  border-radius: 4px;
  outline: none;
}
.formSet input[type]:focus, .formSet textarea:focus {
  border: 1px solid #049;
  outline: none;
  box-shadow: 0 0 3px 0 var(--keycolor);
}
.formSet textarea {
  height: 8em;
}
.submitBtn {
  font-size: 1.2em;
  max-width: 500px;
  width: 100%;
  border-radius: 50px;
  border: 0;
  display: block;
  padding: 1.2em 1em;
  color: #fff;
  background: var(--keycolor);
  margin: 1em auto 4em;
}
.infoAtt {
  margin: 1.5em 0;
  border-radius: 8px;
  border: solid 3px var(--keycolor);
  padding: 1em 2em 1.5em;
}
.telNum {
  font-size: 1.667em;
}
.googlemaps {
  margin: 1.5rem 0 4rem;
}
.googlemaps:last-of-type {
  margin: 1.5rem 0 0;
}
.googlemaps iframe {
  border: none;
  width: 100%;
  height: 600px;
}
/*==================================
CMSリストページ関連
==================================*/
.sugu-page-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.8em 0;
  border-top: dotted 2px #dedede;
  /*margin-top: 2em !important;*/
}
.sugu-page-link a {
  background: #fff !important;
  border: none !important;
  margin: 0 !important;
}
.pure-button {
  padding: 0 !important;
}
.artcleCmsSet {}
.artcleCmsSet a {
  text-decoration: underline;
}
/*.sugu-pager {
  display: flex;
  justify-content: space-between;
}
ul.sugu-pager li a {
  padding: 0.4em 2em !important;
  color: #fff !important;
  background: var(--keycolor) !important;
  border: none !important;
}*/
/* article_list.html
------------------------------------------------*/
.sugu-window {
  max-width: 100% !important;
  width: 100% !important;
}
.sugu-container {
  padding: 0 0 2em 0 !important;
}