/* リセット */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Arial', sans-serif;
    background-color: #f5f5f5;
}

main{
text-align: center;
}

img{
width:100%;
height: auto;    
}


.footer {
  background: #2b2b2b;
  color: #fff;
  font-size: 14px;
  padding: 40px 16px;
}
.footer-inner {
  max-width: 1000px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.footer-logo-area {
  flex: 1 1 200px;
}
.footer-logo {
  max-width: 160px;
}
.footer-nav-area {
  width: 100%;
  flex: 3 1 600px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.footer-links,
.footer-category,
.footer-bottom-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li,
.footer-category li,
.footer-bottom-links li {
  margin-bottom: 8px;
}
.footer-links a {
  font-weight: bold;
  color: #ffffff;
}
.footer-links a:hover,
.footer-category a,
.footer-bottom-links a {
  color: #ccc;
  text-decoration: none;
}
.footer-links a:hover,
.footer-category a:hover,
.footer-bottom-links a:hover {
  color: #fff;
}
.footer-search {
  display: flex;
  gap: 8px;
  align-items: center;
}
.footer-search input {
  padding: 8px 12px;
  border-radius: 6px;
  border: none;
  background: #444;
  color: #fff;
}
.footer-search button {
  background: #444;
  border: none;
  padding: 8px;
  border-radius: 6px;
  color: white;
  cursor: pointer;
}
.footer-divider {
  margin: 40px auto 20px;
  max-width: 1000px;
  border: none;
  border-top: 1px solid #444;
}
.footer-bottom {
  text-align: center;
  color: #aaa;
}
.footer-bottom-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin-bottom: 12px;
}







/* セクション */
.mb-80{
    margin-bottom: 80px;
}

.mb-50{
    margin-bottom: 50px;
}
.mt-50{
    margin-top: 50px;
}

.mb-100{
margin-bottom: 100px;
}


.mb-120{
margin-bottom: 120px;
}

.mb-200{
margin-bottom: 200px;
}


.width-1220{
    width:1220px;
    height: auto;
}
    
.sp-only{
    display: none;

  }

    .pc-only{

    display: block;
  }


.price-slider-wrapper{
padding-left: 320px;
width: 100%;

}
    .slider-section {
       padding: 40px 0;
    }

    .slider-header {
      display: block;
      font-size: 20px;
      text-align: center;
      margin-top: 100px;
      margin-bottom: 100px;
      position: relative;
    }
    .slider-header img{
      display: block;
      text-align: left;
      padding-left: 100px;
      width: 720px;
    }

    .slider-wrapper {
       width: 100%;
      position: relative;
      overflow: visible;
      margin: 0;
      padding: 0;
      background: #f5f5f5;
      overflow-x: hidden;


     /* overflow: hidden; ←削除して商品がはみ出すように */ 
      
    }



    

    .slider-container::-webkit-scrollbar {
  display: none;
}

    .slider-container {
      display: flex;
      gap: 20px;
      scroll-behavior: smooth;
      overflow-x: auto;
      scrollbar-width: none;
      padding-inline: 100px; /
    }

    .slider-container::-webkit-scrollbar {
      display: none; /* Chrome */
    }

    .slider-card {
      flex: 0 0 720px;
      width: 100%;
      overflow: hidden;
    }

    .slider-card img {
      width: 720px;
      height: 100%;
      object-fit: cover;
      display: block;
    }


    .slider-buttons {
      display: flex;
      justify-content: center;
      gap: 16px;
      position: absolute;
      left: 1000px;
      top: -18px;

    }

    .slider-buttons button {
      width: 66px;
      height: 66px;
      font-size: 20px;
      border: none;
      border-radius: 50%;
      background: #ffffff;
      cursor: pointer;
    }

.slider-absolute{
    position: absolute;
    top:-100px;
}


.slider-absolute-2{
    position: absolute;
    top:1240px;
}


.slider-track {
  display: flex;
  animation: scroll-left 40s linear infinite;
  animation-play-state: running; /* 明示的に追加 */
}

.slider-content {
  display: flex;
  gap: 30px;
}

.slider-track img {
  width: 320px;
  height: 240px;
  object-fit: cover;
  border-radius: 10px;
  flex-shrink: 0;
}

/* 無限スクロールアニメーション */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1750px); /* (320+30)×5 = 1750px */
  }
}


.reason{
position: relative;

}
.img-left{
    text-align: left;
}
.img-right{
    text-align:right;
}
.img-center{
    text-align: center;
}

.price-div{
    width: 100%;
    text-align: -webkit-center;
}

.price{
    display: block;
    text-align: center;
    width:1000px;
    height: 1000px;
}




/* 一部公開 iframe 用のレスポンシブ対応 */
.iframe-wrapper.itibu-koukai-responsive {
  position: relative;
  width: 100%;
  padding-top:60%; /* 正方形に調整。必要なら変更可能 */
  overflow: hidden;}

.iframe-wrapper.itibu-koukai-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.itibu-koukai-div{
    width: 100%;
    text-align: -webkit-center;
}
.itibu-koukai{
    display: block;
    text-align: center;
    width:1000px;
    height: 1000px;
}

.itibu-koukai-responsive {
  margin: 0;
  padding: 0;
}

.img-center img{
    width:1000px;
    height: auto;
}

.layer{
    position: relative;
}

.shadow{
    position:absolute;
    width: 300px;
    height: 300px;
    right: 5%;
    top:35%;
    z-index: -18975;
}

.campaign{
  background-image: url(../img/pc/campaign-bg-pc.png);
  height: 1344px;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  text-align: center;
}

.campaign img{
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

.campaign-title{

    text-align: center;
    padding-top:68px;
    padding-bottom:68px;
}

.campaign-title img{
    
    width: 547px;
    height: auto;

}

.free{
    text-align: center;
    margin-bottom: 96px;
}
.free img{
    width: 1243px;
}

.free img{
    width: 1243px;
}

.righ-now{
background-image: url(../img/pc/right-now-bg-pc.png);
background-size: cover;
height: 540px;
line-height:auto;
position: relative;
}

.righ-now img{
    position:absolute;
    top:90px;
    left:220px;
}

.limited{
    margin: 96px 0;
}




.voice{
padding-bottom: 440px;


}

.flow{
text-align: center;
margin-bottom: 96px;
}

.flow img{    
    width:1247px;
}

.now{
    text-align: center;
    margin: 96px 0;

}

.pay{
    background-color: #cea479;
    display: block;
    text-align:-webkit-center;
    padding: 96px 0;
}

.pay div{
    width: 1000px;
    display: flex;
    justify-content: space-around;
    
    
}
.paid{
    width:583px;
    height:auto;

}

.bunk{
    width:392px;
    height:auto;
}
/* フッター */


/* レスポンシブ対応（PCのみ対象のため、768px以下でサイドメニューとフロートバナーを非表示） */
@media (max-width: 768px) {
.hamburger {
        display: block;
    }




/* 一部公開 iframe 用のレスポンシブ対応 */
.iframe-wrapper.itibu-koukai-responsive {
  position: relative;
  width: 100%;
  padding-top: 200%; /* 正方形に調整。必要なら変更可能 */
  overflow: hidden;
  margin-bottom: 40px;
}
.slider-absolute{
  position: absolute;
  top: -150px;
}


.iframe-wrapper.itibu-koukai-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

    .product-card {
        flex: 0 0 100%; /* SP: 1商品表示 */
        margin: 0 5px;
    }

    .slider-prev, .slider-next {
        padding: 8px;
        font-size: 16px;
    }

    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        width: 80%;
        height: 100vh;
        background: #2c3e50;
        transform: translateX(100%);
        z-index: 1001;
        padding: 60px 20px;
    }

    .nav-menu.active {
        transform: translateX(0);
    }

    .nav-menu ul {
        flex-direction: column;
        align-items: center;
    }

    .nav-menu ul li {
        margin: 20px 0;
    }

    .nav-menu ul li a {
        color: #fff;
        font-size: 18px;
    }
    .hamburger i{
        color: #f2f2f2;


    }
    .close-btn {
        display: block;
    }



    .sidebar, .float-banner {
        display: none;
    }

    .main-content {
        margin-left: 0;
    }

    header .container {
         flex-direction: row;
    }

    nav ul {
        margin-top: 15px;
        flex-wrap: wrap;
        justify-content: center;
    }

    nav ul li {
        margin: 10px 15px;
    }

    .footer-nav-area{
      display: flex;
    }

    .hero-content h2 {
        font-size: 28px;
    }

    .hero-content p {
        font-size: 16px;
    }

    .footer-content {
        flex-direction: column;
        text-align: center;
    }

    .footer-section {
        margin-bottom: 20px;
    }




  .sp-only{
    display: block;

  }

  .pc-only{

    display: none;
  }


 .slider-wrapper {
    width: 100%;
    overflow: visible;
    position: relative;
  }

  .slider-header{
    margin-bottom: 40px;
  }

  .slider-header picture img{
    width: 200px;
    height: auto;
    padding: 0;
  }

  .slider-container {
    gap: 16px;
    padding-inline: 16px; /* チラ見せ余白 */
    scroll-behavior: smooth;
  }

  .slider-card {
    flex: 0 0 90%;   /* 画面の85%を占める */
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .slider-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* ボタン：下中央に配置 */
    .slider-buttons {
    display: flex;
    position: static;
    justify-content: center;
    margin-top: 16px;
    gap: 12px;
  }

  .arrow-btn {
    display: inline-block;
    width: 36px;
    height: 36px;
    font-size: 18px;
    background: #eee;
    border-radius: 50%;
    border: none;
    cursor: pointer;
  }


.campaign-sp{
  background-image: url(../img/sp/bg-1.png);
  background-size: cover;
  width: 100vw;
  height: 940px;


}


.free-sp{
 width: 93%;
 height: auto;

}

  
  .slider-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }



  .voice{

    padding-bottom: 200px;
  }
  .slider-absolute-2{
    position: absolute;
    top: 1500px;
  }


  .righ-no-sp{
background-image: url(../img/sp/bg-2.png);
background-size: cover;
width: 100vw;
height: 560px;

  }

  .righ-no-sp picture img{
    width:95%;
    padding-top: 80px;
  }
.pay-sp{
  padding: 80px 0;
  background-color: #89643E;
}
.pay-sp div img{
  width: 95%;
  height: auto;


}

.pay-sp div img:first-child{
margin-bottom: 20px;
}


}




/* 横スクロール防止のための修正 */
html, body {
  overflow-x: hidden;
}

.price-slider-wrapper {
  padding: 0;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

.slider-container {
  padding-inline: 100px;
}

@media (max-width: 768px) {
  .slider-container {
    padding-inline: 16px;
  }


.point picture{
  transform: translate(12px);
}

  .slider-card {
    flex: 0 0 90%;
    max-width: 90%;
  }

  .footer-logo{
    display: block;
    margin-bottom: 60px;
  }
 .footer-inner{
display: block;

  }

  .footer-category {
    grid-template-columns: repeat(3, 1fr);

  }
  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .footer-nav-area {
  width: 100%;
   margin-bottom: 60px;
    
  }
  .footer-search {
    width: 100%;
  }
  .footer-search input {
    flex: 1;
    width: 80%;
  }
  .footer-bottom-links {
    flex-direction: column;
    gap: 12px;
  }






}



@media (max-width: 768px) {

  .sp-main{
    margin-top: 50px;
  }

  img {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .sp-only,
  picture {
    display: block;
    text-align: center;
    margin: 0 auto;
  }

  .slider-card img {
    display: block;
    margin: 0 auto;
  }

}

.iframe-header-wrapper.header-responsive {
  position: static;
  width: 100%;
  overflow: hidden;
}

.iframe-header-wrapper.header-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}











