@charset "utf-8";


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

INDEX

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

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


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

.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-tel-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: #284980;
}


@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: #b2312a;
  border:solid 2px #b2312a;
}
.menu-shiori-container ul li.shiori-saiyou a:hover{
  background-color: #ffffff;
  color: #b2312a!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: #284980;
  border:solid 2px #284980;
}
.menu-shiori-container ul li.shiori-entry a:hover{
  background-color: #ffffff;
  color: #284980!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: #b2312a;
  border: solid 2px #b2312a;
  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: #b2312a!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-entry-btm a{
  background-color: #284980;
  border: solid 2px #284980;
  box-sizing: border-box!important;
}
.menu-header-container ul li.header-entry-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-entry-btm a:hover{
  background-color: #ffffff!important;
  color: #284980!important;
}
.menu-header-container ul li.header-entry-btm a:hover::before{
  background-image: url("img/icon-entry-k.png");
}


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

  .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;
  }
  
  /*
  .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:2em 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-i00 a::before{
    background-image: url("img/mega/megasub-i00.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: 5.5em;
    height: 100%;
  }
}
  
  



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

.top-imagetext{
  position: absolute;
  z-index: 10;
  right: 6%;
  bottom: 20%;
  color: #ffffff;
  text-shadow: 0 0 5px #777777;
  font-size: 2em;
}
.top-imagetext h1{
  color: #ffffff;
  text-shadow: 0 0 5px #777777;
  font-size: 0.7em;
  max-width: 250px;
}
.top-imagetext h1 span{
  display: block;
  font-size: 0.7em;
  margin-top: 0.5em;
}

.top-imagetext-eng{
  font-size: 0.5em
}
.top-imagetext-jp{
  font-size: 0.8em
}
@media screen and (min-width: 330px) {
  .top-imagetext-eng{
    font-size: 0.6em
  }
  .top-imagetext-jp{
    font-size: 0.9em
  }
  
}
@media screen and (min-width: 601px) and (max-width: 781px) {
  .top-imagetext{
    right: 10%;
    bottom: 33%;
  }
}
@media screen and (min-width: 782px) {
  
  
  .top-imagetext h1{
    font-size: 0.8em;
    max-width: 300px;
  }
  
  .top-imagetext h1 span{
    font-size: 0.8em;
  }
  
  .top-imagetext{
    right: 10%;
    bottom: 33%;
  }
  
  .top-imagetext-eng{
    font-size: 0.8em
  }
  .top-imagetext-jp{
    font-size: 1.2em
  }
  
}
@media screen and (min-width: 992px) {
  
  .top-imagetext{
    right: 10%;
    bottom: 30%;
  }
  
  .top-imagetext-eng{
    font-size: 0.9em
  }
  .top-imagetext-jp{
    font-size: 1.3em
  }
  
}
@media screen and (min-width: 1280px) {
  
  .top-imagetext h1{
    font-size: 0.8em;
    max-width: 550px;
  }
  .top-imagetext h1 span{
    font-size: 0.8em;
  }
  
  .top-imagetext-eng{
    font-size: 1em
  }
  .top-imagetext-jp{
    font-size: 1.7em
  }
  
}

.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%;
}

.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) .site-width-box{
  max-width: 1280px!important;
}

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

.contents-title-box .entry-header-contents{
  position: relative;
  margin-bottom: 3em!important;
}
.contents-title-box .entry-header-contents h1{
  position: relative;
  display: inline-block;
}
.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: 2em!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;
  
}
.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;
  }
}



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

.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>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: #284980!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: #284980!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-8 span::before {
    background-image: url(../img/mi-home-w.png);
  }
  .botton-nav-item.bottom-nav-page-69 span::before {
    background-image: url("img/icon-saiyou-w.png");
  }
  .botton-nav-item.bottom-nav-page-71 span::before {
    background-image: url("img/icon-entry-w.png");
  }
  .botton-nav-item.bottom-nav-page-228 span::before {
    background-image: url(../img/mi-tel-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: #b2312a;
    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: #284980;
  }
}

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

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

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