
  @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

  /**** Don't change ****/

  /***** reset.css *****/

  /*********************/

  /* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domaindl*/

  *,
  :after,
  :before {
    box-sizing: content-box;
  }

  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  i,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
  }

  /* HTML5 display-role reset for older browsers */

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

  body {
    line-height: 1.5;
  }

  ol,
  ul {
    list-style: none;
  }

  blockquote,
  q {
    quotes: none;
  }

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

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

  /*==================================================
 * Tags
 *================================================*/
  /**
 * body
 */
  body {
    -webkit-font-smoothing: antialiased;
  }

  /**
 * heading
 */
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: bold;
  }

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

  /**
 * a
 */
  a {
    transition: color 0.2s, background-color 0.2s, border-color 0.2s,
      text-decoratin 0.2s;
  }

  /**
 * blockquote
 */
  blockquote {
    font-size: 100%;
  }

  /**
 * media
 */
  embed,
  iframe,
  object {
    max-width: 100%;
  }

  /**
 * table
 */
  table {
    margin-bottom: 11.5px;
  }

  table small {
    font-weight: normal;
  }

  /**
 * list
 */
  dl {
    margin-bottom: 11.5px;
  }

  /*************************/

  /***** reset.css END *****/

  /*************************/

  /*** 投稿画面プリセット ***/
  /*** マーカー ***/
  [class^='mk-'],
  [class*='mk-'] {
    padding: 0px 5px 4px;
  }

  [class^='mk-'],
  [class*='mk-'] {
    text-shadow: none;
  }

  .mk-blue {
    color: #fff;
    background: #3094dd;
  }

  .mk-lightblue {
    color: #333;
    background: #aee2fc;
  }

  .mk-pink {
    color: #333;
    background: #fdc2d6;
  }

  .mk-red {
    color: #fff;
    background: #fda2a2;
  }

  .mk-orange {
    color: #fff;
    background: #f39c12;
  }

  .mk-yellow {
    color: #333;
    background: #f7d745;
  }

  .mk-green {
    color: #fff;
    background: #1abc9c;
  }

  /*==================================================
 * layout
 *================================================*/

  * {
    font-family: 'Noto Sans JP', sans-serif;
  }

  body {
    padding-top: 55px;
  }

  .pc_none {
    display: none;
  }

  .sp_none {
    display: block;
  }

  br.pc_none,
  img.pc_none {
    display: none;
  }

  br.sp_none,
  img.sp_none {
    display: inline-block;
  }

  #container {
    overflow: hidden;
  }

  .sub-page-contents {
    padding-top: 40px;
  }

  .tal {
    text-align: left;
  }

  .tac {
    text-align: center;
  }

  .tar {
    text-align: right;
  }

  .section__wrapper {
    padding: 90px 0;
  }

  .section__container {
    width: 960px;
    margin: 0 auto;
  }

  .section__container:after {
    content: '';
    clear: both;
    display: block;
  }

  .section--white {
    background: #fff;
  }

  h2 {
    font-size: 52px;
    margin: 0 0 30px;
    color: #1c2e69;
  }

  .section__sub h2 {
    font-size: 28px;
    border-bottom: 5px solid #eee;
    padding: 0 0 10px;
    margin: 0 0 45px;
    position: relative;
  }

  .section__sub h2:before {
    content: '';
    display: block;
    background: #1c2e69;
    width: 80px;
    position: absolute;
    bottom: -5px;
    left: 0;
    height: 5px;
  }

  h3 {
    font-size: 32px;
    color: #1c2e69;
    margin: 0 0 20px;
  }

  h4 {
    font-size: 22px;
    color: #1c2e69;
    margin: 0 0 15px;
  }

  p {
    font-size: 16px;
    font-weight: 400;
  }

  .subpage-block {
    margin: 0 0 90px;
  }

  .subpage-block:after {
    content: '';
    display: block;
    clear: both;
  }

  .subpage-block .img-block {
    float: left;
    margin: 0 45px 45px 0;
  }

  .navbtn {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 90px 17px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .navbtn:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  .entry .navbtn {
    margin-top: 30px;
  }

  .navbtn--online {
    margin: 45px 0 0;
    text-indent: 20px;
    background: url(images/common/footer_shop_icon_b.png) no-repeat center left 75px;
  }

  .navbtn--online:hover {
    background: #1c2e69 url(images/common/footer_shop_icon.png) no-repeat center left 75px;
  }

  /*** animation ***/

  @keyframes fadeInTop {
    0% {
      opacity: 0;
      transform: translateY(-30px);
    }

    100% {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  @-webkit-keyframes fadeInTop {
    0% {
      opacity: 0;
      transform: translateY(-30px);
    }

    100% {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  @keyframes fadeInBottom {
    0% {
      opacity: 0;
      transform: translateY(30px);
    }

    100% {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  @-webkit-keyframes fadeInBottom {
    0% {
      opacity: 0;
      transform: translateY(30px);
    }

    100% {
      opacity: 1;
      transform: translateY(0px);
    }
  }

  @keyframes fadeInLeft {
    0% {
      opacity: 0;
      transform: translateX(-60px);
    }

    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }

  @-webkit-keyframes fadeInLeft {
    0% {
      opacity: 0;
      transform: translateX(-60px);
    }

    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }

  @keyframes fadeInRight {
    0% {
      opacity: 0;
      transform: translateX(60px);
    }

    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }

  @-webkit-keyframes fadeInRight {
    0% {
      opacity: 0;
      transform: translateX(60px);
    }

    100% {
      opacity: 1;
      transform: translateX(0px);
    }
  }

  @keyframes shake {
    16% {
      transform: scale(1.05);
    }

    32%,
    64% {
      transform: scale(1);
    }

    48%,
    80% {
      transform: scale(1.05);
    }

    100% {
      transform: scale(1);
    }
  }

  @-webkit-keyframes shake {
    16% {
      transform: scale(1.05);
    }

    32%,
    64% {
      transform: scale(1);
    }

    48%,
    80% {
      transform: scale(1.05);
    }

    100% {
      transform: scale(1);
    }
  }

  .js-animate-fadein--b,
  .js-animate-fadein--l,
  .js-animate-fadein--r {
    opacity: 0;
  }

  .js-animate-fadein--b.active {
    animation-name: fadeInBottom;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
  }

  .js-animate-fadein--l.active {
    animation-name: fadeInLeft;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
  }

  .js-animate-fadein--r.active {
    animation-name: fadeInRight;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
  }

  .js-animate-shake.active {
    animation-name: shake;
    animation-duration: 1.4s;
    animation-timing-function: ease;
  }

  .anim-delay--1 {
    -moz-animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s;
    -o-animation-delay: 0.5s;
    -ms-animation-delay: 0.5s;
  }

  .anim-delay--2 {
    -moz-animation-delay: 1s;
    -webkit-animation-delay: 1s;
    -o-animation-delay: 1s;
    -ms-animation-delay: 1s;
  }

  .anim-delay--3 {
    -moz-animation-delay: 1.5s;
    -webkit-animation-delay: 1.5s;
    -o-animation-delay: 1.5s;
    -ms-animation-delay: 1.5s;
  }

  .js-movetext {
    opacity: 0;
  }

  .js-movetext span {
    position: relative;
    top: -30px;
    display: inline-block;
    transform: translateY(5px);
    opacity: 0;
  }

  .js-movetext span:nth-of-type(2n) {
    position: relative;
    top: 30px;
    display: inline-block;
    transform: translateY(5px);
    opacity: 0;
  }

  .js-movetext:before {
    opacity: 0;
  }

  .js-movetext.active:before {
    animation-name: fadeInTop;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-delay: 1.2s;
  }

  .section__top-case:before {
    opacity: 0;
  }

  .section__top-case.active:before {
    animation-name: fadeInLeft;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
  }

  .section__top-company:before {
    opacity: 0;
  }

  .section__top-company.active:before {
    animation-name: fadeInRight;
    animation-duration: 0.5s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
  }

  /*** block__hasimage ***/
  .block__hasimage--left:after,
  .block__hasimage--right:after {
    content: '';
    clear: both;
    display: block;
  }

  .block__hasimage--left .imgblock {
    width: calc(50% - 30px);
    float: left;
    margin: 0 30px 0 0;
  }

  .block__hasimage--left .textblock {
    width: 50%;
    float: right;
    margin: 0;
  }

  .block__hasimage--right .imgblock {
    width: calc(50% - 30px);
    float: right;
    margin: 0 0 0 30px;
  }

  .block__hasimage--right .textblock {
    width: 50%;
    float: left;
    margin: 0;
  }

  /*** form ***/
  form {}

  form.wpcf7-form {
    margin-top: -100px;
    padding-top: 100px;
  }

  form table {
    border-collapse: collapse;
  }

  form table th {
    width: 270px;
    border: none;
    text-align: left;
    padding: 20px 0;
    vertical-align: top;
  }

  form table td {
    width: 670px;
    border: none;
    text-align: left;
    vertical-align: middle;
  }

  form table input[type='text'],
  form table input[type='email'],
  form table input[type='password'],
  form table input[type='tel'],
  form table select,
  form table textarea {
    padding: 5px 15px 7px;
    background: #f9f9f9;
    border: 1px solid #cdcdcd;
    border-radius: 5px;
    font-size: 16px;
  }

  form table input[type='text'],
  form table input[type='email'],
  form table input[type='password'],
  form table input[type='tel'],
  form table textarea {
    width: 480px;
  }

  form table textarea {
    padding: 15px;
  }

  form table label.file input {
    display: none;
  }

  form table label.file {
    background: #1c2e69 url(images/common/upload_icon.png) no-repeat center right 20px;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    padding: 5px 50px 7px 15px;
    margin: 0 0 5px;
    display: inline-block;
  }

  form table label.file .wpcf7-not-valid-tip {
    display: inline-block;
    margin: 0 0 0 20px;
  }

  form table .filename {
    display: inline-block;
    margin: 0 0 0 10px;
  }

  form .acceptance {
    margin: 60px 0 0 !important;
    margin-bottom: 0;
  }

  form .submit input {
    cursor: pointer;
  }

  form .required {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    background: #ff7a09;
    display: inline-block;
    padding: 1px 7px 3px;
    margin-left: 20px;
    transition: all 0.2s;
    vertical-align: bottom;
  }

  form div.wpcf7-response-output {
    margin: 1em 0;
    padding: 1.2em;
    border: 2px solid #ff0000;
  }

  form div.wpcf7-mail-sent-ok {
    border: 2px solid #398f14;
  }

  form div.wpcf7-validation-errors,
  form div.wpcf7-acceptance-missing {
    border: 2px solid #ff0000;
  }

  form.sent p,
  form.sent table {
    display: none;
  }

  /*** header ***/
  .header {
    /* background: url(images/common/gmenu_bg.png) no-repeat center top; 2024/10/07 変更 */
    background: url(images/common/gmenu_bg.png) no-repeat 58% top;
    width: 100%;
    transition: top 0.2s;
    position: absolute;
    top: 0px;
    z-index: 1;
  }

  .admin-bar .header {
    top: 32px;
  }

  .header.fixed {
    left: 0;
    position: fixed;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid #eeeeee;
    padding: 0 40px 0 0;
  }

  .admin-bar .header.fixed {
    top: 32px;
  }

  .header__container {
    width: 1100px;
    /* 960 → 1100 2024/10/07変更 */
    height: 60px;
    margin: 0 auto;
  }

  .header__container:after {
    content: '';
    clear: both;
    display: block;
  }

  .fixed .header__container {
    height: 55px;
  }

  .header-logo {
    float: left;
    height: 100%;
    position: relative;
    /* 2024/10/07 CSS追加 */
  }

  @media screen and (min-width: 481px) {
    .header-logo:before {
      /* 2024/10/07 CSS追加 */
      content: "";
      background-color: #fff;
      -webkit-transform: skew(-24deg);
      transform: skew(-24deg);
      position: absolute;
      top: 0;
      bottom: 0;
      width: 108%;
      z-index: -1;
    }

  }

  .header-logo h1 {
    height: 100%;
    display: flex;
    flex: 1 1;
    align-items: center;
    justify-content: center;
  }

  .header-logo h1 a {
    display: block;
    line-height: 1;
  }

  .fixed .header-logo h1 a img {
    max-width: 90%;
    transform: translate(50px, 2px);
  }

  .drawer-nav {
    display: none;
  }

  .header-nav {
    float: right;
    height: 100%;
  }

  .header-nav .global-nav--pc {
    height: 100%;
    display: flex;
    flex: 1 1;
    align-items: center;
    justify-content: center;
    padding-left: 30px;
    /* 2024/10/07追加 */
  }

  .header-nav .global-nav--pc .header-nav__iink {
    height: 100%;
    display: block;
    list-style: none;
    color: #1c2e69;
    font-size: 14px;
    position: relative;
  }

  .header-nav .global-nav--pc .header-nav__iink:before {
    position: absolute;
    top: 18px;
    right: 0;
    content: '';
    width: 1px;
    height: 20px;
    background: #596891;
  }

  .header-nav .global-nav--pc .header-nav__iink:after {
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 4px;
    background: #1843c6;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s;
  }

  .header-nav .global-nav--pc .current-menu-item.header-nav__iink:after,
  .header-nav .global-nav--pc .current-page-ancestor.header-nav__iink:after,
  .header-nav .global-nav--pc .header-nav__iink:hover::after {
    transform: scale(1, 1);
  }

  .header-nav .global-nav--pc .header-nav__iink a {
    color: #fff;
    display: block;
    font-weight: 700;
    padding: 17px 10px;
    text-decoration: none;
  }

  /*** footer ***/
  footer {
    background: #1c2e69;
    color: #fff;
    padding: 45px 0;
  }

  .footer__container {
    width: 1020px;
    margin: 0 auto;
    position: relative;
  }

  .footer__container:after {
    content: '';
    clear: both;
    display: block;
  }

  .footer-nav {
    width: 790px;
    border-right: 1px solid #fff;
    box-sizing: border-box;
    float: left;
  }

  .footer-nav__list {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }

  .footer-nav__list .footer-nav__item {
    margin: 0 40px 0 0;
    max-width: 140px;
  }

  .footer-nav__list .footer-nav__item>a {
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 10px;
    text-decoration: none;
  }

  .footer-nav__list--sub {
    margin: 0 0 30px;
    padding: 0 0 0 15px;
  }

  .footer-nav__list--sub>li {
    font-size: 12px;
    font-weight: 400;
    position: relative;
    margin: 0 0 7px;
  }

  .footer-nav__list--sub>li:before {
    content: '-';
    display: block;
    position: absolute;
    left: -12px;
    top: 0px;
  }

  .footer-nav__list--sub>li a {
    color: #fff;
    display: block;
    margin: 0 0 5px;
    text-decoration: none;
  }

  .footer-nav__list--subsub>li {
    margin: 0 0 7px;
  }

  .footer-nav__list--subsub>li a {
    color: #fff;
    display: block;
    margin: 0 0 5px;
    text-decoration: none;
  }

  .footer-nav__list .footer-nav__item>.footer-navbtn {
    border: 2px solid #fff;
    display: block;
    padding: 10px 15px 13px;
    font-weight: 400;
    margin: 0 0 15px;
    text-align: center;
    box-sizing: border-box;
    width: 200px;
    text-indent: 20px;
    transition: all 0.2s;
  }

  .footer-nav__list .footer-nav__item>.footer-navbtn:hover {
    color: #1c2e69;
  }

  .footer-navbtn.footer-navbtn--contact {
    background: url(images/common/footer_contact_icon.png) no-repeat center left 51px;
  }

  .footer-navbtn.footer-navbtn--shop {
    background: url(images/common/footer_shop_icon.png) no-repeat center left 10px;
  }

  .footer-navbtn.footer-navbtn--mailmagazine {
    background: url(images/common/footer_contact_icon.png) no-repeat center left 19px;
  }

  .footer-nav__list .footer-nav__item>.footer-navbtn.footer-navbtn--catalog {
    text-indent: 0;
  }

  .footer-navbtn.footer-navbtn--contact:hover {
    background: #fff url(images/common/footer_contact_icon_b.png) no-repeat center left 51px;
  }

  .footer-navbtn.footer-navbtn--shop:hover {
    background: #fff url(images/common/footer_shop_icon_b.png) no-repeat center left 10px;
  }

  .footer-navbtn.footer-navbtn--mailmagazine:hover {
    background: #fff url(images/common/footer_contact_icon_b.png) no-repeat center left 19px;
  }

  .footer-navbtn.footer-navbtn--catalog:hover {
    background: #fff;
  }

  .footer-company-detail {
    width: 230px;
    float: right;
    box-sizing: border-box;
    padding: 0 0 0 35px;
    text-align: right;
  }

  .footer-company-detail .footer-logo {
    float: right;
    margin: 0 0 20px;
  }

  .footer-company-detail .footer-logo a {
    display: block;
  }

  .footer-company-detail p {
    float: right;
    font-size: 14px;
    line-height: 2;
  }

  .backtop {
    width: 50px;
    height: 50px;
    background: url(images/common/backtop.png) no-repeat;
    background-size: 50px 50px;
    bottom: 30px;
    cursor: pointer;
    display: block;
    position: absolute;
    right: 0;
  }

  /*** sidebar-nav ***/
  .sidebar-nav {
    width: 240px;
    background: #f9f9f9;
    float: left;
    margin: 0 30px 0 0;
  }

  .sidebar-nav__title {
    background: url(images/common/sidebar_nav_title_bg.png) no-repeat right bottom;
    border-left: 8px solid #1c2e69;
    color: #1c2e69;
    font-size: 18px;
    font-weight: 700;
    padding: 20px 10px 22px 20px;
  }

  .section__sub-service .sidebar-nav__title {
    background: #fff url(images/common/sidebar_nav_title_bg_service.png) no-repeat right bottom;
  }

  .section__sub-system .sidebar-nav__title {
    background: #fff url(images/common/sidebar_nav_title_bg_system.png) no-repeat right bottom;
  }

  .sidebar-nav .menu {
    margin: 0;
  }

  .sidebar-nav .menu>li {
    margin: 0;
  }

  .sidebar-nav .menu li a {
    background: #f9f9f9;
    border-bottom: 1px solid #dddddf;
    color: #333;
    display: block;
    padding: 15px 15px 15px 45px;
    position: relative;
    font-size: 14px;
    text-decoration: none;
  }

  .sidebar-nav .menu li a:before {
    content: '';
    background: url(images/common/sidebar_menu_arrow.png);
    display: block;
    width: 6px;
    height: 7px;
    position: absolute;
    left: 23px;
    top: calc(50% - 3px);
  }

  .sidebar-nav .menu li a:hover {
    background: #eff0f5;
  }

  .sidebar-nav .menu li.current_page_item>a,
  .sidebar-nav .menu li.current-page-ancestor>a {
    background: #1c2e69;
    color: #fff;
    position: relative;
  }

  .sidebar-nav .menu li.current_page_item>a:before,
  .sidebar-nav .menu li.current-page-ancestor>a:before {
    content: '';
    background: url(images/common/sidebar_menu_arrow_w.png);
  }

  .sidebar-nav .menu li.current_page_item>a:after,
  .sidebar-nav .menu li.current-page-ancestor>a:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 26px 0 26px 10px;
    border-color: transparent transparent transparent #1b2e69;
    position: absolute;
    right: -10px;
    top: 0;
  }

  .sidebar-nav .sub-menu {
    background: #eff0f6;
    box-sizing: border-box;
    padding: 10px;
    display: none;
  }

  .sidebar-nav .menu li:hover>.sub-menu {
    display: block;
  }

  .sidebar-nav .sub-menu>li {}

  .sidebar-nav .sub-menu>li a {
    background: url(images/common/sidebar_arrow.png) no-repeat left 13px center;
    display: block;
    padding: 10px 0 10px 30px;
  }

  .sidebar-nav .sidebar-recommend-nav {
    width: 220px;
    background: #fff;
    border: 1px solid #dddddf;
    box-sizing: border-box;
    margin: 0 auto 20px;
    padding: 5px 0;
  }

  .sidebar-nav .sidebar-recommend-nav .menu {
    margin: 0;
  }

  .sidebar-nav .sidebar-recommend-nav__title {
    width: 220px;
    border-left: 4px solid #1b2e69;
    box-sizing: border-box;
    color: #1b2e69;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    margin: 30px auto 5px;
    padding: 0 0 0 10px;
  }

  .sidebar-nav .sidebar-recommend-nav .menu li a {
    background: url(images/common/sidebar_menu_arrow.png) no-repeat center left 16px;
    border-bottom: none;
    color: #333;
    display: block;
    font-weight: 400;
    padding: 7px 15px 7px 35px;
    font-size: 14px;
    text-decoration: none;
  }

  .sidebar-nav .sidebar-recommend-nav .menu li a:before,
  .sidebar-nav .sidebar-recommend-nav .menu li a:after {
    content: '';
    display: none;
  }

  .sidebar-nav .sidebar-recommend-nav .menu li a:hover {
    color: #1c2e69;
    text-decoration: underline;
  }

  .sidebar-nav .sidebar-recommend-nav .menu li.current_page_item>a,
  .sidebar-nav .sidebar-recommend-nav .menu li.current-page-ancestor>a {
    background: #1c2e69 url(images/common/sidebar_menu_arrow_w.png) no-repeat center left 16px;
    color: #fff;
    font-weight: 700;
  }

  /*** subpage ***/
  .pagetitle__wrapper {
    background: #1c2e69 url(images/common/sub_pagetitle_bg.jpg) no-repeat center top;
    padding: 40px 0 46px;
  }

  .pagetitle__wrapper h2 {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    margin: 0;
  }

  .pagetitle__wrapper h2 span {
    font-size: 36px;
  }

  .pagetitle__container {
    width: 960px;
    margin: 0 auto;
    position: relative;
  }

  .breadcrumbs {
    color: #1c2e69;
    font-size: 12px;
    position: absolute;
    left: 0;
    top: 130px;
    z-index: 1;
  }

  .breadcrumbs a {
    background: url(images/common/breadcrumb_arrow.png) no-repeat top 6px right 8px;
    background-size: 6px 8px;
    color: #1c2e69;
    padding: 0 25px 0 0;
    text-decoration: none;
  }

  .breadcrumbs a:hover {
    text-decoration: underline;
  }

  .section__sub h3 {
    border-bottom: none;
    background: url(images/common/h3_bg_frame_960.png) no-repeat left bottom;
    color: #1c2e69;
    font-size: 24px;
    margin: 0 0 20px;
    padding: 4px 15px 19px 30px;
  }

  .section__sub h3:first-letter {
    font-size: 135%;
  }

  /*** entry ***/
  .entry .entry-title {
    border-bottom: none;
    background: url(images/common/h3_bg_frame_960.png) no-repeat left bottom;
    color: #1c2e69;
    margin: 0 0 20px;
  }

  .entry .entry-title:before {
    content: '';
    display: none;
  }

  .entry .textblock {
    box-sizing: border-box;
  }

  .entry h4,
  .entry .textblock h4 {
    margin: 45px 0 20px;
  }

  .entry img,
  .entry .textblock img {
    display: inline-block;
    margin: 0 0 20px;
  }

  .entry p,
  .entry .textblock p {
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 30px;
  }

  .entry ul,
  .entry .textblock ul {
    margin: 0 0 20px;
  }

  .section__sub-news .entry-content__news {
    margin: 0 0 90px;
  }

  .section__sub-news .entry-content__news h3 {
    border-bottom: none;
    background: url(images/common/h3_bg_frame_960.png) no-repeat left bottom;
    color: #1c2e69;
    margin: 0 0 20px;
  }

  .section__sub-news .entry-content__news h3:before {
    content: '';
    display: none;
  }

  .section__sub-news h4 {
    font-size: 28px;
    border-bottom: 5px solid #eee;
    padding: 0 0 10px;
    margin: 45px 0 20px;
    position: relative;
  }

  .section__sub-news h4:before {
    content: '';
    display: block;
    background: #1c2e69;
    width: 80px;
    position: absolute;
    bottom: -5px;
    left: 0;
    height: 5px;
  }

  /*** pager ***/

  .pager:after {
    content: '';
    clear: both;
    display: block;
  }

  .pager a {
    display: inline-block;
    color: #333;
    text-decoration: none;
    font-weight: 700;
  }

  .pager a:hover {
    color: #1c2e69;
    text-decoration: underline;
  }

  .pager .pager-prev {
    width: 320px;
    float: left;
  }

  .pager .pager-prev a {
    background: url(images/common/page_prev.png) no-repeat top 5px left;
    padding: 5px 0 5px 35px;
  }

  .pager .pager-next {
    width: 320px;
    float: right;
    text-align: right;
  }

  .pager .pager-next a {
    background: url(images/common/page_next.png) no-repeat top 5px right;
    padding: 5px 35px 5px 0;
  }

  /*** 2カラム ***/
  .section__container.col-2 .entry {
    width: 690px;
    float: left;
  }

  /*** mainimg ***/
  .n2-ss-align,
  .n2-section-smartslider {
    border-bottom: 7px solid #1c2e69;
    min-height: 620px;
  }

  .n2-ss-align:before,
  .n2-section-smartslider:before {
    content: '';
    display: block;
    width: 695px;
    height: 12px;
    z-index: 10;
    background: url(images/top/slider_cover_left.png) no-repeat left top;
    position: absolute;
    right: calc(50% + 260px);
    bottom: -5px;
  }

  .n2-ss-align:after,
  .n2-section-smartslider:after {
    content: '';
    display: block;
    width: 695px;
    height: 12px;
    z-index: 10;
    background: url(images/top/slider_cover_right.png) no-repeat left top;
    position: absolute;
    left: calc(50% + 260px);
    bottom: -5px;
  }

  /*** top-intro ***/

  .section__top-intro {
    background: #fcfcfc;
    padding: 60px 0 90px;
  }

  .section__top-intro .section__container {
    position: relative;
    z-index: 0;
  }

  .section__top-intro .section__container:before {
    content: '';
    display: block;
    width: 783px;
    height: 676px;
    z-index: -1;
    background: url(images/top/intro_bg_left.png) no-repeat left top;
    position: absolute;
    left: -360px;
    top: 140px;
  }

  .section__top-intro .section__container:after {
    content: '';
    display: block;
    width: 783px;
    height: 676px;
    z-index: -1;
    background: url(images/top/intro_bg_right.png) no-repeat left top;
    position: absolute;
    right: -380px;
    top: 1220px;
  }

  .section__top-intro h2 {
    font-size: 52px;
    line-height: 130%;
    margin: 0 0 60px;
    text-align: center;
    position: relative;
    z-index: 0;
  }

  .section__top-intro h2:before {
    content: '';
    display: block;
    width: 134px;
    height: 96px;
    z-index: -1;
    background: url(images/top/intro_h2_sub.png) no-repeat left top;
    position: absolute;
    left: calc(50% - 67px);
    top: -110px;
  }

  .section__top-intro .top-intro__item {
    margin: 0 0 90px;
  }

  .section__top-intro .top-intro__item:nth-last-of-type(1) {
    margin: 0;
  }

  .section__top-intro .block__hasimage--left .imgblock,
  .section__top-intro .block__hasimage--right .imgblock {
    width: 450px;
  }

  .section__top-intro .block__hasimage--left .textblock,
  .section__top-intro .block__hasimage--right .textblock {
    width: 480px;
  }

  .top-intro__item h3 {
    font-size: 32px;
    line-height: 130%;
    margin: 0 0 5px;
    padding-top: 90px;
    position: relative;
    z-index: 0;
  }

  .top-intro__item h3 span {
    font-size: 44px;
  }

  .top-intro__item h3:before {
    content: '';
    display: block;
    width: 100%;
    min-height: 110px;
    z-index: -1;
    position: absolute;
    left: 10px;
    top: 10px;
  }

  .top-intro__item .subtext {
    color: #1c2e69;
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 15px;
  }

  .top-intro__item p {
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .top-intro__item.top-intro__item--cost h3:before {
    content: '';
    background: url(images/top/intro_h3_bg_cost.png) no-repeat left top;
    background-size: contain;
    width: 159px;
  }

  .top-intro__item.top-intro__item--feature h3:before {
    content: '';
    background: url(images/top/intro_h3_bg_feature.png) no-repeat left top;
    background-size: contain;
    width: 282px;
  }

  .top-intro__item.top-intro__item--satisfaction h3:before {
    content: '';
    background: url(images/top/intro_h3_bg_satisfaction.png) no-repeat left top;
    background-size: contain;
    width: 437px;
  }

  .top-intro__item.top-intro__item--contact h3:before {
    content: '';
    background: url(images/top/intro_h3_bg_contact.png) no-repeat left top;
    background-size: contain;
    width: 277px;
  }

  /*** top-service ***/
  .section__top-service {
    background: url(images/top/service_bg.jpg) center top;
  }

  .section__top-service .section__container {
    background: url(images/top/service_img.png) no-repeat top 120px right;
    padding: 0 0 60px;
  }

  .section__top-service .textblock {
    width: 500px;
  }

  .section__top-service .textblock h2 {
    letter-spacing: -0.05em;
    line-height: 125%;
    margin: 0 0 30px;
    padding: 60px 0 0;
    position: relative;
    z-index: 0;
  }

  .section__top-service .textblock h2:before {
    content: '';
    background: url(images/top/service_h2_bg.png) no-repeat left top;
    width: 371px;
    height: 140px;
    z-index: -1;
    position: absolute;
    left: 5px;
    top: -40px;
  }

  .section__top-service .textblock p {
    width: 400px;
    color: #1c2e69;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0 0 90px;
  }

  .section__top-service .textblock .navbtn {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 50px 17px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__top-service .textblock .navbtn:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  /*** top-case ***/
  .section__top-case {
    background: url(images/top/case_bg.jpg) center top;
    z-index: 0;
    position: relative;
  }

  .section__top-case:before {
    content: '';
    background: url(images/top/case_person.png) no-repeat left bottom;
    background-size: contain;
    max-width: 386px;
    width: 386px;
    height: 507px;
    z-index: 1;
    position: absolute;
    left: calc(50% - 400px);
    bottom: 0px;
  }

  .section__top-case .section__container:after {
    content: '';
    clear: both;
    display: block;
  }

  .section__top-case .textblock {
    width: 440px;
    float: right;
  }

  .section__top-case .textblock h2 {
    color: #fff;
    line-height: 125%;
    margin: 0 0 10px;
    position: relative;
    z-index: 0;
  }

  .section__top-case .textblock h2:before {
    content: '';
    background: url(images/top/case_h2_bg.png) no-repeat left top;
    width: 543px;
    height: 141px;
    z-index: -1;
    position: absolute;
    left: -110px;
    top: -60px;
  }

  .section__top-case .textblock .subtext {
    color: #fff;
    font-size: 18px;
    margin: 0 0 30px;
  }

  .section__top-case .textblock h3 {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 125%;
    margin: 0 0 10px;
  }

  .section__top-case .textblock p {
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0 0 45px;
  }

  .section__top-case .textblock .navbtn {
    background: url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #fff;
    color: #fff;
    display: inline-block;
    float: right;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 50px 17px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__top-case .textblock .navbtn:hover {
    background: #fff url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #1c2e69;
  }

  /*** top-company ***/
  .section__top-company {
    background: url(images/top/company_bg.jpg) center top;
    overflow: hidden;
    position: relative;
    z-index: 0;
  }

  .section__top-company:before {
    content: '';
    background: url(images/top/company_person.png) no-repeat left bottom;
    background-size: contain;
    width: 345px;
    max-width: 345px;
    height: 545px;
    z-index: 1;
    position: absolute;
    right: calc(50% - 400px);
    bottom: -60px;
  }

  .section__top-company .textblock {
    width: 500px;
  }

  .section__top-company .textblock h2 {
    letter-spacing: -0.05em;
    line-height: 125%;
    margin: 0 0 30px;
    position: relative;
    z-index: 0;
  }

  .section__top-company .textblock h2:before {
    content: '';
    background: url(images/top/company_h2_bg.png) no-repeat left top;
    width: 460px;
    height: 141px;
    z-index: -1;
    position: absolute;
    left: 10px;
    top: -70px;
  }

  .section__top-company .textblock p {
    width: 400px;
    color: #1c2e69;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0 0 60px;
  }

  .section__top-company .textblock .navbtn {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 50px 17px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__top-company .textblock .navbtn:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  /*** top-news ***/
  .section__top-news {
    background: url(images/common/contact_bg.png) center top;
    padding: 60px 0 120px;
    position: relative;
    z-index: 0;
  }

  .section__top-news:before {
    content: '';
    display: block;
    width: 134px;
    height: 96px;
    z-index: 1;
    background: url(images/top/news_title.png) no-repeat left top;
    position: absolute;
    left: calc(50% - 67px);
    top: -49px;
  }

  .section__top-news .section__container {
    width: 800px;
  }

  .section__top-news h2 {
    text-align: center;
  }

  .section__top-news .top-news__list {
    margin: 0 auto 30px;
    box-sizing: border-box;
    border-top: 1px solid #1c2e69;
    border-bottom: 1px solid #1c2e69;
  }

  .section__top-news .top-news__item>a {
    background: #fff;
    border-bottom: 1px solid #a6adc4;
    color: #1c2e69;
    display: block;
    font-weight: 700;
    padding: 35px 40px;
    position: relative;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__top-news .top-news__item:nth-last-of-type(1)>a {
    border-bottom: none;
  }

  .section__top-news .top-news__item>a:after {
    content: '';
    display: block;
    background: url(images/common/btn_arrow.png) no-repeat;
    background-size: 12px 14px;
    width: 12px;
    height: 14px;
    position: absolute;
    right: 15px;
    top: calc(50% - 7px);
  }

  .section__top-news .top-news__item>a:hover {
    background: #eff0f6;
  }

  .section__top-news .top-news__item .date {
    margin: 0 30px 0 0;
    font-weight: 700;
    color: #1c2e69;
  }

  .section__top-news .top-news__item .title {
    font-weight: 700;
    color: #333;
  }

  .section__top-news .top-news__item .tags {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    background: #1c2e69;
    display: inline-block;
    padding: 1px 5px 3px;
    margin-left: 10px;
    transition: all 0.2s;
    vertical-align: bottom;
  }

  .section__top-news .top-news__item .tags:hover {
    background: #ff7a09;
  }

  .section__top-news .top-news__item .tags a {
    font-size: 12px;
    color: #fff;
    font-weight: 400;
    text-decoration: none;
  }

  .section__top-news .top-news__item:nth-last-of-type(1) {
    margin: 0;
  }

  .section__top-news .top-news__item .date {
    margin: 0 20px 0 0;
  }

  .section__top-news .navbtn {
    background: #fff url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    padding: 12px 50px 15px 40px;
  }

  .section__top-news .navbtn:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
  }

  /*** fixed-tab ***/
  .fixed-tab {
    position: fixed;
    right: -10px;
    top: 150px;
    z-index: 1;
  }

  .fixed-tab .fixed-tab__item {
    display: block;
    transition: all 0.2s;
  }

  .fixed-tab .fixed-tab__item:hover {
    transform: translateX(-10px);
  }

  /*** contact ***/
  .section__contact {
    background: url(images/common/contact_bg.png) center top;
    overflow: hidden;
    padding: 60px 0 30px;
    position: relative;
    z-index: 0;
  }

  .section__contact:before {
    content: '';
    background: url(images/common/contact_person.png) no-repeat left top;
    width: 286px;
    height: 336px;
    z-index: 1;
    position: absolute;
    left: calc(50% - 540px);
    bottom: 0px;
  }

  .section__contact .section__container {
    width: 600px;
    margin: 0 auto;
    text-align: center;
  }

  .section__contact .contactbtn {
    width: 100%;
    background: #ff7800;
    border-radius: 10px;
    box-shadow: 0 3px 15px rgba(28, 46, 105, 0.3);
    box-sizing: border-box;
    color: #fff;
    display: block;
    font-size: 36px;
    font-weight: 700;
    line-height: 110%;
    margin: 0 0 30px;
    padding: 30px 30px 26px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__contact .contactbtn:hover {
    box-shadow: 0 5px 25px rgba(28, 46, 105, 0.15);
    transform: translateY(-5px);
  }

  .section__contact .contactbtn span {
    font-weight: 400;
    font-size: 20px;
  }

  .section__contact .contact-tel .contact-tel__text,
  .section__contact .contact-tel .contact-tel__openclose {
    color: #1c2e69;
    font-size: 16px;
    font-weight: 700;
  }

  .section__contact .contact-tel .contact-tel__num {
    color: #1c2e69;
    line-height: 120%;
    font-size: 34px;
    font-weight: 700;
  }

  .section__contact .contact-tel .contact-tel__num a {
    text-decoration: none;
    color: inherit;
  }

  /*** system ***/
  .system__list {
    width: 690px;
    float: left;
  }

  .system__item {
    margin: 0 0 75px;
  }

  .system__item h3 {}

  .system__item.block__hasimage--left .imgblock {
    width: 210px;
    margin: 0 30px 0 0;
  }

  .system__item.block__hasimage--left .textblock {
    width: 450px;
  }

  .system__item .system__item-link {
    text-align: right;
  }

  .system__item .system__item-link a {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    margin: 30px 0 0;
    padding: 5px 38px 7px 18px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .system__item .system__item-link a:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  .system__list--sub {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 45px;
  }

  .system__list--sub:after {
    content: '';
    clear: both;
    display: block;
  }

  .system__list--sub .system__item--sub {
    width: 210px;
    background: #eff0f6;
    box-sizing: border-box;
    margin: 0 30px 30px 0;
    min-height: 200px;
    padding: 12px 15px 15px;
    text-decoration: none;
    transition: all 0.2s;
  }

  .system__list--sub .system__item--sub:hover {
    background: #1c2e69;
    color: #fff;
  }

  .system__list--sub .system__item--sub:nth-of-type(3n) {
    margin: 0 0 30px 0;
  }

  .system__list--sub .system__item--sub h4 {
    font-size: 18px;
    margin: 0 0 10px;
  }

  .system__list--sub .system__item--sub .excerpt {
    color: #333;
    font-size: 12px;
    margin: 0;
  }

  .system__list--sub .system__item--sub:hover h4,
  .system__list--sub .system__item--sub:hover .excerpt {
    color: #fff;
  }

  .entry .system__list--sub .system__item--sub img {
    margin: 0 0 5px;
  }

  /*** service ***/
  .service__list {
    width: 690px;
    float: left;
  }

  .service__item {
    margin: 0 0 90px;
    text-align: center;
  }

  .service__item:nth-last-of-type(1) {
    margin: 0;
  }

  .service__item .imgblock {
    margin: 0 0 30px;
  }

  .service__item .textblock {
    box-sizing: border-box;
    padding: 0 45px 30px;
    text-align: left;
  }

  .service__item .textblock h3 {
    border-bottom: none;
    font-size: 32px;
    line-height: 130%;
    margin: 0 0 20px;
    padding: 0;
  }

  .service__item .textblock h3:before {
    content: '';
    display: none;
  }

  .service__item .feature__item {
    margin: 0 0 45px;
  }

  .service__item .feature__item li {
    color: #1c2e69;
    font-size: 20px;
    font-weight: 500;
    padding: 0 0 0 25px;
    position: relative;
  }

  .service__item .feature__item li:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background: #1c2e69;
    position: absolute;
    left: 0px;
    top: 6px;
  }

  .section__sub-service .navbtn,
  .section__sub-system .navbtn {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    padding: 15px 90px 17px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .section__sub-service .navbtn:hover,
  .section__sub-system .navbtn:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  .service__item .feature__item-add {
    border: 5px solid #1c2e69;
    box-sizing: border-box;
    padding: 30px 40px 35px;
    margin: 0 0 45px;
  }

  .service__item .feature__item-add p {
    color: #1c2e69;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 10px;
    text-align: left;
  }

  .service__item .feature__item-add ul:after {
    content: '';
    clear: both;
    display: block;
  }

  .service__item .feature__item-add ul li {
    color: #1c2e69;
    float: left;
    font-size: 20px;
    font-weight: 500;
    margin: 0 25px 0 0;
    padding: 0 0 0 25px;
    position: relative;
  }

  .service__item .feature__item-add ul li:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background: #1c2e69;
    position: absolute;
    left: 0px;
    top: 6px;
  }

  .case__item {
    margin: 0 0 45px;
  }

  .case__item:after {
    content: '';
    clear: both;
    display: block;
  }

  .case__item .imgblock {
    width: 330px;
    float: left;
    margin: 0 15px 0 0;
  }

  .case__item .textblock {
    width: 615px;
    background: #f0f1f6;
    box-sizing: border-box;
    float: right;
    padding: 30px;
  }

  .case__item .textblock .case-voice {
    margin: 0 0 30px;
  }

  .case__item .textblock .case-voice p {
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }

  .case__item .textblock .case-name {
    font-size: 14px;
    font-weight: 700;
    text-align: right;
  }

  .case__list .case__item h3 {
    border-bottom: none;
    background: url(images/common/h3_bg_frame_960.png) no-repeat left bottom;
    color: #1c2e69;
    font-size: 24px;
    margin: 0 0 20px;
  }

  .case__list .case__item h3:before {
    content: '';
    display: none;
  }

  .case__list .case__item h3 a {
    color: #fff;
    text-decoration: none;
  }

  .support-intro {
    background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
    margin: 0 0 90px;
  }

  .support-intro .imgblock {
    margin: 0 0 30px;
  }

  .support-intro .textblock {
    padding: 0 30px 30px;
  }

  .support-intro h3 {
    background: none;
    border-bottom: none;
    font-size: 24px;
    margin: 0 0 15px;
    padding: 0;
  }

  .support-intro h3:before {
    content: '';
    display: none;
  }

  .support-intro p {
    margin: 0 0 30px;
  }

  .support-intro .support-tel {
    width: 640px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 20px;
    text-align: center;
    background: url(images/common/contact_bg.png);
    border: 1px solid #999;
  }

  .support-intro .support-tel__text,
  .support-intro .support-tel__openclose {
    color: #1c2e69;
    font-size: 28px;
    font-weight: 700;
    margin: 0;
  }

  .support-intro .support-tel__num {
    color: #1c2e69;
    line-height: 100%;
    font-size: 52px;
    font-weight: 700;
    margin: 0 0 10px;
    text-indent: 30px;
    position: relative;
  }

  .support-intro .support-tel__num:before {
    content: '';
    display: block;
    background: url(images/support/support_tel.png);
    width: 29px;
    height: 37px;
    position: absolute;
    left: 106px;
    top: 11px;
  }

  .support-intro .support-tel__openclose {
    display: inline-block;
    border: 2px solid #1c2e69;
    padding: 3px 15px 5px;
    font-size: 24px;
  }

  .online-support:after {
    content: '';
    clear: both;
    display: block;
  }

  .online-support {
    margin: 60px 0 0;
  }

  .online-support li {
    float: left;
    margin: 0 30px 0 0;
  }

  .online-support li:nth-last-of-type(1) {
    margin: 0;
  }

  .online-support li a {
    width: 300px;
    background: #2ea05b;
    border-radius: 10px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
    color: #fff;
    display: block;
    font-size: 40px;
    font-weight: 700;
    line-height: 130%;
    padding: 30px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .online-support li a:hover {
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25);
    transform: translateY(-5px);
  }

  .online-support li:nth-of-type(1) a {
    background: #7ad133;
  }

  .online-support li a span {
    border-bottom: 2px solid #fff;
    display: block;
    margin: 0 0 15px;
    padding: 0 0 10px;
  }

  .company--intro {
    background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
    margin: 0 0 90px;
  }

  .company--intro:after {
    content: '';
    display: block;
    clear: both;
  }

  .company--intro .imgblock {
    margin: 0 30px 0 0;
    width: 320px;
    height: 470px;
    float: left;
  }

  .company--intro .textblock {
    width: 610px;
    float: left;
    padding: 30px 30px 30px 0;
    box-sizing: border-box;
  }

  .company--intro h3 {
    background: none;
    border-bottom: none;
    font-size: 24px;
    margin: 0 0 15px;
    padding: 0;
  }

  .company--intro h3:before {
    content: '';
    display: none;
  }

  .company--intro p:nth-last-of-type(n + 2) {
    margin: 0 0 25px;
  }

  dl {
    margin-bottom: 60px;
  }

  dl span {
    font-size: 10px;
    padding: 2px;
    background: #ff0000;
    color: #fff;
    margin: 0 0 0 5px;
  }

  dt {
    float: left;
    font-size: 14px;
    font-weight: bold;
    padding: 10px;
  }

  dd {
    padding: 10px 0 25px 240px;
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc;
  }

  dd a:link,
  dd a:visited {
    color: #333;
    text-decoration: none;
  }

  dd a:hover {
    color: #ff0066;
    text-decoration: underline;
  }

  dt.recruit_form_dt {
    width: 160px;
  }

  .syozai-block {
    background: #eff0f6;
    padding: 30px 20px;
    position: relative;
    margin: 0 0 20px;
  }

  .syozai-block:before {
    content: '';
    display: block;
    height: calc(100% - 40px);
    width: 2px;
    background: #1c2e69;
    left: 240px;
    top: 20px;
    position: absolute;
  }

  .syozai-block:after {
    content: '';
    display: block;
    clear: both;
  }

  .syozai-block .name {
    width: 180px;
    color: #1c2e69;
    float: left;
    font-size: 20px;
    font-weight: 500;
    padding: 0px 20px;
  }

  .syozai-block .address {
    color: #333;
    float: left;
    margin: 0px 0 0 45px;
  }

  .subpage-block {
    margin: 0 0 60px;
  }

  .subpage-block:nth-last-of-type(1) {
    margin-bottom: 0;
  }

  .subpage-block__list ul {
    margin: 0 auto 30px;
    list-style: none;
  }

  .subpage-block__list ul:after {
    content: '';
    display: block;
    clear: both;
  }

  .subpage-block__list ul li {
    float: left;
    font-size: 14px;
    width: 49%;
    margin: 0 2% 10px 0;
  }

  .subpage-block__list ul li a:link,
  .subpage-block__list ul li a:visited {
    color: #333;
    text-decoration: none;
  }

  .subpage-block__list ul li a:hover {
    color: #ff0066;
    text-decoration: underline;
  }

  .subpage-block__list ul li:nth-of-type(2n) {
    margin: 0 0% 10px 0;
  }

  .subpage-block__list ul li:nth-last-of-type(-n + 2) {
    margin-bottom: 0;
  }

  .section__sub-company .block__hasimage--left .imgblock {
    width: 330px;
    margin: 0 45px 0 0;
  }

  .section__sub-company .block__hasimage--left .textblock {
    width: 585px;
  }

  .section__sub-company .block__hasimage--left .textblock a:link,
  .section__sub-company .block__hasimage--left .textblock a:visited {
    color: #333;
    text-decoration: none;
  }

  .section__sub-company .block__hasimage--left .textblock a:hover {
    color: #ff0066;
    text-decoration: underline;
  }

  .section__sub-company .block__hasimage--left .textblock .imgblock--intext {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .section__sub-company .block__hasimage--left .textblock .imgblock--intext div {
    margin: 0 25px 25px 0;
  }

  .section__sub-company .block__hasimage--left .textblock .imgblock--intext div:nth-of-type(2n) {
    margin: 0 0 25px 0;
  }

  .section__sub-company .block__hasimage--left .textblock .imgblock--intext img {
    display: block;
    line-height: 1;
  }

  .subpage-block__koken p {
    margin: 0 0 45px;
  }

  .subpage-block__koken .subpage-block__list--relationship {
    background: #eff0f6;
    box-sizing: border-box;
    padding: 30px;
    margin: 0;
  }

  .subpage-block__koken .subpage-block__list--relationship ul {
    margin: 0;
  }

  .shop--intro {
    background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
    margin: 0 0 90px;
  }

  .shop--intro h3 {
    font-size: 24px;
    padding: 30px 30px 0;
    margin: 0 0 20px;
  }

  .shop--intro p {
    padding: 0 30px 30px;
  }

  .shops-intro {
    background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
    margin: 0 0 90px;
  }

  .shops-intro .imgblock {
    margin: 0 0 30px;
  }

  .shops-intro .textblock {
    padding: 0 30px 30px;
  }

  .shops-intro h3 {
    background: none;
    border-bottom: none;
    font-size: 24px;
    margin: 0 0 15px;
    padding: 0;
  }

  .shops-intro h3:before {
    content: '';
    display: none;
  }

  .section__sub-shops .block__hasimage--left .imgblock {
    width: 330px;
    margin: 0 45px 0 0;
  }

  .section__sub-shops .block__hasimage--left .textblock {
    width: 585px;
  }

  /*** news ***/
  .news__item {
    margin: 0 0 75px;
  }

  .news__item h3 {
    position: relative;
  }

  .news__item .title {
    display: block;
    width: 800px;
  }

  .news__item .title a {
    color: #1c2e69;
    text-decoration: none;
  }

  .news__item .date {
    display: block;
    width: 160px;
    font-size: 16px;
    text-align: right;
    position: absolute;
    right: 0;
    bottom: 16px;
  }

  .news__item.block__hasimage--left .imgblock {
    width: 210px;
    margin: 0 30px 0 0;
  }

  .news__item.block__hasimage--left .textblock {
    width: 720px;
  }

  .news__item .system__item-link {
    text-align: right;
  }

  .news__item .system__item-link a {
    background: url(images/common/btn_arrow.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    border: 2px solid #1c2e69;
    color: #1c2e69;
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    margin: 30px 0 0;
    padding: 5px 38px 7px 18px;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s;
  }

  .news__item .system__item-link a:hover {
    background: #1c2e69 url(images/common/btn_arrow_w.png) no-repeat right 15px center;
    background-size: 11.5px 14px;
    color: #fff;
  }

  /*** slider ***/
  div#n2-ss-2 .nextend-arrow {
    width: 38px;
    height: 62px;
  }

  div#n2-ss-2 .nextend-arrow img {
    display: none !important;
  }

  div#n2-ss-2 .nextend-arrow.nextend-arrow-previous {
    background: url(images/top/slider_prev_btn.png);
    left: calc(50% - 500px) !important;
    transition: all 0.2s;
  }

  div#n2-ss-2 .nextend-arrow.nextend-arrow-next {
    background: url(images/top/slider_next_btn.png);
    right: calc(50% - 500px) !important;
    transition: all 0.2s;
  }

  div#n2-ss-2 .nextend-arrow.nextend-arrow-previous:hover {
    left: calc(50% - 505px) !important;
  }

  div#n2-ss-2 .nextend-arrow.nextend-arrow-next:hover {
    background: url(images/top/slider_next_btn.png);
    right: calc(50% - 505px) !important;
  }

  /*** pagenation ***/
  .pagenation {
    text-align: center;
    display: flex;
    flex: 1 1;
    align-items: center;
    justify-content: center;
  }

  .pagenation .page-numbers {
    width: 50px;
    height: 50px;
    margin: 0 2px;
    background: #1c2e69;
    color: #fff;
    line-height: 50px;
    transition: all 0.2s;
    font-size: 20px;
    text-decoration: none;
  }

  .pagenation a.page-numbers {
    background: #b9b9b9;
  }

  .pagenation a.page-numbers:hover {
    background: #ccc;
  }

  form span.wpcf7-list-item {
    margin: 0;
  }

  /*** mobile ***/
  @media screen and (max-width: 480px) {
    body {
      padding-top: 0px;
    }

    #container {
      position: relative;
      padding: 46px 0 0;
    }

    .pc_none {
      display: block;
    }

    .sp_none {
      display: none;
    }

    br.pc_none,
    img.pc_none {
      display: inline-block;
    }

    br.sp_none,
    img.sp_none {
      display: none;
    }

    h2 {
      font-size: calc(1.5rem + ((1vw - 3.2px) * 8.5106));
      margin: 0 0 30px;
      color: #1c2e69;
    }

    .section__sub h2 {
      font-size: 28px;
      border-bottom: 5px solid #eee;
      padding: 0 0 10px;
      margin: 0 0 45px;
      position: relative;
    }

    .section__sub h2:before {
      content: '';
      display: block;
      background: #1c2e69;
      width: 80px;
      position: absolute;
      bottom: -5px;
      left: 0;
      height: 5px;
    }

    h3 {
      font-size: calc(1.375rem + ((1vw - 3.2px) * 6.383));
      color: #1c2e69;
      margin: 0 0 20px;
    }

    h4 {
      font-size: calc(1.125rem + ((1vw - 3.2px) * 4.2553));
      color: #1c2e69;
      margin: 0 0 15px;
    }

    p {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      font-weight: 400;
    }

    .section__wrapper {
      padding: 45px 0;
    }

    .section__container {
      width: 90%;
      margin: 0 auto;
    }

    .block__hasimage--left .imgblock {
      width: 100%;
      float: none;
      margin: 0 0 30px;
    }

    .block__hasimage--left .textblock {
      width: 100%;
      float: none;
      margin: 0 0 30px;
    }

    .block__hasimage--right .imgblock {
      width: 100%;
      float: none;
      margin: 0 0 30px;
    }

    .block__hasimage--right .textblock {
      width: 100%;
      float: none;
      margin: 0 0 30px;
    }

    .navbtn--online {
      background: url(images/common/footer_shop_icon_b.png) no-repeat center left 40px;
      padding: 15px 30px 17px;
      margin: 0;
      width: 100%;
      box-sizing: border-box;
    }

    .navbtn--online:hover {
      background: #1c2e69 url(images/common/footer_shop_icon.png) no-repeat center left 40px;
    }

    /*** form ***/
    form {}

    form table {
      border-collapse: collapse;
    }

    form table th {
      width: 100%;
      border: none;
      display: block;
      text-align: left;
      padding: 20px 0;
      vertical-align: top;
    }

    form table td {
      width: 100%;
      border: none;
      display: block;
      text-align: left;
      vertical-align: middle;
    }

    form table input[type='text'],
    form table input[type='email'],
    form table input[type='password'],
    form table input[type='tel'],
    form table select,
    form table textarea {
      padding: 5px 15px 7px;
      background: #f9f9f9;
      border: 1px solid #cdcdcd;
      border-radius: 5px;
      font-size: 16px;
    }

    form table input[type='text'],
    form table input[type='email'],
    form table input[type='password'],
    form table input[type='tel'],
    form table textarea {
      width: 90%;
    }

    t form table textarea {
      padding: 15px;
    }

    form table label.file .wpcf7-not-valid-tip {
      margin: 0;
      font-size: 12px;
    }

    form table .filename {
      display: block;
      margin: 13px 0 0 0px;
    }

    form .acceptance {
      margin: 60px 0 0 !important;
      margin-bottom: 0;
    }

    form .submit input {
      cursor: pointer;
    }

    form .required {
      font-size: 12px;
      font-weight: 400;
      color: #fff;
      background: #ff7a09;
      display: inline-block;
      padding: 1px 7px 3px;
      margin-left: 20px;
      transition: all 0.2s;
      vertical-align: bottom;
    }

    /*** header ***/
    .header {
      background: #1c2e69;
      width: 100%;
      height: 46px;
      transition: none;
      position: absolute;
      top: 0px;
      z-index: 9999;
    }

    .admin-bar .header {
      top: 0px;
    }

    .header.fixed {
      left: 0;
      position: fixed;
      top: 0;
      z-index: 100;
      border-bottom: none;
    }

    .admin-bar .header.fixed {
      top: 0px;
    }

    .header__container {
      width: 100%;
      height: 46px;
      margin: 0 auto;
      position: relative;
    }

    .header__container:after {
      content: '';
      clear: both;
      display: block;
    }

    .fixed .header__container {
      height: 46px;
    }

    .header-logo {
      float: left;
      height: 100%;
    }

    .header-logo h1 {
      height: 100%;
      display: flex;
      flex: 1 1;
      align-items: center;
      justify-content: center;
    }

    .header-logo h1 a {
      display: block;
      line-height: 1;
    }

    .header-logo h1 a img {
      transform: translate(10px, 0px);
      width: 145px;
      height: 31px;
    }

    .fixed .header-logo h1 a img {
      max-width: 100%;
      transform: translate(10px, 0px);
    }

    .header-nav {
      display: none;
    }

    .drawer-nav {
      display: block;
      position: fixed;
      overflow-y: scroll;
      top: 46px;
      right: 0;
      width: 100%;
      height: calc(100% - 45px);
      background-color: #1b2e69;
      transition: all 0.3s;
      transform: translate(100%);
      z-index: 99;
      -webkit-overflow-scrolling: touch;
    }

    .drawer-nav.open {
      transform: translate(0);
    }

    .drawer-nav .menu-item-has-children {
      position: relative;
    }

    .drawer-nav .dropdown {
      position: absolute;
      width: 50px;
      height: 52px;
      top: 0;
      right: 0;
      background: url(images/sp/gmenu_arrow_open_sp.png) no-repeat center center;
      background-size: 12px 9px;
    }

    .drawer-nav .activate+.dropdown {
      background: url(images/sp/gmenu_arrow_close_sp.png) no-repeat center center;
      background-size: 12px 9px;
    }

    .drawer-menu-item {
      background: #1b2e69;
      color: #fff;
    }

    .drawer-nav .drawer-menu-item a {
      display: block;
      padding: 15px 15px 15px 30px;
      font-weight: 700;
      font-size: 14px;
      text-decoration: none;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    }

    .drawer-nav>.drawer-menu>.drawer-menu-item:nth-of-type(1)>a {
      border-top: 1px solid rgba(255, 255, 255, 0.25);
    }

    .admin-bar .drawer-nav {
      top: 92px;
    }

    .admin-bar .fixed .drawer-nav {
      top: 46px;
    }

    .drawer--left .drawer-nav {
      left: -100%;
    }

    .drawer-hamburger {
      position: fixed;
      z-index: 4;
      display: block;
      box-sizing: content-box;
      width: 10px;
      height: 10px;
      padding: 18px;
    }

    .drawer-hamburger {
      top: 0;
      right: 0;
      border: none;
    }

    .admin-bar .drawer-hamburger {
      top: 0px;
    }

    .admin-bar .fixed .drawer-hamburger {
      top: 0px;
    }

    /*=============================
	.drawer-toggle
	=============================*/
    .drawer-toggle {
      position: absolute;
      width: 50px;
      height: 46px;
      background: #fff;
      cursor: pointer;
    }

    .drawer-toggle span {
      width: 20px;
      height: 2px;
      background-color: #1b2e69;
      left: 15px;
      position: absolute;
    }

    .drawer-toggle,
    .drawer-toggle span {
      display: inline-block;
      transition: all 0.5s;
      box-sizing: border-box;
    }

    .drawer-toggle span:nth-of-type(1) {
      top: 15px;
    }

    .drawer-toggle span:nth-of-type(2) {
      top: 22px;
    }

    .drawer-toggle span:nth-of-type(3) {
      top: 29px;
    }

    .drawer-toggle.active {
      background: #1b2e69;
    }

    .drawer-toggle.active span {
      background-color: #fff;
    }

    /*=============================
	#btn05
	=============================*/
    #btn05.active span:nth-of-type(1) {
      -webkit-transform: translateY(8px) rotate(-45deg);
      transform: translateY(8px) rotate(-45deg);
    }

    #btn05.active span:nth-of-type(2) {
      left: 50%;
      opacity: 0;
      -webkit-animation: active-btn05-bar02 0.8s forwards;
      animation: active-btn05-bar02 0.8s forwards;
    }

    @-webkit-keyframes active-btn05-bar02 {
      100% {
        height: 0;
      }
    }

    @keyframes active-btn05-bar02 {
      100% {
        height: 0;
      }
    }

    #btn05.active span:nth-of-type(3) {
      -webkit-transform: translateY(-6px) rotate(45deg);
      transform: translateY(-6px) rotate(45deg);
    }

    .drawer-overlay {
      z-index: 0;
    }

    .drawer-nav .drawer-menu-item {
      padding: 0;
    }

    .header-nav .sub-menu,
    .drawer-nav .sub-menu {
      display: none;
    }

    .header-nav .sub-menu .drawer-menu-item,
    .drawer-nav .sub-menu .drawer-menu-item {
      background: #2f4287;
    }

    .header-nav .sub-menu .drawer-menu-item a,
    .drawer-nav .sub-menu .drawer-menu-item a {
      display: block;
      padding: 13px 10px 12px 50px;
      border-bottom: none;
      background: url(images/common/sidebar_menu_arrow_w.png) no-repeat center left 30px;
    }

    .n2-ss-align,
    .n2-section-smartslider {
      border-bottom: 7px solid #1c2e69;
      min-height: 68vw !important;
    }

    .n2-ss-slider,
    .n2-ss-slider-2,
    div#n2-ss-2 .n2-ss-slide {
      height: 68vw !important;
    }

    .nextend-bullet-bar {
      display: none !important;
    }

    /*** footer ***/
    footer {
      background: #1c2e69;
      color: #fff;
      padding: 45px 0;
    }

    .footer__container {
      width: 90%;
      margin: 0 auto;
      position: relative;
    }

    .footer-nav {
      width: 100%;
      border-right: none;
      border-bottom: 1px solid #fff;
      float: none;
      padding: 0 0 20px;
    }

    .footer-nav__list {
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      display: flex;
      flex-wrap: wrap;
    }

    .footer-nav__list .footer-nav__item {
      width: 47%;
      margin: 0 6% 15px 0;
      max-width: 47%;
    }

    .footer-nav__list .footer-nav__item:nth-of-type(2n) {
      margin: 0 0 15px;
    }

    .footer-nav__list .footer-nav__item>a {
      color: #fff;
      display: block;
      font-size: 16px;
      font-weight: 700;
      margin: 0 0 10px;
      text-decoration: none;
    }

    .footer-nav__list--sub {
      margin: 0 0 30px;
      padding: 0 0 0 15px;
    }

    .footer-nav__list--sub>li {
      font-size: 12px;
      font-weight: 400;
      position: relative;
      margin: 0 0 7px;
    }

    .footer-nav__list--sub>li:before {
      content: '-';
      display: block;
      position: absolute;
      left: -12px;
      top: 0px;
    }

    .footer-nav__list--sub>li a {
      color: #fff;
      display: block;
      margin: 0 0 5px;
      text-decoration: none;
    }

    .footer-nav__list--subsub>li {
      margin: 0 0 7px;
    }

    .footer-nav__list--subsub>li a {
      color: #fff;
      display: block;
      margin: 0 0 5px;
      text-decoration: none;
    }

    .footer-nav__list .footer-nav__item>.footer-navbtn {
      max-width: 100%;
      background: none;
      font-size: 12px;
      padding: 10px 8px 13px;
      text-indent: 0px;
    }

    .footer-nav__list .footer-nav__item>.footer-navbtn:hover {
      background: #fff;
    }

    .footer-company-detail {
      width: 100%;
      float: none;
      box-sizing: border-box;
      padding: 30px 0 10px;
      text-align: center;
    }

    .footer-company-detail .footer-logo {
      float: none;
      margin: 0 0 20px;
    }

    .footer-company-detail p {
      float: none;
    }

    .backtop {
      bottom: 4%;
      position: fixed;
      right: 5%;
      z-index: 98;
    }

    .home .backtop {
      bottom: 60px;
    }

    /*** sidebar-nav ***/
    .sidebar-nav {
      display: none;
      width: 240px;
      background: #f9f9f9;
      float: left;
      margin: 0 30px 0 0;
    }

    /*
	.sidebar-nav__title{
		background: url(images/common/sidebar_nav_title_bg.png) no-repeat right bottom;
	    border-left: 8px solid #1c2e69;
	    color: #1c2e69;
	    font-size: 18px;
	    font-weight: 700;
	    padding: 20px 10px 22px 20px;
	}


	.section__sub-service .sidebar-nav__title{
		background: #FFF url(images/common/sidebar_nav_title_bg_service.png) no-repeat right bottom;
	}

	.section__sub-system .sidebar-nav__title{
		background: #FFF url(images/common/sidebar_nav_title_bg_system.png) no-repeat right bottom
	}

	.sidebar-nav .menu{
		margin: 0;
	}

	.sidebar-nav .menu > li{
		margin: 0;
	}

	.sidebar-nav .menu li a{
		background: #f9f9f9;
		border-bottom: 1px solid #dddddf;
		color: #333;
		display: block;
		padding: 15px 15px 15px 45px;
		position: relative;
		font-size: 14px;
		text-decoration: none;
	}

	.sidebar-nav .menu li a:before{
		content: "";
		background: url(images/common/sidebar_menu_arrow.png);
		display: block;
		width: 6px;
		height: 7px;
		position: absolute;
		left: 23px;
		top: calc(50% - 3px);
	}


	.sidebar-nav .menu li a:hover{
		background: #eff0f5;
	}

	.sidebar-nav .menu li.current_page_item > a,
	.sidebar-nav .menu li.current-page-ancestor > a{
		background: #1c2e69;
		color: #FFF;
		position: relative;
	}

	.sidebar-nav .menu li.current_page_item > a:before,
	.sidebar-nav .menu li.current-page-ancestor > a:before{
		content: "";
		background: url(images/common/sidebar_menu_arrow_w.png);
	}


	.sidebar-nav .menu li.current_page_item > a:after,
	.sidebar-nav .menu li.current-page-ancestor > a:after{
		content: "";
	    display: block;
	    width: 0;
	    height: 0;
	    border-style: solid;
	    border-width: 26px 0 26px 10px;
	    border-color: transparent transparent transparent #1b2e69;
	    position: absolute;
	    right: -10px;
	    top: 0;
	}

	.sidebar-nav .sub-menu{
		background: #eff0f6;
		box-sizing: border-box;
		padding: 10px;
		display: none;
	}

	.sidebar-nav .menu li:hover >.sub-menu{
		display: block;
	}

	.sidebar-nav .sub-menu > li{
	}

	.sidebar-nav .sub-menu > li a{
		background: url(images/common/sidebar_arrow.png)no-repeat left 13px center;
		display: block;
		padding: 10px 0 10px 30px;
	}

	.sidebar-nav .sidebar-recommend-nav{
	    width: 220px;
	    background: #FFF;
	    border: 1px solid #DDDDDF;
	    box-sizing: border-box;
	    margin: 0 auto 20px;
	    padding: 5px 0;
	}

	.sidebar-nav .sidebar-recommend-nav .menu{
		margin: 0;
	}

	.sidebar-nav .sidebar-recommend-nav__title{
	    width: 220px;
	    border-left: 4px solid #1b2e69;
	    box-sizing: border-box;
	    color: #1b2e69;
	    font-size: 16px;
	    font-weight: 700;
	    line-height: 1.2;
	    margin: 30px auto 5px;
	    padding: 0 0 0 10px;
	}

	.sidebar-nav .sidebar-recommend-nav .menu li a{
		background: url(images/common/sidebar_menu_arrow.png)no-repeat center left 16px;
		border-bottom: none;
		color: #333;
		display: block;
		font-weight: 400;
		padding: 7px 15px 7px 35px;
		font-size: 14px;
		text-decoration: none;
	}

	.sidebar-nav .sidebar-recommend-nav .menu li a:before,
	.sidebar-nav .sidebar-recommend-nav .menu li a:after{
		content: "";
		display: none;
	}

	.sidebar-nav .sidebar-recommend-nav .menu li a:hover{
		color: #1c2e69;
		text-decoration: underline;
	}

	.sidebar-nav .sidebar-recommend-nav .menu li.current_page_item > a,
	.sidebar-nav .sidebar-recommend-nav .menu li.current-page-ancestor > a{
		background: #1c2e69 url(images/common/sidebar_menu_arrow_w.png)no-repeat center left 16px;
		color: #FFF;
		font-weight: 700;
	}*/

    /*** subpage ***/
    .pagetitle__wrapper {
      background: #1c2e69 url(images/common/sub_pagetitle_bg.jpg) no-repeat center top;
      background-size: cover;
      padding: 30px 0;
      margin: 0 0 20px;
    }

    .pagetitle__wrapper h2 {
      font-size: calc(0.75rem + ((1vw - 3.2px) * 2.1277));
    }

    .pagetitle__wrapper h2 span {
      font-size: calc(1.5rem + ((1vw - 3.2px) * 8.5106));
    }

    .pagetitle__container {
      width: 90%;
    }

    .breadcrumbs {
      color: #1c2e69;
      font-size: 12px;
      position: absolute;
      left: 0;
      top: 25vw;
      z-index: 1;
    }

    .section__sub h3 {
      font-size: calc(1.25rem + ((1vw - 3.2px) * 4.2553));
      margin: 0 0 1em;
      padding: 4px 15px 19px 30px;
    }

    /*** top-intro ***/

    .section__top-intro {
      background: #fcfcfc;
      padding: 60px 0 45px;
    }

    .section__top-intro h2 {
      font-size: calc(1.5rem + ((1vw - 3.2px) * 8.5106));
      line-height: 130%;
      margin: 0 0 1.5em;
      text-align: center;
      position: relative;
      z-index: 0;
    }

    .section__top-intro h2:before {
      content: '';
      top: -100px;
    }

    .section__top-intro .top-intro__item {
      margin: 0 0 60px;
    }

    .section__top-intro .block__hasimage--left .imgblock,
    .section__top-intro .block__hasimage--right .imgblock {
      width: 100%;
      margin: 0;
    }

    .section__top-intro .block__hasimage--left .textblock,
    .section__top-intro .block__hasimage--right .textblock {
      width: 90%;
      margin: 0;
    }

    .section__top-intro .block__hasimage--right .textblock {
      margin: 0 0 0 10%;
    }

    .top-intro__item h3 {
      font-size: 24px;
      padding-top: 60px;
    }

    .top-intro__item h3 span {
      font-size: 32px;
    }

    .top-intro__item .subtext {
      font-size: 18px;
    }

    /*** top-service ***/
    .section__top-service {
      background: url(images/top/service_bg.jpg) center top;
      padding: 45px 0 72vw;
      position: relative;
      z-index: 0;
    }

    .section__top-service .section__container {
      background: none;
      padding: 0 0 60px;
    }

    .section__top-service:before {
      content: '';
      background: url(images/top/service_img.png) no-repeat left bottom;
      background-size: contain;
      display: block;
      max-width: 80%;
      width: 523px;
      height: 538px;
      z-index: -1;
      position: absolute;
      left: 10%;
      bottom: 0px;
    }

    .section__top-service .textblock {
      width: 100%;
      float: none;
      text-align: center;
    }

    .section__top-service .textblock h2 {
      text-align: center;
      margin: 0 0 1em;
    }

    .section__top-service .textblock h2:before {
      content: '';
      background: url(images/top/service_h2_bg.png) no-repeat left top;
      background-size: contain;
      width: 100%;
      height: 140px;
      z-index: -1;
      position: absolute;
      left: 5px;
      top: -15px;
    }

    .section__top-service .textblock p {
      width: auto;
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      margin: 0 0 1.5em;
    }

    /*** top-case ***/
    .section__top-case {
      padding: 45px 0 110vw;
      z-index: 0;
    }

    .section__top-case:before {
      content: '';
      background: url(images/top/case_person.png) no-repeat left bottom;
      background-size: contain;
      max-width: 80%;
      height: 507px;
      z-index: -1;
      position: absolute;
      left: 10%;
      bottom: 0px;
    }

    .section__top-case .textblock {
      width: 100%;
      float: none;
      text-align: center;
    }

    .section__top-case .textblock h2 {
      color: #fff;
      line-height: 125%;
      margin: 0 0 0.5em;
      position: relative;
      z-index: 0;
      text-align: center;
    }

    .section__top-case .textblock h2:before {
      content: '';
      background: url(images/top/case_h2_bg.png) no-repeat left top;
      width: 543px;
      height: 141px;
      z-index: -1;
      position: absolute;
      left: -110px;
      top: -60px;
    }

    .section__top-case .textblock .subtext {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
    }

    .section__top-case .textblock h3 {
      font-size: calc(1rem + ((1vw - 3.2px) * 6.383));
      margin: 0 0 1em;
    }

    .section__top-case .textblock p {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      margin: 0 0 1.5em;
    }

    .section__top-case .textblock .navbtn {
      float: none;
    }

    .section__top-case .textblock .navbtn:hover {
      background: #fff url(images/common/btn_arrow.png) no-repeat right 15px center;
      background-size: 11.5px 14px;
      color: #1c2e69;
    }

    /*** top-company ***/
    .section__top-company {
      background: url(images/top/company_bg.jpg) center top;
      background-size: cover;
      overflow: hidden;
      position: relative;
      padding: 60px 0 108vw;
      z-index: 0;
    }

    .section__top-company:before {
      content: '';
      max-width: 75%;
      height: 545px;
      z-index: -1;
      position: absolute;
      right: 12.5%;
      bottom: -60px;
    }

    .section__top-company .textblock {
      width: 100%;
      float: none;
      text-align: center;
    }

    .section__top-company .textblock h2 {
      letter-spacing: -0.05em;
      line-height: 125%;
      margin: 0 0 30px;
      text-align: center;
      position: relative;
      z-index: 0;
    }

    .section__top-company .textblock h2:before {
      content: '';
      background: url(images/top/company_h2_bg.png) no-repeat left top;
      background-size: contain;
      width: 100%;
      height: 141px;
      z-index: -1;
      position: absolute;
      left: 10px;
      top: -30px;
    }

    .section__top-company .textblock p {
      width: auto;
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      margin: 0 0 1.5em;
    }

    /*** contact ***/
    .section__contact {
      background: url(images/common/contact_bg.png) center top;
      overflow: hidden;
      padding: 60px 0 30px;
      position: relative;
      z-index: 0;
    }

    .section__contact:before {
      content: '';
      background: url(images/common/contact_person.png) no-repeat left top;
      width: 286px;
      height: 336px;
      z-index: 1;
      position: absolute;
      left: calc(50% - 540px);
      bottom: 0px;
    }

    .section__contact .section__container {
      width: 90%;
      margin: 0 auto;
      text-align: center;
    }

    .section__contact .contactbtn {
      width: 100%;
      font-size: calc(1.5rem + ((1vw - 3.2px) * 8.5106));
    }

    .section__contact .contactbtn span {
      font-weight: 400;
      font-size: 14px;
      display: block;
      line-height: 1.5;
      margin-top: 15px;
    }

    .section__contact .contact-tel .contact-tel__text,
    .section__contact .contact-tel .contact-tel__openclose {
      color: #1c2e69;
      font-size: 16px;
      font-weight: 700;
    }

    .section__contact .contact-tel .contact-tel__num {
      color: #1c2e69;
      line-height: 120%;
      font-size: 34px;
      font-weight: 700;
    }

    /*** top-news ***/
    .section__top-news {
      padding: 60px 0 90px;
    }

    .section__top-news .section__container {
      width: 90%;
    }

    .section__top-news .top-news__item>a {
      font-weight: 700;
      padding: 15px 20px;
    }

    .section__top-news .top-news__item .date {
      margin: 0;
      display: block;
    }

    /*** system ***/
    .system__list {
      width: 100%;
      float: none;
    }

    .system__item {
      margin: 0 0 45px;
    }

    .system__item h3 {}

    .system__item.block__hasimage--left .imgblock {
      width: 100%;
      margin: 0 0 10px;
    }

    .system__item.block__hasimage--left .textblock {
      width: 100%;
    }

    .system__item .system__item-link {
      text-align: right;
    }

    .system__list--sub {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top: 45px;
    }

    .system__list--sub:after {
      content: '';
      clear: both;
      display: block;
    }

    .system__list--sub .system__item--sub {
      width: 49%;
      background: #eff0f6;
      box-sizing: border-box;
      margin: 0 2% 2% 0;
      min-height: 200px;
      padding: 12px 15px 15px;
      text-decoration: none;
      transition: all 0.2s;
    }

    .system__list--sub .system__item--sub:hover {
      background: #1c2e69;
      color: #fff;
    }

    .system__list--sub .system__item--sub:nth-of-type(3n) {
      margin: 0 2% 2% 0;
    }

    .system__list--sub .system__item--sub:nth-of-type(2n) {
      margin: 0 0 2% 0;
    }

    .system__list--sub .system__item--sub h4 {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      margin: 0 0 10px;
    }

    .system__list--sub .system__item--sub .excerpt {
      color: #333;
      font-size: 12px;
      margin: 0;
    }

    .system__list--sub .system__item--sub:hover h4,
    .system__list--sub .system__item--sub:hover .excerpt {
      color: #fff;
    }

    .entry .system__list--sub .system__item--sub img {
      margin: 0 0 5px;
    }

    .case__item .imgblock {
      width: 100%;
      float: none;
      margin: 0 15px 0 0;
    }

    .case__item .textblock {
      width: 100%;
      float: none;
      padding: 20px;
    }

    .case__item .textblock .case-voice {
      margin: 0 0 30px;
    }

    .case__item .textblock .case-voice p {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      line-height: 1.8;
      letter-spacing: 0.05em;
    }

    .case__list .case__item h3 {
      font-size: calc(1.25rem + ((1vw - 3.2px) * 4.2553));
      margin: 0 0 20px;
    }

    /*** entry ***/
    .entry h4,
    .entry .textblock h4 {
      margin: 45px 0 20px;
    }

    .entry img,
    .entry .textblock img {
      display: inline-block;
      margin: 0;
    }

    .entry p,
    .entry .textblock p {
      font-size: calc(0.875rem + ((1vw - 3.2px) * 2.1277));
      font-weight: 400;
      margin-bottom: 1.5em;
    }

    .entry ul,
    .entry .textblock ul {
      margin: 0 0 20px;
    }

    .section__sub-news .entry-content__news {
      margin: 0 0 45px;
    }

    .section__sub-news h4 {
      font-size: calc(1.125rem + ((1vw - 3.2px) * 4.2553));
      border-bottom: 5px solid #eee;
      padding: 0 0 10px;
      margin: 45px 0 20px;
      position: relative;
    }

    .section__sub-news h4:before {
      content: '';
      display: block;
      background: #1c2e69;
      width: 40px;
      position: absolute;
      bottom: -5px;
      left: 0;
      height: 5px;
    }

    /*** 2カラム ***/
    .section__container.col-2 .entry {
      width: 100%;
      float: none;
    }

    .section__sub-service .navbtn,
    .section__sub-system .navbtn {
      padding: 15px 45px 17px;
      width: 100%;
      box-sizing: border-box;
    }

    /*** news ***/
    .news__item {
      margin: 0 0 45px;
    }

    .news__item h3 {
      position: relative;
    }

    .news__item .title {
      display: block;
      width: 100%;
    }

    .news__item .title a {
      color: #1c2e69;
      text-decoration: none;
    }

    .news__item .date {
      display: block;
      width: 160px;
      font-size: 12px;
      text-align: right;
      position: absolute;
      right: 0;
      top: -10px;
      bottom: auto;
    }

    .news__item.block__hasimage--left .imgblock {
      width: 100%;
      margin: 0 0 15px;
    }

    .news__item.block__hasimage--left .textblock {
      width: 100%;
    }

    /*** pager ***/
    .pager .pager-prev {
      width: 100%;
      float: left;
    }

    .pager .pager-next {
      width: 100%;
      float: right;
      text-align: right;
    }

    .support-intro {
      background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
      margin: 0 0 90px;
    }

    .support-intro .imgblock {
      margin: 0 0 15px;
    }

    .support-intro .textblock {
      padding: 0 30px 30px;
    }

    .support-intro h3 {
      padding: 0;
    }

    .support-intro h3:before {
      content: '';
      display: none;
    }

    .support-intro p {
      margin: 0 0 30px;
    }

    .support-intro .support-tel {
      width: 100%;
      margin: 0 auto;
      box-sizing: border-box;
      padding: 20px;
      text-align: center;
      background: url(images/common/contact_bg.png);
      border: 1px solid #999;
    }

    .support-intro .support-tel__text,
    .support-intro .support-tel__openclose {
      color: #1c2e69;
      font-size: 16px;
      font-weight: 700;
      margin: 0;
    }

    .support-intro .support-tel__num {
      color: #1c2e69;
      line-height: 100%;
      font-size: 26px;
      font-weight: 700;
      margin: 0 0 10px;
      text-indent: 0px;
      position: relative;
    }

    .support-intro .support-tel__num:before {
      content: '';
      display: none;
    }

    .support-intro .support-tel__openclose {
      display: inline-block;
      border: 2px solid #1c2e69;
      padding: 3px 15px 5px;
      font-size: 12px;
    }

    .online-support:after {
      content: '';
      clear: both;
      display: block;
    }

    .online-support {
      margin: 60px 0 0;
    }

    .online-support li {
      float: none;
      margin: 0 0 20px;
    }

    .online-support li:nth-last-of-type(1) {
      margin: 0;
    }

    .online-support li a {
      width: 100%;
      background: #2ea05b;
      border-radius: 10px;
      box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);
      box-sizing: border-box;
      color: #fff;
      display: block;
      font-size: 28px;
      font-weight: 700;
      line-height: 130%;
      padding: 15px 30px;
      text-align: center;
      text-decoration: none;
      transition: all 0.2s;
    }

    .online-support li a:hover {
      box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25);
      transform: translateY(-5px);
    }

    .online-support li:nth-of-type(1) a {
      background: #7ad133;
    }

    .online-support li a span {
      border-bottom: 2px solid #fff;
      display: block;
      margin: 0 0 15px;
      padding: 0 0 10px;
    }

    .company--intro {
      background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
      background-size: 50%;
      margin: 0 0 60px;
    }

    .company--intro:after {
      content: '';
      display: block;
      clear: both;
    }

    .company--intro .imgblock {
      margin: 0 0 10px;
      width: 100%;
      height: auto;
      float: none;
    }

    .company--intro .imgblock img {
      width: 100%;
    }

    .company--intro .textblock {
      width: 100%;
      float: none;
      padding: 0 20px 30px;
      box-sizing: border-box;
    }

    .company--intro h3 {
      background: none;
      border-bottom: none;
      font-size: 24px;
      margin: 0 0 15px;
      padding: 0;
    }

    .company--intro h3:before {
      content: '';
      display: none;
    }

    .company--intro p:nth-last-of-type(n + 2) {
      margin: 0 0 25px;
    }

    dl {
      margin-bottom: 60px;
    }

    dl span {
      font-size: 10px;
      padding: 2px;
      background: #ff0000;
      color: #fff;
      margin: 0 0 0 5px;
    }

    dt {
      float: none;
      padding: 5px 10px;
    }

    dd {
      padding: 0px 0 10px 10px;
    }

    dt.recruit_form_dt {
      width: 160px;
    }

    .syozai-block {
      padding: 20px;
    }

    .syozai-block:before {
      content: '';
      display: none;
    }

    .syozai-block .name {
      width: 100%;
      float: none;
      font-size: 20px;
      margin: 0 0 5px;
      padding: 0;
    }

    .syozai-block .address {
      float: none;
      margin: 0;
    }

    .section__sub-company .block__hasimage--left .textblock .imgblock--intext {
      width: 100%;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
    }

    .section__sub-company .block__hasimage--left .textblock .imgblock--intext div {
      width: 48%;
      margin: 0 4% 4% 0;
    }

    .section__sub-company .block__hasimage--left .textblock .imgblock--intext div:nth-of-type(2n) {
      margin: 0 0 4% 0;
    }

    .subpage-block__list ul {
      padding: 0 10px;
    }

    .subpage-block__list ul:after {
      content: '';
      display: block;
      clear: both;
    }

    .subpage-block__list ul li {
      float: none;
      width: 100%;
    }

    .subpage-block__list ul li:nth-of-type(2n) {
      margin: 0 0% 10px 0;
    }

    .subpage-block__list ul li:nth-last-of-type(-n + 2) {
      margin-bottom: 0;
    }

    .section__sub-company .block__hasimage--left .imgblock {
      width: 100%;
      margin: 0 0 20px;
    }

    .section__sub-company .block__hasimage--left .textblock {
      width: 100%;
    }

    .subpage-block__koken p {
      margin: 0 0 20px;
    }

    .shop--intro {
      background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
      margin: 0 0 90px;
    }

    .shop--intro h3 {
      font-size: 24px;
      padding: 0;
      margin: 0 0 20px;
    }

    .shop--intro p {
      padding: 0 30px 30px;
    }

    .shops-intro {
      background: #eff0f6 url(images/common/block_backlogo.png) no-repeat right bottom;
      margin: 0 0 90px;
    }

    .shops-intro .imgblock {
      margin: 0 0 30px;
    }

    .shops-intro .textblock {
      padding: 0 30px 30px;
    }

    .shops-intro h3 {
      background: none;
      border-bottom: none;
      font-size: 24px;
      margin: 0 0 15px;
      padding: 0;
    }

    .shops-intro h3:before {
      content: '';
      display: none;
    }

    .section__sub-shops .block__hasimage--left .imgblock {
      width: 100%;
      margin: 0 0 20px;
    }

    .section__sub-shops .block__hasimage--left .imgblock img {
      width: 100%;
    }

    .section__sub-shops .block__hasimage--left .textblock {
      width: 100%;
    }

    /*** fixed-tab ***/
    .fixed-tab--sp {
      position: fixed;
      z-index: 98;
      bottom: 0;
      width: 100%;
    }

    .fixed-tab--sp:after {
      content: '';
      clear: both;
      display: block;
    }

    .fixed-tab--sp .fixed-tab__item {
      color: #fff;
      display: inline-block;
      font-size: 14px;
      padding: 12px 5px;
      text-decoration: none;
      box-sizing: border-box;
      text-align: center;
      box-shadow: inset 1px 1px rgba(255, 255, 255, 0.3);
    }

    .fixed-tab--sp .fixed-tab__item--support {
      background: #7ad133;
      width: 55%;
      float: left;
    }

    .fixed-tab--sp .fixed-tab__item--contact {
      background: #ff7800;
      width: 45%;
    }
  }
  
/* 20260903追記 */
/* ===== ヘッダー崩れ対策（高解像度・超ワイド画面） ===== */
.header {
  /* 2560px固定の背景画像 + background-position:58% をやめ、単色ベタ塗りに */
  background: #1c2e69;
}
@media screen and (min-width: 481px) {
  .header-logo:before {
    /* 右端(斜めの境目)の位置は従来どおり。左だけ画面外まで白を延長 */
    left: auto;
    right: -8%;
    width: 100vw;
  }
  /* スクロール後の固定ヘッダーはロゴが縮小＋右に50pxずれるので白を広げる */
  .fixed .header-logo:before {
    right: -55px;
  }
}
