@charset "UTF-8";
body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #615959;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: normal;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select, textarea, img {
  vertical-align: middle;
}

ul, dl, ol {
  list-style: none;
}

*:focus {
  outline: none;
}

.fs70 {
  font-size: 70%;
}

.fs80 {
  font-size: 80%;
}

.fs90 {
  font-size: 90%;
}

.fs100 {
  font-size: 100%;
}

.fs110 {
  font-size: 110%;
}

.fs120 {
  font-size: 120%;
}

.fs130 {
  font-size: 130%;
}

.fs140 {
  font-size: 140%;
}

.fs150 {
  font-size: 150%;
}

.fs160 {
  font-size: 160%;
}

.fs170 {
  font-size: 170%;
}

.fs180 {
  font-size: 180%;
}

.fs190 {
  font-size: 190%;
}

.fs200 {
  font-size: 200%;
}

.fs300 {
  font-size: 300%;
}

.fs400 {
  font-size: 400%;
}

.b {
  font-weight: 700;
}

.u {
  text-decoration: underline;
}

.del {
  text-decoration: line-through;
}

.red {
  color: #d7535e !important;
}

.blue {
  color: #2c3b5b !important;
}

.green {
  color: #6ab39a !important;
}

.orange {
  color: #e17514 !important;
}

.gray {
  color: #f2f2f2 !important;
}

.bold {
  font-weight: bold !important;
}

.center {
  text-align: center !important;
}

.right {
  text-align: right !important;
}

.left {
  text-align: left !important;
}

.floatR {
  float: right;
}

.floatL {
  float: left;
}

.clear {
  clear: both;
}

a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important;
}

.att {
  padding-left: 1em;
  text-indent: -1em;
}

.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2.0;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  -webkit-box-shadow: 0px 4px 0px 0px #f7f7f7;
          box-shadow: 0px 4px 0px 0px #f7f7f7;
}

/* テキストボックス */
.mb0em {
  margin-bottom: 0em !important;
}

.mb05em {
  margin-bottom: .5em !important;
}

.mb1em {
  margin-bottom: 1em !important;
}

.mb2em {
  margin-bottom: 2em !important;
}

.mb3em {
  margin-bottom: 3em !important;
}

.mb4em {
  margin-bottom: 4em !important;
}

.mb5em {
  margin-bottom: 5em !important;
}

.pt0em {
  padding-top: 0em !important;
}

.pt1em {
  padding-top: 1em !important;
}

.pt2em {
  padding-top: 2em !important;
}

.pt3em {
  padding-top: 3em !important;
}

.pt4em {
  padding-top: 4em !important;
}

.pt5em {
  padding-top: 5em !important;
}

.p3vw {
  padding: 3vw 0 !important;
}

.m0 {
  margin: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mr0 {
  margin-right: 0 !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.ml0 {
  margin-left: 0 !important;
}

.m5 {
  margin: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.m65 {
  margin: 65px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.m70 {
  margin: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.m75 {
  margin: 75px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.m80 {
  margin: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.p0 {
  padding: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pr0 {
  padding-right: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pl0 {
  padding-left: 0 !important;
}

.p5 {
  padding: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.w70 {
  width: 70px !important;
}

.w290 {
  width: 290px !important;
}

.w440 {
  width: 100%;
  max-width: 440px !important;
}

.w682 {
  width: 100%;
  max-width: 682px !important;
}

.w710 {
  width: 720px !important;
}

.w50p {
  width: 50% !important;
}

.w60p {
  width: 60% !important;
}

.w70p {
  width: 70% !important;
}

.w80p {
  width: 80% !important;
}

.w90p {
  width: 90% !important;
}

.w100p {
  width: 100% !important;
}

/* 共通設定
----------------------------- */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

body {
  position: relative;
  font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.7;
  color: #2b2421;
}

img {
  width: auto;
  max-width: 100%;
}

ul {
  list-style-type: none;
  -webkit-margin-before: 0em;
  margin-block-start: 0em;
  -webkit-margin-after: 0em;
  margin-block-end: 0em;
  -webkit-padding-start: 0px;
  padding-inline-start: 0px;
}

p {
  -webkit-margin-before: 0em;
  margin-block-start: 0em;
  -webkit-margin-after: 0em;
  margin-block-end: 0em;
  -webkit-margin-start: 0px;
  margin-inline-start: 0px;
  -webkit-margin-end: 0px;
  margin-inline-end: 0px;
}

sup {
  font-size: 60%;
  display: inline-block;
  vertical-align: baseline;
  bottom: 1ex;
}

sub {
  font-size: 60%;
  display: inline-block;
  vertical-align: baseline;
  top: 0.5ex;
}

.none {
  display: none;
}

.bg_gray {
  background-color: #e5e5e5;
  width: 100%;
}

a {
  text-decoration: none;
}

h2 {
  -webkit-margin-before: 0em;
  margin-block-start: 0em;
  -webkit-margin-after: 0em;
  margin-block-end: 0em;
  -webkit-margin-start: 0px;
  margin-inline-start: 0px;
  -webkit-margin-end: 0px;
  margin-inline-end: 0px;
  font-weight: normal;
}

h3 {
  -webkit-margin-before: 0em;
  margin-block-start: 0em;
  -webkit-margin-after: 0em;
  margin-block-end: 0em;
  -webkit-margin-start: 0px;
  margin-inline-start: 0px;
  -webkit-margin-end: 0px;
  margin-inline-end: 0px;
  font-weight: normal;
}

.wrapper {
  max-width: 960px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .wrapper {
    padding: 0 5px;
  }
}

.header {
  height: 15rem;
  position: relative;
}

.header .wrapper {
  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 (max-width: 767px) {
  .header {
    height: 10rem;
  }
}

.header-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 4rem;
}

.header-top-contact {
  display: block;
}

.header-top-contact a {
  color: white;
  background: #004A99;
  padding: 1rem;
  border-radius: 2rem;
}

.header-top-contact a:after {
  content: '>';
  margin-left: 1rem;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .header-top-contact {
    display: none;
  }
}

.menubtn {
  display: none;
}

@media screen and (max-width: 767px) {
  .menubtn {
    display: block;
    width: 40px;
    height: 40px;
    z-index: 999;
    background: url("../img/menu1.png") no-repeat;
    background-size: contain;
  }
  .menubtn.show {
    background: url("../img/menu2.png") no-repeat;
    background-size: contain;
  }
}

.spnavi {
  display: none;
}

@media screen and (max-width: 767px) {
  .spnavi {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
    background: #004A99;
    width: 100%;
  }
  .spnavi .js-nav a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 1rem;
    text-align: center;
    color: white;
  }
}

.gnavi {
  margin-top: 4rem;
  display: block;
}

.gnavi-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.gnavi-list a {
  padding: 2rem;
}

@media screen and (max-width: 767px) {
  .gnavi {
    display: none;
  }
}

.top {
  margin-bottom: 2rem;
}

.main-visual {
  padding-bottom: 7rem;
  position: relative;
}

.main-visual-catch {
  color: white;
  position: absolute;
  right: 10%;
  top: 15%;
  font-size: 38px;
  letter-spacing: 2px;
  text-shadow: 2px  2px 2px #88bb55;
}

@media screen and (max-width: 767px) {
  .main-visual-catch {
    right: 5%;
    top: 10%;
    font-size: 24px;
  }
}

.main-txt {
  max-width: 80%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .main-txt {
    max-width: 90%;
  }
}

.sdgs {
  display: block;
  margin: 0 auto;
}

.footer {
  background: #E7E7E9;
}

.footer-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .footer-content {
    padding-top: 2rem;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: none;
        -ms-flex-pack: none;
            justify-content: none;
  }
}

.footer-content .footerLogo {
  width: 33%;
}

@media screen and (max-width: 767px) {
  .footer-content .footerLogo {
    width: 50%;
  }
}

.footer-content .footerLogo img {
  max-width: 100%;
}

.footer-navi {
  display: inline-block;
  width: 33%;
}

@media screen and (max-width: 767px) {
  .footer-navi {
    padding: 1rem;
    font-size: 1.4rem;
    width: 50%;
  }
}

.footer-navi li {
  margin-top: 1rem;
}

.footer-navi li a {
  display: inline-block;
  width: 50%;
  height: 100%;
}

.footer-about {
  display: inline-block;
  width: 33%;
}

@media screen and (max-width: 767px) {
  .footer-about {
    padding: 1rem;
    font-size: 1.4rem;
    width: auto;
    margin: 0 auto;
  }
}

.footer-about .footerlist-logo {
  margin-bottom: 2rem;
}

.footer-about .footerlist-logo img {
  max-width: 100px;
}

.copy {
  text-align: center;
  margin: 0 auto;
  font-size: 1.4rem;
}

.breadcrumbs {
  display: inline-block;
}

.breadcrumbs li {
  display: inline-block;
  font-size: 1.4rem;
}

.breadcrumbs li:first-child::after {
  content: '>';
  margin: 0 0.5rem;
  vertical-align: top;
}

.m-visual {
  position: relative;
}

.m-visual h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto;
  color: white;
  font-size: 6rem;
  text-align: center;
}

.m-visual h1 span {
  display: block;
  font-size: 1.6rem;
  color: #808080;
}

.lv2-txt {
  max-width: 750px;
  margin: 4rem auto 0;
}

.service-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 4rem;
  margin-bottom: 8rem;
}

.service-box-list {
  width: 33%;
  padding: 1rem;
  margin-top: 1rem;
}

.service-box h3 {
  font-size: 1.6rem;
}

.works-content {
  margin-top: 4rem;
  margin-bottom: 6rem;
}

.works-content-title {
  background: #004A99;
  color: white;
  padding: 0.2rem 0 0.2rem 4rem;
  margin-top: 4rem;
}

.works-content-title:first-of-type {
  margin-top: 0;
}

.works-content-title h2 {
  font-weight: bold;
}

.works-content-sub {
  margin-top: 4rem;
  margin-left: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px #808080 solid;
}

.works-content-sub h3 {
  border-left: 5px #808080 solid;
  padding: 0 1rem;
}

.works-content-txt {
  margin-top: 2rem;
  padding: 0 2rem;
}

.works-content-point {
  color: #004A99;
  margin-top: 2rem;
  padding: 0 2rem;
}

.column {
  margin-bottom: 6rem;
}

.column-box {
  margin-top: 4rem;
}

.column-list {
  max-width: 800px;
  margin: 0 auto;
}

.column-list li {
  margin-top: 4rem;
  text-align: right;
  position: relative;
}

.column-list li:first-of-type {
  margin-top: 0;
}

.column-list li span {
  margin-top: 1rem;
}

.column-list div {
  text-align: left;
  -webkit-box-shadow: 2px 2px 4px #808080;
          box-shadow: 2px 2px 4px #808080;
}

.column-list div h3 {
  padding: 4rem 4rem 0;
}

.column-list div p {
  margin-bottom: 1rem;
  padding: 4rem 4rem;
}

.column-list .new {
  background: url("../img/new.png") top right no-repeat;
}

.company {
  margin-top: 4rem;
  margin-bottom: 6rem;
}

.company-table {
  margin: 0 auto;
}

.company-table tr {
  border-bottom: 1px #808080 solid;
  width: 100%;
}

.company-table th {
  width: 20%;
  text-align: center;
  padding: 2rem;
}

.company-table td {
  padding: 2rem;
}

.company .map p {
  margin: 4rem auto 0;
  text-align: center;
}

.company .map p span {
  border-bottom: 1px #808080 solid;
  padding: 1rem;
}

.company .map-google {
  margin: 4rem auto;
  padding: 0 2rem;
}

.contact {
  margin-top: 4rem;
  margin-bottom: 6rem;
}

.contact-table {
  margin: 1rem auto 0;
}

.contact-table th {
  width: 25%;
  text-align: right;
  padding: 1rem;
  border: solid #E7E7E9 1px;
}

.contact-table th p {
  font-size: 1.4rem;
  color: #808080;
}

@media screen and (max-width: 767px) {
  .contact-table th {
    display: block;
    width: 100%;
    text-align-last: left;
  }
}

.contact-table td {
  border: 1px solid #E7E7E9;
  padding: 1rem;
}

.contact-table td input {
  padding: 0.5rem;
}

@media screen and (max-width: 767px) {
  .contact-table td {
    display: block;
  }
}

.contact .required {
  color: red;
  padding: 0.5rem;
}

.contact-submit {
  text-align: center;
  margin-top: 2rem;
}

.contact-submit input {
  padding: 1rem 5rem;
  background: #808080;
  color: white;
  border: none;
}
/*# sourceMappingURL=common.css.map */