@charset "UTF-8";

html,body {
  overflow-x: hidden;
  height: auto !important;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.din {
  font-family: 'DIN Regular';
}
.sp_br {
  display: none;
}
.sp_only {
  display: none;
}

#page {
  width: 100%;
  margin: 0 auto;
}


@media only screen and (max-width:640px) {

  .sp_br {
    display: block;
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }

}



/** inContents
==============================================*/


.bnrList {
  max-width: 1366px;
  width: 100%;
  margin: 0 auto 37px;
}


/*640px*/
@media screen and (max-width: 640px) {
  .bnrList {
    max-width: 1366px;
    width: 100%;
    margin: 0 auto 37px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
}



/*--------------------
#breadcrumb
--------------------*/
.breadcrumb {
  margin: 30px auto 10px auto;
  line-height: 160%;
  padding: 0px 26px 0px 25px;
  width: 100%;
  max-width: 1366px;
}

.breadcrumb a:link {
  color: #656565;
  text-decoration: underline;
}

.breadcrumb a {
  display: inline-block;
  margin-right: 5px;
}

@media only screen and (max-width:767px) {

  .breadcrumb {
    margin-bottom: 0;
    padding-left: 15px;
    box-sizing: border-box;
  }
}







#page-header,
.breadcrumb,
.product-nav,
.inner-wrap,
.pageTop,
#page-footer {
  max-width: 1366px;
  margin: 0 auto;
  width: 96%;
}

.pageTop {
  float: none;
  width: 96%;
  text-align: right;
}
.pageTop p {
  display: inline-block;
}


#page-footer:before {
  z-index: auto;
}
@media only screen and (max-width: 767px) {

  #page-header,
  .breadcrumb,
  #page-footer {
    width: auto;
  }
  #page {
    margin-bottom: -10%;
  }
  #page-footer {
    border-top: 0 !important;
}

}



/** PAGE FOOTER
==============================================*/
footer {
  position: static;
}












footer .pageTop {
  text-align: right !important;
  max-width: 1366px !important;
  margin: 2em 0 0;
}

@media only screen and (max-width: 767px) {
  footer .pageTop {
    margin: 1em 0 2em;
  }

  footer .pageTop p {
    float: none;
    margin: 0 10px 0 auto;
  }
}


@media screen and (min-width:641px) {
  .pageTop {
    margin-top: 40px;
  }
}
@media only screen and (min-width: 641px) and (max-width: 783px) {
  .pageTop {
    margin-right: 0;
  }
}







.exp,
.exp_alt {
    position: relative;
    display: inline-block;
}
.exp:after,
.exp_alt:after {
    color: #fff;
    background: #000;   
    border: 1px solid #333;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;    
    padding: 1em 2em;
    line-height: 1;
    font-size: 1.2em;
    display: inline-block;
}
.exp:after {
    content: "ダミー";
}
.exp_alt:after {
    content: "ご支給のイメージを掲載予定です。";
    min-width: 16em;
}
.exp_catch {
    position: relative;
}
.exp_catch:after {
    color: #fff;
    background: #000;   
    border: 1px solid #333;
    position: absolute;
    top: 30px;
    right: 20px;
    text-align: center;    
    padding: 1em 2em;
    line-height: 1;
    font-size: 1.2em;
    display: inline-block;
}
.exp_catch:after {
    content: "キャッチコピー検討中";
}


/* -----------------------------------------------
  共通
----------------------------------------------- */
.mainContens :is(picture, img) {
  display: block;
  width: 100%;
  height: auto;
}
.mainContens img {
  vertical-align: bottom;
}
.sec-heading {
  font-family: DIN Regular, san-serif;
  display: flex;
  justify-content: center;
  align-items: center;
}
.linkbtn {
  border: 2px solid #646464;
  background-color: #fff;
  display: flex;
  align-items: center;
  position: relative;
}
.linkbtn:hover {
  opacity: 0.75;
  color: inherit;
}
.linkbtn::before {
  content: '';
  border: 1px solid #646464;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
}
.linkbtn::after {
  content: '＞';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.linkbtn.linkbtn_black {
  border: 2px solid #000;
  background-color: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-weight: bold;
}
.linkbtn.linkbtn_black::before,
.linkbtn.linkbtn_black::after {
  content: none;
}

@media only screen and (max-width:640px) {
  .mainContens :is(picture.pc_only, img.pc_only) {
    display: none;
  }
  .inner-wrap {
    width: 90.7%;
  }
  .sec-heading {
    background-color: #F0F0F0;
    width: 100vw;
    height: 48px;
    margin-inline: calc(50% - 50vw);
    font-size: 30px;
    font-weight: normal;
  }
  .linkbtn-wrap {
    padding: 25px 0 26px;
    background-color: #F5F5F5;
  }
  .linkbtn-wrap.w100 {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .linkbtn {
    min-height: 52px;
    padding: 0 30px 0 17px;
    font-size: min(3.72vw, 16px);
  }
  .linkbtn::before {
    width: calc(100% - 6px);
    height: calc(100% - 6px);
  }
  .linkbtn::after {
    right: 17px;
  }
  .linkbtn + .linkbtn {
    margin-top: 25px;
  }
}

@media only screen and (min-width:641px) {
  .mainContens :is(picture.sp_only, img.sp_only) {
    display: none;
  }
  .inner-wrap {
    width: 90.7%;
  }
  .sec-heading {
    height: 100px;
    font-size: 40px;
    font-weight: bold;
    background: linear-gradient(to right,  #f0f0f0 0%,#666666 50%,#f0f0f0 100%);
    color: #fff;
  }
  .sec-heading span {
    position: relative;
  }
  .sec-heading span::before {
    content: '';
    width: 240px;
    height: 1px;
    background: linear-gradient(to right,  rgba(240,240,240,0) 0%,rgba(240,240,240,1) 100%);
    position: absolute;
    top: 50%;
    right: calc(100% + 10px);
    translate: 0 -50%;
  }
  .sec-heading span::after {
    content: '';
    width: 240px;
    height: 1px;
    background: linear-gradient(to right,  rgba(240,240,240,1) 0%,rgba(240,240,240,0) 100%);
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    translate: 0 -50%;
  }
  .gallery-sec-heading {
    background: none;
    width: 100%;
    height: 1em;
    font-size: 64px;
    font-weight: normal;
    color: inherit;
  }
  .linkbtn-wrap {
    padding: 100px 0 100px;
    background-color: #F0F0F0;
  }
  .linkbtn-wrap.w100 {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }
  .linkbtn-wrap.pc-bg-white {
    background: none;
  }
  .linkbtn {
    min-height: 58px;
    padding: 0 30px 0 17px;
    font-size: min(3.72vw, 16px);
    width: 425px;
    max-width: 100%;
    margin-inline: auto;
  }
  .linkbtn::before {
    width: calc(100% - 6px);
    height: calc(100% - 6px);
  }
  .linkbtn::after {
    right: 17px;
  }
  .linkbtn + .linkbtn {
    margin-top: 25px;
  }
  .linkbtn.linkbtn_black {
    width: calc(425px + 30px + 17px);
  }
}