@charset "utf-8";


/*---------------------------
共通パーツ
---------------------------*/
html {
  scroll-behavior: smooth;
}

:root{
  --gap-s: clamp(10px, 0.398rem + 1.14vw, 20px);
  --gap-m: clamp(20px, 0.795rem + 2.27vw, 40px);
  --gap-l: clamp(50px, 1.989rem + 5.68vw, 100px);
  --nav-wrap: 140px;
  --radius: 20px;
  
  --color-purple: #761ad4;
  --color-pink: #ff90cc;
  --color-black: #292929;
  
  --font-s:clamp(12px, 0.659rem + 0.45vw, 16px);
  --font-ms:clamp(14px, 0.784rem + 0.45vw, 18px);
  --font-m:clamp(14px, 0.739rem + 0.68vw, 20px);
  --font-l:clamp(16px, 0.818rem + 0.91vw, 24px);
  --font-2l:clamp(20px, 0.886rem + 1.82vw, 30px);
  --font-3l:clamp(20px, 0.886rem + 1.82vw, 36px);
  --font-4l:clamp(24px, 0.909rem + 2.95vw, 50px);
}  
@media screen and (max-width: 767px) {
  :root{
    --nav-wrap: 50px;
    --radius: 10px;
  }
}

/* SPサイズ調整 */
.u-pcs-hide{
  display:block;
}
.u-sps-hide{
  display:none;
}
@media screen and (max-width: 428px) {
  .u-pcs-hide{
    display:none;
  }
  .u-sps-hide{
    display:block;
  }
}
/*---------------------------
LP共通レイアウト
---------------------------*/
#kikiraravivi{
  position:relative;
  width:100%;
  text-align:center;
  color: #333;
  background: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: var(--font-m);
  line-height:1.6;
  letter-spacing: 0.06em;
} 
#kikiraravivi a:hover{
  cursor:pointer;
  transition: all 0.5s;
  transform: translateY(-5px);
}
#kikiraravivi img{
  width:100%;
  margin:auto;
  object-fit: contain;
} 

/* テキスト */
#kikiraravivi em{
  font-style:normal;
  font-weight:bold;
} 
#kikiraravivi strong{
  font-weight:700;
  margin-left:0.2em;
  margin-right:0.2em;
  color: var(--color-purple);
}

#kikiraravivi .note{
  font-size:var(--font-s);
  line-height:1.2;
}
#kikiraravivi .note-s{
  font-size:12px;
  line-height:1.2;
}

/* レイアウト */
.contents-block{
  position:relative;
  display:block;
  padding:var(--gap-l) 0;
  width:100%;
  overflow: hidden;
}
.contents-block-inner{
  position:relative;
  display:block;
  margin:auto;
  width:calc(100% - 30px);
  max-width:1140px;
}
/* 三角矢印 */
#kikiraravivi .arrow{
  position:relative;
}
#kikiraravivi .arrow::after{
  content:'';
  display: block;
  position: absolute;
  background:url(../images/ico-arrow.svg) center center/cover;
  zindex:+1;
}
/* ※ */
#kikiraravivi p.kome{
  margin-top:5px;
  position:reltive;
  padding-left:1em;
}
#kikiraravivi p.kome::before{
  position:absolute;
  content:'※';
  margin-left:-1em;
}
/* なみなみ下線 */
#kikiraravivi .bkg-line{
  padding-bottom:20px;
}
#kikiraravivi .bkg-line::after{
  margin-top:10px;
  content:'';
  display: block;
  position: relative;
  width:100%;
  height:20px;
  background:url(../images/bkg-line.webp) no-repeat center center;
  background-size:auto 100%;
}

@media screen and (max-width: 767px) {
  #kikiraravivi .bkg-line{
    padding-bottom:15px;
  }
  #kikiraravivi .bkg-line::after{
    height:15px;
  }
}

@media screen and (max-width: 428px) {
  #kikiraravivi .bkg-line{
    padding-bottom:10px;
  }
  #kikiraravivi .bkg-line::after{
    height:10px;
  }
}
/*---------------------------
H2
---------------------------*/


/*h2キラキラ*/
.hd-title{
  position:relative;
  width:100%;
}
.hd-title .left-star{
  position:absolute;
  top:0;
  left:0;
  width:15%;
  height:100%;
}
.hd-title .left-star .star1{
  position:absolute;
  top:45%;
  left:0;
  width:45%;
}
.hd-title .left-star .star2{
  position:absolute;
  top:0;
  left:55%;
  width:45%;
}
.hd-title .left-star .star3{
  position:absolute;
  bottom: 0;
  right:0;
  width:25%;
}
.hd-title .right-star{
  position:absolute;
  top:0;
  right:0;
  width:15%;
  height:100%;
}
.hd-title .right-star .star1{
  position:absolute;
  top:45%;
  right:0;
  width:45%;
}
.hd-title .right-star .star2{
  position:absolute;
  top:0;
  right:55%;
  width:45%;
}
.hd-title .right-star .star3{
  position:absolute;
  bottom: 0;
  left:0;
  width:25%;
}
/*h2コスメ付き*/

.hd-full{
  position:relative;
  margin:auto;
  width:66%;
  max-width:620px;
  text-align:center;
}
#kikiraravivi .hd-full img{
  width:76%;
}
.hd-full p{
  color:#fff;
  font-weight:700;
  font-size:var(--font-3l);
}
.hd-full::before{
  position:absolute;
  content:'';
  width:12%;
  height:100%;
  top:0;
  left:0;
  background:url(../images/illust-lip.webp) no-repeat top center/contain;
	transition: filiter 0.8s ease;
}
.hd-full::after{
  position:absolute;
  content:'';
  width:12%;
  height:100%;
  top:0;
  right:0;
  background:url(../images/illust-brush.webp) no-repeat top center/contain;
	transition: filiter 0.8s ease;
}


/*h2シンプル*/

.hd-title-simple{
  position:relative;
  margin:auto;
  text-align:center;
  padding-left:50px;
  padding-right:50px;
}
.contents-qa .hd-title-simple{
  width:calc(20% + 100px);
}
.contents-gaming-pc .hd-title-simple{
  width:calc(50% + 100px);
}

.hd-title-simple .left-star{
  position:absolute;
  top:calc(50% - 25px);
  left:0;
  width:50px
}
.hd-title-simple .left-star .star{
  position:absolute;
  top:0;
  left:0;
  width:100%;
}
.hd-title-simple .right-star{
  position:absolute;
  top:calc(50% - 25px);
  right:0;
  width:50px;
}
.hd-title-simple .right-star .star{
  position:absolute;
  top:0;
  right:0;
  width:100%;
}
.hd-title-simple .hd-title{
  width:100%;
}
@media screen and (max-width: 767px) {
  .hd-title-simple{
    padding-left:30px;
    padding-right:30px;
  }
  .contents-qa .hd-title-simple{
    width:calc(30% + 60px);
  }
  .contents-gaming-pc .hd-title-simple{
    width:calc(70% + 60px);
  }
  .hd-title-simple .left-star{
    top:calc(50% - 15px);
    width:30px
  }
  .hd-title-simple .right-star{
    top:calc(50% - 15px);
    width:30px
  }
}


/*---------------------------
パンくず
---------------------------*/
@media screen and (max-width: 940px) {
    .c-breadcrumb__list {
        padding: 15px;
        overflow-x: scroll;
    }
    .bnr_link_win11_wrap {
        margin:0 !important;
        padding:10px 0 !important;
        background-color: #f6f6f6 !important;
    }
    .bnr_link_win11 {
        float: none !important;
        width: 100% !important;
        margin:auto !important;
        text-align:center;
    }
}

/*---------------------------
背景
---------------------------*/

/*--------------
アニメ背景
---------------*/
.contents-back{
  background-attachment: fixed;
	position: relative;
	transition: background-color 0.8s ease;
}
.contents-back::before{
  content:'';
  display: block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url(../images/bkg-all.webp) no-repeat left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}

.contents-block .contents-block-content{
  position:relative;
  z-index:10;
}

/*デフォルト*/
.contents-back{
  background-color: var(--color-black);
}
.contents-back::before{
  opacity:0.8;
}

/*black*/
.contents-back.bkg-black{
  background-color: var(--color-black);
}
.contents-back.bkg-black::before{
  opacity:0.8;
}
.contents-back.bkg-black .star-f::before,
.contents-back.bkg-black .star::before,
.contents-back.bkg-black .hd-full::before,
.contents-back.bkg-black .hd-full::after{
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}

/*purple*/
.contents-back.bkg-purple{
  background-color: var(--color-purple);
}
.contents-back.bkg-purple::before{
  opacity:0.3;
}
.contents-back.bkg-purple .star-f::before,
.contents-back.bkg-purple .star::before,
.contents-back.bkg-purple .hd-full::before,
.contents-back.bkg-purple .hd-full::after{
  filter: brightness(0) saturate(100%) invert(0%) sepia(20%) saturate(7446%) hue-rotate(33deg) brightness(89%) contrast(111%);
}

/*pink*/
.contents-back.bkg-pink{
  background-color: var(--color-pink);
}
.contents-back.bkg-pink::before{
  opacity:0.2;
}
.contents-back.bkg-pink .star-f::before,
.contents-back.bkg-pink .star::before,
.contents-back.bkg-pink .hd-full::before,
.contents-back.bkg-pink .hd-full::after{
  filter: brightness(0) saturate(100%) invert(0%) sepia(20%) saturate(7446%) hue-rotate(33deg) brightness(89%) contrast(111%);
}

/*--------------
アニメナシ背景
---------------*/
.fix-back .contents-block{
  background-attachment: fixed;
	position: relative;
	transition: background-color 0.8s ease;
}
.fix-back .contents-block::before{
  content:'';
  display: block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url(../images/bkg-all.webp) no-repeat left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}

/*デフォルト*/
.fix-back .contents-block{
  background-color: var(--color-black);
}
.fix-back .contents-block::before{
  opacity:0.8;
}

/*black*/
.fix-back .contents-block.bkg-black{
  background-color: var(--color-black);
}
.fix-back .contents-block.bkg-black::before{
  opacity:0.8;
}

/*purple*/
.fix-back .contents-block.bkg-purple{
  background-color: var(--color-purple);
}
.fix-back .contents-block.bkg-purple::before{
  opacity:0.3;
}

/*pink*/
.fix-back .contents-block.bkg-pink{
  background-color: var(--color-pink);
}
.fix-back .contents-block.bkg-pink::before{
  opacity:0.2;
}


/*---------------------------
KV
---------------------------*/
.block-kv{
  position:relative;
  width:100%;
}

.limited-date{
  position:relative;
  width:100%;
  text-align:center;
  font-size:clamp(16px, 0.818rem + 0.91vw, 24px);
  font-weight:700;
  background:var(--color-pink);
  color:#fff;
}

/*---------------------------
ナビ
---------------------------*/
.nav_box {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden;
  width:100%;
  height: var(--nav-wrap);
}
.nav_box>div{
  height: 100%;
}

.nav_box ul {
  margin-top:10px;
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(3, 1fr);
}
.nav_box li a{
  display: block;
  position:relative;
  width:100%;
  text-align:center;
}

#kikiraravivi .nav-img {
  position:relative;
  margin:auto;
  width:50%;
  z-index:+1;
}

.nav_box .nav-txt{
  position:relative;
  width:100%;
  font-size:var(--font-ms);
  background:rgba(255,255,255,0.9);
  padding:1em 0;
  border-radius:3em;
  margin-top:-1em;
  font-weight:700;
}

.fix-anchor {
  margin-top: calc(var(--nav-wrap) * -1);
  padding-top: var(--nav-wrap);
}

@media screen and (max-width: 767px) {
  .nav_box ul {
    margin-top:0;
    gap:5px;
  }
  #kikiraravivi .nav-img {
    width:80%;
  }
  .nav_box .nav-txt span{
    display:none;
  }
  .nav_box .nav-txt{
    content:'';
    padding:0;
    height:15px;
    margin-top:-18px;
  }
}


/*---------------------------
お知らせ
---------------------------*/

#information .contents-block h4{
  text-align:center;
}
#information .contents-block{
  padding-top:0;
  text-align:left;
}
#information .lead-title{
  margin-bottom:10px;
  color:var(--color-pink);
  font-weight:700;
}

#information .lead-txt{
  font-size: var(--font-ms);
}
#information .lead-txt+.lead-txt{
  padding-top:20px;
  margin-top:20px;
  border-top:1px dotted #ccc;
}
#information .lead-txt p + p{
  margin-top: var(--gap-s);
}

/*---------------------------
live
---------------------------*/
.contents-live .lead-txt{
  margin:var(--gap-m);
}
.live-frame{
  margin:auto;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:10px;
  overflow: hidden;
}
.live-frame iframe{
  width:100%;
  height:100%;
}

/*---------------------------
LINEUP
---------------------------*/
.contents-lineup .contents-block{
  padding-bottom:0;
}
.contents-lineup h2{
  padding-bottom:var(--gap-l);
}

/*---------------------------
イメージおすすめモデルセット
---------------------------*/
.contents-block-chara {
	position: relative;
  width:100%;
}

/*キャッチ*/
.lineup-exp-wrap{
	position: relative;
  width:55%;
}
.lineup-exp-wrap h3{
  font-size:var(--font-3l);
  font-weight:700;
  color:var(--color-pink);
  transform:rotate(-5deg);
  text-align:left;
}
#kikiraravivi .lineup-exp-wrap .bkg-line::after{
  background-position:left center;
  filter: brightness(0) saturate(100%) invert(88%) sepia(10%) saturate(7484%) hue-rotate(286deg) brightness(102%) contrast(101%);
}
.lineup-exp-txt{
  position:relative;
  font-size:var(--font-2l);
  font-weight:700;
  color: #fff;
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
  line-height:1.6;
  text-align:left;
  transform:rotate(-5deg);
}

/*矢印*/
.lineup-arrow{
	position: absolute;
  top:100px;
  left:60%;
  width:12%;
}

@media screen and (max-width: 767px) {
  .lineup-exp-wrap{
    width:100%;
  }
  .lineup-arrow {
    position: relative;
    top: -10px;
  }
}

/*PCイメージ外側*/
.lineup-pc-wrap{
	position: relative;
  width:100%;
}
/*キャラ*/
.lineup-chara{
	position: absolute;
  top:0;
  left:-6%;
  width:63%;
}
/*PC*/
.lineup-pc{
	position: relative;
  top:0;
  left: 52%;
  width:48%;
}
.pc-back{
	position: absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
.pc-image{
	position: relative;
  top: 0;
  left: 25%;
  width: 50%;
}
.lineup-pc-wrap .note{
  color:#fff;
  margin-top:var(--gap-s);
  text-align:right;
}


/*モデルセット*/
.pc-set-wrap{
  position:relative;
  margin-left:50%;
  width:50%;
  z-index:10;
}
.pc-set-wrap .pc-set{
  width:100%;
  background:#fff;
  border-radius: var(--radius);
  margin-top:var(--gap-s);
  padding:var(--gap-s);
}
.pc-set-wrap .pc-set h4{
  font-size:var(--font-2l);
  font-weight:700;
  color:var(--color-purple);
}
.pc-set-wrap .pc-set .main-txt{
  margin:var(--gap-s) 0;
}

/*セットリンクボタン*/
.pc-set-wrap .pc-set .btn-pc-set{
  display:grid;
  gap:15px;
  grid-template-columns: repeat(2, 1fr);
  width:100%;
}
.pc-set-wrap .pc-set .btn-pc-set.store-order{
  display:block;
  width:100%;
}
.pc-set-wrap .pc-set .btn-pc-set a{
  position:relative;
  display:block;
  border-radius: 3rem;
  width:100%;
  padding:15px 0;
  color:#fff;
  font-weight:700;
  background:var(--color-purple);
}
.pc-set-wrap .pc-set .btn-pc-set a:hover{
  background:var(--color-pink);
}

.pc-set-wrap .pc-set .btn-pc-set a span{
  position:relative;
  padding-right:20px;
}
.pc-set-wrap .pc-set .btn-pc-set a span::after{
  width:14px;
  height:14px;
  top:calc(50% - 7px);
  right:-14px;
  filter: brightness(0) saturate(100%) invert(100%) sepia(88%) saturate(2%) hue-rotate(114deg) brightness(106%) contrast(101%);
}

@media screen and (max-width: 428px) {
  .pc-set-wrap .pc-set .btn-pc-set a span{
    padding-right:10px;
  }
  .pc-set-wrap .pc-set .btn-pc-set a span::after{
    width:10px;
    height:10px;
    top:calc(50% - 5px);
    right:-10px;
  }
}

/*金額*/
.pc-set-wrap .pc-set .model-price span{
  font-weight:700;
  font-size:1.2em;
  color:var(--color-purple);
}

/*構成注意*/
.pc-set-caution{
  text-align:right;
  line-height:1.2;
  color:#fff;
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
  margin-top:30px;
  -webkit-text-stroke: 0.3em var(--color-black);
}
.pc-set-caution .model-note{
  margin-top:10px;
}

/*三井住友分割*/
.pc-set-wrap .smbc{
  margin-top:var(--gap-s);
  text-align:left;
  color:#fff;
  font-size:var(--font-s);
}
.pc-set-wrap .smbc a{
  position:relative;
  text-decoration: underline;
}
.pc-set-wrap .smbc a::after{
  position:absolute;
  content:'';
  top:calc(50% - 0.5em);
  right:-1.5em;
  width:1em;
  height:1em;
  background:url(../images/ico-info.svg) no-repeat center center / cover;
}
.pc-set-wrap .smbc a:hover{
  opacity: 0.7;
}
 
@media screen and (max-width: 767px) {
  .pc-set-wrap{
    margin-left:0;
    width:100%;
  }
}

/*---------------------------
白ボックス
---------------------------*/

.block-box{
  position:relative;
  margin-top:var(--gap-l);
  width:100%;
  background:#fff;
  padding:var(--gap-m);
  border-radius:var(--radius);
}
.block-box h4{
  font-size:var(--font-2l);
  font-weight:700;
  color:var(--color-purple);
}
.block-box .bkg-line::after{
  filter: brightness(0) saturate(100%) invert(10%) sepia(99%) saturate(7247%) hue-rotate(274deg) brightness(88%) contrast(91%);
}


/*---------------------------
BENEFIT
---------------------------*/
/*comming soon*/
.comming-soon{
  position:relative;
  margin-top:50px;
  background:rgba(0,0,0,1);
  width:100%;
  height:clamp(250px, 9.943rem + 28.41vw, 500px);
  display:flex;
  align-items: center;
  justify-content: center;
  color:#fff;
  font-size:var(--font-l);
  border-radius:var(--radius);
  font-weight:700;
}

/*クイズ*/
.contents-benefit .quiz-title{
  position:absolute;
  top:-50px;
  left:0;
  width:23%;
}
.contents-benefit .quiz-title .bkg-ink{
  position:absolute;
  top:0;
  left:0;
  width:100%;
}
.contents-benefit .quiz-title .hd-quiz{
  position:relative;
  width:70%;
  margin-top: 20%;
  margin-left: 15%;
}

.contents-benefit .lead-txt{
  font-size:var(--font-l);
  margin-bottom:var(--gap-s);
  font-weight:700;
}
.contents-benefit .box-in-box{
  width:100%;
  padding:var(--gap-m);
  border-radius:var(--radius);
  background:#f6f6f6;
  font-weight:700;
}
.contents-benefit .box-in-box p{
  margin-bottom:var(--gap-m);
}

.contents-benefit .quiz-answer{
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(2, 1fr);
}

.contents-benefit .quiz-answer li{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align:center;
  border-radius: 3rem;
  padding: 15px 10px;
  background-image: linear-gradient(90deg, var(--color-purple), var(--color-pink));
  border: 4px solid #fff;
  outline-offset: 0;
  outline: 1px solid var(--color-purple);
  color: #fff;
  width: 100%;
  height: 100%;
}
.contents-benefit .quiz-answer li:hover{
  cursor:pointer;
  transition: all 0.5s;
  transform: translateY(-5px);
}

.contents-benefit .quiz-answer .arrow{
  padding-right:1.5em;
}
.contents-benefit .quiz-answer .arrow::after{
  width:0.8em;
  height:0.8em;
  top:calc(50% - 0.4em);
  right:0;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}

@media screen and (max-width: 767px) {
  .contents-benefit .quiz-title{
    top: -50px;
    left: -20px;
    width: 30%;
  }
  .contents-benefit .quiz-answer{
    grid-template-columns: repeat(1, 1fr);
  }
  .contents-benefit .quiz-answer .arrow{
    width:90%;
    line-height:1.2;
  }
}

/*購入特典*/
.contents-benefit .block-present-caution{
  margin-top:20px;
  line-height: 1.2;
  color: var(--color-black);
  -webkit-text-fill-color: var(--color-black);
  paint-order: stroke fill;
  -webkit-text-stroke: 0.3em var(--color-pink);
}

.contents-benefit .block-present-wrap{
  margin-top: var(--gap-l);
  display: grid;
  gap:40px;
  grid-template-columns: repeat(2,1fr);
}

.contents-benefit .block-present-wrap .block-box{
  border-top-left-radius: 200px;
  border-top-right-radius: 200px;
}

.contents-benefit .block-present-wrap .block-star{
  position: absolute;
  width: 70%;
  height: 20%;
  top: 10%;
  left: 15%;
}
.contents-benefit .block-present-wrap .block-star .star1{
  position:absolute;
  bottom:0;
  left:0;
  width:15%
}
.contents-benefit .block-present-wrap .block-star .star2{
  position:absolute;
  top:0;
  right:0;
  width:15%
}

.contents-benefit .block-present-wrap .box-title{
  position: relative;
  margin-left: 10%;
  margin-top: -25%;
  width: 80%;
  text-align: center;
}

.contents-benefit .present-cont{
  position: relative;
  margin: var(--gap-m) auto 0 auto;
  width: 100%;
}
.contents-benefit .present-img{
  position:relative;
  margin:var(--gap-m) auto 0 auto;
  width:80%;
}

@media screen and (max-width: 767px) {
  .contents-benefit .block-present-wrap{
    grid-template-columns: repeat(1, 1fr);
  }
  .contents-benefit .block-present-caution{
    text-align:left;
  }
}

/*---------------------------
Q&A
---------------------------*/
/*イラスト*/
.contents-qa .img-illust{
  position:absolute;
  width:30%;
  height:100%;
  top:0;
  right:0;
}
.contents-qa .img-illust .star{
  position:absolute;
  width:20%;
  top:0;
  right:0;
}
.contents-qa .img-illust .star-f{
  position:absolute;
  width:20%;
  top:20%;
  left:0;
}
.contents-qa .img-illust .cosme-lip{
  position:relative;
  width:22%;
  top:10%;
  left:34%;
}
.contents-qa .img-illust .cosme-brush{
  position: absolute;
  width: 22%;
  top: 40%;
  left: 60%;
}
.contents-qa .img-illust .cosme-bottle{
  position:absolute;
  width:40%;
  bottom:0;
  right:0;
}

@media screen and (max-width: 767px) {
  .contents-qa .img-illust{
    display:none;
  }
}

/*テキスト*/

.note-qa-wrap{
  position:relative;
}
.note-qa{
  display:block;
  position:relative;
  margin-top:var(--gap-m);
  color:#fff;
}
.note-qa dt{
  width:fit-content;
  background:var(--color-purple);
  padding:0.5em 1em;
  border-radius:2rem;
  font-weight:700;
  font-size:var(--font-l);
}
.note-qa dd{
  padding:var(--gap-s);
  text-align:left;
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
  -webkit-text-stroke: 0.3em var(--color-black);
}
.note-qa dd strong{
  -webkit-text-fill-color: #ff0;
}
.note-qa:has(+.note-assembly) dd{
  padding-right:200px;
}

/*組立の注意*/
.block-box.note-assembly {
  margin-top: var(--gap-m);
  position:relative;
}
.contents-qa .block-box p{
  margin-top:var(--gap-s);
  font-size:var(--font-l);
}



@media screen and (max-width: 767px) {
  .note-assembly{
    margin-top:80px;
  }
  .note-qa dt{
    width:100%;
  }
  .note-qa:has(+.note-assembly) dd {
    padding-right: 0;
  }
}
/*---------------------------
おすすめゲーミングPC
---------------------------*/

/*swiper*/
.recommend-gaming-pc{
  width: 100%;
  max-width: 1140px;
  margin: 30px auto 0;
  box-sizing: border-box;
}
.recommend-gaming-pc .swiper-container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: visible;
}
.recommend-gaming-pc .swiper-container .swiper-wrapper .swiper-slide {
  width: 268px;
  height: auto;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
}
.recommend-gaming-pc .swiper-container .swiper-wrapper .swiper-slide a{
  width: 100%;
  height: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  border-radius: 15px;
  position: relative;
}
.recommend-gaming-pc .swiper-container .swiper-wrapper .swiper-slide a:hover{
  outline: 1px solid rgba(0, 162, 230, 0.5);
  filter: drop-shadow(5px 5px 5px rgba(0, 162, 230, 0.1));
}

.recommend-gaming-pc .model-name{
  font-size: 18px;
  font-weight: 700;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;  
  overflow: hidden;
  height: calc(2em* 1.25);
  line-height: 1.25;
  text-align:left;
}
.recommend-gaming-pc .model-thumb{
  margin-top: 10px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.recommend-gaming-pc .model-thumb img{
  width: 70%;
  margin:auto;
}
.recommend-gaming-pc .model-thumb .icon-display{
  display: inline-block;
  position: absolute;
  left: 0;
  top: 10px;
  padding: 3px 12px;
  background: #ececec;
  font-weight: 700;
  border-radius: 3em;
}
.recommend-gaming-pc .model-thumb .icon-display small{
  font-size: 10px;
  bottom: 0;
  font-weight: 400;
}

.recommend-gaming-pc .model-price{
  margin-top: 10px;
  font-size: 22px;
  font-weight: 700;
  text-align: right;
}
.recommend-gaming-pc .model-price small{
  font-size: 12px;
  font-weight: 400;
  bottom: 0;
}

.recommend-gaming-pc .btn-detail{
  width: 100%;
  margin: 20px auto 0 auto;
  padding:0.5em 0 0.7em;
  border-radius: 2rem;
  font-size: 18px;
  background:#404040;
  line-height: 1;
  color:#fff;
}
.recommend-gaming-pc .btn-detail .arrow{
  padding-right:1em;
}
.recommend-gaming-pc .btn-detail .arrow::after{
  width:0.6em;
  height:0.6em;
  top:calc(50% - 0.2em);
  right:0;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(82deg) brightness(105%) contrast(105%);
}
.recommend-gaming-pc .model-top li{
  font-size: 12px;
  text-align:left;
}
.recommend-gaming-pc-button{
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(98,98,98,0.5);
  box-shadow: 0 0 20px 0 rgba(0,0,0,0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: +1;
  backdrop-filter:blur(5px);
}
.recommend-gaming-pc-button::after{
  content: '';
  width: 30%;
  height: 30%;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-12.5%, 12.5%);
}
.recommend-gaming-pc-button--prev{
  left: -80px;
  transform: rotate(-135deg);
}
.recommend-gaming-pc-button--next{
  right: -80px;
  transform: rotate(45deg);
}
.recommend-gaming-pc-button.swiper-button-disabled{
  background: rgba(220,220,220,0.5);
  cursor: default;
}



@media screen and (max-width:767px){
  .recommend-gaming-pc .swiper-container {
    width: calc(100% - 30px);
  }
  .recommend-gaming-pc .swiper-container .swiper-wrapper .swiper-slide {
    width: 227px;
  }
  .recommend-gaming-pc .swiper-container .swiper-wrapper .swiper-slide a{
    padding: 5px 12px 12px 12px;
    border-radius: 6px;
  }
  .recommend-gaming-pc .model-name{
    font-size: 16px;
  }
  .recommend-gaming-pc .model-thumb{
    margin-top: 0;
  }
  .recommend-gaming-pc .model-thumb .icon-display{
    padding: 5px 10px;
    font-size: 12px;
  }
  .recommend-gaming-pc .model-thumb .icon-display small{
    font-size: 6px;
  }
  .recommend-gaming-pc .model-price{
    font-size: 18px;
  }
  .recommend-gaming-pc .model-price small{
    font-size: 10px;
  }

  .recommend-gaming-pc .btn-detail{
    margin: 18px auto 0 auto;
    font-size: 16px;
  }

  .recommend-gaming-pc .model-top ul{
    margin-top: 15px;
  }
  .recommend-gaming-pc .model-top li{
    font-size: 11px;
  }
  .recommend-gaming-pc-item::before{
    left: 6px;
  }
}

/*---------------------------
Profile
---------------------------*/
.contents-profile .contents-block{
  position:relative;
  padding: var(--gap-m) 0;
}
.prof-title{
  margin:auto;
  width:75%;
  max-width:420px;
}

/*キャラ*/
.prof-chara{
  position:absolute;
  width:60%;
  margin-top: -80px;
  margin-left:40%;
}
/*プロフ*/
.prof-block{
  position:relative;
  right:0;
  width:50%;
  z-index:+1;
  padding-top: 50px;
}
.prof-txt{
  background:#fff;
  padding:var(--gap-m);
  border-radius:var(--radius);
  text-align:left;
  font-size:var(--font-ms);
  transform:rotate(5deg);
}
.prof-txt .lead-txt{
  font-weight:700;
  font-size:var(--font-l);
  text-align:center;
  margin-bottom:10px;
  color:var(--color-purple);
}

.prof-sns{
  margin:var(--gap-m) auto;
  width:100%;
  display:grid;
  grid-template-columns: repeat(2,1fr);
  gap:20px;
}
.prof-sns li a{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align:center;
  border-radius: 3rem;
  padding: 15px 10px;
  background-image: linear-gradient(90deg, var(--color-purple), var(--color-pink));
  border: 4px solid #fff;
  outline-offset: 0;
  outline: 1px solid var(--color-purple);
  color: #fff;
  width: 100%;
  height: 100%;
}
.prof-sns li a .arrow{
  padding-right:1em;
}
.prof-sns li a .arrow::after{
  width:0.6em;
  height:0.6em;
  top:calc(50% - 0.2em);
  right:0;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
@media screen and (max-width:767px){
  .contents-profile .contents-block-inner{
    width:100%;
  }
  .prof-chara{
    position:absolute;
    width:90%;
    margin-top: -20px;
  }
  .prof-chara{
    margin-left:0;
    left:auto;
    right:-30%;
  }
  .prof-block{
    position:relative;
    width:63%;
    z-index:+1;
    padding-top: 30px;
  }
  .prof-title{
    padding:8px;
  }
  .prof-sns{
    width:90%;
    margin-left:10%;
    grid-template-columns: repeat(1,1fr);
  }
}
/*---------------------------
組立代行サービス
---------------------------*/
.contents-assembling{
  padding:var(--gap-l) 0;
}
.contents-assembling .title-txt{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight:900;
  font-size:var(--font-4l);
  color:#999;
  margin-bottom:var(--gap-s);
  line-height:1.2;
}
.contents-assembling a:hover{
  cursor:pointer;
  transition: all 0.5s;
  transform: translateY(-5px);
}
/*---------------------------
フッタ
---------------------------*/
.contents-footer{
  background:#f6f6f6;
  padding:var(--gap-l) 0;
  font-weight:700;
  font-size:var(--font-s);
}
.contents-footer .link-copy a{
  display:block;
  margin:20px auto 0 auto;
  width:fit-content;
  background:#fff;
  padding:0.5em 2em 0.5em 1em;
  border:1px solid #333;
  border-radius:3rem;
  font-weight:400;
}
.contents-footer .link-copy .arrow::after{
  width:0.6em;
  height:0.6em;
  top:calc(50% - 0.3em);
  right:1em;
}

/*---------------------------
モーダルウィンドウ
---------------------------*/

.modaal-container {
  position:relative;
  align-self: center;
  width: 90%;
  max-width: 800px;
  padding: 30px 30px 15px;
  box-sizing: border-box;
  background: #fff;
  border-radius:var(--radius);
  overflow: hidden;
}
.modaal-content-container {
  position:relative;
  width: 100%;
}

.modal-content {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background: none;
  border: none;
  border-radius: 0;
  outline: 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: var(--font-m);
  line-height:1.6;
  text-align:center;
}
.modal-content strong{
  font-weight:700;
  margin-left:0.2em;
  margin-right:0.2em;
  color: var(--color-red);
  text-align:center;
}


.modaal-container img{
  width: 100% !important;
}

.btn-close{
  display:block;
  position: absolute;
  content:'';
  width:50px;
  height:50px;
  top: -10px;
  right: -10px;
  cursor: pointer;
  background:url(../images/ico-close.svg) no-repeat center center / 60%;
  filter: brightness(0) saturate(100%) invert(12%) sepia(100%) saturate(5398%) hue-rotate(272deg) brightness(87%) contrast(96%);
  z-index:+1;
}
@media screen and (max-width: 428px) {
  .modaal-content-container {
    padding:10px;
  }
  .btn-close{
    top: -20px;
    right: -20px;
  }
}

/*---------------------------
モーダルコンテンツ内
---------------------------*/
#kikiraravivi h2.modal-title,
h2.modal-title{
  margin: -20% 0 0 20%;
  width: 70% !important;
}
.modaal-container .vivi{
  position: absolute;
  width: 80%;
  top: -10%;
  left: -25%;
}
.modaal-container strong{
  color:var(--color-purple);
}
.correct-content {
  position: relative;
  z-index: +1;
  width: 60%;
  margin-left: 40%;
}
.lead-txt{
  font-size:var(--font-l);
  -webkit-text-fill-color: unset;
  -webkit-text-stroke: 0.3em #fff;
  paint-order: stroke fill;
}

.voice__note{
  font-size:12px;
  font-weight:400;
}

.btn-download{
  margin:40px auto 0 auto;
  width:100%;
  display:grid;
}
.btn-download a{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align:center;
  border-radius: 3rem;
  padding: 15px 10px;
  background-image: linear-gradient(90deg, var(--color-purple), var(--color-pink));
  border: 4px solid #fff;
  outline-offset: 0;
  outline: 1px solid var(--color-purple);
  width: 100%;
  height: 100%;
  font-weight:700;
  line-height:1.2;
  color:#fff;
}

.btn-download a .arrow{
  position:relative;
  padding-right:1em;
}
.btn-download a .arrow::after{
  content:'';
  display: block;
  position: absolute;
  background:url(../images/ico-arrow.svg) center center/cover;
  zindex:+1;
  width:0.6em;
  height:0.6em;
  top:calc(50% - 0.3em);
  right:0;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
  transform:rotate(90deg);
}

.incorrect-image{
  margin:0 auto;
  width:60%;
}

@media screen and (max-width: 767px) {
  .correct-content {
    width: 100%;
    margin-left: 0;
  }
  .voice__note {
    text-align: right;
  }
}
@media screen and (max-width: 500px) {
  .correct-content {
    width: 120%;
    margin-left: -10%;
  }
  #kikiraravivi h2.modal-title, h2.modal-title {
    margin: -30% 0 0 20%;
    width: 80% !important;
  }
}


/*---------------------------
mp3player
---------------------------*/
.player-block {
	width: 100%;
	max-width: 350px;
	margin: 50px auto 0;
	position: relative;
}
.player-block + .player-block{
	margin-top:20px;
}
.player{
	display: flex;
	align-items: center;
	gap: 10px;
	background: #F1F3F4;
	padding: 10px 20px;
	margin: 10px 0 0;
	border-radius: 9999px;
	box-sizing: border-box;
}

.lamy-player.player {
  background: var(--color-lamy-sub);
}
.nene-player.player {
  background: var(--color-nene-sub);
}

.player button{
	font-family:"Noto Sans JP", sans-serif;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0;
	border: none;
	background: none;
	font-size: 24px;
	cursor: pointer;
}
.player .playPauseBtn {
	font-size: 13px;
	line-height: 1;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	flex: none;
}
.player .playPauseBtn:hover {
	background: #fff;
}
.player input[type="range"] {
	width: 100%;
	height: 1px;
	appearance: auto;
	background: inherit;
	accent-color: #484848;
}
.player input[type="range"]::-webkit-slider-thumb {
	width: 8px;
	height: 8px;
}
.player .currentTime, .duration {
	font-size: 14px;
}
.player img.volumeIcon {
	width: 20px !important;
}

@media screen and (max-width: 767px) {
  .player-block {
	  margin: 20px auto 0;
  }
}
/*---------------------------
追加コンテンツ
---------------------------*/
.contents-assembling {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}

/*---------------------------
上に戻るボタン
---------------------------*/
.page-top-anchor {
  opacity: 0;
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:100;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.page-top-anchor a{
  position:absolute;
  display:block;
  content:'';
  padding:10px;
  width:50px;
  height:50px;
  border-radius: 50%;
  border:1px solid #fff;
  background: var(--color-black);
}
.page-top-anchor .arrow::after{
  top:25%;
  left:30%;
  width:40%;
  height:40%;
  transform:rotate(-90deg);
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}

.page-top-anchor.is-active {
  opacity: 1;
  transform: translate(0, 0);
}

/*---------------------------
アニメーション動き
---------------------------*/
.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in.is-active {
  opacity: 1;
  transform: translate(0, 0);
}

.fade-delay1 {
  transition-delay: 100ms;
}
.fade-delay2 {
  transition-delay: 200ms;
}
.fade-delay3 {
  transition-delay: 300ms;
}
.fade-delay4 {
  transition-delay: 400ms;
}
.fade-delay5 {
  transition-delay: 500ms;
}

.fade-in-zoom {
  transform: scale(0.5);
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

/*ふわふわ*/
.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

/*キラン*/
.kiran {
  opacity: 1;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.kiran::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
.kiran:hover::before {
  animation: kiran 0.5s linear;
}
 
@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/*---------------------------------*/
/*コスメ*/
.cosme-lip,
.cosme-brush{
  position:relative;
  aspect-ratio: 1 / 2 !important;
}
.cosme-bottle{
  position:relative;
  aspect-ratio: 1 / 1.2 !important;
}

.cosme-lip::before{
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent url(../images/illust-lip.webp) no-repeat center center / cover;
	transition: filiter 0.8s ease;
}
.cosme-brush::before{
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent url(../images/illust-brush.webp) no-repeat center center / cover;
	transition: filiter 0.8s ease;
}
.cosme-bottle::before{
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent url(../images/illust-bottle.webp) no-repeat center center / cover;
	transition: filiter 0.8s ease;
}


/*キラキラ*/
.star,
.star-f{
  position:relative;
  aspect-ratio: 1 / 1.25 !important;
}
.star::before{
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent url(../images/illust-kira.webp) no-repeat center center / cover;
	transition: filiter 0.8s ease;
}
.star-f::before{
  position:absolute;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:transparent url(../images/illust-kira-f.webp) no-repeat center center / cover;
	transition: bfilter 0.8s ease;
}

/*#fffフィルター*/
.f-white::before,
.f-white::after{
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%);
}
/*#000フィルター*/
.f-black::before,
.f-black::after{
  filter: brightness(0) saturate(100%) invert(0%) sepia(20%) saturate(7446%) hue-rotate(33deg) brightness(89%) contrast(111%);
}


/* ① メインのふんわり */
@keyframes fluffyScale {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(0.8);
    opacity: 0.3;
  }
}

/* ② 少し遅れてふんわり */
@keyframes fluffyScaleDelay {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  25% {
    transform: scale(1.1);
    opacity: 0.8;
  }
  75% {
    transform: scale(0.8);
    opacity: 0.3;
  }
}

/* ③ さらにずれたふんわり */
@keyframes fluffyScaleDelay2 {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  15% {
    transform: scale(1.05);
    opacity: 0.9;
  }
  50% {
    transform: scale(0.8);
    opacity: 0.3;
  }
  85% {
    transform: scale(1.1);
    opacity: 0.8;
  }
}

/* 各クラスのアニメーション指定 */
.kirakira1 {
  display: inline-block;
  animation: fluffyScale 2.5s ease-in-out infinite;
}

.kirakira2 {
  display: inline-block;
  animation: fluffyScaleDelay 2.5s ease-in-out infinite;
  animation-delay: 1.25s; /* 半周期ずらす */
}

.kirakira3 {
  display: inline-block;
  animation: fluffyScaleDelay2 2.5s ease-in-out infinite;
  animation-delay: 0.8s; /* 少し中途半端にずらす */
}



/*---------------------------
売り切れ
---------------------------*/
.sold-out-area{
  position:relative;
  width:100%;
}
.sold-out-area .sold-out{
  position:absolute;
  top:-5px;
  left:-5px;
  width:calc(100% + 10px);
  height:calc(100% + 10px);
  z-index:+1;
  background:rgb(0,0,0,0.8);
  color:#fff;
  line-height:1.2;
  display:flex;
  justify-content: center;
  align-items: center;
  border-radius:10px;
}
.sold-out-area .sold-out .txt-s{
  font-size:0.7em;
}