*{
font-family: "Noto Sans JP", sans-serif;
line-height:1.7;
/* font-size:16px; */
box-sizing:border-box;
letter-spacing:0.1em;
}

body div p,body div span{
font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#footermenu ul li.line a::before{background-image:url(https://u.jimcdn.com/cms/o/s70a8299036fc92bc/userlayout/img/f-line.png?t=1782294028);}
#footermenu ul li.telno a::before{background-image:url(https://u.jimcdn.com/cms/o/s70a8299036fc92bc/userlayout/img/f-telno.png?t=1782294043);}
#footermenu ul li.map a::before{background-image:url(https://u.jimcdn.com/cms/o/s70a8299036fc92bc/userlayout/img/f-map.png?t=1782294035);}

div.hr{
    border-bottom-width: 5px !important;
}


a:link, a:visited{
    text-decoration:none;
    color:#EC4413;
}

a:active {text-decoration:none; }
a:hover {text-decoration:none; }

.inner{
   width:100%;
   max-width:1160px;
   margin:0 auto;
   padding:0 20px;
}

#cc-inner{
   position:relative;
}

/* header
---------------------------------------*/
header{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    padding:20px 0;
    margin:0;
/*    background:#000c; */
    z-index:2000;
    transition-duration: 2.0s;
    box-sizing:border-box;
}

/*
body.cc-indexpage header{
    background:linear-gradient(#0005 0,#0000 50%);
}
*/


header .inner{
   display:flex;
   justify-content: space-between;
   gap:7%;
}

header #logo{
    width:100%;
    max-width:340px;
}

header #logo img{
    width:100%;
}

#menuBtn{
    display:none;
}

#menuBtn span{
     display:none;   
}

#menuBtn label{
   display:block;
   position:relative;
   width:40px;
   height:40px;
   padding:0;
   margin:0;
   box-sizing:border-box;
}

#menuBtn label:before{
   content:"";
   position:absolute;
   top:5px;
   left:5px;
   width:30px;
   height:30px;
  background: linear-gradient(
    to bottom,
    #FFF 0%, 
    #FFF 10%, 
    #0000 10%, 
    #0000 45%, 
    #FFF 45%, 
    #FFF 55%, 
    #0000 55%, 
    #0000 90%, 
    #FFF 90%, 
    #FFF 100%
  );

}


@media(max-width:880px){

#menuBtn{
    display:block;
}

header{
    padding:20px 0;
}

header #logo{
    max-width:340px;
}

}


/* nav
---------------------------------------*/
nav{
    padding:0;
    margin:0;
    width:100%;
    max-width:750px;
}

nav #menu{
   display:none;
}

nav ul,
nav ul li{
    padding:0;
    margin:0;
    list-style:none;
}

nav ul li{
   position:relative;
   width:100%;
}

nav ul li a:link,
nav ul li a:visited{
   text-decoration:none;
   display:flex;
   align-items:center;
   font-size:16px;
   white-space:nowrap;
/*   font-weight:bold; */
   font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN,", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 'メイリオ', Meiryo,sans-serif;
   transition-duration: .3s;
}

/* ################  881以上 ##################### */
@media(min-width:881px){

nav ul li a:link,
nav ul li a:visited{
   color:#333;
}


nav ul.cc-nav-level-0{
   display:flex;
   justify-content: space-between;
}

nav ul.cc-nav-level-0 > li:after{
   position:absolute;
   bottom:7.5px;
   left:50%;
   content:"";
   height:5px;
   width:0;
   background:#FFF; 
   display:block;
  transition-duration: .3s;
   opacity:0;
   border-radius:5px;
}

nav ul.cc-nav-level-0 > li:hover:after{
   left:20%;
   width:60%;
   opacity:0.9;
}

nav ul.cc-nav-level-0 > li > a:visited,
nav ul.cc-nav-level-0 > li > a:link{
    height:50px;
    color:#FFF;
    justify-content:center;
    text-shadow:0 0 5px #0009;
}

nav ul.cc-nav-level-0 > li.j-nav-has-children > a{
   padding-right:10px;
}

nav ul.cc-nav-level-0 > li.j-nav-has-children > a:after{
  position:absolute;
  top:18px;
  right:0;
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  border-bottom:3px solid #FFF;
  border-left:3px solid #FFF;
  transform: rotate(-45deg);
  transition-duration: .3s;
}

nav ul.cc-nav-level-0 > li.j-nav-has-children:hover > a:after{
  transform: rotate(-225deg);
}


nav ul.cc-nav-level-1{
   position:absolute;
   top:100%;
   left:0px;
   width:max-content;
   min-width:100%;
   background:#FFF;
   padding:0 30px;
   border-radius:4px;
   display:flex;
   flex-flow: column;
   gap:0;
   transition-duration: .3s;
   opacity:0;
}

nav ul.cc-nav-level-1 > li > a{
   height:0;
   overflow:hidden;
}

nav ul.cc-nav-level-1 > li > a:hover{
   color:#18933B;
}

nav ul.cc-nav-level-0 > li:hover > ul.cc-nav-level-1{
   padding:20px 30px;
   gap:10px;
   box-shadow:3px 3px 10px #0003;
   opacity:1;
}

nav ul.cc-nav-level-0 > li:hover > ul.cc-nav-level-1 > li > a{
   height:auto;
}

nav ul.cc-nav-level-1,
nav ul.cc-nav-level-2{
/*    display:none; */
}

}   

/* ################  880以下 ##################### */
@media(max-width:880px){
   nav{
       position:absolute;
       top:91px;
       left:0;
       background:#062E;
       max-width:100%;
       padding:0;
       z-index:1000;
   }

nav ul li a:link,
nav ul li a:visited{
      display:flex;
      justify-content:left;
      align-items:center;
      color:#FFF;
      padding:0 40px;
      margin:0;      
      height:0;
      overflow:hidden;
   }

#menu:checked ~ div ul li a:link,
#menu:checked ~ div ul li a:visited{
      height:40px;
}

#menu:checked ~ div ul.cc-nav-level-0{
     padding-bottom:20px;
}

nav ul.cc-nav-level-1 li a{
    padding:0 calc(40px + 1em);
}


}

/* eyecatch
---------------------------------------*/
#eyecatch{
    background-image:url(https://u.jimcdn.com/cms/o/s70a8299036fc92bc/userlayout/img/concrete.jpg?t=1722230505);
    padding-top:90px;
    position:relative;
    height:350px;
}

#eyecatch .inner{
    position:absolute;
    top:0;
    left:0;
    max-width:100%;
    display:flex;
    align-items:center;
    justify-content: center;
    padding:170px 0 0;
    z-index:1000;
}

#eyecatch h1{
    color:#FFF;
    text-shadow:0 0 10px #0006;
    text-align:center;
    font-size:clamp(28px, 5vw, 55px);
}

#eyecatch h1 span{
    display:block;
    font-size:20px;
}


body.cc-indexpage #eyecatch .inner{
    height:50vh;
}

body.cc-indexpage #eyecatch #imgTitle{
    border:1px solid #FFF;
    padding:5px 20px;
    position:absolute;
    bottom:20px;
    left:20px;
    z-index:1;
    color:#FFF;
    font-size:12px;
    background:#0005;
    display:none;
}


/* breadcrumb
---------------------------------------*/
#breadcrumb{
   padding:10px;
   background:#FFF;
}

#breadcrumb .inner * {
   display:inline;
}

#breadcrumb ol{
   margin:0;
   list-style:none;
   padding:0px;
}

#breadcrumb ol li{
   display:inline;
}

#breadcrumb ol li:before{
   content:">";
   margin: 0 5px;
}

#breadcrumb ol li a{
   font-size:14px;
}

body.cc-page-index #breadcrumb{
   display:none;
}

/* main
---------------------------------------*/
main{
    padding:50px 0;
    margin:0;
    background:#FFF;
    min-height:500px;
}

main h2{
    font-size:clamp(24px, 4vw, 36px);
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
    font-weight:bold;
}

main p{
   font-size:1em;
}

/* conpanyName
---------------------------------------*/
#conpanyName{
   background:#006622;
   padding:16px 0;
   color:#FFF;
   text-align:right;
}

#conpanyName img{
   display:inline-block;
   width:100%;
   max-width:340px;
    vertical-align: top;
}

#conpanyName span{
   margin-left:40px;
   font-size:24px;
   color:#fff8;
}




/* sidebar
---------------------------------------*/
#sidebar{
    padding:40px 0;
    margin:0;
    background:#FFF;
    border-top:5px solid #006622;
}

#sidebar .inner{
    display:flex;
}

#sidebar .inner div[data-container="navigation"]{
   width:calc(100% - 400px);
}

#sidebar .inner div[data-container="sidebar"]{
   width:400px;
}

#sidebar .cc-nav-level-0{
   display:flex;
   justify-content:space-between;
   padding:0;
   margin:0;
   list-style:none;
}

#sidebar .cc-nav-level-0 li{
   position:relative;
}

#sidebar .cc-nav-level-0 > li:before{
   content:">";
   margin-right:0.5em;
}

#sidebar .cc-nav-level-0 a{
   text-decoration:none;
   color:#333;
   font-size:14px;
}

#sidebar .cc-nav-level-1{
   position:absolute;
   top:100%;
   left:0;
   width:max-content;
   list-style:none;
   padding:0;
   margin:0;
}

#sidebar .cc-nav-level-1 li:before{
   content:"・";
   margin-right:0;
}

#sidebar .cc-nav-level-1 li a{
   letter-spacing:0;
   font-size:13px;
}

@media(max-width:880px){
  #sidebar .inner{
      flex-direction: column;
      align-items: center;
  }

   #sidebar .inner div[data-container="sidebar"]{
      width:100%;
   }

   #sidebar .inner div[data-container="sidebar"] *{
      text-align:center;
      max-width:100%;
   }

  #sidebar .inner div[data-container="navigation"] {
     display:none;
  }

}


/* footer
---------------------------------------*/
footer{
    padding:0 0 20px;
    margin:0;
    background:#FFF;
}

footer .leftrow a{
   font-size:14px;
}

/* topへ戻る
--------------------------------------------*/

.cc-FloatingButtonBarContainer li a span{
   font-size:0;
}