@charset "utf-8";
/* CSS Document */

/*******************

LP style

********************/
html , body {
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
html #container {
  margin: 0 auto;
}
html #main_column .lpbox h2 {
  padding: 0;
  margin: 0 auto;
  border: none;
}
/* content
--------------------------------------------------*/
.lpbox , #sainclarte_lp_fotter , #lpfooter {
  font-size: 14px;
  font-size: 3.7333vw;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Mayryo','ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  color:#303030;
  line-height:1.5em;
}
@media screen and (min-width:750px){
  .lpbox , #sainclarte_lp_fotter , #lpfooter {
    font-size: 28px;
    max-width: 750px;
    margin: 0 auto;
  }
  .lpbox {
   margin-bottom: 1em; 
  }
}
.lpbox a , #sainclarte_lp_fotter a ,  #lpfooter a{
  color: inherit;
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
}
.lpbox a:hover, #sainclarte_lp_fotter a:hover , #lpfooter a:hover {
  text-decoration: underline;
}
.lpbox span, #sainclarte_lp_fotter span {
  font-size: inherit;
  font-weight: inherit;
}
.lpbox img ,
#sainclarte_lp_fotter img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  vertical-align: bottom;
}
.lpbox img.img-t ,
#sainclarte_lp_fotter img.img-t {
  vertical-align: top;
}
/* cart css reset */

.lpbox header ,
.lpbox h1 ,
.lpbox h2 ,
.lpbox h3 ,
.lpbox p ,
.lpbox dl ,
.lpbox dt ,
.lpbox dd ,
.lpbox div ,
.lpbox section ,
.lpbox span {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}
#sainclarte_lp_fotter footer ,
#sainclarte_lp_fotter div,
#sainclarte_lp_fotter p {
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
}
#sainclarte_lp_fotter ul,
#sainclarte_lp_fotter li,
.lpbox ul,
.lpbox li{
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: none;
  box-sizing: border-box;
  padding: 0;
  margin: 0 auto;
  list-style: none;
}
/*----------------------------------------*/
html .lpbox header {
  display: block;
  width: 100%;
}
html .lpbox header h1 {
    width: 100%;
    max-width: 100%;
    font-size: 0;
    margin-right: auto;
}
/*----------------------------------------*/


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

-----------------------------------------------*/
.lpbox {
overflow: hidden;
}


/*-------------------------------------------
動画、テキスト
-----------------------------------------------*/
.absorption__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.absorption_movie video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 92%;
  margin: 0 auto;
}

.topclass__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.topclass_movie video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 92%;
  margin: 0 auto;
}

.pure__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.pure_movie video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 88%;
  margin: 0 auto;
}

.pure_txt {
  position: absolute;
  top:-43%;
  margin: 0 auto;
}

.layer__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.layer_movie video {
  position: absolute;
  top: 0;
  right: 5%;
  width: 43%;
}

.soft__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.soft_movie video {
  position: absolute;
  top: 0;
  left: 0;
  width: 64.8%;
}

.soft_txt {
  position: absolute;
  top: 17%;
  width: 100%;
  margin: 0 auto;
  z-index:1;
}

.stylish__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.stylish_movie video {
  position: absolute;
  top: 0;
  right: 0;
  width: 42%;
}

.early__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.early_movie video {
  position: absolute;
  top: 0;
  right: 28%;
  width: 67%;
}

.early_txt {
  position: absolute;
	top:20%;
	  width: 100%;
	margin: 0 auto;
	z-index:1;
}

.commit01__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.commit01_movie video {
  position: absolute;
  top: 0;
  right: 5%;
  width: 67%;
}

.commit02__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.commit02_movie video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 87.5%;
  margin: 0 auto;
}

.commit03__move {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.commit03_movie video {
  position: absolute;
  top: 0;
  left: 7.5%;
  width: 75%;
}


/*-------------------------------------------
tabcta
-----------------------------------------------*/
/**** cv位置 ****/
#tab .tab_cta {
    position: relative;
    width: 100%;
}

#tab .tab_container {
    position: relative; /* absoluteにしない！ */
    width: 100%;
    margin-top: -30%;   /* マイナス値でcv_01画像の上にスライドさせる */
    z-index: 10;
}

/* ボタン自体の並びを制御 */
.tab_menu {
  display: flex;
  gap: 3px;
  height: 150px;       /* 余裕を持たせた高さに変更 */
  align-items: flex-end; /* これで底辺が揃い、高さの差が上に出ます */
  margin-bottom: -9px;   /* 枠線との隙間を埋める（数値は微調整してください） */
  padding: 0 10px;
  z-index: 1; 
}

/**** タブ設定 ****/
.tab_btn {
  flex: 1;
  cursor: pointer;
  border: none;
  background: none;
  padding: 0;
  outline: none;
  /* 下記を追加：はみ出しを許容する */
  display: flex;
  align-items: flex-end;
  /* スマホのタップ時のハイライトを透明にする */
  -webkit-tap-highlight-color: transparent;
}

/* 画像（非選択時：下がっている状態） */
.lpbox .tab_img {
  width: 100%;
  height: auto; 
  display: block;
  opacity: 0.6;
  border-radius: 12px 12px 0 0;
  
  /* 重要：15%分だけ下にずらして配置 */
  transform: translateY(5%); 
  transition: transform 0.3s ease, opacity 0.5s;
}


/* 画像（選択中：上に飛び出す） */
.lpbox .tab_btn.is-active .tab_img {
  opacity: 1;
  /* 重要：元の位置（0）に戻すことで上に上がって見える */
  transform: translateY(0); 
}

/* 親要素の調整 */
.tab_menu {
  display: flex;
  gap: 3px;
  align-items: flex-end;
  margin-bottom: -2px;
  padding: 0 10px;
  /* 画像が上に飛び出せるように、高さは固定せず中身に合わせる */
  height: auto; 
  overflow: visible; 
}

/* コンテンツ枠 */
.lpbox .tab_item {
  display: none; /* 基本は非表示 */
  background: #ffffff;
  border: 9px solid #000 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0);
  overflow: hidden;
  position: relative;
  z-index: 2; 
}

/* --- スマホ設定（メディアクエリ） --- */
@media screen and (max-width: 768px) {
  /* 1. ボーダーを5pxに細くする */
  .lpbox .tab_item {
    border-width: 5px !important;
  }

  /* 2. 重なり（マイナス値）も5pxに合わせて隙間を消す */
  .tab_menu {
    margin-bottom: -5px; 
  }

  /* 各コンテンツごとの枠色も太さを上書き */
  .lpbox #content01,
  .lpbox #content02,
  .lpbox #content03 {
    border-width: 5px !important;
  }
}

/* 選択中のコンテンツ表示 */
.lpbox .tab_item.is-active {
  display: block;
}

.item_inner {
  padding: 30px 20px;
}

/* コンテンツ01の枠色（赤） */
.lpbox #content01 {
  border-color: #b40606 !important;
}

/* コンテンツ02の枠色（緑） */
.lpbox #content02 {
  border-color: #3ba49e !important;
}

/* コンテンツ03の枠色（グレー） */
.lpbox #content03 {
  border-color: #606166 !important;
}


/* フェードアニメーション */
@keyframes tabFadeIn {
  from { opacity: 1; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}


/**** 購入各ボタン（pタグ）の調整 ****/
#tab .tab_btn_box_01 {
    display: block;
    width: 95%;          /* 左右に余白を作る（お好みで90%などに調整） */
    margin: 2% auto 1%; /* 上5%、左右中央、下3%の順 */
}

#tab .tab_btn_box_02 {
    display: block;
    width: 95%;          /* 左右に余白を作る（お好みで90%などに調整） */
    margin: 1% auto 1%; /* 上2%、左右中央、下3%の順 */
}

#tab .tab_btn_box_03 {
    display: block;
    width: 95%;          /* 左右に余白を作る（お好みで90%などに調整） */
    margin: 1% auto 4%; /* 上2%、左右中央、下5%の順 */
}

/* 画像がはみ出さないための基本設定 */
#tab .tab_btn_box tab_btn_box_01 img {
    display: block;
    width: 100%;
    height: auto;
}

/* タップ・ホバー時に少し薄くする（反応を分かりやすく） */
#tab .tab_btn_box a:active img,
#tab .tab_btn_box a:hover img {
    opacity: 0.8;
}


.lpbox .cta__box__text {
  background: url(../img/cv_04.png) repeat top left;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
  position: relative;
  width: 100%;
  color: #202020;
  box-sizing: border-box;
  padding: 3% 5%;
}
.lpbox .cta__box__text  p{
  font-size: .64em;
  text-align: justify;
	line-height: 1.3em;
	  color: #fff;
}
.lpbox .cta__box__text .red,
.lpbox .cta__box__text a {
  color: #909090;
}


/*-------------------------------------------
btn
-----------------------------------------------*/
.value__btn {
  margin: 0 auto;
  position: relative;
  width: 100%;
}

.value_btn {
  position: absolute;
  top: -3%;
  left: 0;
  right: 0;
  width: 95%;
  margin: 0 auto;
}


/*-------------------------------------------
detail
-----------------------------------------------*/
.lpbox .details__box {
  text-align: center;
  width: 95%;
  margin-top: 0;
  position: relative;
  padding: 3%;
  border: 2px solid #1d2f40;
}
.lpbox .details__box li {
  padding: 2% 3%;
  background: #fff;
}
.lpbox .details__box li:nth-child(odd){
  background: #1d2f40;
  color: #fff;
}
.lpbox .details__box li:nth-of-type(6){
  text-align: left;
  font-size: .83em;
}

/*-------------------------------------------
footer
-----------------------------------------------*/
#lpfooter .footer-link ,
#sainclarte_lp_fotter .footer-link {
  text-align: center;
  margin-top: 3em;
  margin-bottom: 2em;
}
#lpfooter .footer-link li,
#sainclarte_lp_fotter .footer-link li{
  font-size: 1em;
  margin-bottom: 1em;
}
#lpfooter #copy ,
#sainclarte_lp_fotter #copy {
  text-align: center;
  font-size: .75em;
  color: #fff;
  background-color: #1d2f40;
  box-sizing: border-box;
  padding: .5em;
}