@charset "utf-8";
#wrapper{
	position: relative;
}

@media screen and (min-width:769px) {
#wrapper{
  min-width: 1400px;
  overflow: hidden;
}
}
/* ------------------------------

　　　　header

------------------------------ */
header{
  width: 100%;
  max-width: 1500px;
  height: 85px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
}
header .logo{
  position: absolute;
  width: 114px;
  top: 20px;
  left: 20px;
}

/* ------------------------------

　　　　conceptBlock

------------------------------ */
/*
@media screen and (min-width:769px) {
#conceptBlock .mainvisual{
  max-width: 1500px;
  width: 1400px;
  min-width: 1400px;
  overflow: hidden;
}
}
*/
#conceptBlock .mainvisual{
  width: 100%;
  margin: 0 auto 140px;
  position: relative;
}
#conceptBlock .mainvisual .penimg_left{
  position: absolute;
  top: 0;
  left: 17px;
  width: 537px;
  z-index: 100;
}
#conceptBlock .mainvisual .penimg_right{
  position: absolute;
  top: 40px;
  right: 85px;
  width: 527px;
  z-index: 100;
}
#conceptBlock .mainvisual .midashi{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 36px;
  margin: 0 auto;
  z-index: 100;
}

#conceptBlock .mainvisual .illust_left{
  position: absolute;
  top: 560px;
  left: 125px;
  width: 450px;
}
#conceptBlock .mainvisual .illust_right{
  position: absolute;
  top: 550px;
  right: 105px;
  width: 440px;
}

#conceptBlock .mainvisual .logo_left{
  position: absolute;
  top: 38px;
  left: 295px;
  width: 334px;
  z-index: 50;
}
#conceptBlock .mainvisual .logo_right{
  position: absolute;
  top: 38px;
  right: 295px;
  width: 334px;
  z-index: 50;
}
#conceptBlock .mainvisual h1{
  padding: 630px 0 0 0;
  width: 440px;
  margin: 0 auto;
  z-index: 90;
  position: relative;
}

#conceptBlock .concept{
/*  max-width: 1500px;*/
  width: 100%;
  margin: 0 auto -530px;
  position: relative;
}

#conceptBlock .concept .penimg_block_inner{
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
#conceptBlock .concept .penimg_block{
  max-width: 980px;
  width: 100%;
  top: 40px;
  position: relative;
}

/* スクロール区間（枠）を作る：この高さの間だけ sticky できる */
#conceptBlock .concept .penimg_block_inner{
  position: relative;
/*  min-height: 209vh;*/
}

/* ここが「枠内に固定」本体 */
#conceptBlock .concept .penimg_block{
  position: sticky;
  top: 80px;
  z-index: 0;
  padding-bottom: 500px;
}
.pen2-stage {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 350px;
}
.pen2-stage.is-cross {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    opacity: 1;
    z-index: 100;
}

.catch_text {
  position: absolute;
  top: -530px;
  left: 0;
/*  transform: translate(-50%, -50%);*/
}
@media (max-width: 768px){

.pen2-stage {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
}
}

.penimg_block_inner {
  position: relative;
}
@media screen and (min-height: 700px) and (max-height: 1024px) {

  
  
  
}

#conceptBlock .concept .penimg_left{
  position: absolute;
  top: 0;
  left: 0;
  width: 281px;
}
#conceptBlock .concept .penimg_right{
  position: absolute;
  top: 0;
  right: 0;
  width: 281px;
}
#conceptBlock .concept .concept_text{
  text-align: center;
  margin-bottom: 70px;
  position: absolute;
  top: 660px;
  width: 100%;
  z-index: 1;
}
#conceptBlock .concept .concept_text p{
/*  font-size: 1.25rem;*/
  font-size: 21px;
  line-height: 2.75;
  margin-bottom: 30px;
}

#conceptBlock .concept .penimg2_left{
  position: absolute;
  top: 50%;
  left: 76px;
  width: 113px;
}
#conceptBlock .concept .penimg2_right{
  position: absolute;
  top: 50%;
  right: 76px;
  width: 113px;
}
#conceptBlock .concept .movie_thum{
  width: 493px;
  margin: 750px auto 0;
  position: relative;
  z-index: 10;
}


#conceptBlock .concept .catch_text{
/*  padding-top: 610px;*/
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10;
/*
  height: 720px;
  transform: translateY(15%);
*/
}
#conceptBlock .concept .catch_text .text1{
  padding-bottom: 100px;
}
#conceptBlock .concept .catch_text .text2{
  padding-top: 100px;
  background: #fff;
  padding-bottom: 20px;
}
#conceptBlock .concept .catch_text .text1 img,
#conceptBlock .concept .catch_text .text2 img{
  padding-left: 10px;
  width: 40px;
  margin: 0 auto;
  display: block;
}


#productPH802{
  position: relative;
  background: #fff;
/*  margin-top: -43vh;*/
/*  padding-top: 43vh;*/
  padding-top: 200px;
  padding-bottom: 175px;
}
#productPH802 .innerblock{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}
#productPH802 .innerblock h2{
  width: 450px;
  margin-bottom: 30px;
}
#productPH802 .ph802_img1{
  width: 630px;
  position: absolute;
  top: 130px;
  right: 0;
  z-index: 10;
}
#productPH802 .ph802_img2{
  width: 1000px;
  height: 200px;
  margin: 0 auto;
  position: relative;
}
#productPH802 .ph802_img2 img{
  position: absolute;
  top: 0;
  left: 0;
}
#productPH802 .innerblock .title{
  font-size: 2.25rem;
  color: #888;
  font-weight: 700;
  margin-bottom: 10px;
  padding-left: 10px;
}
#productPH802 .innerblock .text{
  font-size: 1.5rem;
  color: #888;
  line-height: 1.78;
  width: 564px;
  padding-left: 10px;
}


#productPH803{
  position: relative;
  padding-top: 158px;
  padding-bottom: 175px;
}
#productPH803 .innerblock{
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  display: flex;
  justify-content: flex-end;
  z-index: 10;
}
#productPH803 .innerblock .textblock{
  width: 570px;
}
#productPH803 .innerblock h2{
  width: 400px;
  margin-bottom: 30px;
}
#productPH803 .ph802_img1{
  width: 686px;
  position: absolute;
  top: 160px;
  left: 0;
}
#productPH803 .ph802_img2{
  width: 832px;
}
#productPH803 .innerblock .title{
  font-size: 2.25rem;
  color: #888;
  font-weight: 700;
  margin-bottom: 10px;
  width: 600px;
  right: 0;
  padding-left: 10px;
}
#productPH803 .innerblock .text{
  font-size: 1.5rem;
  color: #888;
  line-height: 1.78;
  width: 600px;
  right: 0;
  padding-left: 10px;
}

/* ------------------------------

　　　　slider

------------------------------ */
.slider-wrap {
  overflow: hidden;
  width: 100%;
}

.slider-track {
  display: flex;
  gap: 15px;
  width: max-content;
  will-change: transform;
}

.slider-track .img {
  flex: 0 0 auto;
}

.slider-track img {
  width: 350px;
  height: auto;
  display: block;
}

/* ------------------------------

　　　　LINEUP

------------------------------ */
#lineupBlock{
  background: #fff;
  padding-bottom: 140px;
  padding-top: 170px;
}
#lineupBlock .visual{
  position: relative;
  width: 100%;
  margin-bottom: 155px;
}
#lineupBlock .visual h2{
  position: absolute;
  right: 20px;
  bottom: 40px;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 12vw;
  line-height: 1.0;
  width: 100%;
  text-align: right;
}

#lineupBlock .innerblock .title,
#lineupBlock .lineuplist {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0;
  list-style: none;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
}

@media (max-width: 768px) {
  #lineupBlock .innerblock .title,
  #lineupBlock .lineuplist {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}


#lineupBlock .productbox{
  margin-bottom: 80px;
}
#lineupBlock .innerblock .title{
  text-align: center;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  color: #646464;
  font-size: 1.875rem;
  margin-bottom: 90px;
}
#lineupBlock .productbox .product_name{
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  color: #646464;
  font-size: 2rem;
  margin-bottom: 10px;
}
#lineupBlock .productbox .text{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #646464;
  font-size: 1.125rem;
  line-height: 1.55;
}
#lineupBlock .productbox .img{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  color: #646464;
  font-size: 1.25rem;
  line-height: 1.55;
  margin-top: -60px;
}
#lineupBlock .productbox .text.indent{
  text-indent: -10.9em;
  margin-left: 10.9em;
}
#lineupBlock .productbox .text.indent2{
  text-indent: -6.95em;
  margin-left: 6.95em;
}


@media screen and (min-width:769px) {
  #lineupBlock .productbox {
    height: 570px;
  }
}
/* =========================
   details 全体
========================= */
details.product-detail {
  max-width: 1100px;
  margin: 0 auto;
}

/* =========================
   summary
========================= */
details.product-detail summary {
  font-size: 2.125rem; /* 34px */
  background: #656464;
  height: 62px;
  line-height: 62px;
  text-align: center;
  color: #fff;
  cursor: pointer;
  list-style: none;
  position: relative;
  user-select: none;
}

/* デフォルト三角消す */
details.product-detail summary::-webkit-details-marker {
  display: none;
}

/* ＋マーク */
details.product-detail summary::after {
  content: "+";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

/* open時 − に変更 */
details.product-detail[open] summary::after {
  content: "−";
}

/* 中身 */
details.product-detail > div {
  padding: 35px;
  background: #ebebeb;
}

details.product-detail img {
  max-width: 100%;
  height: auto;
  display: block;
}


/* ------------------------------

　　　　VOICE

------------------------------ */
#voiceBlock{
  padding-top: 235px;
}
#voiceBlock h2{
  color: #737373;
  text-align: center;
  font-size: clamp(4rem, 12vw, 14.375rem);
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1.0;
  margin-bottom: 70px;
}


#voiceBlock .profilebox {
  color: #fff;
  font-weight: bold;
  margin: 0 auto 110px;
  display: flex;
  align-items: flex-end;
  height: 482px;
}

#voiceBlock .profile1{
  background: #737373;
}
#voiceBlock .profile2{
  background: #4b4b4b;
}

#voiceBlock .profilebox .textblock {
  flex: 13;
  box-sizing: border-box;
  padding: 20px;
  margin-left: auto; 
  position: relative;
}
#voiceBlock .profilebox .textblock .textinner {
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 625px;
}
#voiceBlock .profilebox .textblock .textinner .product_name {
  font-size: 3rem;
  margin-bottom: 10px;
}
#voiceBlock .profilebox .textblock .textinner .product_name span {
  font-size: 1.8125rem;
  display: block;
}
#voiceBlock .profilebox .textblock .textinner .midashi {
  font-size: 2.25rem;
  line-height: 1.43;
  margin-bottom: 20px;
}
#voiceBlock .profilebox .textblock .textinner .name {
  font-size: 1.75rem;
}

#voiceBlock .profilebox .img {
  flex: 10;
  overflow: hidden;
  position: relative;
  height: 100%;
}
#voiceBlock .profilebox .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  #voiceBlock .profilebox {
    flex-direction: column;
    gap: 110px;
  }
}

.voicelist{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0 170px;
  list-style: none;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
.voicelist h3{
  color: #3bb4e5;
  font-size: 1.5rem;
}
.voicelist .name{
  text-align: right;
  font-size: 1.125rem;
  margin-bottom: 10px;
}
.voicelist p{
  line-height: 1.8;
}


/* SPで1カラム */
@media (max-width: 768px){
  .voicelist{
    grid-template-columns: 1fr;
    gap: 40px;
  }
}


/* ------------------------------

　　　　VOICE

------------------------------ */
#HowtoUseBlock{
  background: #fff;
  padding: 200px 0 0 0;
}
#HowtoUseBlock .visual{
  position: relative;
}
@media (min-width: 769px){
#HowtoUseBlock .visual h2{
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  top: 8%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 10vw;
  line-height: 1.0;
  color: #fff;
  z-index: 10;
}
}
#HowtoUseBlock .visual .movie{
    width: 26%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 10%;
    z-index: 10;
}
.pdfbtn{
  max-width: 337px;
  margin: 0 auto;
}



/* ------------------------------

　　　　FaqBlock

------------------------------ */
#FaqBlock{
  background: #fff;
  padding: 45px 0 90px;
  position: relative;
}
#FaqBlock h2{
  width: 100%;
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: clamp(4rem, 16vw, 14.375rem);
  line-height: 1.0;
  z-index: 10;
  margin-top: 145px;
  margin-bottom: 70px;
  
}

/* =========================
   details 全体
========================= */
details.faq-detail {
  max-width: 1100px;
  margin: 0 auto 40px;
}

/* =========================
   summary
========================= */
details.faq-detail summary {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  background: #ebebeb;
  height: 70px;
  line-height: 61px;
  cursor: pointer;
  list-style: none;
  position: relative;
  user-select: none;
}
details.faq-detail summary.iconnone {
  line-height: 70px;
}
details.faq-detail summary::before {
  content: "Q";
  margin-right: 30px;
  font-weight: bold;
  width: 70px;
  height: 70px;
  background: #656464;
  color: #fff;
  display: inline-block;
  text-align: center;
  font-size: 1.875rem;
}
details.faq-detail summary.iconnone::before {
  content: "";
  padding-left: 30px;
  margin-right: 0;
  width: 0;
  height: 0;
  background: none;
}


/* デフォルト三角消す */
details.faq-detail summary::-webkit-details-marker {
  display: none;
}

/* ＋マーク */
details.faq-detail summary::after {
  content: "+";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

/* open時 − に変更 */
details.faq-detail[open] summary::after {
  content: "−";
}

/* 中身 */
details.faq-detail > div {
  padding: 55px 75px 50px 35px;
  background: #cdcdcd;
}

details.faq-detail img {
  max-width: 100%;
  height: auto;
  display: block;
}

details.faq-detail .faq_a {
  margin: 0;
  padding-left: 1.2em;
}

details.faq-detail .faq_a li {
/*  margin: 0 0 30px;*/
}
details.faq-detail .faq_a li:last-child {
  margin: 0;
}
/* 2カラム本体 */
details.faq-detail .faq_a .clm2 {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

/* 左テキスト（約65.6%） */
details.faq-detail .faq_a .clm2 p {
  flex: 0 1 65.625%;
  margin: 0;
  line-height: 1.875;
}

/* 右画像（約34.4%） */
details.faq-detail .faq_a .clm2 .img {
  flex: 0 1 34.375%;
}

details.faq-detail .faq_a .clm2 .img img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 25px;
}

details.faq-detail .faq_a .catch{
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.1875rem;
}
details.faq-detail .faq_a li p,
details.faq-detail .faqcontent p {
  line-height: 1.75;
}

details.faq-detail .faqcontent .img{
  max-width: 720px;
  margin: 0 auto 10px;
}

/* SPは1カラム */
@media (max-width: 768px) {
  details.faq-detail .faq_a .clm2 {
    flex-direction: column;
    gap: 16px;
  }

  details.faq-detail .faq_a .clm2 .img {
    flex: none;
    width: 100%;
    max-width: 470px;
  }
}


/* ------------------------------

　　　　footer

------------------------------ */
footer {
  background: #b1b1b1;
  padding: 40px 0;
}

footer .innerblock {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

footer .logo {
  width: 114px;
  background: #fff;
  border-radius: 10px;
  margin-right: 85px;
}
footer .copy {
  margin: 0;
  font-size: 0.875rem;
}

footer .sns {
  margin-left: auto;
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0 70px 0 0;
}
footer .sns li {
  width: 50px;
}

footer .sns img {
  display: block;
}
.pagetop {
  position: fixed;
  right: 20px;
  bottom: 58px;
  z-index: 1000;

  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease;
  width: 60px;
  height: 41px;
}

.pagetop.is-show {
  opacity: 1;
  visibility: visible;
}

.pagetop img {
  display: block;
}

@media (max-width: 768px){
  .pagetop{
    right: 15px;
    bottom: 20px;
  }
}


@media screen and (min-width:769px) {
.sponly{display: none !important;}
}
@media screen and (max-width:768px) {
.pconly{display: none !important;}
  
  
/* ------------------------------

　　　　header

------------------------------ */
header{
  height: 65px;
}
header .logo{
  width: 100px;
  top: 10px;
  left: 15px;
  
}

/* ------------------------------

　　　　conceptBlock

------------------------------ */
#conceptBlock .mainvisual {
  overflow: hidden;
  margin: 0 auto 60px;
}
#conceptBlock .mainvisual .penimg_left{
 top: 50px;
 left: -43%;
 width: 95%;
}
#conceptBlock .mainvisual .penimg_right{
  top: 30px;
  right: -32%;
  width: 82%;
}
#conceptBlock .mainvisual .midashi{
  top: 0;
  left: 0;
  right: 0;
  width: 6%;
}
  
#conceptBlock .mainvisual .logo_left{
 top: 20px;
 left: 6%;
 width: 28%;
}
#conceptBlock .mainvisual .logo_right{
  top: 37px;
  right: 5%;
  width: 28%;
}
  
#conceptBlock .mainvisual .illust_left{
  top: 0;
  left: 0;
  width: 47%;
  padding-top: 84%;
}
#conceptBlock .mainvisual .illust_right{
  top: 0;
  right: 0;
  width: 50%;
  padding-top: 93%;
}

#conceptBlock .mainvisual h1{
  padding: 118% 0 0 0;
  width: 72%;
}
  
#conceptBlock .concept {
    margin: 0 auto -850px;
}
#conceptBlock .concept .penimg_block{
  top: 20px;
  padding-bottom: 450px;
}
#conceptBlock .concept .penimg_block.ac_opacity{
  opacity: 0.25;
}
#conceptBlock .concept .penimg_left{
/*  top: 0;*/
  left: 11%;
  width: 25%;
/*  opacity: 0.25;*/
  opacity: 1;
}
#conceptBlock .concept .penimg_right{
  top: 0;
  right: 11%;
  width: 25%;
/*  opacity: 0.25;*/
  opacity: 1;
}


#conceptBlock .concept .penimg2_left{
  display: none;
}
#conceptBlock .concept .penimg2_right{
  display: none;
}

#conceptBlock .concept .concept_text{
  margin-bottom: 50px;
  position: static;
}
#conceptBlock .concept .concept_text p{
  font-size: 1.25rem;
  line-height: 2.4;
  margin-bottom: 30px;
}
#conceptBlock .concept .movie_thum{
  width: 88%;
  margin: 0 auto 0;
  z-index: 60;
  padding-bottom: 30vh;
}


#conceptBlock .concept .catch_text{
  padding-top: 0;
  width: 100%;
  top: -550px;
} 
#conceptBlock .concept .catch_text .text1 img,
#conceptBlock .concept .catch_text .text2 img {
    padding-left: 10px;
    width: 25px;
    margin: 0 auto;
    display: block;
}
#conceptBlock .concept .catch_text .text1{
  padding-bottom: 70px;
}
#conceptBlock .concept .catch_text .text2 {
    padding-top: 70px;
}
  
  
  
  
 
  
#productPH802{
  margin-top: 40px;
  padding-top: 70%;
  padding-bottom: 62px;
  overflow: hidden;
}

#productPH802 .innerblock h2{
  margin-bottom: 53px;
  margin-left: 4%;
  position: relative;
  z-index: 50;
  width: 100%;
}
#productPH802 .innerblock h2 img{
  width: 45%;
}

#productPH802 .ph802_img1{
  width: 74%;
  top: 0;
  right: -10%;
  z-index: 1;
  padding-top: 77%;
  overflow: hidden;
}

#productPH802 .ph802_img2{
  width: 100%;
  margin: 0 auto;
  padding-top: 12%;
  height: 100px;
}

#productPH802 .innerblock .title{
/*  font-size: 1.75rem;*/
  font-size: 5.6vw;
  width: 100%;
  margin: 0 auto 10px;
}
#productPH802 .innerblock .text{
/*  font-size: 1.25rem;*/
  font-size: 4.0vw;
  line-height: 2.0;
  width: 100%;
  margin: 0 auto 30px;
}




#productPH803{
  padding-top: 50px;
  padding-bottom: 62px;
}
#productPH803 .innerblock .textblock{
  width: 92%;
  margin: 0 auto;
}
/*
  margin-bottom: 30px;
  margin-left: 4%;
  position: relative;
  z-index: 10;
*/

  
#productPH803 .innerblock h2{
  margin-bottom: 30px;
  position: relative;
  z-index: 50;
  width: 100%;
}
#productPH803 .innerblock h2 img{
  width: 100%;
  height: auto;
  display: block;
}
#productPH803 .ph802_img1{
  width: 84%;
  top: 0;
  left: -23%;
  z-index: 1;
  padding-top: 95px;
}
#productPH803 .ph802_img2{
  width: 100%;
  margin: 0 auto;
  padding-top: 5%;
  height: auto;
}
#productPH803 .innerblock .title{
/*  font-size: 1.75rem;*/
  font-size: 5.6vw;
  width: 100%;
  margin: 10px auto 10px;
}
#productPH803 .innerblock .text{
/*  font-size: 1.25rem;*/
  font-size: 4.0vw;
  line-height: 2.0;
  width: 100%;
  margin: 0 auto 30px;
}

/* ------------------------------

　　　　slider

------------------------------ */
.slider-track {
  gap: 5px;
}
.slider-track img {
  width: 200px;
}



/* ------------------------------

　　　　LINEUP

------------------------------ */
#lineupBlock{
  padding-top: 75px;
  padding-bottom: 60px;
}
#lineupBlock .visual{
  position: relative;
  margin-bottom: 70px;
}
#lineupBlock .visual h2{
  position: absolute;
  right: 15px;
  bottom: 10px;
  font-size: 5.25rem;
  font-weight: 500;
}

#lineupBlock .innerblock {
  max-width: 92%;
  margin: 0 auto;
}

#lineupBlock .lineuplist {
  width: 100%;
  display: block;
}


#lineupBlock .innerblock .titlesp{
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  color: #646464;
  font-size: 1.3125rem;
  margin-bottom: 20px;
  text-align: center;
  }

/*
#lineupBlock .lineuplist{
  display: flex;
  flex-direction: column;
}
#lineupBlock .lineuplist li:nth-child(1) {
  order: 0;
}

#lineupBlock .lineuplist li:nth-child(2) {
  order: 1;
}
#lineupBlock .lineuplist li:nth-child(3) {
  order: 3;
}
#lineupBlock .lineuplist li:nth-child(4) {
  order: 4;
}
*/
#lineupBlock .productbox{
  margin-bottom: 40px;
}
#lineupBlock .productbox .product_name{
  color: #646464;
  font-size: 0.85rem;
  margin-bottom: 10px;
}
#lineupBlock .productbox .text{
  font-size: 1rem;
  line-height: 1.55;
}
#lineupBlock .productbox .img{
  margin-top: 0;
}

  
  
/* =========================
   details 全体
========================= */
/* =========================
   summary
========================= */
details.product-detail summary {
  font-size: 1rem;
  height: 35px;
  line-height: 35px;
}

/* ＋マーク */
details.product-detail summary::after {
  right: 15px;
  font-size: 1.25rem;
}

/* 中身 */
details.product-detail > div {
  padding: 15px;
}


  


/* ------------------------------

　　　　VOICE

------------------------------ */
#voiceBlock{
  padding-top: 0;
}
#voiceBlock h2{
  padding-top: 60px;
  font-size: 6.25rem;
  padding-bottom: 30px;
  background: #fff;
  margin-bottom: 0;
}
#voiceBlock .bginner{
  background: #e8edec;
  padding-left: 7%;
}

#voiceBlock .profilebox {
  margin: 0 auto 37px;
  display: flex;
  height: auto;
  width: 100%;
  flex-direction: column-reverse;
  gap: 0;
}

#voiceBlock .profilebox .textblock {
  box-sizing: border-box;
  padding: 20px;
  margin-left: 0; 
  position: relative;
  order: 0;
  display: block;
  width: 100%;
}
#voiceBlock .profilebox .textblock .textinner {
  position: relative;
  width: 100%;
  padding: 0;
  right: 0;
  bottom: 0;
}
#voiceBlock .profilebox .textblock .textinner .product_name {
  font-size: 1.5rem;
}
#voiceBlock .profilebox .textblock .textinner .product_name span {
  font-size: 1.8125rem;
}
#voiceBlock .profilebox .textblock .textinner .midashi {
  font-size: 1.3125rem;
  line-height: 1.429;
  margin-bottom: 20px;
}
#voiceBlock .profilebox .textblock .textinner .name {
  font-size: 0.875rem;
}

#voiceBlock .profilebox .img {
  flex: 10;
  overflow: hidden;
  position: relative;
  height: 100%;
  order: 2;
}
#voiceBlock .profilebox .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.voicelist{
  width: 90%;
  margin: 0 auto;
  padding: 0;
  list-style: none;

  display: block;
  gap: 0;
}
.voicelist li{
  padding: 0 0 85px;
}
.voicelist h3{
  color: #3bb4e5;
  font-size: 1.25rem;
}
.voicelist .name{
  text-align: right;
  font-size: 1rem;
  margin-bottom: 10px;
}
.voicelist p{
  line-height: 1.8;
}

/* ------------------------------

　　　　HowtoUse

------------------------------ */
#HowtoUseBlock{
  background: #fff;
  padding: 100px 0 0 0;
}
#HowtoUseBlock .visual{
  position: relative;
}
#HowtoUseBlock .visual .spblock{
  position: relative;
}
#HowtoUseBlock .visual h2{
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0;
  bottom: 2%;
  font-size: 5.2rem;
  line-height: 1.0;
  font-weight: 500;
  font-family: "Oswald", sans-serif;
  color: #fff;
  z-index: 10;
}
#HowtoUseBlock .visual .movie{
    width: 86%;
    position: relative;
    margin: 35px auto 0;
    z-index: 10;
}
.pdfbtn{
  width: 60%;
}



/* ------------------------------

　　　　FaqBlock

------------------------------ */
#FaqBlock{
  background: #fff;
  padding: 45px 0 60px;
  position: relative;
}
#FaqBlock h2{
  font-size: 6.25rem;
  line-height: 1.0;
  font-weight: 500;
  margin-top: 100px;
  margin-bottom: 60px;
}



/* =========================
   details 全体
========================= */
details.faq-detail {
  width: 90%;
  margin: 0 auto 30px;
}

/* =========================
   summary
========================= */
details.faq-detail summary {
  font-size: 0.875rem;
  height: 35px;
  line-height: 32px;
}
details.faq-detail summary.iconnone {
  line-height: 35px;
}
details.faq-detail summary::before {
  content: "Q";
  margin-right: 15px;
  width: 35px;
  height: 35px;
  font-size: 1rem;
}
details.faq-detail summary.iconnone::before {
  content: "";
  margin-right: 0;
  width: 0;
  height: 0;
  padding-left: 15px;
}

/* ＋マーク */
details.faq-detail summary::after {
  right: 15px;
  top: 50%;
  font-size: 1rem;
}

  
/* 中身 */
details.faq-detail > div {
  padding: 20px;
}
  
details.faq-detail .faq_a {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
/* 2カラム本体 */
details.faq-detail .faq_a .clm2 {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

/* 左テキスト（約65.6%） */
details.faq-detail .faq_a .clm2 p {
  flex: 0 1 65.625%;
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.875;
}
details.faq-detail .indent1 {
  text-indent: -1.3em;
  margin-left: 1.3em;
}
  
details.faq-detail .faq_a .no1 .clm2 p,
details.faq-detail .faq_a .no2 .clm2 p,
details.faq-detail .faq_a .no3 .clm2 p,
details.faq-detail .faq_a .no4 .clm2 p {
  text-indent: -1em;
  margin-left: 1em;
}
details.faq-detail .faq_a .catch.no1,
details.faq-detail .faq_a .catch.no2 {
  text-indent: -1.3em;
  margin-left: 1.3em;
}
details.faq-detail .faq_a .indent2 {
  margin-left: 1.5em;
  margin-bottom: 20px;
}

  
details.faq-detail .faq_a li.no1 .clm2 p:before {
  content: "1. ";
}
details.faq-detail .faq_a li.no2 .clm2 p:before {
  content: "2. ";
}
details.faq-detail .faq_a li.no3 .clm2 p:before {
  content: "3. ";
}
details.faq-detail .faq_a li.no4 .clm2 p:before {
  content: "4. ";
}
  
details.faq-detail .faq_a .catch.no1:before {
  content: "1. ";
}
details.faq-detail .faq_a .catch.no2:before {
  content: "2. ";
}

  
/* 右画像（約34.4%） */
details.faq-detail .faq_a .clm2 .img {
  flex: 0 1 34.375%;
}

details.faq-detail .faq_a .clm2 .img img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 25px;
}

details.faq-detail .faq_a .catch{
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 1.1875rem;
}
details.faq-detail .faq_a li p,
details.faq-detail .faqcontent p {
  line-height: 1.75;
  font-size: 0.8125rem;
}

details.faq-detail .faqcontent .img{
  max-width: 720px;
  margin: 0 auto 10px;
}



/* ------------------------------

　　　　footer

------------------------------ */
footer {
  padding: 20px 0;
}

footer .innerblock {
  display: flex;
  flex-direction: column;
  width: 90%;
  margin: 0 auto;
  align-items: normal;
  position: relative;
}

footer .logo {
  width: 60px;
  border-radius: 10px;
  margin-right: 0;
  order: 1;
}
footer .copy {
  margin: 0 0 0 10px;
  font-size: 10px;
  order: 2;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}

footer .sns {
  margin: 0 auto 20px;
  display: flex;
  gap: 10px;
  list-style: none;
  padding: 0;
  order: 0;
}
footer .sns li {
  width: 50px;
}

footer .sns img {
  display: block;
}
  
  
.pagetop {
  position: fixed;
  right: 20px;
  bottom: 30px;
  width: 55px;
  height: 55px;
}

  
}



/* ===== Drawer (right slide) ===== */
.drawer-open{
  position: fixed;
  top: 25px;
  right: 27px;
  width: 35px;
  height: 20px;

  background: transparent;
  border: none;
  cursor: pointer;

  z-index: 999;
}

/* 真ん中の線 */
.drawer-open span{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

  width: 100%;
  height: 2px;
  background: #282828;
}

/* 上下の線 */
.drawer-open::before,
.drawer-open::after{
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #282828;
}

.drawer-open::before{
  top: 0;
}

.drawer-open::after{
  bottom: 0;
}
}

.drawer-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 1000;
}

.drawer{
  position: fixed;
  top: 0;
  right: 0;
  height: 100svh;
  z-index: 1001;
  width: min(520px, 86vw);
  transform: translateX(100%);
  transition: transform .35s ease;
  background: rgba(0,0,0,.7);
  color: #fff;
  overflow: hidden;
}

.drawer.is-open{
  transform: translateX(0);
}

.drawer__inner{
  height: 100%;
  overflow: auto;
  padding: 30px 24px 40px 65px;
}

.drawer__close{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  letter-spacing: .08em;
  color: #fff;
  background: transparent;
  border: 0;
  cursor: pointer;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
}

.drawer__close span{
  font-size: 22px;
  line-height: 1;
}

.drawer__nav{
  margin-top: 24px;
  display: grid;
  gap: 14px;
}

.drawer__link{
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 10px 0;
  font-size: 1.1875rem;
}

.drawer__lang{
  margin-top: 40px;
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 1.1875rem;
}
.drawer__lang a{ color:#fff; text-decoration:none; }
.drawer__lang a.is-active{ font-weight: 700; }

/* body scroll lock */
body.is-locked{
  overflow: hidden;
}

/* ===== Accordion ===== */
.acc{
  border-bottom: 1px solid rgba(255,255,255,.12);
  padding-bottom: 6px;
}

.acc__head{ margin: 0; }

.acc__btn{
  width: 100%;
  text-align: left;
  color: #fff;
  background: transparent;
  border: 0;
  padding: 12px 0;
  cursor: pointer;
  font-size: 14px;
  letter-spacing: .02em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* ＋/－ */
.acc__btn::after{
  content: "+";
  font-size: 18px;
  opacity: .9;
  transform: translateY(-1px);
}
.acc__btn[aria-expanded="true"]::after{
  content: "–";
}

.acc__panel{
  height: 0;
  overflow: hidden;
  transition: height .28s ease;
}

.acc__content{
  padding: 0 0 14px;
  opacity: .95;
}
.acc__content a{
  color:#fff;
  text-decoration:none;
  display: inline-block;
  padding: 6px 0;
  opacity: .9;
}
.acc__content a:hover{ opacity: 1; }
.icon-close{
  position: relative;
  display: inline-block;
  width: 30px;
  height: 20px;
}

/* 斜め線2本 */
.icon-close::before,
.icon-close::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 0;

  width: 100%;
  height: 2px;
  background: #fff; /* 色は調整OK */

  transform-origin: center;
}

/* ／ */
.icon-close::before{
  transform: translateY(-50%) rotate(35deg);
}

/* ＼ */
.icon-close::after{
  transform: translateY(-50%) rotate(-35deg);
}
/* FOLLOW US + SNS icons */
.drawer__nav .sns{
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 5px;
}

/* FOLLOW US */
.drawer__nav .sns p{
  margin: 0 10px 0 0;
  letter-spacing: .08em;
  color: #fff;
  white-space: nowrap;
  font-size: 0.875rem;
}

/* icon links */
.drawer__nav .sns a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
}

/* icon images */
.drawer__nav .sns img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 768px){
  .drawer {
      width: 100%;
  }
}


@media (max-width: 768px){
  #conceptBlock .concept .penimg_block_inner {
/*    min-height: 110vh;*/
  }
  
  
  
}


.scroll-indicator{
  position: fixed;
  transform: translateY(-50%);
  z-index: 9999;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;

  pointer-events: none;
}

.scroll-indicator__label{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: .12em;
  font-size: 12px;
  line-height: 1;
  color: #111;
  opacity: .9;
}

.scroll-indicator__line{
  display: block;
  width: 1px;
  height: calc(var(--max, 120px) * var(--p));

  background: #111;
  transform-origin: top;
  opacity: .9;
}

@media (min-width: 769px){

.scroll-indicator{
  right: 45px;
  top: 50%;
}

}
@media (max-width: 768px){

.scroll-indicator{
  right: 10px;
  bottom: 20px;
}

}
/*
modal
*/
.mp4-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;

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

  padding: 0;
  box-sizing: border-box;
}

.mp4-modal.is-open {
  display: flex;
}

.mp4-modal__bg {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.8);
}

.mp4-modal__content {
  position: relative;
  width: min(90%, 900px);
  z-index: 1;
}

.mp4-modal__content video {
  width: 100%;
  display: block;
  background: #000;
}

.mp4-modal__close {
  position: absolute;
  top: -45px;
  right: 0;
  border: 0;
  background: none;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
}

.movie_thum a {
  position: relative;
  display: block;
  overflow: hidden;
}

/* 画像 */
.movie_thum img {
  width: 100%;
  display: block;
}

/* 薄グレーオーバーレイ */
.movie_thum a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.18);
  z-index: 1;
  transition: opacity .3s;
}

/* 白透過丸 */
.movie_thum a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(2px);

  transform: translate(-50%, -50%);
  z-index: 2;

  transition:
    transform .3s,
    background .3s;
}

/* 三角 */
.movie_thum a span {
  position: absolute;
  left: 50%;
  top: 50%;

  width: 0;
  height: 0;

  border-top: 12px solid transparent;
  border-bottom: 12px solid transparent;
  border-left: 18px solid #777;

  transform: translate(-40%, -50%);

  z-index: 3;
  pointer-events: none;
}

/* hover */
.movie_thum a:hover::after {
  transform: translate(-50%, -50%) scale(1.08);
  background: rgba(255,255,255,.9);
}

.movie_thum a:hover::before {
  opacity: .85;
}