@charset "utf-8";


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

INDEX

サイト全体の基本スタイルの設定

/* ヘッダー
/* メニュー
/* トップイメージ
/* トップコンテンツ
/* コンテントページ
/* フッター
/* コピーライト
/* SPボトムメニュー
/* 404エラー
/* recaptcha

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


/* ヘッダー 
----------------------------------------------- */

.site-header,
.site-header.hid{
  position: relative;
  transition: all 0.5s;
}

.headlink-box{
  margin-right: 1em;
}
.headlink-add{
  font-size: 0.9em;
}
.headlink-time{
  font-size: 0.7em;
}
.headlink-ul{
  display: flex;
  gap:5px;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.headlink-ul li a{
  display: block;
  border: solid 1px #cccccc;
  padding: 0.2em 0.5em;
}

.headlink-tel{
  margin: 5px 10px 10px 10px;
  position: relative;
  padding-left: 1.1em;
  display: inline-block;
  font-size: 1.3em;
}
.headlink-tel::before{
  content: '';
  position: absolute;
  display: block;

  width: 0.9em;
  height: 0.9em;
  background-image: url("../img/mi-mobile-b.png");
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 0.1em;

  top:50%;
  left: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);

}

.headlink-ul li a{
  display: block;
  color: #ffffff;
  background-color: #777777;
  padding: 0.2em 0.8em 0.3em 0.8em;
  border-radius: 0 0 3px 3px;
}
.headlink-ul li.headlink-li-3 a,
.headlink-ul li.headlink-li-2 a{
  background-color: #1e2c5b;
}


@media screen and (min-width: 992px) {
  
  .menu-header-container ul{
    list-style-type: none;
    padding: 0;
    margin: 5px 0 0 0;
    display: flex;
    gap:2px;

  }
  .menu-header-container ul li a{
    display: block;
    padding: 0.3em 0.8em;
    background-color: #777777;
    color: #ffffff;
    border-radius: 3px;
  }

}


.top-kotei-link{
  display: none;
}


@media screen and (min-width: 992px) {
  .top-kotei-link{
    display: block;
    position: fixed;
    top:200px;
    right: -100%;
    z-index: 5;
    transition: all 0.3s ease-in-out;
  }
  .top-kotei-link.hid{
    right: 0;
  }  
}

.menu-shiori-container ul{
  margin: 0;
  padding: 0!important;
  list-style: none;
}

.menu-shiori-container ul li{
  margin-bottom: 5px;
}

.menu-shiori-container ul li a{
  display: block;
  padding: 1em 0.5em;
  background-color: #777777;
  color: #ffffff;
  writing-mode: vertical-rl;
  border-radius: 10px 0 0 10px;
}

.menu-shiori-container ul li.shiori-saiyou a{
  background-color: #e71f18;
  border:solid 2px #e71f18;
}
.menu-shiori-container ul li.shiori-saiyou a:hover{
  background-color: #ffffff;
  color: #e71f18!important;
}
.menu-shiori-container ul li.shiori-saiyou a::before{
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin: 0 0 0.3em -0.5em;
  background-image: url("img/icon-saiyou-w.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.menu-shiori-container ul li.shiori-saiyou a:hover::before{
  background-image: url("img/icon-saiyou-r.png");
}


.menu-shiori-container ul li.shiori-entry a{
  background-color: #1e2c5b;
  border:solid 2px #1e2c5b;
}
.menu-shiori-container ul li.shiori-entry a:hover{
  background-color: #ffffff;
  color: #1e2c5b!important;
}
.menu-shiori-container ul li.shiori-entry a::before{
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
  margin: 0 0 0.3em -0.5em;
  background-image: url("img/icon-entry-w.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.menu-shiori-container ul li.shiori-entry a:hover::before{
  background-image: url("img/icon-entry-k.png");
}



/* メニュー
----------------------------------------------- */

.menu-header-container ul li.header-saiyou-btm a{
  background-color: #e71f18;
  border: solid 2px #e71f18;
  box-sizing: border-box!important;
}
.menu-header-container ul li.header-saiyou-btm a::before{
  content:'';
  display: inline-block;
  vertical-align: middle;
  margin: -0.3em 0.3em 0 0;
  width: 1em;
  height: 1em;
  background-image: url("img/icon-saiyou-w.png");
  background-repeat:no-repeat;
  background-size: cover;
  
}
.menu-header-container ul li.header-saiyou-btm a:hover{
  background-color: #ffffff!important;
  color: #e71f18!important;
}
.menu-header-container ul li.header-saiyou-btm a:hover::before{
  background-image: url("img/icon-saiyou-r.png");
}

.menu-header-container ul li.header-contact-btm a{
  background-color: #1e2c5b;
  border: solid 2px #1e2c5b;
  box-sizing: border-box!important;
}
.menu-header-container ul li.header-contact-btm a::before{
  content:'';
  display: inline-block;
  vertical-align: middle;
  margin: -0.3em 0.3em 0 0;
  width: 1em;
  height: 1em;
  background-image: url("img/icon-entry-w.png");
  background-repeat:no-repeat;
  background-size: cover;
  
}
.menu-header-container ul li.header-contact-btm a:hover{
  background-color: #ffffff!important;
  color: #1e2c5b!important;
}
.menu-header-container ul li.header-contact-btm a:hover::before{
  background-image: url("img/icon-entry-k.png");
}



@media screen and (min-width: 992px) {
  
  /* メニューカレントアンダーライン */
  /*
  .menu-main-container>ul.main-menu>li.current-menu-item>a{
    position: relative;
  }
  .menu-main-container>ul.main-menu>li.current-menu-item>a::before,
  .menu-main-container>ul.main-menu>li.current-menu-parent>span::before{
    content: ''!important;
    position: absolute;
    bottom: -10px;
    left: 50%;
    display: block;
    width: 0;
    height: 3px;
    background-color: rgba(30, 45, 91, 0.9);
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    animation: menuLine 0.5s ease-in forwards;
  }
  */

  .main-navigation ul.main-menu li.btm-type a{
    background-color: #777777;
    color: #ffffff;
  }
  .main-navigation ul.main-menu li a{
    font-size: 0.9em;
    color: #222222;
    font-weight: 500;
  }
}

/* メニューカレントアンダーライン */
@keyframes menuLine {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}


@media screen and (min-width: 992px) {
  

  /*
  .main-navigation ul.main-menu:not(.hid) li a{
    padding-top: 1.7em!important;
    padding-bottom: 1.7em!important;
  }
  .main-navigation ul.main-menu:not(.hid) li.menu-item-has-children>span{
    height: 119px!important;
    margin-top: -119px;
  }
  .main-navigation ul.main-menu:not(.hid)>li.menu-item-has-children>span::after{
    height: 119px;
    top:20px;
  }
  */
  
  .mega-menu-title{
    margin-top: 50px!important;
  }
  
  .main-navigation ul.sub-menu{
    flex-wrap: wrap;
    gap:0.8em 2%!important;
    padding-top: 0!important;
  }
  
  .main-navigation ul.sub-menu li{
    width: 32%!important;
  }
  
  .main-navigation ul.sub-menu li a{
    position: relative;
    font-weight: bold;
    color: #213d6b;
    padding-left: 4.5em!important;
    overflow: hidden;
  }
  .main-navigation ul.sub-menu li a::before{
    content: '';
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    left: 0;
    width: 60px;
    height: 100%;
    background-image: url("img/mega/megasub-i00.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
  }
  
  
  .main-navigation ul.sub-menu li.megasub-ijyoukisyo a::before{
    background-image: url("img/mega/megasub-ijyoukisyo.png");
  }
  .main-navigation ul.sub-menu li.megasub-jyouhouteikyou a::before{
    background-image: url("img/mega/megasub-jyouhouteikyou.png");
  }
  .main-navigation ul.sub-menu li.megasub-cyuuihyoji a::before{
    background-image: url("img/mega/megasub-cyuuihyoji.png");
  }
  .main-navigation ul.sub-menu li.megasub-kankyouweb a::before{
    background-image: url("img/mega/megasub-kankyouweb.png");
  }
  .main-navigation ul.sub-menu li.megasub-kisyoukanren a::before{
    background-image: url("img/mega/megasub-kisyoukanren.png");
  }
  .main-navigation ul.sub-menu li.megasub-soukousien a::before{
    background-image: url("img/mega/megasub-soukousien.png");
  }
  .main-navigation ul.sub-menu li.megasub-kankyoutaisaku a::before{
    background-image: url("img/mega/megasub-kankyoutaisaku.png");
  }
  .main-navigation ul.sub-menu li.megasub-kikenkui a::before{
    background-image: url("img/mega/megasub-kikenkui.png");
  }
  .main-navigation ul.sub-menu li.megasub-hosyumente a::before{
    background-image: url("img/mega/megasub-hosyumente.png");
  }
  .main-navigation ul.sub-menu li.megasub-michimori a::before{
    background-image: url("img/mega/megasub-michimori.png");
  }
  .main-navigation ul.sub-menu li.megasub-jyoukyoukansi a::before{
    background-image: url("img/mega/megasub-jyoukyoukansi.png");
  }
  .main-navigation ul.sub-menu li.megasub-tunnel a::before{
    background-image: url("img/mega/megasub-tunnel.png");
  }
  .main-navigation ul.sub-menu li.megasub-taikousya a::before{
    background-image: url("img/mega/megasub-taikousya.png");
  }
  .main-navigation ul.sub-menu li.megasub-kansui a::before{
    background-image: url("img/mega/megasub-kansui.png");
  }
  .main-navigation ul.sub-menu li.megasub-tamokuteki a::before{
    background-image: url("img/mega/megasub-tamokuteki.png");
  }
  
  
  
  
  .main-navigation ul.sub-menu li.megasub-saiyou a::before{
    background-image: url("img/mega/megasub-saiyou.png");
  }
  
  
  
  
  .main-navigation ul.sub-menu li.megasub-i00 a::before{
    background-image: url("img/mega/megasub-i00.png");
  }
  
  
  .main-navigation ul.sub-menu li.megasub-s01 a::before{
    background-image: url("img/mega/megasub-s01.png");
  }
  .main-navigation ul.sub-menu li.megasub-s02 a::before{
    background-image: url("img/mega/megasub-s02.png");
  }
  .main-navigation ul.sub-menu li.megasub-s03 a::before{
    background-image: url("img/mega/megasub-s03.png");
  }
  .main-navigation ul.sub-menu li.megasub-s04 a::before{
    background-image: url("img/mega/megasub-s04.png");
  }
  .main-navigation ul.sub-menu li.megasub-s05 a::before{
    background-image: url("img/mega/megasub-s05.png");
  }
  .main-navigation ul.sub-menu li.megasub-s06 a::before{
    background-image: url("img/mega/megasub-s06.png");
  }
  .main-navigation ul.sub-menu li.megasub-s07 a::before{
    background-image: url("img/mega/megasub-s07.png");
  }
  
  .main-navigation ul.sub-menu li.megasub-k01 a::before{
    background-image: url("img/mega/megasub-k01.png");
  }
  .main-navigation ul.sub-menu li.megasub-k02 a::before{
    background-image: url("img/mega/megasub-k02.png");
  }
  .main-navigation ul.sub-menu li.megasub-k03 a::before{
    background-image: url("img/mega/megasub-k03.png");
  }
  .main-navigation ul.sub-menu li.megasub-k04 a::before{
    background-image: url("img/mega/megasub-k04.png");
  }
  .main-navigation ul.sub-menu li.megasub-k05 a::before{
    background-image: url("img/mega/megasub-k05.png");
  }
  .main-navigation ul.sub-menu li.megasub-k06 a::before{
    background-image: url("img/mega/megasub-k06.png");
  }
  .main-navigation ul.sub-menu li.megasub-k07 a::before{
    background-image: url("img/mega/megasub-k07.png");
  }
  
  .main-navigation ul.sub-menu li.megasub-r01 a::before{
    background-image: url("img/mega/megasub-r01.png");
  }
  
  
  
  .main-navigation ul.sub-menu li.megasub-i01 a::before{
    background-image: url("img/mega/megasub-i01.png");
  }
  .main-navigation ul.sub-menu li.megasub-i02 a::before{
    background-image: url("img/mega/megasub-i02.png");
  }
  .main-navigation ul.sub-menu li.megasub-i03 a::before{
    background-image: url("img/mega/megasub-i03.png");
  }
  .main-navigation ul.sub-menu li.megasub-i04 a::before{
    background-image: url("img/mega/megasub-i04.png");
  }
  .main-navigation ul.sub-menu li.megasub-i05 a::before{
    background-image: url("img/mega/megasub-i05.png");
  }
  .main-navigation ul.sub-menu li.megasub-i06 a::before{
    background-image: url("img/mega/megasub-i06.png");
  }
  .main-navigation ul.sub-menu li.megasub-i07 a::before{
    background-image: url("img/mega/megasub-i07.png");
  }
  .main-navigation ul.sub-menu li.megasub-i08 a::before{
    background-image: url("img/mega/megasub-i08.png");
  }
  .main-navigation ul.sub-menu li.megasub-i09 a::before{
    background-image: url("img/mega/megasub-i09.png");
  }
  .main-navigation ul.sub-menu li.megasub-i10 a::before{
    background-image: url("img/mega/megasub-i10.png");
  }
  .main-navigation ul.sub-menu li.megasub-i11 a::before{
    background-image: url("img/mega/megasub-i11.png");
  }
  .main-navigation ul.sub-menu li.megasub-i12 a::before{
    background-image: url("img/mega/megasub-i12.png");
  }
  .main-navigation ul.sub-menu li.megasub-i13 a::before{
    background-image: url("img/mega/megasub-i13.png");
  }
  .main-navigation ul.sub-menu li.megasub-i14 a::before{
    background-image: url("img/mega/megasub-i14.png");
  }
  
  .main-navigation ul.sub-menu li a::after{
    content: '';
    position: absolute;
    right: 20px;
    top:50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    display: block;
    width: 1.5em;
    height: 1.5em;
    background-color: #213d6b;
    background-image: url("img/mblist-icon5.png");
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: 70% 70%;
    background-position: center center;
  }
  
  /* メガメニュータイトル */
  .sub-menu-box span.mgtitle{
    color: #ffffff;
    font-size: 1.5em;
    display: block;
    padding-bottom: 0.5em;
    margin-bottom: 1.2em;
    border-bottom: solid 1px #ffffff;
  }
  
  /* メガメニュー：サブメニュー */
  .main-navigation ul.main-menu>li>div.sub-menu-box>ul.sub-menu li a{
    padding: 2em 1.5em;
    color: #000000;
  }
  
}

@media screen and (min-width: 1280px) {
  
  .main-navigation ul.sub-menu li a{
    padding-left: 6.5em!important;
  }
  
  
  .main-navigation ul.sub-menu li a::before{
    width: 60px;
    height: 100%;
  }
}


/* トップイメージ
----------------------------------------------- */



@media screen and (max-width: 499px) {
  .topimage-bs{
    height: auto!important;
  }
  .top-pc-view{
    display: none;
  }
  .top-mb-view{
    display: block;
  }
}
@media screen and (min-width: 500px) {
  .topimage-bs{
    height: auto!important;
  }
  .top-pc-view{
    display: block;
  }
  .top-mb-view{
    display: none;
  }
}


.mv-mask::after{
  content: '';
  position: absolute;
  top:0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
/*   background-image: url("../img/filter/pattern-01.png"); */
  --DOTS_SIZE: 3px;
  --DOTS_POSITION: 33.3%;
  --DOTS_COLOR: #454545;
  background-color: rgba(var(--DOTS_COLOR), .2);
  background-image: radial-gradient(var(--DOTS_COLOR) var(--DOTS_POSITION), rgba(0,0,0,0) var(--DOTS_POSITION));
  background-size: var(--DOTS_SIZE) var(--DOTS_SIZE);
  background-position: 50% 50%;
}



@media screen and (max-width: 499px) {
  
  .site-header-dummy-mb{
    display: none!important;
  }
  
  .topimage-bs{
    position: relative;
    height: calc(100vh - 56px)!important;
    overflow: hidden;
  }
  
  .top-vimeo {
    position: absolute;
    width: 100%;
    height: auto;
    padding: 177.78% 0 0 0;
    top: 0;
    left: 0;
    /*
    transform: translate(-50% ,-50%);
    -webkit-transform: translate(-50% ,-50%);
    -ms-transform: translate(-50% ,-50%);
    */
  }
  .top-vimeo iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position:center center;
    
    transform: translate(-50% ,-50%);
    -webkit-transform: translate(-50% ,-50%);
    -ms-transform: translate(-50% ,-50%);

  }
  
  .machinami-base{
    margin-top: -33px!important;
  }

}
@media screen and (min-width: 500px) {
  .top-vimeo {
    position: relative;
    height: 0;
    padding: 0 0 56.25%;
    overflow: hidden;
  }

  .top-vimeo iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position:center center;

    transform: translate(-50% ,-50%);
    -webkit-transform: translate(-50% ,-50%);
    -ms-transform: translate(-50% ,-50%);

  }
}

/* ムービーにフィルター */
.top-vimeo::after{
  /*
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-image:url("../img/filter/pattern-04.png");
  opacity: 0.5;
  */
}


.top-imagetext{
  position: absolute;
  display: block;
  z-index: 10;
  color: #ffffff;
  text-shadow: 0 0 10px #000000;
  top:50%;
  left: 50%;
  transform: translate(-50% ,-50%);
  -webkit-transform: translate(-50% ,-50%);
  -ms-transform: translate(-50% ,-50%);
  text-align: center;
  width: 100%;
}
.top-imagetext p.top-imagetext-eng{
  color: #ffffff;
  font-size: 0.9em;
  margin-bottom: 1em;
}


.top-imagetext p.top-imagetext-title{
  color: #ffffff;
  font-size: 1.2em;

  margin: 0.2em 0 0.5em 0;
}
.top-imagetext p.top-imagetext-logo{
  color: #ffffff;
  margin: 0.2em 0 0.5em 0;
  /*
  font-family: 'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: normal;
  */
  font-size: 1.4em;
}


@media screen and (min-width: 500px) {
  .top-imagetext p.top-imagetext-eng{
    font-size: 1em;
  }
  .top-imagetext p.top-imagetext-title{
    font-size: 1.5em;
  }
  .top-imagetext p.top-imagetext-logo{
    font-size: 1.7em;
  }
}

@media screen and (min-width: 992px){
  
  .top-imagetext p.top-imagetext-eng{
    font-size: 1.5em;
  }
  .top-imagetext p.top-imagetext-title{
    font-size: 2em;
  }
  .top-imagetext p.top-imagetext-logo{
    font-size: 2.2em;
  }

  
}
  
@media screen and (min-width: 1280px) {
  
  .top-imagetext p.top-imagetext-eng{
    font-size: 2em;
  }
  .top-imagetext p.top-imagetext-title{
    font-size: 3em;
  }
  .top-imagetext p.top-imagetext-logo{
    font-size: 2.8em;
  }
}

.topimage{
  position: relative!important;
  
}

/*
.topimage::after{
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  width: 100%;
  height: 50%;
  background-image:url( "img/topimage-foot1a.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
}
@media screen and (min-width: 1280px) {
  .topimage::after{
    content: '';
    background-image:url( "img/topimage-foot1b.png");
  }
}
*/

/* 電光掲示板アニメーション */
.denkouban{
  position: absolute;
  top:0;
  left: 0;
  width:100%;
}

.denkouban2{

  width:100%;
  z-index: 10;
}

.led_display {
  height: 38px;
  line-height: 38px;
  background-color: #333;
  color: #ed8331;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
}
.led_foreground {
  background:url("img/led_2x2.png");
  position:absolute;
  top:0px;
  left:0px;
  width:100%;
  height: 100%;
  pointer-events: none;
}

/* スクロール部分 */
.marquee {
  display: flex;
  overflow: hidden;
}

.marquee__inner {
  display: flex;
  animation: marquee 100s linear infinite; /* 無限ループ */
}

.marquee__inner span {
  padding-right: 3rem; /* テキスト間の余白 */
}

/* 横方向に切れ目なしでループ */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); } /* 半分動かす＝2セットで無限ループ */
}

@media screen and (min-width: 1280px) {
  .led_display {
    height: 45px;
    line-height: 45px;
    font-size: 1.2em;
  }
}

.topimage-foot{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
}

.topimage-foot img{
  width: 100%;
  height: 100%;
}

/* 道路センターライン画像：上 */
.load-line-top{
  margin-top: 0;
  padding-top: 100px;
  position: relative;
}
.load-line-top::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50px;
  background-image:url( "img/topimage-foot2a.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
}

/* 道路センターライン画像：下 */
.load-line-bottom{
  margin-top: 0;
  padding-bottom: 100px;
  position: relative;
}
.load-line-bottom::before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 50px;
  background-image:url( "img/topimage-foot2a.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  z-index: 1;
}

@media screen and (min-width: 1280px) {
  .load-line-top::before,
  .load-line-bottom::before{
    content: '';
    background-image:url( "img/topimage-foot2b.png");
  }
}


.text-animation span {
  opacity: 0;
}




/* コンテントページ
----------------------------------------------- */

body:not(.home) .wrapper{
  padding-bottom: 30px!important;
}


body:not(.home) .site-width-box{
  max-width: 1280px!important;
}

@media screen and (max-width: 1320px) {
  body:not(.home) .site-width-box{
    padding: 0 20px;
    box-sizing: border-box;
  }
}


/* コンテンツタイトル */


.contents-title-box .entry-header-contents h1::after{
  content: 'Hirotsu';
  display: block;
  font-size: 1em;
  color: #999999;
  font-family: 'Raleway', sans-serif;
}

.page-id-64 .contents-title-box .entry-header-contents h1::after,
.parent-pageid-64 .contents-title-box .entry-header-contents h1::after,
.roadinfo .contents-title-box .entry-header-contents h1::after,
.single-roadinfo .contents-title-box .entry-header-contents h1::after,
.tax-roadinfo_cat .contents-title-box .entry-header-contents h1::after{
  content: 'Services';

}
.cases .contents-title-box .entry-header-contents h1::after,
.single-cases .contents-title-box .entry-header-contents h1::after,
.tax-cases_cat .contents-title-box .entry-header-contents h1::after{
  content: 'Cases';

}
.page-id-35 .contents-title-box .entry-header-contents h1::after{
  content: 'Example';
}
.parent-pageid-37 .contents-title-box .entry-header-contents h1::after{
  content: 'Company';
}
.page-id-135 .contents-title-box .entry-header-contents h1::after{
  content: 'Recruit';
}
.page-id-27 .contents-title-box .entry-header-contents h1::after,
.page-id-25 .contents-title-box .entry-header-contents h1::after,
.page-id-23 .contents-title-box .entry-header-contents h1::after{
  content: 'Contact';
}
.page-id-3 .contents-title-box .entry-header-contents h1::after{
  content: 'Privacy policy';
}
.page-id-57 .contents-title-box .entry-header-contents h1::after{
  content: 'SDGs';
}
.page-id-43 .contents-title-box .entry-header-contents h1::after{
  content: 'message';
}
.post-type-archive-faq .contents-title-box .entry-header-contents h1::after{
  content: 'Q&A';
}
.blog .contents-title-box .entry-header-contents h1::after,
.category .contents-title-box .entry-header-contents h1::after,
.single-post .contents-title-box .entry-header-contents h1::after{
  content: 'News';
}

body.page-id-53 .site-width-box{
  max-width: 100%!important;
  padding-left: 0!important;
  padding-right: 0!important;
}

.contents-title-box .entry-header-contents.coniset {
  position: absolute!important;
  display: block!important;
  width: 100%!important;
  left: 0!important;
  bottom: 0!important;
  transform:none!important;
  margin: 0!important;
}



.contents-title-box{
  padding: 2em 10% 3em 10%;
  box-sizing: border-box;
  border-bottom: solid 1px #cccccc;
}


.contents-title-box .entry-header-contents{
  position: relative;
  margin-bottom: 0!important;
  
}

.contents-title-box .entry-header-contents .description-box{
  line-height: 1.8em;
  margin-top: 0;
}


@media screen and (min-width: 1280px) {
  .contents-title-box .entry-header-contents{
    display: flex;
    gap:30px;
    justify-content: space-between; 
  }
  .contents-title-box .entry-header-contents .description-box{
    width: 43%;
  }
}

.contents-title-box .entry-header-contents h1{
  position: relative;
  display: block;
  text-align: left;
  color: #222222;
  padding: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  /*background-image: url("../img/filter/pattern-01.png");*/
  background-color: rgb(255 255 255 / 0%);
  backdrop-filter: blur(0px);
  font-family: 'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 2.5em;
  font-weight: normal;
  font-feature-settings: 'palt';
  
  animation: contentfadeup 1s ease-in forwards;
}

.description-box{
  text-align: left;
  margin: 1em 0;
  font-size: 1em;
}
@media screen and (max-width: 1279px) {
  .description-box br{
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .description-box{
    /*margin-top: 3.5em;*/
  }
}

@keyframes contentfadeup {
  from {
    background-color: rgb(255 255 255 / 0%);
    backdrop-filter: blur(0px);
  }
  to {
    backdrop-filter: blur(10px);
    background-color: rgb(255 255 255 / 40%);
  }
}
/*
.contents-title-box .entry-header-contents h1::after{
  content: '';
  position: absolute;
  display: inline-block;
  bottom: -0.5em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 0;
  height: 6px;
  background: linear-gradient(90deg, rgb(178, 49, 42), rgb(40, 73, 128));
  border-radius: 50vh;
  
  animation: contitwIn 0.8s ease-out forwards;
}
*/
@keyframes contitwIn{
  0% {
    width: 0;
  }
  100% {
    width: 80%;
  }
}

.content-image{
  position: relative;
}

/*
.content-image::after{
  content: '';
  position: absolute;
  bottom:-1px;
  left: 0;
  width: 100%;
  height: 0px;
  display: block;
  background-image: url("img/naname-base-w2.png");
  background-repeat:no-repeat;
  background-size: cover;
  background-position:left top;
}
.content-image::after{
  animation: contenttopIn 0.5s ease-out forwards;
}

.content-image::before{
  content: '';
  position: absolute;
  bottom:-1px;
  left: 0;
  width: 100%;
  height: 0px;
  display: block;
  background-image: url("img/naname-base-w2.png");
  background-repeat:no-repeat;
  background-size: cover;
  background-position:left top;
  transform: scale(-1, 1);
  opacity: 0.5;
}
.content-image::before{
  animation: contentsubIn 0.8s ease-out forwards;
}
*/

@keyframes contenttopIn{
  0% {
    height: 0px;
  }
  100% {
    height: 63%;
  }
}
@keyframes contentsubIn{
  0% {
    height: 0px;
  }
  100% {
    height: 59%;
  }
}

.breadcrumbs{
  padding-bottom: 0.5em!important;
  margin-bottom: 3em!important;
}
span.pknext{
  margin-top: 0.3em!important;
}
.breadcrumbs a.home::before{
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 0.2em 0 0;
  vertical-align: middle;
  background-image: url("../img/icon/mi-home.svg");
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 0.7;
  
}

@media screen and (max-width:768px) {
  .breadcrumbs{
    display:flex;
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
  }
  .breadcrumbs::-webkit-scrollbar {
    display: none;
  }
}


.wpcf7-form-control-wrap textarea,
.wpcf7-form-control-wrap select,
.wpcf7-form-control-wrap input{
  border-radius: 5px!important;
  border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133))!important;
  outline: none!important;
  border: solid 1px #ccc!important;
}

.contact-fm dt{
  font-weight: bold!important;
}

@media screen and (min-width: 1280px) {
  .widget-footwj .is-style-fullbox1{
    padding-left: 0;
    padding-right: 0;
  }
}



/* フッター
----------------------------------------------- */


.footwj-area{
  position: relative;
  z-index: 2;
}

.footer-block-dummy-ded,
.footer-block-padding{
  height: 0!important;
}

/* フッター全体枠 */
footer#colophon{
  background-color: #cecece!important;
  padding-top: 30px!important;
}
.footer-area a,
.footer-area{
  color: #313131!important;
}


/* サイトマップ */
.menu-footer-container ul li.foot-label-link>a{
  border-bottom: dotted 1px #313131;
  padding-bottom: 0.3em;
  margin-bottom: 0.5em
}
.menu-footer-container ul li.foot-label>a{
  pointer-events: none;
  border-bottom: dotted 1px #313131;
  padding-bottom: 0.3em;
  margin-bottom: 0.5em
}



.menu-footer-container ul li a{
  padding-left: 0!important;
  line-height: 2em!important;
}
.menu-footer-container ul li a::before{
  content: none!important;
}



/* フッターロゴ */
.footer-logo-area{
  text-align: center;
  margin-top: 3em;
}

.footer-logo-area p{
  font-size: 0.9em;
}
.foot-logo{
  width: 90%;
  max-width: 350px;
  margin:0 auto 1em auto;
  
}
.foot-logo img{
  width: 100%;
  height: auto;
}


.next50-icon{
  width: 90%;
  max-width: 350px;
  margin: 1em auto 0 auto;
}

@media screen and (min-width: 992px) {
  
  /* フッター全体枠 */
  footer#colophon{
    padding-top: 60px!important;
  }

  /* フッター表示枠（PC） */
  .footer-area{
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    gap:1em;
    justify-content: space-between;
  }
  
  .footer-logo-area{
    margin-top: 0;
    width: 25%;
    min-width: 300px;
  }
  
}


/* コピーライト
----------------------------------------------- */

.footer-copyright{
  background-color: #1e2c5b!important;
}

.footer-copyright span.fcopy-color a,
.footer-copyright span.fcopy-color{
  color: #ffffff!important;
}

@media screen and (max-width: 991px) {
  .footer-copyright{
    display: none!important;
  }
}

.ewd-ufaq-faq-title-text h4{
  padding-left: 2.2em;
  font-size: 1.2em;
}

.ewd-ufaq-faq-title-text h4::before{
  content: '';
  display: block;
  width: 1.9em;
  height: 1.9em;
  margin-top: -6px;
  background-image: url("img/faqicon-q.png");
  background-repeat: no-repeat;
  background-size: cover;
}

.ewd-ufaq-faq-body{
  padding-left: 2.7em;
}
.ewd-ufaq-faq-body::before{
  content: '';
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url("img/faqicon-a.png");
  background-repeat: no-repeat;
  background-size: cover;
}


/* SPボトムメニュー
----------------------------------------------- */

.bottom-nav-bar-inner{
  background-color: #1e2c5b!important;
  
}
.bottom-nav-bar-inner svg,
.bottom-nav-bar-inner span{
  color: #ffffff!important;
}

@media screen and (max-width: 991px) {
  .botton-nav-item span::before {
    content: "";
    display: block;
    margin: 0 auto 0.3em auto;
    width: 1.5em;
    height: 1.5em;
    background-image: url(img/header-icon-nyukyo.png);
    background-repeat: no-repeat;
    background-size: contain;
  }
  .botton-nav-item.bottom-nav-page-13 span::before {
    background-image: url(../img/mi-home-w.png);
  }
  .botton-nav-item.bottom-nav-page-693 span::before {
    background-image: url("../img/mi-mobile-w.png");
  }
  .botton-nav-item.bottom-nav-page-23 span::before {
    background-image: url(../img/mi-mail-w.png);
  }
  .botton-nav-item.bottom-nav-page-135 span::before {
    background-image: url("img/icon-saiyou-w.png");
  }
  .botton-nav-item.bottom-nav-page-64 span::before {
    background-image: url("../img/mi-kougu-w.png");
  }
  
  
  .menu-mbbox-container ul{
    margin-top: 1.5em;
  }
  .menu-mbbox-container ul li{
    border: 0;
    margin-bottom: 5px;
  }
  .menu-mbbox-container ul li a{
    background-color: #e71f18;
    color: #ffffff!important;
    position: relative;
    border-radius: 3px;
  }
  .menu-mbbox-container ul li a::after{
    content: '';
    position: absolute;
    top:calc(50% - 5px);
    right: 10px;
    width: 10px;
    height: 10px;
    background-image: url("img/mblist-icon5.png");
    background-repeat: no-repeat;
    background-size: cover;
    
    
  }
  .menu-mbbox-container ul li.mbbox-corp a{
    background-color: #1e2c5b;
  }
}

/* 404エラー
----------------------------------------------- */

.error404 .wp-block-image{
  margin: 0 auto;
}

.error404 .entry-content,
.error404 .wp-block-buttons,
.error404 .entry-header{
  text-align: center;
}

/* recaptcha
----------------------------------------------- */

/* センター寄せ */
.wpcf7-recaptcha>div{
  margin-top: 20px!important;
  margin-right:auto!important;
  margin-left:auto!important;
  text-align: center!important;
}
.contact-recapcha span.wpcf7-not-valid-tip{
  display: block;
  text-align: center;
}
