@charset  "UTF-8";
/* ----------------------------------------------
COMMON
---------------------------------------------- */
*{
    margin: 0;
    padding: 0;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box; /* ← overflowは外す */
}

*:before, 
*:after{ box-sizing: inherit;}


html,body{
    overflow-x: hidden;
    overflow-y: auto;
    height: auto;
    font-size: 62.5%; /* 10px */
    box-sizing: border-box;
    font-family: 'Inter', 'Noto Sans JP', 'Open Sans', sans-serif;
}

a{
    text-decoration: none;
}

img{
    width: 100%;
    height: auto;
    display: block;
}
/* ----------------------------------------------
Site__Wrapper
---------------------------------------------- */
#Site__Wrapper{
    width: 100%;
    /* height: 100vh; */
    height: auto;
    min-height: 100vh;
    overflow: visible;
}

.header{
  height: 72px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  background-color: transparent;

  background: rgba(15,15,15,0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-bottom: 1px solid rgba(255,255,255,0.08);

  transform: translateY(0);
}

/* 中身 */
.header-inner{
  max-width: 1200px;
  height: 100%;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: space-between;

  padding:0 24px;
}

/* ロゴ */
.logo{
  width: 120px;
  height: auto;
}

/* ナビ */
nav a{
  color: #ccc !important;
  margin-left: 20px;
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s;
}

nav a:hover{
  color: #fff !important;
}

/* ----------------------------------------------
BREADCRUMB
---------------------------------------------- */
.breadcrumb{
  position:relative;
  z-index:10;

  padding-top:100px;
  padding-left:5%;
  padding-right:5%;

  background:#070707;
}

/* inner */
.breadcrumb-inner{
  max-width:1200px;
  margin:0 auto;

  display:flex;
  align-items:center;
  gap:14px;
}

/* リンク */
.breadcrumb a{
  color:#888;
  font-size:13px;

  transition:0.3s;
}

.breadcrumb a:hover{
  color:#fff;
}

/* 区切り */
.breadcrumb-separator{
  color:#555;
  font-size:11px;
}

/* current */
.breadcrumb .current{
  color:#fff;
  font-size:13px;
  font-weight:600;
}

/* ----------------------------------------------
GADGET HERO
---------------------------------------------- */
.gadget-hero{
  position:relative;
  min-height:100vh;

  background:
  radial-gradient(circle at top right,
  rgba(255,80,80,0.18),
  transparent 30%),

  linear-gradient(135deg,#070707,#111);

  overflow:hidden;

  display:flex;
  align-items:center;

  padding:120px 5% 80px;
}

/* 背景 */
.gadget-bg{
  position:absolute;
  inset:0;

  background:
  radial-gradient(circle at center,
  rgba(255,255,255,0.03),
  transparent 60%);

  z-index:0;
}

/* inner */
.gadget-hero-inner{
  max-width:1200px;
  width:100%;

  margin:0 auto;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;

  position:relative;
  z-index:2;
}

/* 左 */
.gadget-content{
  max-width:560px;
}

/* バッジ */
.gadget-badge{
  display:inline-block;

  background:
  linear-gradient(90deg,#ff7a18,#ff3c3c);

  color:#fff;

  padding:8px 16px;

  border-radius:999px;

  font-size:13px;
  font-weight:700;

  margin-bottom:24px;
}

/* タイトル */
.gadget-title{
  font-size:clamp(42px,6vw,72px);
  line-height:1.1;
  color:#fff;

  margin-bottom:24px;
  font-weight:800;

  letter-spacing:-2px;
}

/* 説明 */
.gadget-desc{
  color:#bdbdbd;
  font-size:17px;
  line-height:1.9;

  margin-bottom:40px;
}

/* ポイント */
.gadget-points{
  display:flex;
  flex-direction:column;
  gap:18px;

  margin-bottom:50px;
}

.point{
  display:flex;
  align-items:center;
  gap:14px;

  color:#fff;
  font-size:15px;
}

.point i{
  width:42px;
  height:42px;

  border-radius:50%;

  display:flex;
  align-items:center;
  justify-content:center;

  background:
  rgba(255,255,255,0.08);

  color:#ff6b3d;
}

/* CTA */
.gadget-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:18px 34px;

  border-radius:14px;

  background:
  linear-gradient(90deg,#ff7a18,#ff3c3c);

  color:#fff;

  font-size:18px;
  font-weight:700;

  transition:0.35s;

  box-shadow:
  0 15px 40px rgba(255,80,80,0.25);
}

.gadget-btn:hover{
  transform:
  translateY(-4px)
  scale(1.03);

  box-shadow:
  0 20px 50px rgba(255,80,80,0.35);
}

/* 右 */
.gadget-visual{
  position:relative;
  flex:1;

  display:flex;
  justify-content:center;
}

.gadget-visual img{
  width:100%;
  max-width:650px;

  object-fit:contain;

  filter:
  drop-shadow(0 40px 80px rgba(0,0,0,0.7));
}

/* 浮遊 */
.floating{
  position:absolute;

  border-radius:50%;

  background:
  rgba(255,255,255,0.08);

  backdrop-filter:blur(10px);
}

.floating1{
  width:120px;
  height:120px;

  top:10%;
  left:10%;
}

.floating2{
  width:70px;
  height:70px;

  bottom:15%;
  left:0%;
}

.floating3{
  width:160px;
  height:160px;

  top:20%;
  right:0%;
}

/* 下 */
.gadget-scroll{
  position:absolute;

  bottom:25px;
  left:50%;

  transform:translateX(-50%);

  color:#777;
  font-size:13px;

  letter-spacing:1px;
}

/* ----------------------------------------------
SP
---------------------------------------------- */
@media (max-width:900px){

  .gadget-hero{
    min-height:auto;
    padding:140px 5% 80px;
  }

  .gadget-hero-inner{
    flex-direction:column;
  }

  .gadget-content{
    text-align:center;
  }

  .gadget-points{
    align-items:center;
  }

  .gadget-title{
    line-height:1.2;
  }

}

/* ----------------------------------------------
footer
---------------------------------------------- */
.footer{
  background:#070707;
  padding-top:100px;
  border-top:
  1px solid rgba(255,255,255,0.06);
}

/* 中 */
.footer-inner{
  max-width:1200px;
  margin:0 auto;

  padding:0 5% 80px;

  display:grid;
  grid-template-columns:
  1.5fr 1fr 1fr 1fr;

  gap:50px;
}

/* ロゴ */
.footer-logo{
  width:140px;
  margin-bottom:24px;
}

.footer-copy{
  color:#aaa;
  font-size:14px;
  line-height:1.9;
  margin-bottom:20px;
}

.footer-update{
  color:#666;
  font-size:12px;
}

/* 見出し */
.footer-links h3{
  color:#fff;
  font-size:16px;
  margin-bottom:24px;
}

/* リスト */
.footer-links ul{
  list-style:none;
}

.footer-links li{
  margin-bottom:14px;
}

.footer-links a{
  color:#999;
  font-size:14px;
  transition:0.3s;
}

.footer-links a:hover{
  color:#fff;
  padding-left:6px;
}

/* 下 */
.footer-bottom{
  border-top:
  1px solid rgba(255,255,255,0.05);

  text-align:center;

  padding:24px;
}

.footer-bottom p{
  color:#666;
  font-size:12px;
  letter-spacing:1px;
}

/* SP */
@media (max-width:900px){

  .footer-inner{
    grid-template-columns:1fr;
    gap:40px;
  }

  .footer{
    padding-top:70px;
  }

}