/* -- 全体 ---------------------------------------------------------------------------------------- */
html {
}
body {
  color: #fff;
  width: 100%;
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Yu Gothic", YuGothic, sans-serif;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  word-break: break-all;
  word-wrap: break-word;
  line-height: 1.9;
  background: #000;
}

* { box-sizing: border-box; }

a {
  color:#fff;
  text-decoration: none;
  transition: color 0.4s ease 0s, opacity 0.4s ease 0s;
}
a:hover, a:active, a:focus {
  color:#ddd;
  text-decoration: none;
  opacity: .7;
  transition: color 0.4s ease 0s, opacity 0.4s ease 0s;
}

/* --------------------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 255;
}
  .nav-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px;
    width: 1000px;
    margin: 0 auto;
    text-shadow: 1px 0 1px rgb(255 255 255 / 90%), 0 1px 1px rgb(255 255 255 / 90%), -1px 0 1px rgb(255 255 255 / 90%), 0 -1px 1px rgb(255 255 255 / 90%);
  }
    h1.title {
      font-family: Impact,Charcoal;
      display: inline-block;
      font-size: 20px;
      font-weight: normal;
      line-height: 1;
      letter-spacing: 2px;
      margin: 0;
    }
    h1.title a {
      color: #000;
    }
    h1.title a .reg{
      font-size: 12px;
    }

    .topmenu {
      display: flex;
      height: 20px;
      list-style: none;
      padding: 0;
      margin: 0;
    }
      .topmenu li {
        height: 20px;
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .topmenu li.alink {
        margin-right: 20px;
      }
        .topmenu li.alink a {
          display: block;
          color: #000;
          height: 20px;
          line-height: 20px;
          font-weight: bold;
        }
      .topmenu li.ilink {
        margin-left: 10px;
      }
        .topmenu li.ilink a {
          display:block;
          width: 20px;
          height: 20px;
          text-indent: 200%; white-space: nowrap; overflow: hidden; word-break: keep-all; word-wrap: normal;
        }
        .topmenu li.ilink a.ilink-tw {
          background: url("../img/icon-tw.png") no-repeat;
        }
        .topmenu li.ilink a.ilink-in {
          background: url("../img/icon-in.png") no-repeat;
        }


.container {
}
  .container > .section {
    position: relative;
    padding-top: 100px;
    padding-bottom: 60px;
    width: 100%;
  }
    .container > .section > .wrap-contents {
      width: 1000px;
      margin: 0 auto;
      text-align:center;
      font-size: 16px;
      font-weight: bold;
      letter-spacing: 4px;
      line-height: 2;
    }
        h2.caption {
          font-family: 'Impact', 'Charcoal';
          display: block;
          font-size: 34px;
          font-weight: normal;
          line-height: 1;
          letter-spacing: 4px;
          margin-top: 55px;
          margin-bottom: 70px;
        }
        h2.caption .reg {
          font-size: 12px;
        }
    .container > .section > .wbar {
      position: absolute;
      height: 20px;
      bottom: 20px;
      background: #fff;
      width: 100%;
    }


  .section-top {
    background: url(../img/bg1.jpg) no-repeat top center;
    background-size: cover;
    color: rgb(0 0 0);
    display: flex;
    align-items: center;
    padding-top: 0!important;
    padding-bottom: 80px!important;
  }
    .section-top .wrap-scroll {
      position: absolute;
      bottom: 50px;
      width: 100%;
      margin: 0 auto;
      text-align: center;
    }
      .section-top .img-scroll1 {
        display:block;
        width: 66px;
        height: 13px;
        margin: 0 auto 8px auto;
      }
      @keyframes scroll {
        0% { -webkit-transform: translate(0px, 0px); -moz-transform: translate(0px, 0px); -o-transform: translate(0px, 0px); -ms-transform: translate(0px, 0px); transform: translate(0px, 0px); }
        50% { -webkit-transform: translate(0px, -10px); -moz-transform: translate(0px, -10px); -o-transform: translate(0px, -10px); -ms-transform: translate(0px, -10px); transform: translate(0px, -10px); }
        100% { -webkit-transform: translate(0px, 0px); -moz-transform: translate(0px, 0px); -o-transform: translate(0px, 0px); -ms-transform: translate(0px, 0px); transform: translate(0px, 0px); }
      }
      .section-top .img-scroll2 {
        display:block;
        width: 104px;
        height: 24px;
        margin: 0 auto 0 auto;
        animation: scroll 2s infinite;
      }



  .section-menu {
    background: url("../img/bg2.jpg") no-repeat top center;
    background-size: cover;
    color: #000;
  }
        .section-menu .menuA {
          display:inline-block;
          margin-top: 20px;
        }
        .section-menu .menuB {
          display:inline-block;
          margin-top: 20px;
        }
        .section-menu a {
          width: 259px;
          height: 90px;
        }


  .section-shop {
    background: url("../img/bg3.jpg") no-repeat top center;
    background-size: cover;
    color: #fff;
  }
  .section-shop .caption {
    margin-bottom: 10px;
  }

    .section-shop .wrap-info {
      display: flex;
      padding-top: 60px;
    }
      .section-shop .wrap-info .wrap-map {
        margin-left: 50px;
      }
      .section-shop .wrap-info .wrap-detail {
        font-size: 14px;
        margin-left: 30px;
        text-align: left;
        line-height: 2.3;
        letter-spacing: 1px;
      }

    .section-shop .wrap-banner {
      margin-top: 30px;
      font-size: 12px;
      letter-spacing: 1px;
    }

  .section-contact {
    background: url("../img/bg4.jpg") no-repeat top center;
    background-size: cover;
    color: #000;
    padding-bottom: 100px!important;
  }

    .section-contact .wrap-contact {
      text-align: left;
      font-size: 18px;
      max-inline-size: max-content;
      margin-inline: auto;
      margin-top: 30px;
    }
      .section-contact .wrap-contents a {
        color: #000;
      }
      .section-contact .wrap-contact .contact-tel {
        display: inline-block;
        padding-left: 40px;
        background: url("../img/icon-tel.png") no-repeat center left;
        margin-bottom: 20px;
      }
      .section-contact .wrap-contact .contact-mail {
        display: inline-block;
        padding-left: 40px;
        background: url("../img/icon-mail.png") no-repeat center left;
        margin-bottom: 40px;
      }


      footer {
        position: absolute;
        bottom: 0;
        background: rgb(0 0 0);
        color: rgb(255 255 255);
        width: 100%;
        height: 80px;
        display: flex;
        justify-content: center;
        align-items: center;
      }
        footer .pp {
          display: block;
          position: absolute;
          right: 30px;
        }


#popup_pp {
  width:1000px;
  z-index:999;
  text-align:left;
  font-size: .8rem;
  overflow-y: auto;
  color: #fff;
}

  #popup_pp .page-title {
    color: #fff;
  }
  #popup_pp .inr{
    width: 960px;
    margin: 30px auto;
  }
  #popup_pp ol {
    padding-top:4px;
    list-style-type: decimal;
    margin-left:1em;
  }
  #popup_pp ul {
    list-style-type: disc;
  }
    #popup_pp li {
      padding-top:4px;
    }

  #popup_pp p {
    padding-top:4px;
  }
  #popup_pp a {
    color: #fff;
  }
  #popup_pp a:hover {
    color: #ccc;
  }

/* -- その他 ------------------------------------------------------------------- */

#back-top {
  position: fixed;
  z-index: 256;
  bottom: 40px;
  right: 30px;
  width: 23px;
  height: 102px;
  background: url("../disc/img/arw2.png") no-repeat;
  text-indent: 200%; white-space: nowrap; overflow: hidden; word-break: keep-all; word-wrap: normal;
}
#back-top a { display: block; width: 23px; height: 103px; }

/* -- 文字・背景色 -- */
strong { font-weight:bold!important; }
em { font-style:italic!important; }
.b { font-weight:bold!important; }
.n { font-weight:normal!important; }
.uline{text-decoration:underline!important;}

.r { color:#ff0000!important; }
.blue { color:#2e8cc9!important; }

/* -- テキスト揃え -- */
.txl { text-align:left; }
.txr { text-align:right; }
.txc { text-align:center; }
.txvm { vertical-align:middle!important; }

.bxc { margin-left:auto; margin-right:auto; }

.vmiddle {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* 幅省略 */
.ellipsis {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* -- float -- */
.fl { float:left;}
.fr { float:right; }

.clb {clear:both;}
.ofa {overflow:auto}

.boxs {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  -o-box-sizing:border-box;
  -ms-box-sizing:border-box;
  box-sizing:border-box;
}

.hidden { display:none; }
.cur { cursor:pointer;}

.scrollable {
  overflow-y:scroll;
  overflow-x:hidden;
}


/* -- 調整 -- */
.mt0  { margin-top:0!important; }
.mt5  { margin-top:5px!important; }
.mt10 { margin-top:10px!important; }
.mt15 { margin-top:15px!important; }
.mt20 { margin-top:20px!important; }
.mt25 { margin-top:25px!important; }
.mt30 { margin-top:30px!important; }
.mt40 { margin-top:40px!important; }
.mt50 { margin-top:50px!important; }
.mt100 { margin-top:100px!important; }
.mt150 { margin-top:150px!important; }
.mt200 { margin-top:200px!important; }
.mb0  { margin-bottom:0!important; }
.mb5  { margin-bottom:5px!important; }
.mb10 { margin-bottom:10px!important; }
.mb15 { margin-bottom:15px!important; }
.mb20 { margin-bottom:20px!important; }
.mb25 { margin-bottom:25px!important; }
.mb30 { margin-bottom:30px!important; }
.mb40 { margin-bottom:40px!important; }
.mb50 { margin-bottom:50px!important; }
.mb100 { margin-bottom:100px!important; }
.mb150 { margin-bottom:150px!important; }
.mb200 { margin-bottom:200px!important; }
.ml0  { margin-left:0!important; }
.ml5  { margin-left:5px!important; }
.ml10 { margin-left:10px!important; }
.ml15 { margin-left:15px!important; }
.ml20 { margin-left:20px!important; }
.ml25 { margin-left:25px!important; }
.ml30 { margin-left:30px!important; }
.ml150 { margin-left:150px!important; }
.ml200 { margin-left:200px!important; }
.mr0  { margin-right:0!important; }
.mr5  { margin-right:5px!important; }
.mr10 { margin-right:10px!important; }
.mr15 { margin-right:15px!important; }
.mr20 { margin-right:20px!important; }
.mr25 { margin-right:25px!important; }
.mr30 { margin-right:30px!important; }
.mr150 { margin-right:150px!important; }
.mr200 { margin-right:200px!important; }

.ml1em { margin-left:1em!important; }

.p0  { padding:0px!important; }
.p5  { padding:5px!important; }
.p10 { padding:10px!important; }
.p20 { padding:20px!important; }
.pr50 { padding-right:50px!important; }
.pl10 { padding-left:10px!important; }
.pl50 { padding-left:50px!important; }
.pb10 { padding-bottom:10px!important; }
.pb20 { padding-bottom:20px!important; }
.pb30 { padding-bottom:30px!important; }
.pb40 { padding-bottom:40px!important; }
.pb50 { padding-bottom:50px!important; }
.pb60 { padding-bottom:60px!important; }
.pb70 { padding-bottom:70px!important; }
.pb80 { padding-bottom:80px!important; }
.pb90 { padding-bottom:90px!important; }
.pb100 { padding-bottom:100px!important; }

.w10 { width:10px!important; }
.w20 { width:20px!important; }
.w30 { width:30px!important; }
.w40 { width:40px!important; }
.w50 { width:50px!important; }
.w60 { width:60px!important; }
.w70 { width:70px!important; }
.w80 { width:80px!important; }
.w90 { width:90px!important; }
.w100 { width:100px!important; }
.w110 { width:110px!important; }
.w120 { width:120px!important; }
.w130 { width:130px!important; }
.w140 { width:140px!important; }
.w150 { width:150px!important; }
.w160 { width:160px!important; }
.w170 { width:170px!important; }
.w180 { width:180px!important; }
.w190 { width:190px!important; }
.w200 { width:200px!important; }
.w220 { width:220px!important; }
.w240 { width:240px!important; }
.w260 { width:260px!important; }
.w280 { width:280px!important; }
.w300 { width:300px!important; }
.w350 { width:350px!important; }
.w400 { width:400px!important; }
.w500 { width:500px!important; }
.w600 { width:600px!important; }
.w650 { width:650px!important; }
.w700 { width:700px!important; }
.w800 { width:800px!important; }
.w900 { width:900px!important; }
.w1000 { width:1000px!important; }
.wauto{ width:auto!important;}

.mw10 { min-width:10px!important; }
.mw20 { min-width:20px!important; }
.mw30 { min-width:30px!important; }
.mw40 { min-width:40px!important; }
.mw50 { min-width:50px!important; }
.mw60 { min-width:60px!important; }
.mw70 { min-width:70px!important; }
.mw80 { min-width:80px!important; }
.mw90 { min-width:90px!important; }
.mw100 { min-width:100px!important; }
.mw110 { min-width:110px!important; }
.mw120 { min-width:120px!important; }
.mw130 { min-width:130px!important; }
.mw140 { min-width:140px!important; }
.mw150 { min-width:150px!important; }
.mw160 { min-width:160px!important; }
.mw170 { min-width:170px!important; }
.mw180 { min-width:180px!important; }
.mw190 { min-width:190px!important; }
.mw200 { min-width:200px!important; }
.mw220 { min-width:220px!important; }
.mw240 { min-width:240px!important; }
.mw260 { min-width:260px!important; }
.mw280 { min-width:280px!important; }
.mw300 { min-width:300px!important; }
.mw400 { min-width:400px!important; }
.mw500 { min-width:500px!important; }
.mw600 { min-width:600px!important; }

.mxw10 { max-width:10px!important; }
.mxw20 { max-width:20px!important; }
.mxw30 { max-width:30px!important; }
.mxw40 { max-width:40px!important; }
.mxw50 { max-width:50px!important; }
.mxw60 { max-width:60px!important; }
.mxw70 { max-width:70px!important; }
.mxw80 { max-width:80px!important; }
.mxw90 { max-width:90px!important; }
.mxw100 { max-width:100px!important; }
.mxw110 { max-width:110px!important; }
.mxw120 { max-width:120px!important; }
.mxw130 { max-width:130px!important; }
.mxw140 { max-width:140px!important; }
.mxw150 { max-width:150px!important; }
.mxw160 { max-width:160px!important; }
.mxw170 { max-width:170px!important; }
.mxw180 { max-width:180px!important; }
.mxw190 { max-width:190px!important; }
.mxw200 { max-width:200px!important; }
.mxw220 { max-width:220px!important; }
.mxw240 { max-width:240px!important; }
.mxw260 { max-width:260px!important; }
.mxw280 { max-width:280px!important; }
.mxw300 { max-width:300px!important; }
.mxw400 { max-width:400px!important; }
.mxw500 { max-width:500px!important; }
.mxw600 { max-width:600px!important; }

.w10p { width:10%!important; }
.w20p { width:20%!important; }
.w30p { width:30%!important; }
.w40p { width:40%!important; }
.w50p { width:50%!important; }
.w60p { width:60%!important; }
.w70p { width:70%!important; }
.w80p { width:80%!important; }
.w90p { width:90%!important; }
.w100p { width:100%!important; }

.w22p { width:22%!important; }
.w23p { width:23%!important; }
.w33p { width:33%!important; }
.w34p { width:34%!important; }
.w43p { width:43%!important; }
.w48p { width:48%!important; }
.w53p { width:53%!important; }
.ml4p { margin-left:4%!important; }

.w1em { width:1em!important; }

.h20 { height:20px!important; }
.h40 { height:40px!important; }
.h60 { height:60px!important; }
.h80 { height:80px!important; }
.h100 { height:100px!important; }
.h110 { height:110px!important; }
.h120 { height:120px!important; }
.h130 { height:130px!important; }
.h140 { height:140px!important; }
.h150 { height:150px!important; }
.h160 { height:160px!important; }
.h170 { height:170px!important; }
.h180 { height:180px!important; }
.h190 { height:190px!important; }
.h200 { height:200px!important; }
.h300 { height:300px!important; }
.h400 { height:400px!important; }

.mh640 { min-height:640px!important; }

.clearfix:after {
  content:"";
  display:block;
  clear:both;
}