@charset "UTF-8";
@-webkit-keyframes showservice {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 100vh;
  }
}
@keyframes showservice {
  0% {
    max-height: 0;
  }
  100% {
    max-height: 100vh;
  }
}

@media screen and (max-width: 980px) {
  @-webkit-keyframes showservice {
    0% {
      max-height: 0;
    }
    100% {
      max-height: 150vh;
    }
  }
  @keyframes showservice {
    0% {
      max-height: 0;
    }
    100% {
      max-height: 150vh;
    }
  }
}

@-webkit-keyframes hideservice {
  0% {
    max-height: 100vh;
  }
  100% {
    max-height: 0;
  }
}

@keyframes hideservice {
  0% {
    max-height: 100vh;
  }
  100% {
    max-height: 0;
  }
}

@-webkit-keyframes showmenu {
  0% {
    max-height: 61px;
  }
  100% {
    max-height: 100vh;
  }
}

@keyframes showmenu {
  0% {
    max-height: 61px;
  }
  100% {
    max-height: 100vh;
  }
}

@-webkit-keyframes hidemenu {
  0% {
    max-height: 100vh;
    height: 100%;
  }
  100% {
    max-height: 61px;
    height: 61px;
  }
}

@keyframes hidemenu {
  0% {
    max-height: 100vh;
    height: 100%;
  }
  100% {
    max-height: 61px;
    height: 61px;
  }
}

/* ==========================================================================
   Basic Elements
   ========================================================================== */
body {
  margin: 0;
}

@media screen and (min-width: 981px) {
  body {
    padding-top: 71px;
  }
}

@media screen and (max-width: 980px) {
  body {
    padding-top: 60px;
  }
}

h1, h2, h3, h4, h5, h6, ul, ol, dl, p, figure, blockquote {
  margin: 0;
}

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

ul, ol {
  list-style: none;
  padding: 0;
}

dt, dd {
  margin: 0;
  padding: 0;
}

a:link, a:visited {
  color: #000;
}

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

a, a img, a .img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

a:hover {
  color: #999;
}

a:hover img, a:hover .img {
  opacity: 0.6;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.wrapper, section.top-sec .top-sec-content, .page-header .page-ttl,
.page-header .logo,
.page-header .intro, .page-header .page-desc, .service-intro, .page-content.case, .page-content.single, .page-content.faq {
  max-width: 1166px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

@media screen and (min-width: 981px) {
  .wrapper, section.top-sec .top-sec-content, .page-header .page-ttl,
  .page-header .logo,
  .page-header .intro, .page-header .page-desc, .service-intro, .page-content.case, .page-content.single, .page-content.faq {
    padding-left: 64px;
    padding-right: 64px;
  }
}

@media screen and (max-width: 980px) {
  .wrapper, section.top-sec .top-sec-content, .page-header .page-ttl,
  .page-header .logo,
  .page-header .intro, .page-header .page-desc, .service-intro, .page-content.case, .page-content.single, .page-content.faq {
    width: 82%;
  }
}

.bg, .wyswyg blockquote, .wyswyg .summary {
  background: #F7F7F7;
}

@media screen and (min-width: 981px) {
  .bg, .wyswyg blockquote, .wyswyg .summary {
    margin-left: -4.97%;
    margin-right: -4.97%;
    padding: 48px 0;
  }
  .bg > *, .wyswyg blockquote > *, .wyswyg .summary > * {
    padding-left: 4.47598%;
    padding-right: 4.47598%;
  }
}

@media screen and (max-width: 980px) {
  .bg, .wyswyg blockquote, .wyswyg .summary {
    margin-left: -6.5%;
    margin-right: -6.5%;
    padding: 21.33333px 0;
  }
  .bg > *, .wyswyg blockquote > *, .wyswyg .summary > * {
    padding-left: 6.1%;
    padding-right: 6.1%;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

@media screen and (min-width: 981px) {
  body .mobile {
    display: none;
  }
}

@media screen and (max-width: 980px) {
  body .desktop, body .page-header .breadcrumb, .page-header body .breadcrumb {
    display: none;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-weight: 400;
  line-height: 1;
}

.en, .en-ttl, .en-heading, ul.problem-list li .eyecatch .num {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.bold, .h1, #eyecatch .ttl, .page-header .page-ttl, .h3, #cv-area .ttl, section.top-sec .top-sec-content ul.vertical-list li .ttl, .service-intro h2, .page-content.faq .faq-sec .faq-ttl, .wyswyg h3, .h4, .btn.case .txt .ttl, .govs .ttl, .h5, .btn.large, .btn.service .ttl, .case-archive .btn.case .ttl, section.top-sec .top-sec-content ul.horizontal-list > li .ttl, ul.problem-list li .ttl, .page-content.faq .faq-sec .faq-qa .faq-q, .wyswyg h4, .wyswyg .summary .summary-ttl, #cv-area .btn.cta, .btn.case .txt .date, #site-header #gnav, #site-footer .ttl, ul.news-list .date, .page-content.faq .faq-sec .faq-qa .faq-q::before, .wyswyg ul, .wyswyg ol, .wyswyg table th, .wyswyg #slider .nav-b {
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
}

.medium, .h2, section.top-sec .top-sec-header .top-sec-ttl, .wyswyg h2 {
  font-weight: 500;
}

.bodycopy, body, p {
  font-size: 14px;
  line-height: 28px;
  text-align: justify;
}

.largecopy, #cv-area p, #site-footer .ttl, #eyecatch p {
  font-size: 16px;
  line-height: 32px;
  text-align: justify;
}

.caption, .btn.case .txt .date, #site-footer .copyright, .wyswyg figure figcaption,
.wyswyg .slidecaption {
  font-size: 12px;
  line-height: 22px;
}

.breadcrumb {
  font-size: 13px;
  line-height: 22px;
}

.h1, #eyecatch .ttl, .page-header .page-ttl {
  font-size: 40px;
  line-height: 58px;
  letter-spacing: 0.05em;
}

.h2, section.top-sec .top-sec-header .top-sec-ttl, .wyswyg h2 {
  font-size: 42px;
  line-height: 64px;
  letter-spacing: 0.05em;
}

.h3, #cv-area .ttl, section.top-sec .top-sec-content ul.vertical-list li .ttl, .service-intro h2, .page-content.faq .faq-sec .faq-ttl, .wyswyg h3 {
  font-size: 29px;
  line-height: 48px;
}

.h4, .btn.case .txt .ttl, .govs .ttl {
  font-size: 24px;
  line-height: 38px;
}

.h5, .btn.large, .btn.service .ttl, .case-archive .btn.case .ttl, section.top-sec .top-sec-content ul.horizontal-list > li .ttl, ul.problem-list li .ttl, .page-content.faq .faq-sec .faq-qa .faq-q, .wyswyg h4, .wyswyg .summary .summary-ttl {
  font-size: 20px;
  line-height: 32px;
  letter-spacing: 0.05em;
}

.en-ttl {
  font-size: 19px;
  letter-spacing: 0.09em;
}

.en-heading {
  font-size: 26px;
  letter-spacing: 0.04em;
}

.icon, ul.bullet li::before, .wyswyg p a[target="_blank"]:after, .wyswyg p a[href*=".pdf"]:after, .wyswyg table a[target="_blank"]:after, .wyswyg table a[href*=".pdf"]:after, .wyswyg ul a[target="_blank"]:after, .wyswyg ul a[href*=".pdf"]:after, .wyswyg ol a[target="_blank"]:after, .wyswyg ol a[href*=".pdf"]:after {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  font-size: 112%;
  vertical-align: top;
  text-rendering: optimizeLegibility;
  -webkit-font-kerning: normal;
          font-kerning: normal;
  -webkit-font-variant-ligatures: common-ligatures contextual;
          font-variant-ligatures: common-ligatures contextual;
  -webkit-font-feature-settings: "kern", "liga", "clig", "calt";
          font-feature-settings: "kern", "liga", "clig", "calt";
}

#gnav {
  font-size: 16px;
  line-height: 28px;
}

@media screen and (max-width: 640px) {
  .bodycopy, body, p {
    font-size: 13px;
    line-height: 2;
  }
  .largecopy, #cv-area p, #site-footer .ttl, #eyecatch p {
    font-size: 13px;
    line-height: 2;
  }
  .h1, #eyecatch .ttl, .page-header .page-ttl {
    font-size: 24px;
    font-size: 6.4vw;
    line-height: 1.5;
  }
  .h2, section.top-sec .top-sec-header .top-sec-ttl, .wyswyg h2 {
    font-size: 22px;
    font-size: 5.8vw;
    line-height: 1.45;
    letter-spacing: -.01em;
  }
  .h3, #cv-area .ttl, section.top-sec .top-sec-content ul.vertical-list li .ttl, .service-intro h2, .page-content.faq .faq-sec .faq-ttl, .wyswyg h3 {
    font-size: 17px;
    font-size: 4.53vw;
    line-height: 1.5;
  }
  .h4, .btn.case .txt .ttl, .govs .ttl {
    font-size: 16px;
    font-size: 4.26vw;
    line-height: 1.88;
  }
  .h5, .btn.large, .btn.service .ttl, .case-archive .btn.case .ttl, section.top-sec .top-sec-content ul.horizontal-list > li .ttl, ul.problem-list li .ttl, .page-content.faq .faq-sec .faq-qa .faq-q, .wyswyg h4, .wyswyg .summary .summary-ttl {
    font-size: 16px;
    font-size: 4.26vw;
    line-height: 1.88;
    letter-spacing: 0;
  }
  .en-ttl {
    font-size: 2.933vw;
  }
  .en-heading {
    font-size: 17px;
  }
  .faq-ttl, .page-content.faq .faq-sec .faq-ttl {
    font-size: 5.86vw;
  }
  #gnav {
    font-size: 17px;
    line-height: 32px;
  }
}

.ls-100, .btn.service .ttl, ul.news-list .date {
  letter-spacing: 0.1em;
}

.ls-200, #site-footer .ttl, .govs .ttl, .wyswyg .summary .summary-ttl {
  letter-spacing: 0.2em;
}

.align-c {
  text-align: center;
}

@media screen and (max-width: 980px) {
  .align-c {
    text-align: justify;
  }
}

.align-r {
  text-align: right;
}

/*-------------------------------------
		horizontal grid
-------------------------------------*/
.row, section.top-sec .top-sec-content ul.vertical-list li, .page-content.single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.row .col, section.top-sec .top-sec-content ul.vertical-list li .col, .page-content.single .col, section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg, .page-content.single section.top-sec .top-sec-content ul.vertical-list li .wyswyg, .page-content.single .wyswyg {
  margin-left: 4.97% !important;
}

.row .col:first-child, section.top-sec .top-sec-content ul.vertical-list li .col:first-child, .page-content.single .col:first-child, section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, .page-content.single .wyswyg:first-child {
  margin-left: 0 !important;
}

.row .col.grid1of3, section.top-sec .top-sec-content ul.vertical-list li .col.grid1of3, .page-content.single .col.grid1of3, section.top-sec .top-sec-content ul.vertical-list li .grid1of3.img, section.top-sec .top-sec-content ul.vertical-list li .grid1of3.txt, .page-content.single .grid1of3.wyswyg {
  width: 30.01%;
}

.row .col.grid1of3:nth-child(3n+4), section.top-sec .top-sec-content ul.vertical-list li .col.grid1of3:nth-child(3n+4), .page-content.single .col.grid1of3:nth-child(3n+4), section.top-sec .top-sec-content ul.vertical-list li .grid1of3.img:nth-child(3n+4), section.top-sec .top-sec-content ul.vertical-list li .grid1of3.txt:nth-child(3n+4), .page-content.single .grid1of3.wyswyg:nth-child(3n+4) {
  margin-left: 0 !important;
}

.row .col.grid2of3, section.top-sec .top-sec-content ul.vertical-list li .col.grid2of3, .page-content.single .col.grid2of3, section.top-sec .top-sec-content ul.vertical-list li .grid2of3.img, section.top-sec .top-sec-content ul.vertical-list li .grid2of3.txt, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg, .page-content.single section.top-sec .top-sec-content ul.vertical-list li .wyswyg, .page-content.single .wyswyg {
  width: 64.99%;
}

.row .col.grid1of4, section.top-sec .top-sec-content ul.vertical-list li .col.grid1of4, .page-content.single .col.grid1of4, section.top-sec .top-sec-content ul.vertical-list li .grid1of4.img, section.top-sec .top-sec-content ul.vertical-list li .grid1of4.txt, .page-content.single .grid1of4.wyswyg {
  width: 21.26%;
}

.row .col.grid1of4:nth-child(4n+5), section.top-sec .top-sec-content ul.vertical-list li .col.grid1of4:nth-child(4n+5), .page-content.single .col.grid1of4:nth-child(4n+5), section.top-sec .top-sec-content ul.vertical-list li .grid1of4.img:nth-child(4n+5), section.top-sec .top-sec-content ul.vertical-list li .grid1of4.txt:nth-child(4n+5), .page-content.single .grid1of4.wyswyg:nth-child(4n+5) {
  margin-left: 0 !important;
}

.row .col.grid2of4, section.top-sec .top-sec-content ul.vertical-list li .col.grid2of4, .page-content.single .col.grid2of4, section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .txt, .page-content.single .grid2of4.wyswyg {
  width: 47.49%;
}

.row .col.grid3of4, section.top-sec .top-sec-content ul.vertical-list li .col.grid3of4, .page-content.single .col.grid3of4, section.top-sec .top-sec-content ul.vertical-list li .grid3of4.img, section.top-sec .top-sec-content ul.vertical-list li .grid3of4.txt, .page-content.single .grid3of4.wyswyg {
  width: 73.72%;
}

.row.center, section.top-sec .top-sec-content ul.vertical-list li.center, section.top-sec .top-sec-content ul.vertical-list li.page-content.single, .page-content.single {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.row.center .col:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .col:first-child, .page-content.single .col:first-child, .row.center section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .row.center .img:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .img:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .img:first-child, .page-content.single section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .img:first-child, .row.center section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li .row.center .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .txt:first-child, .page-content.single section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .txt:first-child, .page-content.single .wyswyg:first-child {
  margin-left: 0;
}

.row.center .grid2of3 .grid2of4, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .grid2of4, .page-content.single .grid2of3 .grid2of4, .page-content.single .wyswyg .grid2of4, .row.center .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .row.center .grid2of3 .img, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .img, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .grid2of3 .img, .page-content.single .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .grid2of3 .img, .page-content.single section.top-sec .top-sec-content ul.vertical-list li.center .wyswyg .img, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .wyswyg .img, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg .img, .row.center .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list li .row.center .grid2of3 .txt, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .txt, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .grid2of3 .txt, .page-content.single .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .grid2of3 .txt, .page-content.single section.top-sec .top-sec-content ul.vertical-list li.center .wyswyg .txt, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .wyswyg .txt, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg .txt {
  width: 46%;
  margin-left: 8% !important;
  margin-right: 0 !important;
}

.row.center .grid2of3 .grid2of4:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .grid2of4:first-child, .page-content.single .grid2of3 .grid2of4:first-child, .page-content.single .wyswyg .grid2of4:first-child, .row.center .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .row.center .grid2of3 .img:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .img:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .grid2of3 .img:first-child, .page-content.single .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .grid2of3 .img:first-child, .page-content.single section.top-sec .top-sec-content ul.vertical-list li.center .wyswyg .img:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .wyswyg .img:first-child, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg .img:first-child, .row.center .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li .row.center .grid2of3 .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li.center .grid2of3 .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .grid2of3 .txt:first-child, .page-content.single .grid2of3 section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .grid2of3 .txt:first-child, .page-content.single section.top-sec .top-sec-content ul.vertical-list li.center .wyswyg .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li.page-content.single .wyswyg .txt:first-child, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt:first-child, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg .txt:first-child {
  margin-left: 0 !important;
}

@media screen and (max-width: 980px) {
  .row .col.grid1of4, section.top-sec .top-sec-content ul.vertical-list li .col.grid1of4, .page-content.single .col.grid1of4, section.top-sec .top-sec-content ul.vertical-list li .grid1of4.img, section.top-sec .top-sec-content ul.vertical-list li .grid1of4.txt, .page-content.single .grid1of4.wyswyg {
    width: 47.49%;
  }
  .row .col.grid1of4:nth-child(2n+3), section.top-sec .top-sec-content ul.vertical-list li .col.grid1of4:nth-child(2n+3), .page-content.single .col.grid1of4:nth-child(2n+3), section.top-sec .top-sec-content ul.vertical-list li .grid1of4.img:nth-child(2n+3), section.top-sec .top-sec-content ul.vertical-list li .grid1of4.txt:nth-child(2n+3), .page-content.single .grid1of4.wyswyg:nth-child(2n+3) {
    margin-left: 0 !important;
  }
  .row .col.grid1of3, section.top-sec .top-sec-content ul.vertical-list li .col.grid1of3, .page-content.single .col.grid1of3, section.top-sec .top-sec-content ul.vertical-list li .grid1of3.img, section.top-sec .top-sec-content ul.vertical-list li .grid1of3.txt, .page-content.single .grid1of3.wyswyg, .row .col.grid2of3, section.top-sec .top-sec-content ul.vertical-list li .col.grid2of3, .page-content.single .col.grid2of3, section.top-sec .top-sec-content ul.vertical-list li .grid2of3.img, section.top-sec .top-sec-content ul.vertical-list li .grid2of3.txt, section.top-sec .top-sec-content ul.vertical-list li .page-content.single .wyswyg, .page-content.single section.top-sec .top-sec-content ul.vertical-list li .wyswyg, .page-content.single .wyswyg, .row .col.grid2of4, section.top-sec .top-sec-content ul.vertical-list li .col.grid2of4, .page-content.single .col.grid2of4, section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li .txt, .page-content.single .grid2of4.wyswyg {
    width: 100%;
    margin-left: 0 !important;
    float: none;
  }
}

/*-------------------------------------
		margin, border
-------------------------------------*/
.mt-0 {
  margin-top: 0 !important;
}

.mt-half {
  margin-top: 16px !important;
}

.mt-1 {
  margin-top: 32px !important;
}

.mt-2 {
  margin-top: 64px !important;
}

.mt-3 {
  margin-top: 96px !important;
}

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

.mb-half {
  margin-bottom: 16px !important;
}

.mb-1 {
  margin-bottom: 32px !important;
}

.mb-1half {
  margin-bottom: 48px !important;
}

.mb-2 {
  margin-bottom: 64px !important;
}

.mb-3 {
  margin-bottom: 96px !important;
}

.mb-4 {
  margin-bottom: 128px !important;
}

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

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

.pb-half {
  padding-bottom: 16px !important;
}

.pt-half {
  padding-top: 16px !important;
}

.pt-1 {
  padding-top: 32px !important;
}

.pt-1half {
  padding-top: 48px !important;
}

.pt-2 {
  padding-top: 64px !important;
}

.pb-1 {
  padding-bottom: 32px !important;
}

.pb-1half {
  padding-bottom: 48px !important;
}

.pb-2 {
  padding-bottom: 64px !important;
}

.btn {
  position: relative;
  max-width: 100%;
}

.btn::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #E5E5E5;
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 0;
  border-radius: 3px;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

.btn a {
  background: #fff;
  border: 1px solid #E5E5E5;
  border-radius: 5px;
  text-decoration: none;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
}

.btn:hover::before {
  -webkit-transform: translate(4px, 4px);
          transform: translate(4px, 4px);
}

@media screen and (max-width: 980px) {
  .btn::before {
    left: 4px;
    top: 4px;
  }
}

.btn.cta a {
  border-radius: 3px;
}

.btn.cta.cta-doc a {
  background: #0E4268;
  color: #fff;
  background: #0E4268 url(../img/icon-doc-w.svg) no-repeat 5% 50%;
  background-size: 44px;
}

.btn.cta.cta-doc a::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  left: -2px;
  top: -2px;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  background: #fff;
  border: 2px solid #fff;
  opacity: 0.4;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
}

.btn.cta.cta-doc a:hover::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.btn.cta.cta-mail a::after, .btn.cta.cta-mail a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  padding: 1px;
  border: 2px solid #fff;
  position: absolute;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  opacity: 0.7;
  border-radius: 3px;
}

.btn.cta.cta-mail a::before {
  left: -2px;
  top: -2px;
  border-right: none;
  border-bottom: none;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.btn.cta.cta-mail a::after {
  right: -2px;
  bottom: -2px;
  border-left: none;
  border-top: none;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}

.btn.cta.cta-mail a:hover::before,
.btn.cta.cta-mail a:hover::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.btn.cta.cta-mail a {
  background: #fff;
  color: #0E4268;
  background: #fff url(../img/icon-mail.svg) no-repeat 5% 50%;
  background-size: 44px;
}

.btn.cta.cta-mail a:hover {
  color: #7890A7;
  background-image: url(../img/icon-mail-hover.svg);
}

#cv-area .btn.cta a {
  letter-spacing: 0.05em;
  border: 2px solid #0E4268;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 981px) {
  #gnav .btn.cta::before {
    display: none;
  }
  #gnav .btn.cta a {
    line-height: 33px;
    width: 126px;
    text-align: center;
    border: 1px solid #0E4268;
    background-size: 22px;
    padding-left: 1em;
  }
  #cv-area .btn.cta a {
    font-size: 24px;
    line-height: 88px;
    width: 393px;
    background-size: 44px;
  }
}

@media screen and (max-width: 980px) {
  #gnav .btn.cta a {
    width: 100%;
    line-height: 64px;
    background-size: 32px;
    font-size: 105%;
    border: 2px solid #0E4268;
  }
  #cv-area .btn.cta a {
    width: 100%;
    line-height: 64px;
    font-size: 18px;
    background-size: 30px;
  }
}

.btn.large a::after, .btn.large a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  padding: 0px;
  border: 1px solid #000;
  position: absolute;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  opacity: 1;
  border-radius: 3px;
}

.btn.large a::before {
  left: -1px;
  top: -1px;
  border-right: none;
  border-bottom: none;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.btn.large a::after {
  right: -1px;
  bottom: -1px;
  border-left: none;
  border-top: none;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}

.btn.large a:hover::before,
.btn.large a:hover::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.btn.large a {
  background: #fff url(../img/icon-r.svg) no-repeat 95% center;
  background-size: 6px auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.btn.large a:hover {
  background-position: 96% center;
}

.btn.large a[target="_blank"], .btn.large a[href*=".pdf"] {
  background-size: 24px auto;
}

.btn.large a[target="_blank"]:hover, .btn.large a[href*=".pdf"]:hover {
  background-position: 95% center;
}

.btn.large a[target="_blank"] {
  background-image: url(../img/icon-launch.svg);
}

.btn.large a[href*=".pdf"] {
  background-image: url(../img/icon-pdf.svg);
}

@media screen and (min-width: 981px) {
  .btn.large {
    width: 393px;
    margin-left: auto;
    margin-right: auto;
  }
  .btn.large a {
    padding: 28px 32px 28px 16px;
  }
}

@media screen and (max-width: 980px) {
  .btn.large {
    width: 100%;
  }
  .btn.large a {
    padding: 16px 32px 16px 16px;
  }
}

.btn.small {
  max-width: 160px;
}

.btn.small:before {
  border-radius: 99px;
  left: 4px;
  top: 4px;
}

.btn.small a {
  border: 1px solid #000;
  border-radius: 99px;
  margin-right: auto;
  margin-left: 0;
  color: #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  max-width: 160px;
  padding-bottom: 2px;
}

.btn.small a::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon-r-s.svg) no-repeat center;
  background-size: 5px auto;
  -webkit-transform: right 0.5s;
          transform: right 0.5s;
}

.btn.small a:hover {
  background: #000;
  color: #fff;
}

.btn.small a:hover::before {
  background-image: url(../img/icon-r-w-s.svg);
  right: 6px;
}

.btn.service a::after, .btn.service a::before,
.btn.case a::after,
.btn.case a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  padding: 0px;
  border: 1px solid #000;
  position: absolute;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
  opacity: 1;
  border-radius: 3px;
}

.btn.service a::before,
.btn.case a::before {
  left: -1px;
  top: -1px;
  border-right: none;
  border-bottom: none;
  -webkit-transform-origin: left top;
          transform-origin: left top;
}

.btn.service a::after,
.btn.case a::after {
  right: -1px;
  bottom: -1px;
  border-left: none;
  border-top: none;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
}

.btn.service a:hover::before,
.btn.service a:hover::after,
.btn.case a:hover::before,
.btn.case a:hover::after {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.btn.service .more,
.btn.case .more {
  border: 1px solid #000;
  border-radius: 99px;
  width: 75%;
  margin: 0 auto;
  color: #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  max-width: 160px;
  padding-bottom: 2px;
}

.btn.service .more::before,
.btn.case .more::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon-r-s.svg) no-repeat center;
  background-size: 5px auto;
  -webkit-transform: right 0.5s;
          transform: right 0.5s;
}

.btn.service a:hover .more,
.btn.case a:hover .more {
  background: #000;
  color: #fff;
}

.btn.service a:hover .more::before,
.btn.case a:hover .more::before {
  background-image: url(../img/icon-r-w-s.svg);
  right: 6px;
}

@media screen and (max-width: 980px) {
  .btn.service .more,
  .btn.case .more {
    font-size: 9px;
    width: 95%;
    max-width: 120px;
  }
  .btn.service .more::before,
  .btn.case .more::before {
    background-size: 4px auto;
  }
}

.btn.service .img {
  margin-bottom: 8px;
}

#gnav .btn.service .more {
  display: none;
}

@media screen and (min-width: 981px) {
  .btn.service {
    margin-bottom: 48px;
  }
  .btn.service a {
    padding: 21.33333px 16px !important;
  }
}

@media screen and (max-width: 980px) {
  .btn.service {
    margin-bottom: 16px;
  }
  .btn.service a {
    padding: 10.66667px !important;
  }
  .btn.service .ttl {
    font-size: 13px;
  }
}

.btn.case a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.btn.case .img {
  background: no-repeat center;
  background-size: cover;
}

.btn.case .img::before {
  content: "";
  display: block;
  padding-top: 66.6%;
}

.btn.case .txt {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.btn.case .txt .date, .btn.case .txt .ttl {
  text-align: left;
}

.btn.case .txt .more {
  margin: 0 auto 0 0;
}

@media screen and (min-width: 981px) {
  .btn.case {
    max-width: 916px;
    margin: 0 auto 64px;
  }
  .btn.case a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .btn.case .img {
    width: 50%;
  }
  .btn.case .txt {
    width: 50%;
    padding: 16px 48px;
  }
  .btn.case .txt .date {
    margin-bottom: 16px;
  }
  .btn.case .txt .ttl {
    margin-bottom: 21.33333px;
  }
  .case-archive .btn.case a {
    display: block;
  }
  .case-archive .btn.case .img, .case-archive .btn.case .txt {
    width: 100%;
  }
  .case-archive .btn.case .txt {
    padding: 16px 32px 21.33333px;
  }
  .case-archive .btn.case .date {
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 980px) {
  .btn.case {
    margin-bottom: 32px;
  }
  .btn.case .txt {
    padding: 16px;
  }
  .btn.case .txt .ttl {
    margin-bottom: 16px;
  }
  .case-archive .btn.case .ttl {
    margin-bottom: 8px;
  }
}

/* ==========================================================================
   Header
   ========================================================================== */
#site-header {
  background: #fff;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 9;
  border-bottom: 1px solid #E5E5E5;
}

#site-header #gnav a {
  text-decoration: none;
}

#site-header #gnav ul.pages a {
  padding: 22px 0;
}

#site-header #gnav ul.pages li.haschild > a, #site-header #gnav ul.pages li.haschild > a .icon-down {
  vertical-align: middle;
}

#site-header #gnav ul.pages li.haschild > a .icon-down {
  display: inline-block;
  width: 28px;
  height: 28px;
  background: url(../img/icon-down.svg) no-repeat center;
  background-size: 16px auto;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

#site-header #gnav ul.pages li.haschild .childnav {
  max-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  overflow: hidden;
  margin-right: -8px;
}

#site-header #gnav ul.pages li.haschild .childnav.activatehide {
  -webkit-animation: hideservice 0.5s ease;
          animation: hideservice 0.5s ease;
}

#site-header #gnav ul.pages li.haschild .childnav ul {
  float: none;
  padding-right: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#site-header #gnav ul.pages li.haschild .childnav ul li {
  border: none;
}

#site-header #gnav ul.pages li.haschild .childnav a {
  padding: 0;
  display: block;
}

#site-header #gnav ul.pages li.haschild .childnav img {
  max-width: 100%;
  height: auto;
}

#site-header #gnav ul.pages li.haschild.showchild .childnav {
  display: block;
  -webkit-animation: showservice 0.7s ease;
          animation: showservice 0.7s ease;
  max-height: 100vh;
}

@media screen and (min-width: 981px) {
  #site-header {
    height: 71px;
  }
  #site-header .logo {
    padding: 14px 28px;
    float: left;
  }
  #site-header .logo img {
    height: 43px;
    width: auto;
  }
  #site-header #gnav {
    float: right;
    padding-right: 28px;
  }
  #site-header #gnav ul {
    float: left;
  }
  #site-header #gnav ul li {
    display: inline-block;
    margin-left: 2em;
  }
  #site-header #gnav a {
    display: inline-block;
  }
  #site-header #gnav a .icon-down {
    padding-left: .5em;
    -webkit-transform: translateY(-1px);
            transform: translateY(-1px);
  }
  #site-header #gnav a:hover .icon-down {
    opacity: 0.6;
  }
  #site-header #gnav ul.pages > li > a {
    position: relative;
    -webkit-transition: .3s;
    transition: .3s;
  }
  #site-header #gnav ul.pages > li > a::after {
    position: absolute;
    bottom: 16px;
    left: 50%;
    content: '';
    width: 0;
    height: 2px;
    background-color: #999;
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #site-header #gnav ul.pages > li > a:hover::after {
    width: 100%;
  }
  #site-header #gnav ul.pages li:first-child {
    margin-left: -2em;
  }
  #site-header #gnav ul.pages li.haschild.showchild > a .icon-down {
    -webkit-transform: rotate(180deg) translateY(1px);
            transform: rotate(180deg) translateY(1px);
  }
  #site-header #gnav ul.pages li.haschild.showchild > a::after {
    width: 100%;
    background-color: #000;
  }
  #site-header #gnav ul.pages li.haschild.showchild > a:hover::after {
    background-color: #999;
  }
  #site-header #gnav ul.pages li.haschild .childnav {
    position: fixed;
    width: 100%;
    left: 0;
    top: 71px;
    background: rgba(255, 255, 255, 0.95);
  }
  #site-header #gnav ul.pages li.haschild .childnav ul {
    padding: 32px 0;
  }
  #site-header #gnav ul.btns li {
    padding: 18px 0;
  }
  #site-header #gnav ul.btns li:last-child {
    margin-left: 14px;
  }
}

@media screen and (max-width: 980px) {
  #site-header {
    max-height: 61px;
    height: 61px;
    -webkit-animation: hidemenu .5s linear 0;
            animation: hidemenu .5s linear 0;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }
  .menushown #site-header {
    height: 100%;
    max-height: 100vh;
    -webkit-animation: showmenu 0.4s ease;
            animation: showmenu 0.4s ease;
    overflow: auto;
    border-bottom: none;
  }
  #site-header .logo {
    position: relative;
    z-index: 9;
    padding: 14px 5%;
  }
  #site-header .logo, #site-header .logo a {
    height: 34px;
  }
  #site-header .logo a {
    display: inline-block;
  }
  #site-header .logo img {
    height: 34px;
    width: auto;
    vertical-align: top;
  }
  #site-header #gnav {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 9.33% 32px;
    background: #fff;
    z-index: 8;
  }
  .menushown #site-header #gnav {
    display: block;
  }
  #site-header #gnav ul.pages {
    margin-top: 16px;
    border-top: 1px solid #E5E5E5;
    margin-bottom: 32px;
  }
  #site-header #gnav ul.pages > li {
    border-bottom: 1px solid #E5E5E5;
  }
  #site-header #gnav ul.pages > li > a {
    display: block;
    padding: 19px 0;
    position: relative;
  }
  #site-header #gnav ul.pages > li > a::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url(../img/icon-r.svg) no-repeat center;
    background-size: 8px auto;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
  }
  #site-header #gnav ul.pages > li > a:hover:after {
    right: -4px;
  }
  #site-header #gnav ul.pages > li.haschild > a .icon-down {
    position: absolute;
    right: 0;
    top: 32px;
    width: 10px;
    height: 10px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-size: 10px auto;
  }
  #site-header #gnav ul.pages > li.haschild > a:after {
    display: none;
  }
  #site-header #gnav ul.pages > li.haschild .childnav ul, #site-header #gnav ul.pages > li.haschild .childnav .wrapper, #site-header #gnav ul.pages > li.haschild .childnav section.top-sec .top-sec-content, section.top-sec #site-header #gnav ul.pages > li.haschild .childnav .top-sec-content, #site-header #gnav ul.pages > li.haschild .childnav .page-header .page-ttl, .page-header #site-header #gnav ul.pages > li.haschild .childnav .page-ttl,
  #site-header #gnav ul.pages > li.haschild .childnav .page-header .logo, .page-header #site-header #gnav ul.pages > li.haschild .childnav .logo,
  #site-header #gnav ul.pages > li.haschild .childnav .page-header .intro, .page-header #site-header #gnav ul.pages > li.haschild .childnav .intro, #site-header #gnav ul.pages > li.haschild .childnav .page-header .page-desc, .page-header #site-header #gnav ul.pages > li.haschild .childnav .page-desc, #site-header #gnav ul.pages > li.haschild .childnav .service-intro, #site-header #gnav ul.pages > li.haschild .childnav .page-content.case, #site-header #gnav ul.pages > li.haschild .childnav .page-content.single, #site-header #gnav ul.pages > li.haschild .childnav .page-content.faq {
    margin: 0;
    width: 100%;
  }
  #site-header #gnav ul.pages > li.haschild .childnav ul {
    margin-bottom: 16px;
  }
  #site-header #gnav ul.pages > li.haschild.showchild a .icon-down {
    -webkit-transform: rotate(180deg) translateY(50%);
            transform: rotate(180deg) translateY(50%);
  }
  #site-header #gnav ul.pages > li.haschild.showchild .childnav {
    max-height: 150vh;
  }
  #site-header #gnav ul.btns li {
    margin-bottom: 21.33333px;
  }
}

#showmenu {
  width: 27px;
  position: fixed;
  right: 5%;
  top: 21px;
  z-index: 888;
}

#showmenu span {
  display: block;
  margin-top: 7px;
  height: 1px;
  background: #000;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

#showmenu span:first-child {
  margin-top: 0;
}

.menushown #showmenu {
  position: fixed;
}

.menushown #showmenu span {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  margin: 0;
  display: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.menushown #showmenu span:first-child {
  display: block;
  -webkit-transform: rotate3d(0, 0, 1, -45deg);
          transform: rotate3d(0, 0, 1, -45deg);
  margin-top: 8px;
}

.menushown #showmenu span:last-child {
  display: block;
  -webkit-transform: rotate3d(0, 0, 1, 45deg);
          transform: rotate3d(0, 0, 1, 45deg);
  margin-top: -1px;
}

/* ==========================================================================
   CV
   ========================================================================== */
#cv-area {
  background: url(../img/cv-bg.png) no-repeat center;
  background-size: cover;
  border-top: 1px solid #E5E5E5;
  border-bottom: 1px solid #E5E5E5;
}

#cv-area + #siter-footer {
  margin-top: -1px;
}

#cv-area .ttl {
  text-align: center;
}

#cv-area p {
  text-align: center;
}

@media screen and (min-width: 981px) {
  #cv-area {
    padding: 80px 0;
  }
  #cv-area .ttl {
    margin-bottom: 32px;
  }
  #cv-area ul.btns {
    text-align: center;
    margin-bottom: 32px;
  }
  #cv-area ul.btns li {
    display: inline-block;
    margin: 0 2.485%;
  }
  #cv-area ul.btns li:first-child {
    margin-left: 0;
  }
  #cv-area ul.btns li:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 980px) {
  #cv-area {
    background-image: url(../img/cv-bg_sp.png);
    padding: 32px 0;
  }
  #cv-area .ttl {
    margin-bottom: 21.33333px;
  }
  #cv-area ul.btns li {
    margin-bottom: 16px !important;
  }
}

/* ==========================================================================
   footer
   ========================================================================== */
#site-footer {
  background: #F7F7F7;
  border-top: 1px solid #E5E5E5;
  margin-top: -1px;
}

#site-footer a {
  text-decoration: none;
}

#site-footer .ttl {
  height: 48px;
}

#site-footer .ttl img {
  height: 30px;
  width: auto;
}

#site-footer ul li {
  margin-bottom: 10px;
}

#site-footer .chromo-pages ul.left li {
  margin-bottom: 4px;
}

#site-footer .chromo-pages ul.left li a::before {
  content: "— ";
}

@media screen and (min-width: 981px) {
  #site-footer {
    padding: 64px 0;
  }
  #site-footer .pages ul {
    line-height: 32px;
    float: left;
    margin-right: 64px;
  }
  #site-footer .hennge-pages {
    border-left: 1px solid #E5E5E5;
    padding-left: 64px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #site-footer .copyright {
    position: absolute;
    right: 32px;
    top: 0;
    -webkit-transform: rotate(90deg) translateX(100%);
            transform: rotate(90deg) translateX(100%);
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}

@media screen and (max-width: 980px) {
  #site-footer {
    padding: 32px 0;
  }
  #site-footer nav {
    clear: both;
  }
  #site-footer .col, #site-footer section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list li #site-footer .img, #site-footer section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list li #site-footer .txt, #site-footer .page-content.single .wyswyg, .page-content.single #site-footer .wyswyg {
    width: 100%;
    margin-left: 0 !important;
  }
  #site-footer .ttl {
    font-size: 16px;
  }
  #site-footer .pages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #site-footer ul {
    width: 50%;
  }
  #site-footer ul a {
    white-space: nowrap;
  }
  #site-footer .hennge-pages {
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #E5E5E5;
  }
  #site-footer .copyright {
    width: 100%;
    margin-top: 32px;
    padding-top: 32px;
    border-top: 1px solid #E5E5E5;
  }
}

#eyecatch {
  background: #F0F8FF url(../img/eyecatch.png) no-repeat center bottom;
  background-size: 102% auto;
}

#eyecatch .ttl {
  text-indent: -.5em;
}

@media screen and (min-width: 981px) {
  #eyecatch {
    padding: 8% 0 12%;
  }
  #eyecatch .ttl {
    margin-bottom: 25.6px;
  }
}

@media screen and (max-width: 980px) {
  #eyecatch {
    background-position: 102% bottom;
    background-size: 176%;
    padding: 32px 0 60%;
  }
  #eyecatch .ttl {
    white-space: nowrap;
    margin-bottom: 16px;
  }
}

section.top-sec.purple .en-ttl {
  background: #8E8CD4;
}

section.top-sec.purple .en-heading, section.top-sec.purple strong, section.top-sec.purple ul.bullet li:before {
  color: #8E8CD4;
}

section.top-sec.purple .en-heading span {
  border-bottom: 2px solid #8E8CD4;
}

section.top-sec.red .en-ttl {
  background: #F87571;
}

section.top-sec.red .en-heading, section.top-sec.red strong, section.top-sec.red ul.bullet li:before {
  color: #F87571;
}

section.top-sec.red .en-heading span {
  border-bottom: 2px solid #F87571;
}

section.top-sec.pink .en-ttl {
  background: #E8539F;
}

section.top-sec.pink .en-heading, section.top-sec.pink strong, section.top-sec.pink ul.bullet li:before {
  color: #E8539F;
}

section.top-sec.pink .en-heading span {
  border-bottom: 2px solid #E8539F;
}

section.top-sec.yellow .en-ttl {
  background: #F5E262;
}

section.top-sec.yellow .en-heading, section.top-sec.yellow strong, section.top-sec.yellow ul.bullet li:before {
  color: #F5E262;
}

section.top-sec.yellow .en-heading span {
  border-bottom: 2px solid #F5E262;
}

section.top-sec.orange .en-ttl {
  background: #FFC556;
}

section.top-sec.orange .en-heading, section.top-sec.orange strong, section.top-sec.orange ul.bullet li:before {
  color: #FFC556;
}

section.top-sec.orange .en-heading span {
  border-bottom: 2px solid #FFC556;
}

section.top-sec.green .en-ttl {
  background: #7BD258;
}

section.top-sec.green .en-heading, section.top-sec.green strong, section.top-sec.green ul.bullet li:before {
  color: #7BD258;
}

section.top-sec.green .en-heading span {
  border-bottom: 2px solid #7BD258;
}

section.top-sec.blue .en-ttl {
  background: #9EC1E6;
}

section.top-sec.blue .en-heading, section.top-sec.blue strong, section.top-sec.blue ul.bullet li:before {
  color: #9EC1E6;
}

section.top-sec.blue .en-heading span {
  border-bottom: 2px solid #9EC1E6;
}

section.top-sec.gray .en-ttl {
  background: #ccc;
}

section.top-sec.gray .en-heading, section.top-sec.gray strong, section.top-sec.gray ul.bullet li:before {
  color: #ccc;
}

section.top-sec.gray .en-heading span {
  border-bottom: 2px solid #ccc;
}

section.top-sec .top-sec-header {
  position: relative;
}

section.top-sec .top-sec-header .en-ttl {
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
}

section.top-sec .top-sec-header .en-ttl::before {
  content: "";
  display: block;
  padding-top: 70.7%;
}

section.top-sec .top-sec-header .en-ttl span {
  display: inline-block;
  position: absolute;
  left: 48%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url(../img/en-ttl-bullet.svg) no-repeat left center;
  padding-left: 74px;
}

section.top-sec .top-sec-content img {
  max-width: 100%;
  height: auto;
}

section.top-sec .top-sec-content p:first-child {
  margin-top: 0;
}

section.top-sec .top-sec-content p:last-child {
  margin-bottom: 0;
}

section.top-sec .top-sec-content .en-heading {
  text-align: center;
}

section.top-sec .top-sec-content .en-heading span {
  display: inline-block;
  padding-bottom: 0.25em;
}

section.top-sec .top-sec-content .bg .row, section.top-sec .top-sec-content .wyswyg blockquote .row, .wyswyg section.top-sec .top-sec-content blockquote .row, section.top-sec .top-sec-content .wyswyg .summary .row, .wyswyg section.top-sec .top-sec-content .summary .row, section.top-sec .top-sec-content .bg ul.vertical-list li, section.top-sec .top-sec-content ul.vertical-list .bg li, section.top-sec .top-sec-content .wyswyg blockquote ul.vertical-list li, section.top-sec .top-sec-content ul.vertical-list .wyswyg blockquote li, .wyswyg section.top-sec .top-sec-content blockquote ul.vertical-list li, .wyswyg section.top-sec .top-sec-content ul.vertical-list blockquote li, section.top-sec .top-sec-content .wyswyg .summary ul.vertical-list li, section.top-sec .top-sec-content ul.vertical-list .wyswyg .summary li, .wyswyg section.top-sec .top-sec-content .summary ul.vertical-list li, .wyswyg section.top-sec .top-sec-content ul.vertical-list .summary li, section.top-sec .top-sec-content .bg .page-content.single, section.top-sec .top-sec-content .wyswyg blockquote .page-content.single, .wyswyg section.top-sec .top-sec-content blockquote .page-content.single, section.top-sec .top-sec-content .wyswyg .summary .page-content.single, .wyswyg section.top-sec .top-sec-content .summary .page-content.single {
  margin: 0;
}

section.top-sec .top-sec-content ul.vertical-list li {
  border-bottom: 10px solid #F7F7F7;
}

section.top-sec .top-sec-content ul.vertical-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

section.top-sec .top-sec-content ul.horizontal-list > li .ttl {
  margin-bottom: 16px;
}

@media screen and (min-width: 981px) {
  section.top-sec {
    margin-top: 128px;
    margin-bottom: 128px;
  }
  section.top-sec:first-child {
    margin-top: 0;
  }
  section.top-sec .top-sec-header .top-sec-ttl {
    text-align: center;
    padding: 160px 22% 64px;
  }
  section.top-sec .top-sec-header .en-ttl {
    width: 21.5%;
    max-width: 332px;
  }
  section.top-sec .top-sec-header .en-ttl span {
    background-size: 65px auto;
  }
  section.top-sec .top-sec-content .row, section.top-sec .top-sec-content ul.vertical-list li, section.top-sec .top-sec-content .page-content.single {
    margin: 64px auto;
  }
  section.top-sec .top-sec-content ul.vertical-list li {
    padding-bottom: 48px;
  }
  section.top-sec .top-sec-content ul.vertical-list li .en-heading {
    padding-top: 32px;
    text-align: left;
  }
  section.top-sec .top-sec-content .h3, section.top-sec .top-sec-content #cv-area .ttl, #cv-area section.top-sec .top-sec-content .ttl, section.top-sec .top-sec-content ul.vertical-list li .ttl, section.top-sec .top-sec-content .service-intro h2, .service-intro section.top-sec .top-sec-content h2, section.top-sec .top-sec-content .page-content.faq .faq-sec .faq-ttl, .page-content.faq .faq-sec section.top-sec .top-sec-content .faq-ttl, section.top-sec .top-sec-content .wyswyg h3, .wyswyg section.top-sec .top-sec-content h3, section.top-sec .top-sec-content .en-heading {
    margin: 32px 0;
  }
  section.top-sec .top-sec-content .h3:first-child, section.top-sec .top-sec-content #cv-area .ttl:first-child, #cv-area section.top-sec .top-sec-content .ttl:first-child, section.top-sec .top-sec-content ul.vertical-list li .ttl:first-child, section.top-sec .top-sec-content .service-intro h2:first-child, .service-intro section.top-sec .top-sec-content h2:first-child, section.top-sec .top-sec-content .page-content.faq .faq-sec .faq-ttl:first-child, .page-content.faq .faq-sec section.top-sec .top-sec-content .faq-ttl:first-child, section.top-sec .top-sec-content .wyswyg h3:first-child, .wyswyg section.top-sec .top-sec-content h3:first-child, section.top-sec .top-sec-content .en-heading:first-child {
    margin-top: 0;
  }
  section.top-sec .top-sec-content p {
    margin: 28px 0;
  }
}

@media screen and (max-width: 980px) {
  section.top-sec {
    margin-top: 64px;
    margin-bottom: 64px;
  }
  section.top-sec:first-child {
    margin-top: 0;
  }
  section.top-sec .top-sec-header .top-sec-ttl {
    text-align: right;
    padding-top: 34vw;
    width: 82%;
    margin: 0 auto 32px;
  }
  section.top-sec .top-sec-header .en-ttl {
    width: 39%;
  }
  section.top-sec .top-sec-content .row, section.top-sec .top-sec-content ul.vertical-list li, section.top-sec .top-sec-content .page-content.single {
    margin: 32px auto;
  }
  section.top-sec .top-sec-content .h3, section.top-sec .top-sec-content #cv-area .ttl, #cv-area section.top-sec .top-sec-content .ttl, section.top-sec .top-sec-content ul.vertical-list li .ttl, section.top-sec .top-sec-content .service-intro h2, .service-intro section.top-sec .top-sec-content h2, section.top-sec .top-sec-content .page-content.faq .faq-sec .faq-ttl, .page-content.faq .faq-sec section.top-sec .top-sec-content .faq-ttl, section.top-sec .top-sec-content .wyswyg h3, .wyswyg section.top-sec .top-sec-content h3, section.top-sec .top-sec-content .en-heading {
    margin: 16px 0;
  }
  section.top-sec .top-sec-content .h3:first-child, section.top-sec .top-sec-content #cv-area .ttl:first-child, #cv-area section.top-sec .top-sec-content .ttl:first-child, section.top-sec .top-sec-content ul.vertical-list li .ttl:first-child, section.top-sec .top-sec-content .service-intro h2:first-child, .service-intro section.top-sec .top-sec-content h2:first-child, section.top-sec .top-sec-content .page-content.faq .faq-sec .faq-ttl:first-child, .page-content.faq .faq-sec section.top-sec .top-sec-content .faq-ttl:first-child, section.top-sec .top-sec-content .wyswyg h3:first-child, .wyswyg section.top-sec .top-sec-content h3:first-child, section.top-sec .top-sec-content .en-heading:first-child {
    margin-top: 0;
  }
  section.top-sec .top-sec-content p {
    margin: 26px 0;
  }
  section.top-sec .top-sec-content ul.vertical-list li {
    border-bottom-width: 6px;
    padding-bottom: 32px;
  }
  section.top-sec .top-sec-content ul.vertical-list li .ttl {
    text-align: center;
  }
  section.top-sec .top-sec-content ul.horizontal-list > li {
    margin-bottom: 32px;
  }
  section.top-sec .top-sec-content ul.horizontal-list > li .ttl {
    text-align: center;
  }
}

@media screen and (max-width: 640px) {
  section.top-sec .top-sec-header .en-ttl span {
    padding-left: 40px;
    background-size: 32px auto;
  }
}

/* ==========================================================================
   汎用クラス
   ========================================================================== */
ul.problem-list li {
  background: #fff;
  padding: 21.33333px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul.problem-list li img {
  max-width: 100%;
  height: auto;
}

ul.problem-list li .eyecatch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  margin-bottom: 8px;
}

ul.problem-list li .eyecatch .num {
  width: 19%;
  font-size: 94px;
  line-height: 106px;
}

.purple ul.problem-list li .eyecatch .num {
  color: #8E8CD4;
}

.red ul.problem-list li .eyecatch .num {
  color: #F87571;
}

.pink ul.problem-list li .eyecatch .num {
  color: #E8539F;
}

.yellow ul.problem-list li .eyecatch .num {
  color: #F5E262;
}

.orange ul.problem-list li .eyecatch .num {
  color: #FFC556;
}

.green ul.problem-list li .eyecatch .num {
  color: #7BD258;
}

.blue ul.problem-list li .eyecatch .num {
  color: #9EC1E6;
}

ul.problem-list li .eyecatch .img {
  width: 81%;
}

ul.problem-list li .ttl {
  margin-bottom: 10.66667px;
}

@media screen and (max-width: 980px) {
  ul.problem-list li {
    margin-bottom: 21.33333px;
  }
  ul.problem-list li:last-child {
    margin-bottom: 0;
  }
  ul.problem-list li .eyecatch .num {
    font-size: 70px;
    line-height: 70px;
  }
}

.govs {
  max-width: 916px;
  margin-left: auto;
  margin-right: auto;
}

.govs .ttl {
  display: inline-block;
  padding-bottom: 0.4em;
  border-bottom: #000 2px solid;
}

.govs .logos li {
  display: inline-block;
  padding-right: 2.5em;
}

.govs .txts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  overflow: hidden;
}

.govs .txts li {
  position: relative;
}

.govs .txts li::before {
  content: "";
  display: block;
  height: 100%;
  width: 1px;
  background: #E5E5E5;
  position: absolute;
  top: 0;
  left: -20%;
}

@media screen and (min-width: 981px) {
  .govs .ttl {
    margin-bottom: 48px;
  }
  .govs .logos img {
    height: 42px !important;
    width: auto !important;
  }
  .govs .logos li {
    margin-bottom: 32px;
  }
  .govs .txts li {
    width: 20%;
    margin-bottom: 32px;
  }
}

@media screen and (max-width: 980px) {
  .govs .ttl {
    margin-bottom: 32px;
  }
  .govs .logos img {
    height: 28px !important;
    width: auto !important;
  }
  .govs .logos li {
    margin-bottom: 16px;
  }
  .govs .txts li {
    width: 50%;
    margin-bottom: 16px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .govs .txts li:nth-child(2n+2) {
    padding-left: 2em;
  }
  .govs .txts li:nth-child(2n+2)::before {
    left: -1px;
  }
}

ul.news-list {
  max-width: 916px;
  margin-left: auto;
  margin-right: auto;
}

ul.news-list div {
  display: block;
  text-decoration: none;
  position: relative;
  padding-right: 2em;
}

ul.news-list a {
  display: block;
  text-decoration: none;
  position: relative;
  padding-right: 2em;
}

ul.news-list a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  position: absolute;
  right: 4px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../img/icon-r.svg) no-repeat center;
  background-size: 8px auto;
  -webkit-transition: right 0.2s;
  transition: right 0.2s;
}

ul.news-list a:hover::after {
  right: 0;
}

ul.news-list li {
  border-bottom: 1px solid #E5E5E5;
}

ul.news-list li:last-child {
  border-bottom: none;
}

@media screen and (min-width: 981px) {
  ul.news-list div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  ul.news-list a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  ul.news-list li {
    padding: 32px 0;
  }
  ul.news-list .date {
    width: 11em;
  }
}

@media screen and (max-width: 980px) {
  ul.news-list li {
    padding: 16px 0;
  }
  ul.news-list .date {
    margin-bottom: 2px;
  }
}

ul.bullet {
  border-top: 1px solid #E5E5E5;
}

ul.bullet li {
  position: relative;
  border-bottom: 1px solid #E5E5E5;
  padding: 8px 0;
  padding-left: 2em;
}

ul.bullet li::before {
  content: "check_circle";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.page-header {
  position: relative;
}

.page-header .page-ttl {
  text-align: center;
  position: relative;
}

.page-header .page-ttl::after {
  content: "";
  display: block;
  width: 1.5em;
  height: 1px;
  position: absolute;
  left: 50%;
  bottom: -32px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #E5E5E5;
}

.page-header .logo {
  text-align: center;
}

.page-header .logo img {
  height: 48px;
  width: auto;
}

.page-header .breadcrumb {
  position: absolute;
  right: 16px;
  top: 64px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  white-space: nowrap;
}

.page-header .breadcrumb a {
  text-decoration: none;
}

.page-header .breadcrumb li {
  display: inline-block;
}

.page-header .breadcrumb li::before {
  content: " — ";
}

.page-header .breadcrumb li:first-child:before {
  display: none;
}

@media screen and (min-width: 981px) {
  .page-header {
    padding: 96px 0 48px;
  }
  .page-header .page-ttl {
    margin-bottom: 64px;
  }
  .page-header .page-desc {
    margin-bottom: 48px;
  }
  .page-header .page-desc p {
    text-align: center;
  }
}

@media screen and (max-width: 980px) {
  .page-header {
    padding: 48px 0 32px;
  }
  .page-header .page-ttl {
    margin-bottom: 48px;
  }
  .page-header .page-ttl::after {
    bottom: -24px;
  }
  .page-header .logo img {
    height: 40px;
  }
}

/* ==========================================================================
   Service
   ========================================================================== */
.service-intro h2 {
  margin-bottom: 16px;
}

@media screen and (min-width: 981px) {
  .service-intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .service-intro .service-desc,
  .service-intro .service-eyecatch {
    width: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .service-intro .service-desc {
    padding-left: 96px;
  }
}

@media screen and (max-width: 980px) {
  .service-intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

/* ==========================================================================
   Case
   ========================================================================== */
.page-content.case .case-archive, .page-content.case .govs {
  margin-bottom: 96px;
}

.page-content.case .case-list {
  margin-bottom: 32px;
}

@media screen and (max-width: 980px) {
  .page-content.case .case-archive, .page-content.case .govs {
    margin-bottom: 64px;
  }
  .page-content.case .case-list {
    margin-bottom: 16px;
  }
}

/* ==========================================================================
   汎用詳細
   ========================================================================== */
@media screen and (min-width: 981px) {
  .page-content.single .wyswyg {
    margin-bottom: 128px;
  }
}

@media screen and (max-width: 980px) {
  .page-content.single .wyswyg {
    margin-bottom: 48px;
  }
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.page-content.faq .faq-sec .faq-ttl {
  color: #0E4268;
  text-align: center;
  border-top: 2px solid #0E4268;
  padding-top: 48px;
  margin-bottom: 48px;
}

.page-content.faq .faq-sec .faq-qa {
  border-top: 1px solid #E5E5E5;
}

.page-content.faq .faq-sec .faq-qa:last-child {
  border-bottom: 1px solid #E5E5E5;
}

.page-content.faq .faq-sec .faq-qa .faq-q {
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.page-content.faq .faq-sec .faq-qa .faq-q:hover {
  opacity: 0.6;
}

.page-content.faq .faq-sec .faq-qa .faq-q:hover::after {
  top: 53%;
}

.page-content.faq .faq-sec .faq-qa .faq-q::before {
  content: "Q";
  font-size: 54px;
  line-height: 54px;
  color: #0E4268;
  position: absolute;
  display: block;
  left: 0;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.page-content.faq .faq-sec .faq-qa .faq-q::after {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  background: url(../img/icon-down.svg) no-repeat center;
  background-size: 100% auto;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.page-content.faq .faq-sec .faq-qa .faq-q.on::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}

.page-content.faq .faq-sec .faq-qa .faq-q.on:hover::after {
  top: 47%;
}

.page-content.faq .faq-sec .faq-qa .faq-a {
  display: none;
}

@media screen and (min-width: 981px) {
  .page-content.faq .faq-sec {
    margin-bottom: 160px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-q {
    padding: 48px 0 48px 80px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-a {
    padding: 0 128px 48px 80px;
  }
}

@media screen and (max-width: 980px) {
  .page-content.faq .faq-sec {
    margin-bottom: 64px;
  }
  .page-content.faq .faq-sec .faq-ttl {
    padding-top: 32px;
    margin-bottom: 32px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-q {
    padding: 21.33333px 32px 21.33333px 40px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-q::before {
    font-size: 30px;
    line-height: 30px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-q::after {
    width: 10px;
    height: 10px;
  }
  .page-content.faq .faq-sec .faq-qa .faq-a {
    padding: 0 0 32px 40px;
  }
}

.wyswyg p {
  text-align: justify;
}

.wyswyg p:last-child {
  margin-bottom: 0;
}

.wyswyg p a, .wyswyg table a, .wyswyg ul a, .wyswyg ol a {
  color: #0E4268;
}

.wyswyg p a[target="_blank"]:after, .wyswyg p a[href*=".pdf"]:after, .wyswyg table a[target="_blank"]:after, .wyswyg table a[href*=".pdf"]:after, .wyswyg ul a[target="_blank"]:after, .wyswyg ul a[href*=".pdf"]:after, .wyswyg ol a[target="_blank"]:after, .wyswyg ol a[href*=".pdf"]:after {
  text-decoration: none;
  display: inline-block;
  padding-right: 0.2em;
}

.wyswyg p a[target="_blank"]:after, .wyswyg table a[target="_blank"]:after, .wyswyg ul a[target="_blank"]:after, .wyswyg ol a[target="_blank"]:after {
  content: " launch";
}

.wyswyg p a[href*=".pdf"]:after, .wyswyg table a[href*=".pdf"]:after, .wyswyg ul a[href*=".pdf"]:after, .wyswyg ol a[href*=".pdf"]:after {
  content: " picture_as_pdf";
}

.wyswyg p a:hover, .wyswyg table a:hover, .wyswyg ul a:hover, .wyswyg ol a:hover {
  color: #7890A7;
}

.wyswyg em {
  font-style: normal;
  text-decoration: underline;
}

.wyswyg ul, .wyswyg ol {
  border-top: 1px solid #E5E5E5;
}

.wyswyg ul li, .wyswyg ol li {
  border-bottom: 1px solid #E5E5E5;
  padding: 16px 0 16px 1.5em;
  position: relative;
}

.wyswyg ul li:before, .wyswyg ol li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.wyswyg ul li:before {
  width: 4px;
  height: 4px;
  border: 1px solid #000;
  border-radius: 99px;
}

.wyswyg ol {
  counter-reset: number;
}

.wyswyg ol li:before {
  counter-increment: number;
  content: counter(number);
}

.wyswyg blockquote {
  padding-left: 16px;
}

.wyswyg blockquote p:last-child {
  margin-bottom: 0;
}

.wyswyg blockquote p:first-child {
  position: relative;
}

.wyswyg blockquote p:first-child::before {
  content: "";
  display: block;
  width: 25px;
  height: 17px;
  background: url(../img/icon-quote.svg) no-repeat center;
  background-size: 24px auto;
  position: absolute;
  left: 0;
  top: 0;
}

.wyswyg table {
  width: 100%;
  border-bottom: 1px solid #E5E5E5;
}

.wyswyg table th {
  white-space: nowrap;
}

.wyswyg table td, .wyswyg table th {
  border-top: 1px solid #E5E5E5;
  border-left: 1px solid #E5E5E5;
  border-right: 1px solid #E5E5E5;
  padding: 1em 1em 1em 1em;
}

.wyswyg figure figcaption,
.wyswyg .slidecaption {
  color: #999;
  padding-top: .5em;
  text-align: center;
}

.wyswyg .summary .summary-ttl {
  margin-bottom: 16px;
}

.wyswyg .summary ul {
  margin: 0;
}

.wyswyg .summary.effect {
  border: 4px solid #0E4268;
  color: #0E4268;
  background: #fff;
}

.wyswyg .summary.effect ul li:before {
  background: #0E4268;
  border-color: #0E4268;
}

.wyswyg .summary.effect ol {
  color: #0E4268;
}

.wyswyg .row .col .img, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col .img, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col .img, .wyswyg .page-content.single .col .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img .img, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img .img, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt .img, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt .img, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt .img, .page-content.single .wyswyg .row .wyswyg .img, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg .img, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg .img, .wyswyg .page-content.single .wyswyg .img {
  text-align: center;
}

.wyswyg .row .col h4, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col h4, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col h4, .wyswyg .page-content.single .col h4, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img h4, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img h4, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img h4, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img h4, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt h4, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt h4, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt h4, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt h4, .page-content.single .wyswyg .row .wyswyg h4, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg h4, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg h4, .wyswyg .page-content.single .wyswyg h4 {
  margin: 8px 0;
}

.wyswyg .row .col p, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col p, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col p, .wyswyg .page-content.single .col p, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img p, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img p, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img p, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img p, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt p, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt p, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt p, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt p, .page-content.single .wyswyg .row .wyswyg p, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg p, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg p, .wyswyg .page-content.single .wyswyg p {
  margin: 0 0 16px;
}

.wyswyg .row .col figure, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col figure, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col figure, .wyswyg .page-content.single .col figure, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img figure, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img figure, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img figure, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img figure, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt figure, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt figure, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt figure, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt figure, .page-content.single .wyswyg .row .wyswyg figure, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg figure, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg figure, .wyswyg .page-content.single .wyswyg figure {
  margin: 0;
}

.wyswyg .movie {
  position: relative;
  overflow: hidden;
}

.wyswyg .movie:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}

.wyswyg .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wyswyg iframe {
  max-width: 100%;
}

@media screen and (min-width: 981px) {
  .wyswyg h2 {
    margin: 96px 0 48px;
  }
  .wyswyg h2:first-child {
    margin-top: 0;
  }
  .wyswyg h3 {
    margin: 64px 0 32px;
  }
  .wyswyg .summary, .wyswyg figure, .wyswyg ul, .wyswyg blockquote, .wyswyg table, .wyswyg .row, .wyswyg section.top-sec .top-sec-content ul.vertical-list li, section.top-sec .top-sec-content ul.vertical-list .wyswyg li, .wyswyg .page-content.single, .wyswyg #slider {
    margin-top: 64px;
    margin-bottom: 64px;
  }
  .wyswyg .summary:first-child, .wyswyg figure:first-child, .wyswyg ul:first-child, .wyswyg blockquote:first-child, .wyswyg table:first-child, .wyswyg .row:first-child, .wyswyg section.top-sec .top-sec-content ul.vertical-list li:first-child, section.top-sec .top-sec-content ul.vertical-list .wyswyg li:first-child, .wyswyg .page-content.single:first-child, .wyswyg #slider:first-child {
    margin-top: 0;
  }
  .wyswyg p {
    margin: 32px 0;
  }
  .wyswyg p:first-child {
    margin-top: 0;
  }
  .wyswyg figure.mt-figure-right {
    float: right;
    width: 46%;
    margin: 0 0 32px 8%;
  }
  .wyswyg figure.mt-figure-left {
    float: left;
    width: 46%;
    margin: 0 8% 32px 0;
  }
  .wyswyg figure.mt-figure-left + * {
    margin-top: 0;
  }
  .wyswyg .fullwidth {
    width: 153.86%;
    margin-left: -26.93%;
  }
}

@media screen and (max-width: 980px) {
  .wyswyg h2, .wyswyg h3 {
    margin: 52px 0 26px;
  }
  .wyswyg h2:first-child, .wyswyg h3:first-child {
    margin-top: 0;
  }
  .wyswyg .summary, .wyswyg figure, .wyswyg ul, .wyswyg blockquote, .wyswyg .table-wrapper, .wyswyg .row, .wyswyg section.top-sec .top-sec-content ul.vertical-list li, section.top-sec .top-sec-content ul.vertical-list .wyswyg li, .wyswyg .page-content.single, .wyswyg #slider {
    margin-top: 48px;
    margin-bottom: 48px;
  }
  .wyswyg .summary:first-child, .wyswyg figure:first-child, .wyswyg ul:first-child, .wyswyg blockquote:first-child, .wyswyg .table-wrapper:first-child, .wyswyg .row:first-child, .wyswyg section.top-sec .top-sec-content ul.vertical-list li:first-child, section.top-sec .top-sec-content ul.vertical-list .wyswyg li:first-child, .wyswyg .page-content.single:first-child, .wyswyg #slider:first-child {
    margin-top: 0;
  }
  .wyswyg p {
    margin: 26px 0;
  }
  .wyswyg p:first-child {
    margin-top: 0;
  }
  .wyswyg blockquote p:first-child::before {
    width: 13px;
    height: 9px;
    background-size: 13px auto;
    left: -4px;
    top: 4px;
  }
  .wyswyg figure.mt-figure-right,
  .wyswyg figure.mt-figure-left {
    margin-bottom: 16px;
  }
  .wyswyg figure.mt-figure-right + *,
  .wyswyg figure.mt-figure-left + * {
    margin-top: 0;
  }
  .wyswyg .row .col, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col, .wyswyg .page-content.single .col, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt, .page-content.single .wyswyg .row .wyswyg, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg, .wyswyg .page-content.single .wyswyg {
    margin-bottom: 32px;
  }
  .wyswyg .row .col:last-child, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .col:last-child, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .col:last-child, .wyswyg .page-content.single .col:last-child, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .img:last-child, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .img:last-child, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .img:last-child, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .img:last-child, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .row .txt:last-child, .wyswyg section.top-sec .top-sec-content ul.vertical-list li .txt:last-child, section.top-sec .top-sec-content ul.vertical-list .wyswyg li .txt:last-child, section.top-sec .top-sec-content ul.vertical-list li .wyswyg .page-content.single .txt:last-child, .page-content.single .wyswyg .row .wyswyg:last-child, .page-content.single .wyswyg section.top-sec .top-sec-content ul.vertical-list li .wyswyg:last-child, .page-content.single section.top-sec .top-sec-content ul.vertical-list .wyswyg li .wyswyg:last-child, .wyswyg .page-content.single .wyswyg:last-child {
    margin-bottom: 0;
  }
  .wyswyg .table-wrapper {
    overflow: auto;
    margin-right: -10.975%;
    margin-left: -10.975%;
    padding-left: 10.975%;
    padding-right: 10.975%;
  }
  .wyswyg .table-wrapper table {
    border-right: 32px solid #fff;
  }
  .wyswyg .table-wrapper td {
    white-space: nowrap;
  }
  .wyswyg .table-wrapper::-webkit-scrollbar {
    height: 5px;
  }
  .wyswyg .table-wrapper::-webkit-scrollbar-track {
    background: #F1F1F1;
  }
  .wyswyg .table-wrapper::-webkit-scrollbar-thumb {
    background: #BCBCBC;
  }
}

/* ==========================================================================
   スライダー
   ========================================================================== */
.wyswyg #slider {
  position: relative;
}

.wyswyg #slider .slideimgs {
  position: relative;
}

.wyswyg #slider .slidecaption {
  padding-top: 1em;
}

.wyswyg #slider ul {
  border: none;
  margin: 0;
}

.wyswyg #slider ul:before {
  content: "";
  display: block;
  padding-top: 66.66%;
}

.wyswyg #slider ul li {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  padding: 0;
  border: none;
}

.wyswyg #slider ul li img {
  width: 100%;
}

.wyswyg #slider ul li.on {
  z-index: 4;
}

.wyswyg #slider ul li:before {
  display: none;
}

.wyswyg #slider .nav-b {
  font-size: 20px;
  position: absolute;
  bottom: 32px;
  right: 32px;
  text-align: center;
  z-index: 8;
}

.wyswyg #slider .nav-b div {
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 48px;
  height: 48px;
  border: 1px solid #000;
  border-radius: 99px;
  background: #fff;
  margin: 0 7px;
  cursor: pointer;
  line-height: 21px;
  padding-top: 11px;
  padding-bottom: 12px;
  text-align: center;
}

.wyswyg #slider .nav-b div:hover, .wyswyg #slider .nav-b div.on {
  color: #fff;
  background: #000;
}

.wyswyg #slider .nav-b div.on {
  cursor: auto;
}

@media only screen and (max-width: 640px) {
  .wyswyg #slider .nav-b {
    font-size: 13px;
    right: 16px;
    bottom: 16px;
  }
  .wyswyg #slider .nav-b div {
    width: 24px;
    height: 24px;
    line-height: 13px;
    padding: 4px 0 5px;
    margin: 0 3px;
  }
}

.marketo form {
  margin: 0 auto;
  padding: 30px 30px 50px 30px;
  background-color: #f5f5f5;
}

.marketo button {
  margin: 0 auto !important;
  background-color: #1B96D5 !important;
}

.marketo .mktoFormRow {
  margin-bottom: 10px;
}

.mktoButton {
  border: none;
  background: #222;
  display: inline-block;
  padding: 5px 10px 6px;
  color: #fff;
  background: #1B96D5;
}
/*# sourceMappingURL=main.css.map */