*{box-sizing:border-box;}

head,body{
   padding:0;
   margin:0;
}

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

body dl, body ol, body ul{
    margin-top: 0;
    margin-bottom: 0;
}

header{
    width:100%;
    padding:30px 0 20px;
    background:#FFF;
    height:150px;
}

#headline h1,main h2,main h3{
/*    font-family: "RocknRoll One",sans-serif,"google"; */
    font-family: 'RocknRoll One' !important;
    letter-spacing: 0.2em;
    font-weight:normal;
}
table{
    border-collapse:  collapse;
}

table td,table th{
   border: 1px solid #b4ada9;
   font-size:16px;
   padding:0.5em 1em;
}

/* 
----------------- header -------------------------*/
header{
    width:100%;
    padding:30px 0 20px;
    background:#FFF;
    height:150px;
}

.cc-pagemode-default header{
    position:fixed;
    top:0;
    left:0;
    z-index:1000000;
}


header .inner{
    display:flex;
}

header #logo{
   display:inline-block;
   width:100%;
   max-width:300px;
}

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

header #navigateBar{
   display:flex;
   justify-content: flex-end;
   width:calc(100% - 310px);
   gap: 20px;
    align-items: end;
}

header #navigateBar img{
    height:auto;
    max-height:50px;
    width:auto;
}

header #hMenu{
    display:none;
}

/* ############### 880以下 ############### */

@media(max-width:880px){

header{
    padding:20px 0;
    background:#FFF;
    height:90px;
}
header .inner{
    justify-content: space-between;
}

header #hMenu{
    display:block;
}

header #logo img{
    height:100%;
    max-height:50px;
    width:auto;
}

header #navigateBar {
   display:none;
    justify-content: space-between;
    gap:0;
    align-items:center;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
}

}

/* 
----------------- nav -------------------------*/
#menu-cb{
    display:none;
}
nav{
    background:#FFF;
    border-top: 8px solid #de5a24;
    height:68px;
    box-shadow:0 2px 5px #0005;
    width:100%;
}

.cc-pagemode-default nav{
    position:fixed;
    top:150px;
    left:0;
    z-index:100000;
}

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

nav ul li{
    position: relative;
    flex:auto;
}

nav ul li a:link, 
nav ul li a:visited{
    display:block;
    text-decoration:none;
    line-height:1.0;
    padding:21px 0;
    text-align:center;
    font-size:17px;
    color: #5F5B58;
    letter-spacing: 0.2em;
    height:60px;
    white-space:nowrap;
    position:relative;
}

/* ############### 881以上 ############### */

@media(min-width:881px){
nav ul.cc-nav-level-0{
    display:flex;
    justify-content: space-between;
}

nav ul.cc-nav-level-0 > li > a:before{
    display:block;
    content:"";
    width:2px;
    height:36px;
    background:#b9b9b9;
    position:absolute;
    top:12px;
    left:-1px;
}

nav ul.cc-nav-level-0 > li:last-child:after{
    display:block;
    content:"";
    width:2px;
    height:36px;
    background:#b9b9b9;
    position:absolute;
    top:12px;
    right:-1px;
}

nav ul li:hover{
    background:#E89D3B33;
}

nav ul li.j-nav-parent{
    background:#E89D3B33;
}

nav ul li.j-nav-current{
    background:#E89D3B;
}


   nav ul.cc-nav-level-1{
      position:absolute;
      top:100%;
      left:0;
      min-width:100%;
      background:#FFF;
   }

   nav ul.cc-nav-level-2{
      display:none;
   }

   nav ul.cc-nav-level-1 li a{
      display:block;
      text-align:left;
      padding: 0 1em;
      line-height:60px;
      height:0;
      overflow:hidden;
      transition-duration: .5s;
      opacity:0;
   }

   nav ul.cc-nav-level-0 li:hover ul.cc-nav-level-1{
       box-shadow:3px 3px 10px #0006;
   }

   nav ul.cc-nav-level-0 li:hover ul.cc-nav-level-1 li a{
      height:60px;
      opacity:1;
      border-top:1px solid #EF943066;
   }


}


/* ############### 880以下 ############### */

@media(max-width:880px){
.cc-pagemode-default nav{
    top:90px;
    left:-100%;
    height:calc(100vh - 90px);
    max-width:calc(100% - 50px);
    transition-duration: 0.5s;
    opacity:0;
}

nav ul li:hover{
    background:none;
}

input#menu-cb:checked ~ nav{
    opacity:1;
    left:0;
}

nav .inner{
    padding:0;
}

nav ul{
    list-style:none;
    display:block;
    padding:0;
    margin:0;
}

nav ul.cc-nav-level-0 > li{
    border-bottom:1px solid #DE5A24;
}

nav ul.cc-nav-level-1 > li{
    border-top:1px solid #E4801E;
}

nav ul li a:link, nav ul li a:visited{
    padding:14px 20px 14px 30px;
    text-align:left;
    position:relative;
    height:auto;
    font-size:16px;
}

nav ul.cc-nav-level-2 li a:link, nav ul.cc-nav-level-2 li a:visited{
    padding:17px 10px 0 40px;
    font-size:14px;
    height: 46px;
    background:#fcece6;
}

nav ul li a:before{
   display:none;
}

nav ul.cc-nav-level-0 > li > a:after{
position: absolute;
    left: 5px;
    top: 4px;
    content: "▲";
    display: inline-block;
    background: #DE5A24;
    width: 20px;
    height: 40px;
    transform: rotate(90deg);
    padding-top:7px;
    border-radius: 50%;
    color: #FFF;
    box-sizing: border-box;
    transform: scale(0.5,1) rotate(90deg);
    font-size: 20px;
    line-height: 1.0;

}

.jmd-nav__toggle-button{
    display:block;
    position:absolute;
    top:2px;
    right:5px;
    width:40px;
    height:40px;
    line-height:0.75;
    text-align:center;
    background:#FFF;
    cursor:pointer;
}

.jmd-nav__toggle-button:before{
    content:"＋";
    font-size:40px;
    font-weight:bold;
    color:#DE5A24;
}

nav ul.cc-nav-level-0 > li > .jmd-nav__toggle-button{
    background: #DE5A24;
}

nav ul.cc-nav-level-0 > li > .jmd-nav__toggle-button:before{
    color: #FFF;
}

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

ul li.jmd-nav__item--last-opened > ul{
   display:block;
}

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

nav ul li.j-nav-current > a:link, nav ul li.j-nav-current > a:visited{
    background:#DE5A24;
    color:#FFF;
    font-weight:bold;
}

}

/* 
----------------- breadline -------------------------*/
.cc-pagemode-default #headline{
    padding-top:215px;
}

#headline .inner{
    padding:100px 20px;
}

#headline h1{
    position:relative;
   line-height:1.0;
   font-size: 36px;
   padding-left:40px;
   text-shadow:0 0 2px #FFF,0 0 5px #FFF,0 0 10px #FFF;
}

#headline h1:before{
    content:"";
    display:block;
    position:absolute;
    top:0px;
    left:0;
    width:15px;
    height:34px;
    background:#e69b3b;
}


.cc-page-index #headline .inner{
    padding:0 20px;
}

/* ############### 880以下 ############### */

@media(max-width:880px){

.cc-pagemode-default #headline{
    padding-top:90px;
}

}

/* 
----------------- breadcrumb -------------------------*/
#breadcrumb{
    display:none;
    background:#FFF;
}

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

/* 
----------------- main -------------------------*/
.cc-pagemode-default.cc-page-index main .inner{
    max-width:100%;
    padding-left:0;
    padding-right:0;
}


main{
    padding:0 0 50px;
    background:#FFF;
    min-height:400px;
}


main h2{
   font-size: 28px;
   background:url(https://u.jimcdn.com/cms/o/sce45373031788177/userlayout/img/h2.png?t=1678868020) no-repeat;
   padding-left:1em;
   padding-right:1em;
}

main h3{
   background:url(https://u.jimcdn.com/cms/o/sce45373031788177/userlayout/img/h3.png?t=1678868026) no-repeat;
   font-size: 20px;
   padding-left:1em;
   padding-right:1em;
}


/* 
----------------- sidebar -------------------------*/
#sidebar{
     padding:20px 0;
    background:#FFF;
    border-top:solid 8px #de5a24;
}

/* 
----------------- スマホ用 footerNav -------------------------*/
.cc-pagemode-default #sidebar ul#spNavi{
    width:100%;
    max-width:604px;
    list-style:none;
    padding:0;
    margin:0 auto;
    display:flex;
    justify-content: space-between;
    flex:auto;
    background:#FFF;
    z-index:10000;
    box-shadow:3px 3px 7px #0005;
}

.cc-pagemode-default #sidebar ul#spNavi li{
    padding:0;
    right:0;
}


.cc-pagemode-default #sidebar ul#spNavi li a{
     display:block;
     width:100%;
}

.cc-pagemode-default #sidebar ul#spNavi li a img{
    width:100%;
    height:auto;
}

.cc-pagemode-default #cc-m-9968502369{
    display:none;
    position:fixed;
    bottom:0;
    left:0;
    width:100%;
}

/* ########### 880以下 ###############*/
@media(max-width:880px){
.cc-pagemode-default #cc-m-9968502369{
        display:block;
    }
}


/* 
----------------- footer -------------------------*/
footer{
    background:#2f201b;
    padding:20px 0;
}

footer *,footer a{
    color:#FFF;
}

footer div#contentfooter div.leftrow{
   font-size:14px;
    text-align:center;
    float:none;
    width:100%;
    line-height:1.75;
}


/* 
----------------- button -------------------------*/
.j-calltoaction-wrapper .j-calltoaction-link-style-1 {
    padding: 14px 27px;
    font-size: 18px;
}
.j-calltoaction-wrapper .j-calltoaction-link {
    line-height: 1.4;
    color: #333 !important;
    background: #FFF;
    border: 1px solid #DE5A24;
    border-radius: 8px;
    font-weight: bold;
    transition-duration: 0.5s;
}