@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

*{
   box-sizing:border-box;
   padding:0;
   margin:0;
   font-family: "Inter", sans-serif;
   font-optical-sizing: auto;
   font-style: normal;
}

:root{
   --pc_top_maxwidth:720px;
   --pc_main_maxwidth:1040px;
   --column-background:#D9D9D9;
   --default-color-red:#CA2C33;
}


html,body{
   padding:0;
   margin:0;
   width:100%;
   height:100%;
}


.inner{
   padding:0 20px;
   max-width:80%;
   margin:0 auto;
   box-sizing:border-box;
}

body.cc-pagemode-default .inner{
  padding:0;
   max-width:none;
}

h1,h2,h3{
   font-family: "Inter", sans-serif !important;
}

/* header
-----------------------------------*/
header{
   background:#FFF;
   padding:0 0 0 24px;
   position:relative;
}

header .inner{
   width:100%;
   display:flex;
   justify-content: space-between;
   align-items: center;
}

header #logo{
   padding:10px 0;
   width:100%;
   max-width:230px;
}

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

header div[data-container="navigation"]{
   position:fixed;
   left:0;
   top:0;
   background:#FFFc;
   z-index:1000;
   padding:20px;
}

/* ナビゲーションの非表示 */
body.cc-pagemode-default header div[data-container="navigation"]{
       display:none;
}


header nav{
   width:100%;
   display:flex;
   justify-content: end;
   width:100%;
}

header ul#nav{
  padding:0;
  margin:0;
  list-style:none;
  display:flex;
  justify-content:space-between;
  width:100%;
  max-width:680px;
}

header ul#nav li{
   font-weight:700;
   flex: auto;
}

header ul#nav li a{
   display:flex;
   justify-content: center;
   align-items:center;
   text-decoration:none;
   color:#231815;
   height:100px;
}

header ul#nav li a:hover{
   color:var(--default-color-red);
}


#telno{
   display:flex;
   height:100px;
   background:#d9d9d9;
   justify-content: center;
   align-items: center;
   width:220px;
   text-decoration:none;
   color:#000;
   line-height:1.3;
   font-weight:bold;
}

header #headersp ul{
   list-style:none;
   padding:0;
   margin:0;
   display:flex;
}

header #menubtn{
     position:absolute;
     top:0;
     right:0;
     currsor:pointer;
}

header #menubtn,
header #headersp{
   display:none;
}

header #menu{
   display:none;
}

/* ############ 960以下 ##############*/

@media(max-width:960px){

  header{
      padding-right:60px;
   }

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

  #telno{
      display:none;
  }

  header #menubtn,
  header #headersp{
      display:block;
   }

  header #menubtn img,
  header #headersp img{
      width:60px;
      height:60px;
  }

  header .inner nav{
       position:absolute;
       top:100%;
       left:0;
       width:100%;
       z-index:1000;
   }

  header .inner #nav{
      flex-direction: column;
      background:var(--default-color-red);
      max-width:100%;
   }

  header .inner #nav li{
  }

  header .inner #nav li a{
     height:0;
     padding:0;
     margin:0;
     color:#FFF;
     overflow:hidden;
     transition-duration: 0.5s;
     opacity:0;
  }

  header .inner #menu:checked ~ #nav li a{
     border-bottom:1px solid #860005;
     height:60px;
     opacity:1;
  }

  header .inner #nav li a:hover{
    background:#E05258;
    color:#FFF;
  }

}


/* eyecatch
-----------------------------------*/
#eyecatch{
display:none;
}

#cerclebana{
  display:none;
}


/* main
-----------------------------------*/
main{
   background:#FFF;
   min-height:100vh;
}


body:not(.cc-page-index) main h2{
    min-height:69px;
    padding:19px 12px;
    background:#CA2C32;
    border-bottom:6px solid #860005;
    color:#FFF;
}

body:not(.cc-page-index) main h3{
   border-bottom:1px solid #CA2C32;
   color: #CA2C32;
   font-size:20px;
   padding:10px 0;
}


/* footer 
-----------------------------------*/
footer{
   background:#1F1301;
   padding:0 20px;
}

footer .inner{
    width:100%;
    max-width:1040px !important;
    margin:0 auto;
}

footer #footertel a{
    display:inline-block;
    width:189px;
    height:49px;
    background-image:url(https://u.jimcdn.com/cms/o/s5bfc057d12163264/userlayout/img/footer-tel.png?t=1750301982);
    background-size:cover;
    background-repeat:no-repeat;
}

footer #footertel a span{
   display:none;
}

footer #cc-m-14867859932 ul{
   list-style:none;
   padding:0;
   margin:0;
}

footer #cc-m-14867859932 ul li{
    border-bottom:1px solid #FFF;
    position: static;
    padding-right:0;
}

footer #cc-m-14867859932 ul li a{
    display:block;
    padding:12px 0;
    color:#FFF;
    text-decoration:none;
}

footer #cc-m-14858158232  .cc-m-hgrid-column{
    width:calc(100% - 250px) !important;
}

footer #cc-m-14858158232 .cc-m-hgrid-column.last{
    width:216px !important;
}

@media(max-width:580px){

  footer #cc-m-14858158232  .cc-m-hgrid-column,
  footer #cc-m-14858158232 .cc-m-hgrid-column.last{
    width:100% !important;
  }

}