@charset "utf-8";
/* CSS Document */
/**************************************************************
共通設定
**************************************************************/
a {
  text-decoration: none !important;
}
.font-serif {
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
}
.pt40 {
  padding-top: 40px;
}
.pb40 {
  padding-bottom: 40px;
}
.minitext {
  color: #7d7d7d;
  font-size: 13px;
}
#sitemap_list {
  background-color: #eeeeee !important;
}
/**************************************************************
 動画　css
**************************************************************/
#loader {
  width: 110px;
  height: 110px;
  display: none;
  position: fixed;
  _position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -32px;
  margin-left: -32px;
  z-index: 100;
}
#fade, #loader {
  display: block;
}
#fade {
  width: 100%;
  height: 100%;
  display: none;
  background-color: #FFFFFF;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 50;
}
.next-button {
  display: block;
  height: 80px;
  width: 80px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 30px;
  background: rgba(255, 255, 255, 0.5);
  color: #000000;
  text-align: center;
  border-radius: 100px;
  cursor: pointer;
  font-size: 15px;
  letter-spacing: -.05em;
  padding-top: 20px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  -moz-animation: bounce 4s infinite;
  -webkit-animation: bounce 4s infinite;
  animation: bounce 4s infinite;
  box-sizing: border-box;
  z-index: 15;
}
div.filters {
  display: block;
  width: 100%;
  height: 1117px;
  background: top left url(../../images/mv-filter.png) repeat;
  z-index: 0;
  position: fixed;
  top: 0px;
  left: auto;
  position: expression('absolute');
 top: expression((documentElement.scrollTop || document.body.scrollTop) + 0 + 'px');
 left: expression((documentElement.scrollLeft || document.body.scrollLeft) + 0 + 'px');
}
video#bgvid {
  position: fixed;
  right: 0;
  min-width: 100%;
  min-height: 100%;
  height: auto;
  z-index: -100;
  background-size: cover;
}
video {
  display: inline-block;
}
.img_boxbg {
  position: relative;
  z-index: 60;
  transition-property: opacity;
  transition-duration: 1s;
  transition-timing-function: ease;
  transition-delay: 0.3s;
  -moz-transition-property: opacity;
  -moz-transition-duration: 1s;
  -moz-transition-timing-function: ease;
  -moz-transition-delay: 0.3s;
  -webkit-transition-property: opacity;
  -webkit-transition-duration: 1s;
  -webkit-transition-timing-function: ease;
  -webkit-transition-delay: 0.3s;
  -o-transition-property: opacity;
  -o-transition-duration: 1s;
  -o-transition-timing-function: ease;
  -o-transition-delay: 0.3s;
  ms-transition-property: opacity;
  ms-transition-duration: 1s;
  ms-transition-timing-function: ease;
  ms-transition-delay: 0.3s;
  width: 100%;
  height: auto;
  background: top left url(../../images/wbg.png) repeat;
  opacity: 0;
}
/**************************************************************
背景設定
**************************************************************/
.top-msg-back {
  background-image: url(https://katachie.co.jp/wp-content/uploads/2018/06/image01_m.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #aaa;
  background-blend-mode: overlay;
}
.top-msg-height {
  height: 500px;
}
.bkc01 {
  background-color: #eee;
}
.bkc02 {
  height: 300px;
  background-color: #b9b9b9;
}
.bkc03 {
  height: 300px;
  background-color: #595757;
}
/*固定する背景*/
.parallax-div {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.parallax-bg {
  background-attachment: fixed;
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat;
}
/*各背景の画像*/
.img-bg-01 {
  background-image: url('https://katachie.co.jp/wp-content/uploads/2018/06/biz-top-parallax.jpg');
}
.img-bg-02 {
  background-image: url('');
}
.bgc-biz {
  background-color: rgba(255,255,255,.9);
  display: inline-block;
  margin: 5% auto 0 auto;
  padding: 5% 0;
  width: 100%;
}
.bgc-biz-work {
  background-color: rgba(255,255,255,.9);
  margin-top: 5%;
  padding: 5% 0;
}
.work-border {
  border-right: 1px solid #e2e2e2;
}
.trim {
  overflow: hidden;
  height: 480px;
  position: relative;
}
/**************************************************************
ブロック設定
**************************************************************/
.outer-block {
  display: table;
}
.inner-block {
  display: table-cell;
  vertical-align: middle;
}
.block3-image {
  padding: 0;
  overflow: hidden;
}
.block3 {
  padding: 20px;
  display: table;
}
.block3-inner {
  display: table-cell;
  vertical-align: middle;
}
/**************************************************************
タイトル設定（見出し装飾）
**************************************************************/
.title-biz {
  font-size: 38px;
  font-size: 2.375rem;
  font-family: Catamaran;
  text-transform: uppercase;
  line-height: 1.19355;
  letter-spacing: .1em;
  font-weight: 400;
}
.subtitle-biz {
  font-size: 20.8px;
  font-size: 1.3rem;
  margin-top: 0;
  text-align: center;
  font-weight: 400;
}
.point-title-biz {
  margin-bottom: 20px;
  font-size: 16px;
  font-size: 1rem;
  margin-top: 0;
  letter-spacing: .1em;
  font-weight: 400;
}
.voice-title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.3;
  color: #0a3751;
}
/**************************************************************
本文設定
**************************************************************/
.text-biz {
  margin: 0;
  line-height: 2.15385;
}
.grey {
  color: #666;
}
/**************************************************************
ボタン設定
**************************************************************/
.button-k {
  display: inline-block;
  width: 245px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
}
.button-k {
  position: relative;
  z-index: 2;
  background-color: #fff;
  border: 2px solid #545b63;
  color: #545b63;
  line-height: 50px;
  overflow: hidden;
}
.button-k::before, .button-k::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button-k, .button-k::before, .button-k::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button-k:hover {
  color: #fff;
}
.button-k::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button-k:hover::after {
  background: #545b63;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.button-blue {
  display: inline-block;
  width: 200px;
  height: 54px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  position: relative;
  z-index: 2;
  background-color: #fff100;
  border: 2px solid #fff100;
  color: #666666;
  overflow: hidden;
}
.button-blue::before, .button-blue::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button-blue, .button-blue::before, .button-blue::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button-blue:hover {
  color: #0271bb;
}
.button-blue::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(.5);
  transform: scale(.5);
}
.button-blue:hover::after {
  background: #fff;
  -webkit-transform: scale(1);
  transform: scale(1);
}
/**************************************************************
TOPページ設定
**************************************************************/
.top-service-mt {
  margin-top: 30px;
}
.topimg-biz {
  display: none;
}
.topbox-biz {
  position: relative;
  text-align: center;
}
.topcontents-biz {
  width: 80%;
  position: absolute;
  right: 0;
  left: 0;
  bottom: -5%;
  background-color: rgba(255,255,255,.9);
  padding: 2rem;
  margin-right: auto;
  margin-left: auto;
}
.topvideo-biz {
  width: 93%;
  margin-right: -7%;
  -webkit-transform: translate(0%, -15%);
  -ms-transform: translate(0%, -15%);
  transform: translate(0%, -15%);
}
.toptitle-biz {
  margin: 10px 0 0 0;
  letter-spacing: 5px;
  letter-spacing: .06em;
  -webkit-font-smoothing: antialiased;
  font-size: 24px;
  font-size: 1.5rem;
}
.topsubtitle-biz {
  font-size: .875rem;
  letter-spacing: .2em;
}
@media only screen and (max-width: 767px) {
  .top-text-small {
    font-size: .7rem;
    letter-spacing: .15em;
  }
}
/**************************************************************
テーブル設定
**************************************************************/
.teble-biz table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  letter-spacing: 0.5;
  margin: 0px -1px 20px 0;
  line-height: 1.4;
  text-align: left;
  width: 100%;
}
.teble-biz table tr th, table thead tr th {
  background-color: #fff;
  color: #222;
  border: none;
  border-bottom: 1px solid #cccccc;
  font-weight: 600;
  padding: 10px 10px;
  border-left: 1px dotted #ccc;
  border-right: 1px dotted #ccc;
  text-align: center;
}
.teble-biz table tr td {
  border: none;
  border-bottom: 1px solid #cccccc;
  padding: 10px 10px;
  border-left: 1px dotted #ccc;
  border-right: 1px dotted #ccc;
}
.teble-biz .th16 {
  width: 16%;
  padding: 0;
}
.teble-biz .th21 {
  width: 21%;
}
.teble-biz .border-none {
  border: none;
  border-bottom: 1px solid #cccccc;
}
.teble-biz .left-none {
  border-left: none;
}
.teble-biz .right-none {
  border-right: none;
}
.teble-biz .bottom-none {
  border-bottom: none;
}
.teble-biz .top-none {
  border-top: none;
}
.teble-biz .biz-grey {
  background-color: #fbfbfb;
}
.teble-biz .top-th {
  border-bottom: double 3px #cccccc;
}
.teble-biz .left-th {
  border-right: solid 3px #cccccc;
}
.teble-biz .overview-under {
  border-bottom: solid 3px #cccccc;
}
.teble-biz .empty-grey {
  background-color: #eeeeee;
}

/**************************************************************
メディアクエリ設定
**************************************************************/
@media screen and (min-width:768px) and ( max-width:1400px) {
/************************************************************
ブロック設定
**************************************************************/
.block3-image img {
  display: none;
}
.block3-image {
  background: url(https://katachie.co.jp/wp-content/uploads/2018/06/biz-archive.jpg) no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 50%;
  padding: 0;
}
.block4-image img {
  display: none;
}
.block4-image {
  background: url(https://katachie.co.jp/wp-content/uploads/2018/06/biz-company850.jpg) no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 50%;
  padding: 0;
}
.block5-image img {
  display: none;
}
.block5-image {
  background: url(https://katachie.co.jp/wp-content/uploads/2019/12/top-message.jpg) no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-position: 50% 50%;
  padding: 0;
}
}

@media screen and (min-width: 0px) and (max-width: 768px) {
/**************************************************************
背景設定
**************************************************************/
.parallax-bg {
  background-attachment: inherit;
}
.trim {
  height: 280px;
}
/**************************************************************
タイトル設定（見出し装飾）
**************************************************************/
.subtitle-biz {
  font-size: 1.0rem;
}
/**************************************************************
TOPページ設定
**************************************************************/
.top-service-mt {
  display: none;
}
.topimg-biz {
  display: block;
  width: 93%;
  margin-right: -7%;
  -webkit-transform: translate(0%, -15%);
  -ms-transform: translate(0%, -15%);
  transform: translate(0%, -15%);
}
.topvideo-biz {
  display: none;
}
/**************************************************************
テーブル設定
**************************************************************/
.teble-biz .th16 {
  display: none;
}
.teble-biz .th21 {
  width: 100%;
}
.teble-biz .left-none {
  border-left: 1px dotted #ccc;
}
.teble-biz .right-none {
  border-right: 1px dotted #ccc;
}
.teble-biz .bottom-none {
  border-bottom: 1px dotted #ccc;
}
.teble-biz .top-none {
  border-top: 1px dotted #ccc;
}
.teble-biz .customize-back {
  background-color: #e5e5e5;
}
.teble-biz .workshop-back {
  background-color: #eaeaea;
}
.teble-biz .project-back {
  background-color: #f0f0f0;
}
.teble-biz .consulting-back {
  background-color: #f9f9f9;
}
}
.text-center-sp {
  text-align: center;
}
@media only screen and (max-width: 767px) {
.outer-block {
  width: 100%;
}
.block3 {
  width: 100%;
}
.text-center-sp {
  text-align: left;
}
.sp-none {
  display: none;
}
}
.entry-content a{
  color: #f99500;
}
.link-text-color a {
  color: #234d6d;
}
/***** 20230822 TOPページInformation変更 *****/
.work-service-flexbox{
  width:90%;
  margin:0 auto;
}
.flexbox-item{
  justify-content:center;
  margin:30px auto;
}
.flexbox-item:first-child{
  margin-top:10px;
}
.flexbox-item:last-child{
  margin-bottom:10px;
}
.flex-item-text{
  text-align: center;
}
.flex-item-text p{
  text-align: justify;
}
.flex-item-image img {
  width: 60%;
}
.bgc-biz.works-category h3 {
  font-weight: 600;
  text-align: left;
}
.bgc-biz.works-category p {
  text-align: left;
  margin-top: 10px;
}
.bleke-sp {
  display: inline-block;
}
@media screen and (min-width: 480px) {
  .bleke-sp {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .bgc-biz.works-category {
    padding: 40px 0;
  }
  .bleke-sp {
    display: inline-block;
  }
  .work-service-flexbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
  }
  .flexbox-item {
    margin: inherit;
    width: calc(100%/2);
  }
  .flexbox-item {
    padding: 0 30px;
  }
  .flexbox-item:first-child {
    margin-top: 0;
  }
  .flexbox-item:last-child {
    margin-bottom: 0;
  }
  .flex-item-image img {
  width: 50%;
  }
}
@media only screen and (min-width: 991px) {
  .bleke-sp {
    display: none;
  }
}
/***** おすすめボタンの固定CSS *****/
@media only screen and (max-width: 767px) {
  .explanation-fix-btn {
    left: 15px;
    position: fixed;
      z-index: 5;
      animation: explanation-fix 2.0s;
      animation-delay: 1s;
      animation-fill-mode: forwards;
      opacity: 0;
  }

  @keyframes explanation-fix {
    from {
      bottom: -100px;
      opacity: 0;
    }

    to {
      bottom: 10px;
      opacity: 1;
    }
  }
}
@media only screen and (min-width: 768px) {
  .explanation-fix-btn {
      position: fixed;
      right: 15px;
      z-index: 5;
      animation: explanation-fix 2.0s;
      animation-delay: 1s;
      animation-fill-mode: forwards;
      opacity: 0;
    }
  
    @keyframes explanation-fix {
      from {
        bottom: -100px;
        opacity: 0;
      }
  
      to {
        bottom: 60px;
        opacity: 1;
      }
    }
}
@media only screen and (max-width: 480px) {
  .top-post-list #post-not-found {
    margin-left: 1em;
    margin-right: 1em;
  }
}
/***** 20240702 検索時の崩れ修正CSS *****/
.wp-block-search .wp-block-search__input {
  margin-bottom: 0;
}
#post-not-found header {
  background-color: inherit;
  height: auto;
}

.search .searchform {
  display: flex;
}
.search .searchform input {
  flex-grow: 1;
  margin-bottom: 0;
  border: 1px solid #949494;
}
.search .searchform button {
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  padding: .375em .625em;
  color: #32373c;
  margin-left: .625em;
  word-break: normal;
  min-width: 3.5em;
}
/***** 20240925 会社概要iframe用CSS *****/
#access iframe {
  width: 100%;
  height: 300px;
  border: none;
}
@media screen and (min-width: 768px) {
  .top-message {
    display: flex;
  }
}
/************************************
** 20240926 モバイルメニュー用
************************************/
.active-slide-in-menu {
  margin-bottom: 50px;
}
.mobile-menu-buttons {
  background: #eee;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  line-height: 1.4;
  height: 50px;
}
.mobile-menu-buttons .menu-icon {
  margin-top: 3px;
  text-align: center;
  display: block;
}
.mobile-menu-buttons .menu-icon::before {
  font-family: FontAwesome;
  font-size: 1em;
}
.mobile-menu-buttons .menu-caption {
  font-size: 12px;
  text-align: center;
  display: block;
}
.mobile-menu-buttons .menu-button {
  position: relative;
  width: 100%;
}
.mobile-menu-buttons .menu-button > a {
  color: #333;
  text-decoration: none;
  cursor: default;
}
.mobile-menu-buttons .menu-button:hover {
  background-color: #f5f8fa;
  transition: all 0.5s ease;
  color: #333;
}
.mobile-menu-buttons .ad-area {
  display: none;
}
.home-menu-icon::before {
  content: '\f015';
}
.access-menu-icon::before {
  content: '\f041';
}
.contact-menu-icon::before {
  content: '\f0e0';
}
@media screen and (min-width: 768px) {
  .active-slide-in-menu {
    margin-bottom: 0;
  }
  .mobile-menu-buttons {
    display: none;
  }
}
.text-decoration-underline {
  text-decoration: underline;
}
/************************************
** 20250612 サイトフォントサイズアップ用
************************************/
/* フォントサイズ確認用-私たちの歩み */
.font-size-renewal .toptitle-biz {
  font-size: 1.625rem;
}
.font-size-renewal p, .font-size-renewal .topsubtitle-biz {
  font-size: 1rem;
}
.font-size-renewal h2, .font-size-renewal .h2 {
  font-size: 1.63em;
}
.font-size-renewal h3, .font-size-renewal .h3 {
  font-size: 1.43em;
}
.font-size-renewal figcaption {
  font-size: .93em;
}
/* フォントサイズ確認用2-私たちの歩み */
.font-size-renewal2 .toptitle-biz {
  font-size: 1.6875rem;
  margin: 0;
}
.font-size-renewal2 .toptitle-biz {
  line-height: 1;
}
.font-size-renewal2 p, .font-size-renewal2 .topsubtitle-biz {
  font-size: 1.0625rem;
}
.font-size-renewal2 h2, .font-size-renewal2 .h2 {
  font-size: 1.7em;
  line-height: 1.3em;
}
.font-size-renewal2 h3, .font-size-renewal2 .h3 {
  font-size: 1.5em;
  line-height: 1.3em;
}
.font-size-renewal2 figcaption {
  font-size: 1em;
}

/* フォントサイズ確認用3-私たちの歩み */
.font-size-renewal3 .toptitle-biz {
  font-size: 1.75rem;
  margin: 0;
}
.font-size-renewal3 .toptitle-biz {
  line-height: 1;
}
.font-size-renewal3 p, .font-size-renewal3 .topsubtitle-biz {
  font-size: 1.125rem;
}
.font-size-renewal3 h2, .font-size-renewal3 .h2 {
  font-size: 1.75em;
  line-height: 1.3em;
}
.font-size-renewal3 h3, .font-size-renewal3 .h3 {
  font-size: 1.58em;
  line-height: 1.3em;
}
.font-size-renewal3 figcaption {
  font-size: 1rem;
}
@media only screen and (min-width: 768px) and (max-width: 992px) {
  #pc-menu > ul > li > a {
    padding: 0px 8px;
  }
}
@media screen and (min-width: 768px) {
  .font-size-renewal2 .topcontents-biz, .font-size-renewal3 .topcontents-biz {
    padding: 3rem;
  }
}