@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: 120px;
  --m-nav-wrap: -120px;
  --nav-height: 80px;
  --radius: 20px;
  
  --color-lamy: #47a3f4;
  --color-lamy-sub: #a6d1f1;
  --color-nene: #f78e2a;
  --color-nene-sub: #fcb3c5;
  --color-red: #fe009b;
  --color-green: #57e650;
  --color-yellow: #ebff00;
  --color-blue: #33f3ff;
  --color-dark: #063f5c;
  
  --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: 80px;
    --m-nav-wrap: -80px;
    --nav-height: 60px;
    --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共通レイアウト
---------------------------*/
#magamaga{
  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;
} 
#magamaga a:hover{
  cursor:pointer;
  transition: all 0.5s;
  transform: translateY(-5px);
}
#magamaga img{
  width:100%;
  margin:auto;
} 

/* テキスト */
#magamaga em{
  font-style:normal;
  font-weight:bold;
} 
#magamaga strong{
  font-weight:700;
  margin-left:0.2em;
  margin-right:0.2em;
  color: var(--color-red);
}
#magamaga h2{
  margin:auto;
  width:fit-content;
}
h2.hd-full img{
  width:auto;
  height:160px;
}
h2.hd-simple img{
  width:auto;
  height:76px;
}
h2.hd-full.star::before,
h2.hd-full.star::after{
  top:40px;
}

@media screen and (max-width: 767px) {
  h2.hd-full img{
    height:80px;
  }
  h2.hd-simple img{
    height:30px;
  }
}

#magamaga .note{
  font-size:var(--font-s);
  line-height:1.2;
}
#magamaga .note-s{
  font-size:12px;
  line-height:1.2;
}

/* レイアウト */
.contents-block{
  position:relative;
  display:block;
  padding:var(--gap-l) 0;
  width:100%;
}
.contents-block-inner{
  position:relative;
  display:block;
  margin:auto;
  width:calc(100% - 30px);
  max-width:1140px;
}
/* 三角矢印 */
#magamaga .arrow{
  position:relative;
}
#magamaga .arrow::after{
  content:'';
  display: block;
  position: absolute;
  background:url(../images/ico-arrow.svg) center center/cover;
  zindex:+1;
}
/* ※ */
#magamaga p.kome{
  margin-top:5px;
  position:reltive;
  padding-left:1em;
}
#magamaga p.kome::before{
  position:absolute;
  content:'※';
  margin-left:-1em;
}


/*---------------------------
パンくず
---------------------------*/
@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/back-triangle-pattern.webp) repeat-y left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}
.contents-back::after{
  content:'';
  display: block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url(../images/back-triangle.webp?01) no-repeat left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}

.contents-block .contents-block-content{
  position:relative;
  z-index:10;
}
/*VIDEO*/
.contents-back.video{
  background-color: var(--color-green);
}
.contents-back.video::before{
  opacity:0.2;
}
.contents-back.video::after{
  opacity:0.5;
}

/*LINEUP*/
.contents-back.white{
  background-color:#fff;
}
.contents-back.white::before{
  opacity:0.2;
  filter: brightness(0) saturate(100%) invert(80%) sepia(71%) saturate(505%) hue-rotate(157deg) brightness(105%) contrast(98%);
}
.contents-back.white::after{
  opacity:0.5;
  filter: brightness(0) saturate(100%) invert(97%) sepia(52%) saturate(1266%) hue-rotate(165deg) brightness(104%) contrast(98%);
}

/*BENEFIT*/
.contents-back.benefit{
  background-color: var(--color-yellow);
}
.contents-back.benefit::before{
  opacity:0.9;
}
.contents-back.benefit::after{
  opacity:0.8;
}

/*lamy*/
.contents-back.lamy{
  background-color: var(--color-lamy);
}
.contents-back.lamy::before{
	opacity:0.3;
}
.contents-back.lamy::after{
	opacity:0.3;
}

/*nene*/
.contents-back.nene{
  background-color: var(--color-nene);
}
.contents-back.nene::before{
	opacity:0.3;
}
.contents-back.nene::after{
	opacity:0.3;
}

/*--------------
アニメナシ背景
---------------*/
.fix-back .contents-block::before{
  content:'';
  display: block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url(../images/back-triangle-pattern.webp) repeat-y left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}
.fix-back .contents-block::after{
  content:'';
  display: block;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:url(../images/back-triangle.webp?01) no-repeat left top / 100%;
  z-index:+1;
  background-attachment: fixed;
}

/*Q&A*/
.fix-back .contents-qa .contents-block{
  background:#fff;
}
.fix-back .contents-qa .contents-block::before{
  opacity:0.2;
  filter: brightness(0) saturate(100%) invert(80%) sepia(71%) saturate(505%) hue-rotate(157deg) brightness(105%) contrast(98%);
}
.fix-back .contents-qa .contents-block::after{
  opacity:0.5;
  filter: brightness(0) saturate(100%) invert(97%) sepia(52%) saturate(1266%) hue-rotate(165deg) brightness(104%) contrast(98%);
}

/*おすすめPC*/
.fix-back .contents-gaming-pc .contents-block{
  background:#f6f6f6;
}
.fix-back .contents-gaming-pc .contents-block::before{
  opacity:0.8;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7479%) hue-rotate(199deg) brightness(107%) contrast(97%);
}
.fix-back .contents-gaming-pc .contents-block::after{
  opacity:0.7;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7479%) hue-rotate(199deg) brightness(107%) contrast(97%);
}

/*PROFILE*/
.fix-back .contents--chara.lamy .contents-block {
	background-color: var(--color-lamy);
}
.fix-back .contents--chara.nene .contents-block{
	background-color: var(--color-nene);
}
.fix-back .contents--chara .contents-block::before{
	opacity:0.3;
}
.fix-back .contents--chara .contents-block::after{
	opacity:0.3;
}


@media screen and (max-width: 767px) {
  .contents-back::before,
  .fix-back .contents-block::before{
    background-size:200%;
  }
}
/*---------------------------
KV
---------------------------*/
.block-kv{
  position:relative;
  width:100%;
}

/*---------------------------
ナビ
---------------------------*/
.nav_box {
  background: rgba(255,255,255,0.8);
  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:20px;
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(4, 1fr);
}
.nav_box li a{
  position:relative;
  display:flex;
  width:100%;
  height: var(--nav-height);
  border-radius: 3rem;
  justify-content: center;
  align-items: center;
}

#magamaga .nav_box img {
  width:70%;
}
.nav_box li.nav-video a{
  background-color: var(--color-green);
}
.nav_box li.nav-lamy a{
  background-color: var(--color-lamy);
}
.nav_box li.nav-nene a{
  background-color: var(--color-nene);
}
.nav_box li.nav-benefit a{
  background-color: var(--color-yellow);
}
.nav_box .arrow::after{
  width:20px;
  height:20px;
  bottom:-10px;
  left:calc(50% - 10px);
  transform:rotate(90deg);
}
.nav_box li.nav-video .arrow::after,
.nav_box li.nav-benefit .arrow::after{
  filter: brightness(0) saturate(100%) invert(17%) sepia(17%) saturate(4666%) hue-rotate(171deg) brightness(98%) contrast(95%);
}
.nav_box li.nav-lamy .arrow::after{
  filter: brightness(0) saturate(100%) invert(85%) sepia(3%) saturate(4796%) hue-rotate(177deg) brightness(94%) contrast(101%);
}
.nav_box li.nav-nene .arrow::after{
  filter: brightness(0) saturate(100%) invert(99%) sepia(49%) saturate(5797%) hue-rotate(286deg) brightness(104%) contrast(100%);
}

.fix-anchor {
  margin-top: var(--m-nav-wrap);
  padding-top: var(--nav-wrap);
}

@media screen and (max-width: 767px) {
  .nav_box ul {
    margin-top:10px;
    gap:5px;
  }
  #magamaga .nav_box img {
    width:80%;
  }
  .nav_box .arrow::after{
    width:10px;
    height:10px;
    bottom:-5px;
    left:calc(50% - 5px);
  }
}

/*---------------------------
VIDEO
---------------------------*/
.contents-video .lead-txt{
  margin:var(--gap-m);
}
.video-frame{
  margin:auto;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:10px;
  overflow: hidden;
}
.video-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;
	z-index: 20;
  display:flex;
  width:calc(100% + 70px);
}
.contents-block-chara.lamy {
	margin-left:-70px;
}
.contents-block-chara.nene {
	margin-right:-70px;
}

/*キャッチ・キャラ・PC*/
.pc-image-wrap{
  width:55%;
}
.contents-block-chara.nene .pc-image-wrap{
  order: 2;
}
.pc-exp{
  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;
  z-index:15;
  text-align:left;
}

.contents-block-chara.lamy .pc-exp{
  transform:rotate(-5deg);
  -webkit-text-stroke: 0.3em var(--color-lamy);
}
.contents-block-chara.nene .pc-exp{
  transform:rotate(5deg);
  -webkit-text-stroke: 0.3em var(--color-nene);
  left: 20%;
}

.pc-chara-outer{
  position:relative;
}

.pc-chara-outer .note{
  position:absolute;
  color:#fff;
  margin-top:var(--gap-s);
  bottom: -150px;
  z-index:15;
}

.contents-block-chara .pc-chara-outer .note{
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
}
.contents-block-chara.lamy .pc-chara-outer .note{
  left:0;
  -webkit-text-stroke: 0.3em var(--color-lamy);
}
.contents-block-chara.nene .pc-chara-outer .note{
  right:0;
  -webkit-text-stroke: 0.3em var(--color-nene);
}

.pc-chara{
  position:relative;
  z-index:15;
  top:100px;
  width:80%;
}
.contents-block-chara.lamy .pc-chara{
  left:0;
}
.contents-block-chara.nene .pc-chara{
  left: 20%;
}
.pc-arrow{
  position:absolute;
  z-index:11;
  top: 5%;
  width: 25%;
}
.contents-block-chara.lamy .pc-arrow{
  right:40px;
}
.contents-block-chara.nene .pc-arrow{
  left:40px;
  /*transform: scale(-1, 1);*/
}
.pc-image{
  position:absolute;
  z-index:14;
  bottom:-150px;
  padding:50px;
  width:400px;
  height:400px;
  border-radius:50%;
  background:rgba(255,255,255,0.5);
}
.contents-block-chara.lamy .pc-image{
  right:-10px;
}
.contents-block-chara.nene .pc-image{
  left:-10px;
}

/*モデルセット*/
.pc-set-wrap{
  position:relative;
  width:45%;
  z-index:12;
}
.pc-set-wrap h3{
  font-size:var(--font-2l);
  font-weight:700;
  color:var(--color-nene);
}
.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;
}

.contents-block-chara.lamy .pc-set-wrap .pc-set h4{
  color:var(--color-nene);
}
.contents-block-chara.nene .pc-set-wrap .pc-set h4{
  color:var(--color-lamy);
}
.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;
}
.contents-block-chara.lamy .pc-set-wrap .pc-set .btn-pc-set a{
  background:var(--color-nene);
}
.contents-block-chara.nene .pc-set-wrap .pc-set .btn-pc-set a{
  background:var(--color-lamy);
}
.contents-block-chara.lamy .pc-set-wrap .pc-set .btn-pc-set a:hover{
  background:var(--color-nene-sub);
}
.contents-block-chara.nene .pc-set-wrap .pc-set .btn-pc-set a:hover{
  background:var(--color-lamy-sub);
}
.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;
}
.contents-block-chara.lamy .pc-set-wrap .pc-set .model-price span{
  color:var(--color-nene);
}
.contents-block-chara.nene .pc-set-wrap .pc-set .model-price span{
  color:var(--color-lamy);
}

/*構成注意*/
.pc-set-caution{
  text-align:left;
  line-height:1.2;
  color:#fff;
  -webkit-text-fill-color: #fff;
  paint-order: stroke fill;
  margin-top:10px;
}
.lamy .pc-set-caution{
  -webkit-text-stroke: 0.3em var(--color-lamy);
}
.nene .pc-set-caution{
  -webkit-text-stroke: 0.3em var(--color-nene);
}
.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) {
  .contents-block-chara {
    flex-direction: column;
  }
  .contents-block-chara {
    width:100%;
  }
  .contents-block-chara.lamy {
	  margin-left:0;
  }
  .contents-block-chara.nene {
	  margin-right:0;
  }
  .nene .pc-image-wrap{
    order: 1;
  }
  .nene .pc-set-wrap{
    order: 2;
  }
  
  .pc-image-wrap{
    text-align:left;
    width:100%;
    margin-top: 20px;
  }
  .pc-chara-outer{
    position:relative;
    width:100%;
  }
  .pc-chara{
    position:absolute;
    z-index:15;
    width:85%;
  }
  .contents-block-chara.lamy .pc-chara{
    left:-20%;
    top:-90px;
  }
  .contents-block-chara.nene .pc-chara{
    left:auto;
    right:-20%;
    top:-110px;
  }
  .pc-arrow{
    display:none;
  }
  .pc-image{
    position:relative;
    z-index:14;
    padding:5%;
    width:60%;
    height:60%;
    top: 0;
  }
  .contents-block-chara.lamy .pc-image{
    margin-left:45%;
  }
  .contents-block-chara.nene .pc-image{
    margin-left:-5%;
  }
  .pc-exp{
    width:100%;
    padding-bottom:90px;
  }
  .pc-exp br{
    display:none;
  }
  .contents-block-chara.lamy .pc-exp{
    transform:rotate(5deg);
  }
  .contents-block-chara.nene .pc-exp{
    transform:rotate(-5deg);
    left: 0;
  }
  .pc-chara-outer .note {
    bottom: 0;
  }
  .contents-block-chara.lamy .pc-chara-outer .note {
    left: auto;
    right: 0;
  }
  .contents-block-chara.nene .pc-chara-outer .note {
    left: 0;
    right: auto;
  }
  .pc-set-wrap{
    width:100%;
    z-index:16;
  }
}

@media screen and (max-width: 767px) {
  .pc-set-wrap .pc-set .note,
  .pc-set-wrap .pc-set .note-s{
    text-align:left;
  }
}

/*---------------------------
青枠ボックス
---------------------------*/

.block-box{
  margin-top:var(--gap-l);
  width:100%;
  border:4px solid var(--color-blue);
  background:#fff;
  padding:0 var(--gap-m) var(--gap-m) var(--gap-m);
  border-radius:var(--radius);
}
.block-box .box-title{
  width:50%;
  margin:-50px auto 0 auto;
}

@media screen and (max-width: 550px) {
  .block-box .box-title{
    width:90%;
    margin:-30px auto 0 auto;
  }
}

/*---------------------------
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 .emp-title{
  margin:20px auto 30px auto;
  width:100%;
  max-width:560px;
  background:var(--color-red);
  color:#fff;
  font-weight:700;
  padding:10px;
  font-size:var(--font-2l);
  border-radius:3rem;
}

.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: var(--color-yellow);
  border: 4px solid #fff;
  outline-offset: 0;
  outline: 1px solid var(--color-dark);
  color: var(--color-dark);
  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(16%) sepia(42%) saturate(2403%) hue-rotate(174deg) brightness(98%) contrast(95%);
}

/*購入特典*/
.contents-benefit .block-present{
  margin-top:var(--gap-m);
  display:flex;
  align-items: center;
  justify-content:space-between;
}

.contents-benefit .block-present .bene-present{
  position:relative;
  width:35%;
}
.contents-benefit .block-present .bene-present img{
  width:70% !important;
}
.contents-benefit .block-present .bene-present.star::before{
  top:0;
  left:0;
}
.contents-benefit .block-present .bene-present.star::after{
  top:auto;
  bottom:0;
  right:0;
}
.contents-benefit .block-present .bene-present.star::before,
.contents-benefit .block-present .bene-present.star::after {
  width: 30px;
  height: 30px;
  z-index:+1;
}


.contents-benefit .block-present .bene-present img{
  transform:rotate(-5deg);
}

.contents-benefit .block-present .bene-txt{
  width:60%;
}
.contents-benefit .block-present p{
  width:100%;
  text-align:left;
}
.contents-benefit .block-present p.lead-txt{
  font-size:var(--font-l);
}


@media screen and (max-width: 767px) {
  .contents-benefit .quiz-answer{
    grid-template-columns: repeat(1, 1fr);
  }
  .contents-benefit .quiz-answer{
    gap:10px;
  }
  .contents-benefit .block-present {
    flex-direction: column;
  }
  .contents-benefit .block-present .bene-present{
    margin:20px auto 40px auto;
    width:70%;
  }
  .contents-benefit .block-present .bene-txt{
    width:100%;
  }
}

/*---------------------------
Q&A
---------------------------*/

/*背景*/
.contents-qa .contents-block::before{
  opacity:0.2;
  filter: brightness(0) saturate(100%) invert(80%) sepia(71%) saturate(505%) hue-rotate(157deg) brightness(105%) contrast(98%);
}
.contents-qa .contents-block::after{
  opacity:0.5;
  filter: brightness(0) saturate(100%) invert(97%) sepia(52%) saturate(1266%) hue-rotate(165deg) brightness(104%) contrast(98%);
}
.contents-qa .contents-block::after{
  opacity:0.5;
  filter: brightness(0) saturate(100%) invert(97%) sepia(52%) saturate(1266%) hue-rotate(165deg) brightness(104%) contrast(98%);
}

.note-qa{
  display:block;
  position:relative;
  margin-top:var(--gap-m);
}
.note-qa dt{
  width:fit-content;
  background:var(--color-blue);
  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;
}

.note-qa:has(+.note-assembly) dd{
  padding-right:200px;
}

/*組立の注意*/
.note-assembly{
  position:relative;
}
.note-assembly .chara{
  position:absolute;
  width:174px;
  top:-200px;
  right:0;
  z-index:-1;
}
.contents-qa .block-box p{
  margin-top:var(--gap-m);
  font-size:var(--font-l);
}

@media screen and (max-width: 767px) {
  .note-assembly{
    margin-top:80px;
  }
  .note-assembly .chara {
    width: 120px;
    top: -80px;
  }
  .note-qa dt{
    width:100%;
  }
  .note-qa:has(+.note-assembly) dd {
    padding-right: 0;
  }
}
/*---------------------------
おすすめゲーミングPC
---------------------------*/
.contents-gaming-pc .contents-block{
  overflow: hidden;
  background:#f6f6f6;
}
.contents-gaming-pc .contents-block::before{
  opacity:0.8;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7479%) hue-rotate(199deg) brightness(107%) contrast(97%);
}
.contents-gaming-pc .contents-block::after{
  opacity:0.7;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7479%) hue-rotate(199deg) brightness(107%) contrast(97%);
}

/*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{
  overflow: hidden;
  position:relative;
  padding: var(--gap-m) 0;
}

.prof-title{
  margin:auto;
  background:#fff;
  border-radius: 90px;
  width:75%;
  max-width:600px;
  padding:20px;
}
#magamaga .prof-title img{
  width:70%;
}
/*キャラ*/
.prof-chara{
  position:absolute;
  width:60%;
  margin-top: -80px;
}
.nene .prof-chara{
  margin-left:40%;
}
/*プロフ*/
.prof-block{
  position:relative;
  right:0;
  width:50%;
  z-index:+1;
  padding-top: 50px;
}
.lamy .prof-block{
  margin-left:50%;
}

.prof-txt{
  background:#fff;
  padding:var(--gap-m);
  border-radius:var(--radius);
  text-align:left;
  font-size:var(--font-ms);
}
.lamy .prof-txt{
  transform:rotate(-5deg);
}
.nene .prof-txt{
  transform:rotate(5deg);
}
.prof-txt .lead-txt{
  font-weight:700;
  font-size:var(--font-l);
  text-align:center;
  margin-bottom:10px;
}
.lamy .prof-txt .lead-txt{
  color:var(--color-lamy);
}
.nene .prof-txt .lead-txt{
  color:var(--color-nene);
}

.prof-sns{
  margin:var(--gap-m) auto;
  width:100%;
  max-width:310px;
  display:flex;
  flex-direction: column;
  gap:20px;
}
.prof-sns li a{
  display: block;
  width: 100%;
  background:#fff;
  outline-offset : -4px;
  padding:20px 0;
  border-radius:3em;
  font-weight:700;
}
.lamy .prof-sns li a{
  outline : 1px solid var(--color-lamy-sub);
}
.nene .prof-sns li a{
  outline : 1px solid var(--color-nene-sub);
}

.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;
}
@media screen and (max-width:767px){
  .contents-profile .contents-block-inner{
    width:100%;
  }
  .prof-chara{
    position:absolute;
    width:90%;
    margin-top: -20px;
  }
  .lamy .prof-chara{
    margin-left:0;
    left:-30%;
    right:auto;
  }
  .nene .prof-chara{
    margin-left:0;
    left:auto;
    right:-30%;
  }
  .prof-block{
    position:relative;
    width:63%;
    z-index:+1;
    padding-top: 30px;
  }
  .lamy .prof-block {
    margin-left: 37%;
  }
  .prof-title{
    padding:8px;
  }
  .lamy .prof-txt{
    transform:rotate(0deg);
    border-radius: var(--radius) 0 0 var(--radius) ;
  }
  .nene .prof-txt{
    transform:rotate(0deg);
    border-radius: 0 var(--radius) var(--radius) 0;
  }
  .prof-sns{
    width:90%;
  }
  .lamy .prof-sns{
    margin-right:10%;
  }
  .nene .prof-sns{
    margin-left:10%;
  }
}
/*---------------------------
組立代行サービス
---------------------------*/
.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(80%) sepia(71%) saturate(505%) hue-rotate(157deg) brightness(105%) contrast(98%);
  z-index:+1;
}
@media screen and (max-width: 428px) {
  .modaal-content-container {
    padding:10px;
  }
  .btn-close{
    top: -20px;
    right: -20px;
  }
}

/*---------------------------
モーダルコンテンツ内
---------------------------*/
#magamaga h2.modal-title,
h2.modal-title{
  margin:auto auto 40px auto;
  width:70% !important;
}
.modaal-container .lamy{
  position:absolute;
  width:60%;
  top:0;
  left:-20%;
}
.modaal-container .nene{
  position:absolute;
  width:60%;
  top:0;
  right:-20%;
}
.correct-content{
  position:relative;
  z-index:+1;
}
.lead-txt{
  font-size:var(--font-l);
  -webkit-text-fill-color: unset;
  -webkit-text-stroke: 0.3em #fff;
  paint-order: stroke fill;
}

.modal-sub-title{
  font-size:var(--font-m);
  font-weight:700;
  margin-bottom:5px;
}

.modal-sub-title.lamy-title{
  color:var(--color-lamy);
}
.modal-sub-title.nene-title{
  color:var(--color-nene);
}

.voice__note{
  font-size:12px;
  font-weight:400;
}

.btn-download{
  margin:40px auto;
  width:100%;
  display:grid;
  gap:20px;
  grid-template-columns: repeat(2, 1fr);
}
.btn-download a{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align:center;
  border-radius: 3rem;
  padding: 15px 10px;
  background: var(--color-yellow);
  border: 4px solid #fff;
  outline-offset: 0;
  outline: 1px solid var(--color-dark);
  width: 100%;
  height: 100%;
  font-weight:700;
  line-height:1.2;
  color:#fff;
}
.btn-download a.lamy-dl{
  background: var(--color-lamy);
  outline: 1px solid var(--color-lamy-sub);
}
.btn-download a.nene-dl{
  background: var(--color-nene);
  outline: 1px solid var(--color-nene-sub);
}
.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(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
  transform:rotate(90deg);
}

.incorrect-image{
  margin:0 auto 40px auto;
  width:60%;
}

@media screen and (max-width: 767px) {
  .btn-download{
    margin:20px auto;
    width:60%;
  }
  .btn-download{
    margin:30px auto;
    width:100%;
    display:grid;
    gap:20px;
    grid-template-columns: repeat(1, 1fr);
  }
}

/*---------------------------
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;
}

/*---------------------------
追加コンテンツ
---------------------------*/
.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 var(--color-blue);
  background:rgba(255, 255, 255, 0.95);
}
.page-top-anchor .arrow::after{
  top:25%;
  left:30%;
  width:40%;
  height:40%;
  filter: brightness(0) saturate(100%) invert(75%) sepia(40%) saturate(1337%) hue-rotate(153deg) brightness(107%) contrast(104%);
  transform:rotate(-90deg);
}

.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-delay {
  transition-delay: 500ms;
}
.fade-delay2 {
  transition-delay: 100ms;
}

.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);
}

/*ぽよぽよ*/
.poyopoyo {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}

/*ふわふわ*/
.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;
  }
}

/*ちかちか*/
.chikachika {
  animation: chikachika 2s ease-out infinite;
  opacity: 1;
}
@keyframes chikachika {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.8);
    opacity: 0;
  }
}

/*ちかちか星*/
.star{
  position:relative;
}
.star::before,
.star::after{
  position:absolute;
  content:'';
  top:calc(50% - 25px);
  width:50px;
  height:50px;
  background:transparent url(../images/ico-star.webp) no-repeat center center / cover;
}
.star::before{
  left:-70px;
  animation: chikachika 2s ease-out infinite;
}
.star::after{
  right:-70px;
  animation: chikachika 2s ease-out infinite;
}

.star.blue-star::before,
.star.blue-star::after{
  filter: brightness(0) saturate(100%) invert(72%) sepia(93%) saturate(1293%) hue-rotate(147deg) brightness(106%) contrast(101%);
}

@media screen and (max-width: 767px) {
  .star::before,
  .star::after{
    top:calc(50% - 15px);
    width:30px;
    height:30px;
  }
  .star::before{
    left:-40px;
  }
  .star::after{
    right:-40px;
  }
}