:root {
  --main-color: #2C6BB4;
  --sub-color: #1CC9A0;
  --em-color: #e72555;
}

html {
  margin-top: 0 !important;
  font-size: 57.5%;
  line-height: 1.9;
}

body {
  font-size: 16px;
  font-family: 'noto sans jp';
}

body::before {
  content: '';
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  background-color: transparent;
  -webkit-transition: opacity .4s, z-index 0s .4s, background 0s .4s;
  transition: opacity .4s, z-index 0s .4s, background 0s .4s
}

span {
  display: inline-block;
}

i {
  font-family: Font Awesome\ 5 Free;
}

a {
  text-decoration: none;
  color: #242424;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.sp {
  display: block;
}

.pc {
  display: none;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.mt-30 {
  margin-top: 30px;
}

.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-30 {
  margin-bottom: 30px;
}

.pt-10 {
  padding-top: 10px;
}

.pt-20 {
  padding-top: 20px;
}

.pt-30 {
  padding-top: 30px;
}

.pb-10 {
  padding-bottom: 10px;
}

.pb-20 {
  padding-bottom: 20px;
}

.pb-30 {
  padding-bottom: 30px;
}

/** header */
.SiteHeaderFixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

.is-thin.SiteHeaderFixed {
  box-shadow: 0 0 20px rgba(51, 51, 51, .2);
  background: #fff;
}

.SiteHeader {
  background: unset;
  transition: background-color 0.3s ease;
}

.SiteHeader,
.SiteHeader--blog {
  padding: 13px 0
}

.SiteHeader.is-scroll {
  background: #fff;
}

#header .Wrap {
  padding: unset;
}

.Wrap,
.Wrap--narrow {
  width: 91%;
  max-width: 1200px;
  margin: auto;
}

.SiteHeader__logo,
.SiteHeader__logo--blog {
  display: block;
  max-width: 222px;
  margin-right: auto;
  transition: .3s;
}

.SiteFooter__inner .Wrap {
  padding: unset;
  margin-right: 0;
  margin-left: 0;
  margin: auto;
}

.SiteFooter__company {
  padding-right: 0px;
  padding-left: 0;
  width: 100%;
  border-bottom: 2px dotted #2C6BB4;
  margin-bottom: 2em;
  padding-bottom: 1em;
}

.SiteFooter__companyInner,
.SiteFooter__companyInner--blog {
  padding: 0;
}

.SiteFooter__companyInner {
  display: block !important;
}

.SiteFooter__companyInner>div {
  width: 100%;
  margin: 0 auto;
}

.SiteFooter__address {
  margin: 2em 0;
}

.SiteFooter__catch {
  width: 100%;
  margin-top: 0;
  position: relative;
  border-bottom: 2px dotted #2C6BB4;
  margin-bottom: 2em;
  padding-bottom: 2em;
}

.SiteFooter__catch::after {
  display: none;
}

.SiteFooter__catchTitle {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.8em;
  color: #2C6BB4;
}

.SiteFooter__catchTitle::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  background: #2C6BB4;
  margin: 20px 0;
}

.SiteFooter__catchText {
  font-size: 13px;
  line-height: 1.7;
  color: #2C6BB4;
}

.SiteFooter__catchImage {
  display: block;
  width: 100%;
  margin-top: 30px;
}

.SiteFooter__navArea {
  padding-left: 0px;
  padding-right: 0;
  justify-content: space-evenly;
}

.SiteFooter__inner {
  background: #fff;
  padding: 50px 14px;
}

.SiteFooter ul.sub-menu {
  padding-left: 1em;
}

.SiteFooter__navTitle,
.SiteFooter__navTitle--blog,
.SiteFooter__gnav a,
.SiteFooter__gnav--blog a,
.SiteFooter__gnav--lastTop a {
  color: #151515;
}

.SiteFooter__copy_area {
  background: linear-gradient(to left, #32beeb, #2c6bb4);
}

@media screen and (min-width:981px) {
  html {
    font-size: 62.5%;
  }

  .sp {
    display: none;
  }

  .pc {
    display: block;
  }

  /** footer */
  .SiteFooter__inner .Wrap {
    margin-right: unset;
    margin-left: unset;
    margin: auto;
  }

  .SiteFooter__inner {
    padding: 50px 30px;
  }

  .SiteFooter__company {
    padding-right: 40px;
    width: 24%;
    border-bottom: unset;
    margin-bottom: unset;
    padding-bottom: unset;
    border-right: 1px solid #d9d9d9;
  }

  .SiteFooter__companyInner {
    display: block !important;
    ;
  }

  .SiteFooter__companyInner>div {
    width: 100%;
  }

  .SiteFooter__catch {
    width: 34%;
    margin-top: 0;
    border-right: 1px solid #d9d9d9;
    padding: 0 40px;
    border-bottom: unset;
    margin-bottom: unset;
    padding-bottom: unset;
  }

  .SiteFooter__catch::after {
    content: "";
    display: block;
    width: 100%;
    height: 90px;
    margin-top: 30px;
    background: url(../img/footer-city.png) right bottom no-repeat;
    background-size: 330px;
  }

  .SiteFooter__catchTitle {
    font-size: 20px;
    margin-bottom: 1em;
  }

  .SiteFooter__catchText {
    font-size: 14px;
  }

  .SiteFooter__catchImage {
    max-width: 350px;
  }

  .SiteFooter__navArea {
    width: 42%;
    justify-content: space-between;
    padding-left: 40px;
  }
}