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


/*--------------------------------------------------------------------/
	loader 色変更
  /-------------------------------------------------------------------*/
  @keyframes f_fadeG {
    0% {
      background-color:#3f96cf;
    }
    100% {
      background-color: white;
    }
  }
  @-webkit-keyframes f_fadeG {
    0% {
      background-color:#3f96cf;
    }
    100% {
      background-color: white;
    }
  }
  @-moz-keyframes f_fadeG {
    0% {
      background-color:#3f96cf;
    }
    100% {
      background-color: white;
    }
  }
/*--------------------------------------------------------------------/
	body
  /--------------------------------------------------------------------*/
  body {
    color: #202020;
  }

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

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

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

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

a:hover {
  color: #3f49cf;
}

/* 共通ボタンの色変更
----------------------------------------------------------------*/
.btn--main {
  color: #fff;
  background-color:#3f96cf;
  border-color:#3f96cf;
}
.btn--main:hover {
  background-color: #3f49cf;
  border-color: #3f49cf;
}

.btn--arrow {
  color: #fff;
  border-color: #fff;
}

.btn--main:hover {
  color: #fff;
  background-color: #3f49cf;
  border-color: #3f49cf;
}

.works-list .btn--arrow{
  background-color:#3f96cf;
  border-color: #3f96cf;
}
.works-list a:hover .btn--arrow{
  background-color:#3f49cf;
  border-color: #3f49cf;
}
.gallery-img {
  background: transparent;
}
/* 共通タイトル
----------------------------------------------------------------*/
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;
}
h3.privacy__tit {
  margin-bottom: 1rem;
}
/*　ヘッダーとメニューの背景とロゴの大きさを設定
/* 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:#3f96cf;
  background-color: transparent;
}

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

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

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

/* breadcrumb
/--------------------------------------------------------------------*/
.breadcrumb__list a:hover {
  color:#3f96cf;
}

/* main
/--------------------------------------------------------------------*/
/* first */
.scrolldown {
  color: #fff;
}

.arrow-down a {
  color: #fff;
}
/* fv__parts */
#move-01 {
  font-size: calc(2.4rem + 48 * (100vw - 320px) / 697);
  font-weight: 700;
}

#move-02 {
  font-size: calc(1.4rem + 10 * (100vw - 320px) / 697);
  font-weight: 500;
}

.move-back {
  position: absolute;
  left: 0;
  right: 0;
  color: #fff;
  text-align: center;
}

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

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

/* コンテンツタイトル */
.cont__tit span {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 300;
}
.top-cont02 {
  overflow-x: hidden;
}

.c-box__txt-01 .c-btn,.c-box__txt-02 .c-btn {
  position: absolute;
  left: 1.5rem;
  bottom: 1.5rem;
  width: calc(100% - 3rem);
}

/* c-box */
.c-box h4 {
  margin-bottom: 1.5rem;
}
.c-box:not(:last-child) {
  margin-bottom: 2rem;
}
.c-box figure {
  margin-bottom: 1rem;
}
.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 !important;
  font-weight: 400;
}

/* footer */
.footer__copy {
  background:#3f96cf;
}

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

/* 実績紹介ページの背景画像
--------------------------------------------------------------------*/
.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:#3f96cf;
  border-color:#3f96cf;
}
[class="sub-btn"]:hover {
  color: #fff;
  background: #3f49cf;
  border: 1px solid #3f49cf;
}

input[class="back-btn"] {
  color:#3f96cf;
  background: #fff;
  border-color:#3f96cf;
}
input[class="back-btn"]:hover {
  color: #fff;
  background: #3f49cf;
  border: 1px solid #3f49cf;
}

/* 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: #3f49cf;
}

/* ブログ　色変更
--------------------------------------------------------------------*/
.c-page_next_prev a:hover {
  color: #3f49cf;
}
.widget-blog-aside:not(:last-of-type) {
  margin-bottom:2rem;
}
.widget-blog-aside a {
  color:#3f96cf;
  text-decoration: underline;
}
.widget-blog-aside a:hover {
  color: #3f49cf;
  text-decoration: none;
}
.widget-blog-aside__tit {
  color:#202020;
  margin-bottom:.5rem;
}
.widget-blog-aside li a:hover {
  color: #3f49cf;
}
#wp-calendar caption {
  color:#202020;
}
#wp-calendar td a {
  color:#3f96cf;
}
#wp-calendar td a:hover {
  color: #3f49cf;
}
/* 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;
}

@media print, screen and (min-width: 481px) {
/*====================================================================/
  /*------------------タブレットスタイル----------------
  /====================================================================*/
}

@media print, screen and (min-width: 798px) {
/*====================================================================/
  /*-------------------小さいPCスタイル----------------
  /====================================================================*/
/* header
----------------------------------------------------------------*/
  .header__logo {
    width: 240px;
  }

  #global .global__items > li a {
    color: #202020;
  }
  #global .global__items > li a::before {
    background:#3f96cf;
  }
  .color-header #global .global__items > li a {
    color: #3f96cf;
  }

  .color-header #global .global__items > li a:hover {
    color: #fff;
  }

  .color-header {
    background: rgba(255, 255, 255, 0.8);
  }

  header.fixed #global .global__items a {
    color: #202020;
  }
  header.fixed #global .global__items a:hover {
    color: #fff;
  }

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

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

  /* 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: 3.6rem;
  }
  #move-02 {
    font-size: 2.4rem;
  }
  .move-back {
    top: calc(50% - 13rem);
  }
  h3.table__tit {
    font-size: 2rem;
  }
}
@media screen and (max-width: 797px) {
/*====================================================================/
  /*------------------スマホタブレット共通スタイル---------
  /====================================================================*/
  /* header */
  .header__logo {
    max-width: 50%;
    min-width: 30%;
  }
  .header__logo img {
    width: 100%;
    max-width: 200px;
    padding-top: 8px;
  }

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

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

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

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

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

  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% - 10rem);
  }

  /* 背景画像 */
  .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:#3f96cf;
  }
  .feed-box--blog {
    background: #3f96cf;
  }

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

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

  #footer__logo {
    width: 80%;
  }
}

.header__inner {
  align-items: center;
}

#top .l-cont {
  padding: 0;
}

.move-back {
  /* background: rgba(51, 51, 51, 0.4); */
  background: rgba(255, 255, 255, 0.6);
  padding: 2rem 0 4rem;
}

@media only screen and (max-width: 480px) {
  .move-back {
		padding: 1rem 0 2rem;
	}
}

#move-01 {
  font-size: calc(3.5rem + 48 * (100vw - 320px) / 697);
  font-weight: 700;
  color: #404040;
  /* color: #fff; */
  /* color: #3f96cf; */
}

#move-01 .cl-main {
  color: #3f96cf;
}

#move-02 {
  margin-top: 10px;
}

#move-02 p {
  display: inline-block;
  padding: .4rem 1rem;
}

.move-02_wrap {
  display: inline-block;
  position: relative;
}

.move-02_wrap > span {
	position: absolute;
}
.move-02_wrap > span:nth-child(1),.move-02_wrap > span:nth-child(4) {
	top: 0;
	background-color: #fff;
	transition: all .6s linear;
}

.move-02_wrap > span:nth-child(2) {
	left: 0;
	background-color: #fff;
	transition: all .6s linear;
}
.move-02_wrap > span:nth-child(3) {
	right: 0;
	background-color: #fff;
	transition: all .6s linear;
}
.move-02_wrap > span:nth-child(1) {
	left: 0;
	width: 0;
	height: 1px;
	transform-origin: left center;
}

.move-02_wrap > span:nth-child(2) {
	top: 0;
	width: 1px;
	height: 100%;
	transform-origin: center top;
	transform: scaleY(0);
}

.move-02_wrap > span:nth-child(3) {
	bottom: 0;
	width: 0;
	height: 1px;
	transform-origin: right center;
}

.move-02_wrap > span:nth-child(4) {
	right: 0;
	width: 1px;
	height: 100%;
	transform: scaleY(0);
	transform-origin: center bottom;
}

.move-02_wrap.active > span:nth-child(3),
.move-02_wrap.active > span:nth-child(1) {
	width: 100%;
}
.move-02_wrap.active > span:nth-child(4),
.move-02_wrap.active > span:nth-child(2) {
	transform: scaleY(1);
}

.move-02_wrap {
  background: #3f96cf;
  border: 1px solid #fff;
}

.move-02_wrap.active {
	transition: all 1s linear;
	background-color:rgb(63, 150, 207);
	transition-delay: .9s;
}
.move-02_wrap.active p {
	color: #fff;
}
/* .move-02_wrap.active > span {
	transition: all 1s linear;
	transition-delay: .9s;
	background-color:#fff;
} */



@media print, screen and (min-width: 798px) {
  #move-02 p {
    padding: .8rem 2rem;
  }
}

@media print, screen and (min-width: 992px) {
  #move-02 p {
		padding: 1rem 3rem;
		font-size: 1.1em;
  }
}


@media print, screen and (min-width: 1017px) {
  #move-01 {
    font-size: 7.5rem;
  }
}

@media screen and (max-width: 797px) {
  .first {
    background-repeat: no-repeat;
    background-size: cover;
  }
}

@media print, screen and (min-width: 798px) {

  #global {
    margin-top: 0;
  }
}

#top .l-cont {
  max-width: none;
}

.cont__tit {
	position: relative;
	padding-bottom: 1rem;
}

.top-cont01 .c-box__tit {
  position: relative;
	padding-bottom: .5em;
	text-align: center;
	margin-bottom: 2rem;
}

.top-cont01 .c-box__tit::before,
.top-cont01 .c-box__tit::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  height: 4px;
}

.top-cont01 .c-box__tit::before {
  z-index: 2;
  width: 15%;
  background-color: #3f96cf;
}

.top-cont01 .c-box__tit::after {
  width: 100%;
  background: -webkit-repeating-linear-gradient(45deg, #fff, #fff 2px, #80cbfc 2px, #80cbfc 4px);
  background: repeating-linear-gradient(45deg, #fff, #fff 2px, #80cbfc 2px, #80cbfc 4px);
}

/* .top-cont01 .c-box__tit {
  text-align: center;
  padding: 0.5em;
  background: #999;
  border-left: solid 5px #3f96cf;
  color: #fff;
} */

.cont__tit::after {
  content: "";
  background: #3f96cf;
  position: absolute;
  bottom: 0;
  height: 1px;
  width: 6rem;
  left: calc(50% - 3rem);
}

.c-box__tit-02 {
	position: relative;
	color: white;
	padding:0.5em 0.5em 0.5em 1.7em;
	background-color: #3f96cf;
	border-radius: 5px;
}
.c-box__tit-02::after {
	position: absolute;
	top: 50%;
	left:0.7em;
	transform:translateY(-50%);
	content: '';
	width: 5px;
	height:25px;
	background-color:white;
}
/* .c-box__tit-02 {
	text-align: center;
	font-weight: bold;
	border-top: 5px double #333;
	border-bottom: 5px double #333;
	padding: 10px 0;
} */

h3.table__tit {
	background: none;
	border-bottom: 1px dotted #333;
	padding-bottom: 1rem;
}

/* ブレイクポイント
--------------------------------------------------------------------*/
.xs-visible {
	display: block;
}

.xs-hidden {
	display: none;
}

.md-visible {
	display: none;
}

.md-hidden {
	display: block;
}

.lg-visible {
	display: none;
}

.lg-hidden {
	display: block;
}

@media only screen and (min-width: 544px) {
	.xs-visible {
		display: none;
	}

	.xs-hidden {
		display: block;
	}
}

@media screen and (min-width:768px) and (max-width:991px) {
	.md-visible {
		display: block;
	}
	.md-hidden {
		display: none;
	}

}

@media only screen and (min-width: 992px) {
	.lg-visible {
		display: block;
	}

	.lg-hidden {
		display: none;
	}
}

.lg-hidden {
	display: block;
}

@media only screen and (min-width: 1000px) {
	.lg-hidden {
		display: none;
	}
}
