@charset "UTF-8";
/* CSS Document */


/*--------------------------------------------------------------------/
	loader 色変更
  /-------------------------------------------------------------------*/
  @keyframes f_fadeG {
    0% {
      background-color:#0a52a0;
    }
    100% {
      background-color: white;
    }
  }
  @-webkit-keyframes f_fadeG {
    0% {
      background-color:#0a52a0;
    }
    100% {
      background-color: white;
    }
  }
  @-moz-keyframes f_fadeG {
    0% {
      background-color:#0a52a0;
    }
    100% {
      background-color: white;
    }
  }
/*--------------------------------------------------------------------/
	body
/--------------------------------------------------------------------*/
 body {
  color: #202020;
}
.sp{display: none;}

/*　ドラッグした際の色を変える設定
/* selection
----------------------------------------------------------------*/
body *::selection {
  background:#0a52a0;
  color: #fff;
}

/*Firefoxに対応*/
body *::-moz-selection {
  background:#0a52a0;
  color: #fff;
}

/*　リンクの色設定
/* a
----------------------------------------------------------------*/
a {
  color:#0a52a0;
}

:link, :visited, :hover, :active {
  text-decoration: none;
}

a:hover {
  color: #e60019;
}

/* 共通ボタンの色変更
----------------------------------------------------------------*/
.btn--main {
  color: #fff;
  background-color: #0a52a0;
  border-color: #0a52a0;
}
.btn--main:hover {
  color: #fff;
  background-color: #e60019;
  border-color: #e60019;
}
.btn--arrow {
  color: #fff;
  border-color: #fff;
}
.btn--main:hover {
  color: #fff;
  background-color: #e60019;
  border-color: #e60019;
}
.c-box__txt-01 .c-btn,
.c-box__txt-02 .c-btn {
    left: 0;
    width: 100%;
}
.works-list .btn--arrow{
  background-color:#1066cf;
  border-color: #1066cf;
}
.works-list a:hover .btn--arrow{
  background-color:#e60019;
  border-color: #e60019;
}
.gallery-img {
  background: transparent;
}
a {color: #0a52a0; transition: .3s;}
a:hover {color: #e60019; transition: .3s;}

/* 共通タイトル
----------------------------------------------------------------*/
h3.normal, h3.blog__tit,h3.privacy__tit {
  font-size: calc(1.6rem + 4 * (100vw - 320px) / 697);
}
h3.table__tit{
  font-size: calc(1.6rem + 4 * (100vw - 320px) / 697);
  text-align:center;
  padding:.75rem 2%;
  background: #f5f5f5;
}
/*　ヘッダーとメニューの背景とロゴの大きさを設定
/* header
----------------------------------------------------------------*/
.js-fixed {
  background: rgba(255, 255, 255, 0.8);
}

.header__logo img {
  width: 100%;
  transition: all 0.3s ease;
}

.header__logo a {
  display: block;
  position: relative;
}

/* global_nav
----------------------------------------------------------------*/
/* グローバルのテキストの色を変更 */
/* ドロワーメニューの色を変更 */
.drawer-menu li a:hover {
  color:#1066cf;
  background-color: transparent;
}

.global__phone {
  color: #fff;
  background:#1066cf;
  border: none;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

.global__phone:hover {
  color:#1066cf;
  background: #fff;
  border: solid 1px#1066cf;
}
.global__phone:hover a {
  color:#1066cf;
}

.global__phone a {
  color: #fff;
  display: block;
}

/* breadcrumb
/--------------------------------------------------------------------*/
.breadcrumb__list a:hover {
  color:#1066cf;
}

/* main
/--------------------------------------------------------------------*/
/* first */
.first {
}

.scrolldown {
  color: #fff;
}

.arrow-down a {
  color: #fff;
}
/* fv__parts */
.fv__wrap {
    /*text-shadow: 0px 0px 4px rgba(255,255,255,0.7);*/
}
#move-01 {
  font-size: calc(1.7rem + 48 * (100vw - 320px) / 697);
  font-weight: 400;
}
#move-01 span {
	color: #0a52a0;
}
#move-02 {
  /*font-size: calc(1.2rem + 10 * (100vw - 320px) / 697);*/
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 1px;
  margin-top: 1rem;
  line-height: 1.6;
  display: inline-block;
}
.move-back {
  position: absolute;
  left: 0;
  right: 0;
  color: #fff;
  text-align: center;
}
span.com {
  color: #fff;
  padding: 8px 1rem;
  font-size:30px;
  position: relative;
  padding: .5em .75em;
  border-radius: 6px;
  margin-bottom: 2rem;
  display: inline-block;
  text-shadow: none;
  box-shadow: 0px 0px 4px rgba(255,255,255,0.7);
}

.scrolldown {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
}

/* コンテンツのボタン使用時 */
.top-cont01 .btnselect .c-box__txt-01,.top-cont02 .btnselect .mCSB_container {
 padding-bottom:6rem;
 position: relative;
}

/* コンテンツタイトル */
.cont__tit{
  margin-bottom: 6rem;
}
.cont__tit span {
  font-family: 'Oswald', sans-serif;
  font-weight: 300;
  color: #e60019;
}
.top-cont02 {
  overflow-x: hidden;
}
.top-cont02 .cont__tit span{
    color: #fff;
}
.c-box__txt-01 .c-btn,
.c-box__txt-02 .c-btn {
  position: absolute;
  left: 0;
  bottom: 1.5rem;
  width: 100%;
}
h3.table__tit {
  font-size: 2rem;
  padding: 1.5rem .75rem;
  background: #0a52a0;
  color: #fff;
  margin-bottom: 2rem;
  letter-spacing: 2px;
}



/* c-box */
.c-box h4 {
  margin-bottom: 1.5rem;
}
.c-box:not(:last-child) {
  margin-bottom: 2rem;
}
.c-box figure {
  margin-bottom: 2rem;
}
.c-box figcaption {
  font-size: 1.4rem;
  padding: 7px 0 0;
  text-align: center;
}
.c-box p {
  line-height: 1.5;
  padding-bottom: 10px;
  padding-bottom: 1rem;
  text-align: left;
}

/* feed */
.top-cont04__half, .top-cont04__news {
  background-color: #fff;
}

.top-cont05 .btn__wrap {
  max-width: 420px;
}

/* blog-category back-color */
[class*="feed__icon"] {
  background-color: #555;
}

/* works-category back-color */
[class*="tax__icon"] {
  background-color: #555;
}
/* お問い合わせコンテンツ */
.contact__tel {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
}

/* footer */
.footer__copy {
  background:#1066cf;
}

/* トップへ戻るボタンの色を変更
--------------------------------------------------------------------*/
#pagetop a {
  border-bottom-color:#1066cf;
}
#pagetop a:hover {
  border-bottom-color: #e60019;
}

/* 実績紹介ページの背景画像
--------------------------------------------------------------------*/
.works {
  background: transparent;
  position: relative;
  width: 100%;
}
.works::before {
  background: url(../img/bg_02_pc.jpg) 50% top no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}
#works .btn__wrap {
  margin-left: auto;
  margin-right: auto;
  margin-top: 3rem;
  max-width: 400px;
}
.works-list a {
  transition: .3s all;
}
.works-list a:hover {
  background: rgba(102,102,102,0.8);
}
.category-list a {
  transition: .3s;
}
.category-list a:hover {
  opacity: 0.7;
}
.category-list__black {
  background:#01020a;
}
/* コンタクトページの背景画像
--------------------------------------------------------------------*/
.contact {
  background: transparent;
  position: relative;
  width: 100%;
}
.contact::before {
  background: url(../img/bg_03_pc.jpg) 50% top no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}

[class="sub-btn"] {
  color: #fff;
  background:#1066cf;
  border-color:#1066cf;
}
[class="sub-btn"]:hover {
  color: #fff;
  background: #e60019;
  border: 1px solid #e60019;
}

input[class="back-btn"] {
  color:#1066cf;
  background: #fff;
  border-color:#1066cf;
}
input[class="back-btn"]:hover {
  color: #fff;
  background: #e60019;
  border: 1px solid #e60019;
}

/* Not Foundページの背景画像
--------------------------------------------------------------------*/
.not-found {
  background: transparent;
  position: relative;
  width: 100%;
}
.not-found::before {
  background: url(../img/bg_01_pc.jpg) 50% top no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
}

.not-found h3 {
  font-size: calc(1.6rem + 2 * (100vw - 320px) / 697);
  margin-bottom:1.5rem;
}
/* スライダーの矢印の色
--------------------------------------------------------------------*/
.swiper-button-prev .icon-left_arrow2,
.swiper-button-next .icon-right_arrow2 {
  font-size: 3rem;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  color: #eee;
}

.swiper-button-prev:hover .icon-left_arrow2,
.swiper-button-next:hover .icon-right_arrow2 {
  color: #e60019;
}

/* ブログ　色変更
--------------------------------------------------------------------*/
.c-page_next_prev a:hover {
  color: #e60019;
}
.widget-blog-aside:not(:last-of-type) {
  margin-bottom:2rem;
}
.widget-blog-aside a {
  color:#1066cf;
  text-decoration: underline;
}
.widget-blog-aside a:hover {
  color: #e60019;
  text-decoration: none;
}
.widget-blog-aside__tit {
  color:#202020;
  margin-bottom:.5rem;
}
.widget-blog-aside li a:hover {
  color: #e60019;
}
#wp-calendar caption {
  color:#202020;
}
#wp-calendar td a {
  color:#1066cf;
}
#wp-calendar td a:hover {
  color: #e60019;
}
/* pdf ボタン　*/
.blog-pdf {
  margin-top: 1.5rem;
}

.blog-pdf a {
  text-decoration: none !important;
  padding: .8rem;
  border: 1px solid #c5c5c5;
  color: #060606;
  background: #f0f0f0;
  padding-left: 4.8rem;
  display: block;
  position: relative;
  transition: 0.3s ease all;
}

.blog-pdf a:after {
  content: "";
  background: url(../img/pdf.svg) no-repeat;
  width: 22px;
  height: 22px;
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
}

.blog-pdf a:hover {
  background: #425c93;
  color: #fff;
  border-color: #425c93;
}

.pdf-link {
  margin-top: 1.25rem;
  line-height: 1;
}

.pdf-link a {
  color: #060606;
}

.pdf-link a:hover p {
  text-decoration: none !important;
}

.pdf-link figure {
  display: inline-block;
  max-width: 158px;
  margin-right: .5rem;
  vertical-align: middle;
}

.pdf-link p {
  display: inline-block;
  vertical-align: middle;
  text-decoration: underline;
}

/* */
h3.c-box__tit.c-box__tit-02 {
  color: #0a52a0;
  font-weight: 600;
}
.txt.txt-c.aos-init.aos-animate p {
  text-align: center;
  line-height: 2;
}

.ceo_name{
  margin-top: 1rem;
}
.common__table td.column-1{
  font-weight: 500;
}
.contact_area{
  background: rgba(0,0,0,0.4);
  padding: 3rem;
}
.top-cont05 .txt.txt-c.aos-init.aos-animate p {
  text-align: left;
  color: #fbfbfb;
}
.txt.txt-c.aos-init.aos-animate p.sub_tit {
  text-align: center;
  font-size: 18px;
  line-height: 1.7;
}
.top-cont05 .btn--main {
  color: #fff;
  background-color: #e60019;
  border-color: #e60019;
}
.top-cont05 .btn--main:hover {
  color: #fff;
  background-color: #0a52a0;
  border-color: #0a52a0;
}
.top-cont05 .btn__wrap {
  margin-top: 3rem;
}
.top-cont04__news{
  background: none;
}
.feed-box__wrap{
  color: #fff;
}
.feed-box__tit {
  color: #e60019;
  font-weight: 500;
  border-bottom: solid 1px #e60019;
}
.tel-link{
  font-size:1.3em;
}
#pagetop a {border-bottom-color: #e60019;}
#pagetop a:hover {border-bottom-color: #0f66cf;}
.footer__copy {background: #e60019;}

@media print, screen and (min-width: 481px) {
  /*====================================================================/
  	/*------------------タブレットスタイル----------------
    /====================================================================*/
  }
  @media print, screen and (min-width: 798px) {
  /*====================================================================/
  	/*-------------------小さいPCスタイル----------------
    /====================================================================*/
  /* header
  ----------------------------------------------------------------*/
  .header__logo {
    width: 180px;
  }
  #global {
    margin-top: 2rem;
  }
  #global .global__items > li a {
    color: #202020;
  }
  #global .global__items > li a::before {
    background:#1066cf;
  }
  .color-header #global .global__items > li a {
    color: #fff;
  }

  header.fixed #global .global__items a {
    color: #202020;
  }
  header.fixed #global .global__items a:hover {
    color: #fff;
  }
  .color-header #global .global__items > li a:hover,
  header.fixed #global .global__items a:hover{
    transition: .3s;
    color: rgb(230, 0, 25);
  }

  /*　トップ画面　*/
  .move-back {
    top: calc(50% - 12rem);
  }

  /* feed */
  .top-cont04__half {
    background: linear-gradient(90deg, #1066cf 49.99%, #3f96cf 49.99%);
  }
  .top-cont04__news {
    background:#1066cf;
  }

  /* tool type
  ----------------------------------------------------------------*/
  #footer__logo img {
    width: 80%;
  }
}
@media print, screen and (min-width: 1017px) {
  /*====================================================================/
  	/*-------------------PCスタイル-------------------
    /====================================================================*/
    /* 共通タイトル */
    h3.normal, h3.blog__tit,h3.privacy__tit {
      font-size: 1.8rem;
    }
    .not-found h3  {
      font-size: 1.8rem;
    }
    /*　トップ画面　*/
    #move-01 {
      font-size: 4rem;
    }
    #move-02 {
      font-size: 1.3rem;
    }
    .move-back {
      top: calc(50% - 10rem);
    }

  }
  @media screen and (max-width: 797px) {
  /*====================================================================/
  	/*------------------スマホタブレット共通スタイル---------
    /====================================================================*/
    /* header */
    .header__logo {
      max-width: 50%;
      min-width: 30%;
    }
    .header__logo img {
      width: 100%;
      max-width: 100px;
    }

    /* グローバルのテキストの色を変更 */
    #global .global__items > li a {
      color: #202020;
    }
    #global .global__items > li a:hover {
      color:#e60019;
    }

    .color-header .drawer-hamburger {
      color: #fff;
    }


    header.fixed .drawer-hamburger {
      color: #202020;
    }
    .drawer-open header.fixed .drawer-hamburger {
      color: #0a52a0;
    }

    .drawer-hamburger-icon,.drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
      background-color: #202020;
    }
    .drawer-open .drawer-hamburger-icon,.drawer-open .drawer-hamburger-icon:before,.drawer-open .drawer-hamburger-icon:after {
      background-color: #fff;
    }

    .color-header .drawer-hamburger-icon, .color-header .drawer-hamburger-icon:before, .color-header .drawer-hamburger-icon:after {
      background-color: #fff;
    }

    .drawer-close header.fixed .drawer-hamburger-icon,.drawer-close header.fixed .drawer-hamburger-icon:before,.drawer-close header.fixed .drawer-hamburger-icon:after {
      background-color: #202020;
    }
   .drawer-open header.fixed .drawer-hamburger-icon, .drawer-open header.fixed .drawer-hamburger-icon:before, .drawer-open header.fixed .drawer-hamburger-icon:after {
      background-color: #0a52a0;
    }
  header.fixed .drawer-hamburger-icon, header.fixed .drawer-hamburger-icon:before,.header.fixed .drawer-hamburger-icon:after {
      background-color: #202020;
    }

    /* トップページ画面　*/
    .move-back {
      top: calc(50% - 7rem);
    }
    span.com {
        font-size: 20px;
        margin-bottom: 1.5rem;
    }
    .drawer-menu li a:hover {
        color: #e60019;
        background-color: transparent;
    }

    /* 背景画像 */
    .first::before {
      background-image: url(../img/bg_01_tb.jpg);
    }

    .top-cont02 {
      background: url(../img/bg_02_sp.jpg);
    }

    .top-cont05 {
      background-image: url(../img/bg_03_sp.jpg);
    }

    .works::before {
      background: url(../img/bg_02_sp.jpg) 50% top no-repeat;
    }

    .contact::before {
      background: url(../img/bg_03_sp.jpg) 50% top no-repeat;
    }

    /* feed */
    .feed-box--news {
      background:#1066cf;
    }
    .feed-box--blog {
      background: #3f96cf;
    }

    #footer__logo {
      width: 50%;
    }
  }
  @media screen and (max-width: 480px) {
  /*====================================================================/
  	/*------------------スマホのみスタイル----------------
    /====================================================================*/
    .pc{display: none;}
    .sp{display: block;}
    .first::before {
      background-image: url(../img/bg_01_sp.jpg);
    }

    .move-back {
      top: calc(50% - 8rem);
    }

    #footer__logo {
      width: 80%;
    }
  }
