*{box-sizing:border-box}

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

/* header
----------------------------------------------*/
header{
    padding:20px 0;
    margin:0;
}

header .inner{
    position:relative;
    display:flex;
    justify-content:space-between;
}

header .inner #logo{
   width:100%;
   max-width:250px;
}

header .inner #telno{
   width:100%;
   max-width:201px;
}

header .inner div img{
   width:100%;
}

header .inner #menu-button{
   display:none;
}

/* ################ 880以下 ################## */
@media(max-width:880px){
header{
   padding:10px 0;
}

header .inner #logo{
   width:100%;
   max-width:200px;
}

header .inner #telno{
   padding-top:5px;
   width:100%;
   max-width:120px;
   margin-right:60px;
}

header .inner #menu-button{
   display:block;
   position:absolute;
   top:-10px;
   right:10px;
   width:50px;
   height:45px;
   background:#005092;
   box-sizing:border-box;
   border-radius:0 0 7px 7px;
   padding-top:5px;
   padding-left:5px;
}

header .inner #menu-button label{
   width:40px;
   height:40px;
   padding:0;
   margin:0;
   display:flex;
   justify-content: center;
   flex-direction: column;
   align-items:center;
   color:#FFF;
   gap:5px;
   toggle-root:open;
}

header .inner #menu-button label span{
   width:30px;
   display:block;
   background:#FFF;
   height:5px;
}

header .inner #menu-button label:toggle(open) span{
   width:20px;     
}


}

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

  header .inner #telno{
     display:none;
  }

}

/* nav
----------------------------------------------*/
nav{
    padding:0 20px;
    margin:0;
    border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
}

nav input#menu{
   display:none;
}

nav ul{
   list-style:none;
   padding:0;
   margin:0;
   border-left:1px solid #CCC;
}

nav ul li{
   padding:0;
   margin:0;
   border-right:1px solid #CCC;
}

nav ul li a:link,
nav ul li a:visited{
   text-decoration:none;
   color:#005092;
   display:block;
   font-size:16px;
   font-weight:bold;
}

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

nav ul.cc-nav-level-0{
    display:flex;
    justify-content: space-around;
    z-index:1000000;
}

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

nav ul.cc-nav-level-0 > li:after{
   content:"";
   position:absolute;
   bottom:0;
   left:1px;
   display:block;
   width:calc(100% - 2px);
   height:5px;
   background:#005092;
}

nav ul.cc-nav-level-0 > li > a{
   text-align:center;
   height:60px;
   line-height:60px;
}

nav ul.cc-nav-level-0 > li:hover > a{
   color:#005092;
}

nav ul.cc-nav-level-0 > li:hover:after{
   background:#005092;
}

nav ul.cc-nav-level-1{
    position:absolute;
    top:100%;
    left:0;
    width:max-content;
    min-width:100%;
    background:#FFF;
    z-index:1000000;
    box-shadow:3px 3px 10px #0006;
}


nav ul.cc-nav-level-1 > li > a{
    padding:0 20px;
    height:40px;
    line-height:40px;
    color:#005092;
}


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

nav ul.cc-nav-level-0 > li:hover > ul{
    display:block;
}


}

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

nav{
   background:#005092;
   width:100%;
   z-index:1000;
   border-bottom:3px solid #005092;
}

nav .inner{
   padding:0;
}

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

nav input#menu:checked + div ul.cc-nav-level-0{
   display:block;
}

nav ul{
   border:none;
}

nav ul li{
   border:none;
   position:relative;
   padding:0;
}

nav ul li .jmd-nav__toggle-button{
   position:absolute;
   top:0;
   right:0;
   display:flex;
   width:40px;
   height:40px;
   justfy-content:center;
   align-items:center;
   cursor:pointer;
}

nav ul li .jmd-nav__toggle-button:before{
   content:"＋";
   display:block;
   width:30px;
   height:30px; 
   font-size:26px;
   font-weight:bold;
   color:#FFF;
}

nav ul li a:link,
nav ul li a:visited{
   color:#FFF;
   height:40px;
   display:flex;
   align-items:center;
   padding:0 20px;
}

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

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



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

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


}

/* #eyecatch
----------------------------------------------*/
#eyecatch{
    padding:0;
    margin:0;
    background:#005092;
}

#eyecatch .inner{
   padding:100px 0;
   text-align:center;
}

#eyecatch .inner h1{
   color:#FFF;
}

/* main 
----------------------------------------------*/
main{
   padding:50px 0;
}

main h2:after{
content:""
display:inline-block;
transform: skew(-10deg);
}


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

#breadcrumb .inner{
   padding:0;
   display:flex;
}

#breadcrumb .inner *{
   padding:0;
   margin:0;
   list-style:none;
   font-size:14px;
}

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

/* sidebar
----------------------------------------------*/
#sidebar{
    padding:20px 0;
    margin:0;
    background:#005092;
}

#sidebar *,
#sidebar a:link,
#sidebar a:visited{
   color:#FFF;
}

#sidebar #fnav .cc-nav-level-0{
    display:flex;
    justify-content:space-between;
    font-weight:bold;
    list-style:none;
}

#sidebar #fnav .cc-nav-level-0 a:link,
#sidebar #fnav .cc-nav-level-0 a:visited{
   font-size:14px;
   color:#FFF;
   text-decoration:none;
}

#sidebar #fnav .cc-nav-level-0 ul{
   padding:0;
   margin:0;
   font-weight:normal;
    list-style:none;
}



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

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