html{
  padding:0;
  margin:0;
}

html *{
  box-sizing: border-box;
}

/*  Typo
----------------------------------------------- */

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

p {
  padding:0;
  margin:0;
}

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

/* body
----------------------------------------------- */

body {
  padding:0;
  margin:0;
  background:#FFFFFF;
}

/* header
----------------------------------------------- */
header{
  padding:0;
  margin:0;
  background:#1E1E1E;
}

header .inner{
  height:62px;
   max-width:1240px;
   display:flex;
  justify-content: space-between;
  align-items: center;   
}

header #logo{
   width:403px;
}

header #logo img{
   width:100%;
   height:auto;
}

header #logo2{
   display:none;
}

header #menubtn{
   width:40px;
   display:none;
}

header #menubtn img{
   width:100%;
   height:auto;
}

@media(max-width:780px){
header #logo{
   width:48px;
}

header #logo1{
   display:none;
}

header #logo2{
   display:block;
}

header #menubtn{
   display:block;
}

}

/* google Search
----------------------------------------------- */
header #___gcse_0{
   width:calc(100% - 88px);
}
header .gsc-control-cse,header  .gsc-control-cse-ja{
   max-width:393px;
   background:none;
   margin:0 0 0 auto;
   border:none;
}

header .gsc-search-button-v2,
header .gsc-search-button-v2:hover,
header .gsc-search-button-v2:focus{
    background:#FFF;
    border-radius: 8px;
    padding: 6px 17px;
    margin-left:10px;
}

.gsc-input-box{
   border-radius:4px;
}

header .gsc-search-button-v2 svg{
    fill:#1E1E1E;
}

header .gsib_a{
    padding:0;
    width:320px;
}

header input.gsc-input{
   background-position-y: 100px !important;
}

/* nav
----------------------------------------------- */
input#menu{
    display:none;
}

nav{
  padding:0;
  margin:0;
  background:#2A2A2A;
}

nav .inner{
   max-width:1130px;
}

nav ul{
   list-style:none;
  padding:0;
  margin:0;
  transition-duration: .5s;
}

nav ul li{
  position:relative;
  padding:0;
  margin:0;
  flex:auto;
  transition-duration: .5s;
  z-index:1000;
}

nav ul li a{
  display:flex;
  padding:0;
  margin:0;
  height:54px;
  justify-content: center;
  align-items: center;
  color:#FFF;
  transition-duration: .5s;
  font-weight:600;
}

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

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

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

nav ul.cc-nav-level-0 > li > a{
   position:relative;
}

nav ul.cc-nav-level-0 > li > a:after{
   content:"";
   position:absolute;
   bottom:0;
   left:0;
   width:100%;
   height:5px;
   disiplay:block;
   background:#BB1D0000;
}

nav ul.cc-nav-level-0 > li.j-nav-parent > a,
nav ul.cc-nav-level-0 > li.j-nav-current > a,
nav ul.cc-nav-level-0 > li:hover > a{
   background:#383838;
}

nav ul.cc-nav-level-0 > li.j-nav-parent > a:after,
nav ul.cc-nav-level-0 > li.j-nav-current > a:after,
nav ul.cc-nav-level-0 > li:hover > a:after{
   background:#BB1D00;
}

nav ul.cc-nav-level-1{
    position: absolute;
    top: 100%;
    left: 0;
    background:#3A3A3A;
    width:max-content;
}

nav ul.cc-nav-level-1 li{
}

nav ul.cc-nav-level-1 li a{
    display: flex;
    align-items:center;
    justify-content: left;
    padding:0 24px;
    border-bottom:0px solid #4A4A4A;
    height:0;
    overflow:hidden;
}

nav ul.cc-nav-level-0 > li:hover ul.cc-nav-level-1 > li > a{
    height:54px;
    border-bottom:1px solid #4A4A4A;
}

nav ul.cc-nav-level-1 li:hover a{
    background:#2A2A2A;
}

nav ul.cc-nav-level-2{
    position: absolute;
    top:0;
    left:100%;
    background:#2A2A2A;
    width:max-content;
}

nav ul.cc-nav-level-2 li a{
    display: flex;
    align-items:center;
    justify-content: left;
    padding:0 0;
    border-bottom:1px solid #4A4A4A;
    height:54px;
    width:0;
    overflow:hidden;
}

nav ul.cc-nav-level-1 > li:hover ul.cc-nav-level-2 a{
    width:max-content;
    padding:0 24px;
}

nav ul.cc-nav-level-2 li a:hover{
    background:#181818;
}
}

/* ##################### 780以下 #########################*/
@media(max-width:780px){

  nav{
     position:relative;
  }

  nav div.j-nav-variant-nested{
     position:absolute;
     top:0;
     left:0;
     width:100%;
     z-index:10000;
     background:#383838;
  }

  nav ul li a{
    justify-content:left;
    padding:0 24px;
    border-bottom:0px solid #4A4A4A;
    border-left:8px solid #2A2A2A;
    overflow:hidden;
    height:0;
  }

  nav .jmd-nav__toggle-button:before{
     content:"＋";
     display:flex;
     width:40px;
     height: 0;
     justify-content: center;
     align-items:center;
     position:absolute;
     top:0;
     right:24px;
     color:#FFF;
     font-weight:600;
     overflow:hidden;
  }

  nav .jmd-nav__item--last-opened > .jmd-nav__toggle-button:before{
     content:"－";
  }


  nav input#menu:checked + div ul.cc-nav-level-0 > li > a{
     height:54px;
     border-bottom-width:1px;
  }

  nav input#menu:checked + div ul.cc-nav-level-0 > li > .jmd-nav__toggle-button:before{
     height:40px;
     top:7px;
  }

  nav ul.cc-nav-level-1{
      background:#2A2A2A;
   }

  nav ul.cc-nav-level-0 > li.jmd-nav__item--last-opened > a{
    border-left-color:#BB1D00;
   }

  nav ul.cc-nav-level-1 > li > a{
    height:0;
    border-left-color:#00BB00;
   }

  nav ul.cc-nav-level-1 > li.jmd-nav__item--last-opened > a{
    border-left-color:#006800;
    border-bottom-width:1px;
   }

  nav ul.cc-nav-level-2{
      background:#181818;
   }

  nav ul.cc-nav-level-2 > li > a{
    height:0;
    border-left-color:#006800;
   }

  nav li.jmd-nav__item--last-opened > ul > li > .jmd-nav__toggle-button:before{
     height:40px;
     top:7px;
  }

  nav li.jmd-nav__item--last-opened > ul > li > a{
    height:54px;
    border-bottom-width:1px;
  }

  nav li a.cc-nav-current{
     color:#FFF !important;
     text-shadow:1px 1px 5px #080a,-1px 1px 5px #080a,1px -1px 5px #080a,-1px -1px 5px #080a;
  }

}
/* hero
----------------------------------------------- */
/*
#hero{
  padding:0;
  margin:0;
  height:calc(100vh - 116px)
}

#hero .inner{
   max-width:1240px;
}
*/

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

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

#breadcrumb .inner *{
  display:inline !important;
}

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

#breadcrumb ol li{
   list-style:none;
   padding:0;
   margin:0;
  display:inline;
}

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

.cc-page-index #breadcrumb a{
   font-suze:14px;
   color:#4a4a4a;
   text-decoration:none;
}


/* main
----------------------------------------------- */
main{
  padding:0 0 80px;
  margin:0;
  min-height:500px;
}

main .inner{
   max-width:1240px;
   display:flex;
   gap:32px;
}


main .inner #sidebar{
   width:280px;
   padding:0;
   margin:0;
}

main #content_area{
   width:calc(100% - 280px - 32px);
}

main #content_area h2{
    padding:16px 24px;
    font-size:24px;
    background:#F4F4F4;
    display:flex;
    align-items:center;
    border-radius:8px;
}

main #content_area h2:before{
   content:"";
   background:#BB1D00;
   display:inline-block;
   width:7px;
   height:26px;
   margin-right:10px;
}

/* ################ コンテンツページ main ################ */
@media(max-width:980px){

  main .inner{
     display:block;
 }

  main .inner #sidebar{
     width:100%;
     padding:0;
     margin:0;
  }

  main #content_area{
     width:100%;
  }

}

main #content_area h3{
   padding:10px 0;
   border-bottom:1px solid #1E1E1E;
   font-size:
}


#sidebar ul{
   list-style:none;
   width:100%;
   padding:0;
   margin:0;
}

#sidebar ul li{
   position:relative;
}

#sidebar ul li a{
  display:flex;
  align-items:center;
  padding:0 24px;
  margin:0;
  height:0;
  overflow:hidden;
}

#sidebar ul.cc-nav-level-0 > li.j-nav-parent > ul > li,
#sidebar ul.cc-nav-level-0 > li.j-nav-current > ul > li{
  margin-bottom:8px;
  border:2px solid #8D8D8D;
  border-radius:8px;
  background:#F4F4F4;
  overflow: hidden;
}

#sidebar ul.cc-nav-level-0 > li.j-nav-parent > ul > li:hover,
#sidebar ul.cc-nav-level-0 > li.j-nav-current > ul > li:hover{
  border-color:#BB1D00;
  background:#FFF;
}

#sidebar ul.cc-nav-level-0 > li > ul > li:hover .jmd-nav__toggle-button:before,
#sidebar ul.cc-nav-level-0 > li.j-nav-parent > ul > li > a:hover,
#sidebar ul.cc-nav-level-0 > li.j-nav-current > ul > li > a:hover{
  color:#BB1D00 !important;
}

#sidebar ul li.j-nav-parent > ul > li > a,
#sidebar ul li.j-nav-current > ul > li > a{
  height:54px;
  font-weight:500;
}

#sidebar ul li.j-nav-parent > ul > li > .jmd-nav__toggle-button:before,
#sidebar ul li.j-nav-current > ul > li > .jmd-nav__toggle-button:before{
   position:absolute;
   display:flex;
   align-items:center;
   justify-content: center;
   width:16px;
   height:16px;
   line-height:1.0;
   top:19px;
   right:24px;
   content:"＋";
   cursor:pointer;
   font-weight:bold;
}

#sidebar ul li > ul > li.jmd-nav__item--last-opened .jmd-nav__toggle-button:before{
  content:"－" !important;
}

#sidebar ul.cc-nav-level-1 li.cc-nav-current > a{
  color:#BB1D00;
}

#sidebar ul.cc-nav-level-1 li.cc-nav-current .jmd-nav__toggle-button,
#sidebar ul.cc-nav-level-1 li.cc-nav-parent .jmd-nav__toggle-button{
   display:none;
}

#sidebar ul.cc-nav-level-1 > li.cc-nav-current > ul.cc-nav-level-2 li a,
#sidebar ul li .jmd-nav__item--last-opened ul a,
#sidebar ul li.j-nav-parent > ul.cc-nav-level-2 li a{
  height:54px;
  background:#FFF;
  border-top:2px solid #8D8D8D;
}

#sidebar ul.cc-nav-level-2 > li > a:hover{
  color:#BB1D00;
}

/* footer
----------------------------------------------- */
footer{
  padding:60px 0;
  margin:0;
  height:283px;
  background-image:url(https://u.jimcdn.com/cms/o/saedceb5af74caefd/userlayout/img/aside.png?t=1758510313);
}

footer .inner{
   max-width:1240px;
}