
/* アニメーション定義 */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* 初期状態：非表示 */
.fadein {
  opacity: 0;
}
/* JSがこのクラスを付けたら発火 */
.fadein.visible{
  animation-name: fadeInUp;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: forwards;  /* 終了後も表示を維持 */
}

/* 縦文字タイプライター風アニメーション */
@keyframes fadeInUp-vertical {
  from { opacity: 0; transform: translate(-50%, calc(-50% + 24px)); }
  to   { opacity: 1; transform: translate(-50%, -50%); }
}
.fadein-center{
  animation-name: fadeInUp-vertical;
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: forwards;  /* 終了後も表示を維持 */
}

/* ボタンのアニメーション */
@keyframes pulse {
  0%   { transform: translateX(-50%) scale(1); }
  20%  { transform: translateX(-50%) scale(1.06); }
  40%  { transform: translateX(-50%) scale(1); }
  100% { transform: translateX(-50%) scale(1); } /* 40%〜100%は止まってる */
}
.ctabtn-pulse{
  animation: pulse 2.5s ease-in-out infinite;
}

/* 縦文字ふわっと表示アニメーション */
@keyframes charFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.char-fade {
  opacity: 0;
  animation: charFadeIn 0.6s ease forwards;
}

.trialLP{
    color: #2B2B2B;
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.1em;
}
.trialLP__inner{
    max-width: 400px;
    background-color: #F4F2ED;
}
.trial-container{
    position: relative;
    text-align: center;
}
.trial-contents{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 50px 20px 30px;
}

.trial-container__white{
color: #fff;
}
.trial-contents01__ttl{
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 190px;
}
.t-attend{
    font-size: 6px;
    font-weight: 300;
    position: relative;
}
.t-attend-top20{
    top: -20px;
    right: 0;
}
.trial-contents01__border{
    border:1px solid #fff;
    padding: 5px 10px;
    width: fit-content;
    margin: 0 auto 30px;
}
.trial-contents01__circle{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 15px;
}
.trial-contents01__circle li{
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: rgba(0,0,0, 0.3);
    width: 100px;
    height: 100px;
    position: relative;
    margin: 0 auto 15px;
}
.trial-contents01__circletxt{
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width :80px;
  text-align:center;
  font-size: 13px;
}
.t-bold{
    font-weight: bold;
    font-size: 14px;
}
.t-attendtxt{
    font-size: 11px;
    font-weight: 300;
    text-align: left;
    width: 80%;
    margin: 0 auto 30px;
}
.t-attend-top5{
    top: -5px;
    right: 0;
}


/* ボタン */
.ctabtn{
    max-width: 350px;
    width: 100%;
    min-height: 80px;
    height: auto;
    margin: 0 auto;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}
.ctabtn a{
    background-color: #045326;
    border: 1px solid #fff;
    border-radius: 40px;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.5;
    padding: 10px 0;
    position: relative;

}
.ctabtn--small{
    font-size: 13px;
}
.ctabtn--big{
    font-size: 19px;
    font-weight: 500;
}
.ctabtn--reg{
    font-size: 16px;
    font-weight: 500;
}
.ctabtn--small-bold{
    font-size: 13px;
    font-weight: 500;
}

.ctabtn a:before {        /*白い丸 */ 
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 15px;
    transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #fff;
}
.ctabtn a:after {        /*「after要素」で三角 */ 
	display: block;
	content: "";
	position: absolute;
	top: 46%;
	right: 21px;
	width: 0;
	height: 0;
	border: 4px solid transparent;        /*top right bottom を透明化 */ 
	border-top: 7px solid #045326;
}
.ctabtn a:hover:after {        /*「after要素」のマウスオーバー（カラーを合わせる） */  
	border-top: 5px solid #045326;
}
.trial-btn{
    background-image: linear-gradient( to bottom, transparent, #f4f2ed);
}


.trial-ttl{
    font-size: 24px;
    font-weight: 500;
}
.trial-contents02{
    padding-block: 50px;
}
.trial-ttl__content02{
    margin-bottom: 40px;
}
.trial-txt{
    letter-spacing: 0.05em;
    line-height: 2.2;
}
.trial-container__bgcolor--black{
    background-color: #2B2B2B;
}

.trial-contents03{
    padding-block: 40px;
}
.trial-ttl__content03{
    margin-bottom: 14px;
}
.trial-contents03__border{
    border: 1px solid #fff;
    text-align: center;
    padding: 5px 10px;
    width: fit-content;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 10px;
    letter-spacing: 0.2em;

}
.trial-contents03__icon{
  width: 22px;
}

.trial-contents04{
  padding: 0 20px 40px;
}
.trial-contents04 li{
  position: relative;
  padding-left: 40px;
  font-weight: 100;
  line-height: 2;
  font-size: 16px;
  letter-spacing: 0.1em;
}
.trial-contents04 li:not(:last-child){
  margin-bottom: 30px;
}
.trial-contents04 li::after{
  content: "";
  background-image: url(/asset2025/images/lp/check-box.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 5px;
  left: 0;
}
.trial-contents04 li span{
    font-weight: 500;
    border-bottom: 2px solid #F2F2A4;
    padding-bottom: 2px;
}

.check-mark-wrap {
  position: absolute;
  width: 25px;
  height: 25px;
  top: 5px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* クリップの肝 */
  z-index: 10;
}
.check-mark-img {
  width: 14px;
  height: auto;
  clip-path: inset(0 100% 0 0); /* 初期は非表示 */
  transition: clip-path 1s ease 0.1s;
}
.checkmark.visible .check-mark-img {
  clip-path: inset(0 0% 0 0); /* 左から右に現れる */
}
.trial-contents05 {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    padding: 25px 20px 30px;
    text-align: left;
}
.trial-contents05::before {
    content: '';
    position: absolute;
    inset: 0; /* top/right/bottom/left: 0 の省略 */
    background-color: rgba(255, 255, 255, 0.5);
    filter: blur(10px);
    z-index: -1;
}
/* 文字は z-index で前面に */
.trial-contents05 p {
  position: relative;
  z-index: 1;
}
.trial-contents05 > p:not(:last-child){
    margin-bottom: 20px;
}
.trial-contents05 span{
  color: #456569;
  border-bottom: 1px solid #456569;
  font-weight: 700;
}

.vertical {
  writing-mode: vertical-rl; /* 右から左へ */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  font-size: 24px;
  line-height: 1.3;
  height: 90%;

  /* 上下の棒線 */
  display: flex;
  align-items: center;
  gap: 0.8em;
}

.vertical::before,
.vertical::after {
  content: '';
  display: block;
  width: 1px;          /* 縦書き時はwidthが線の太さになる */
  height: 60px;        /* 棒の長さ */
  background-color: #2B2B2B;
  flex-shrink: 0;
}

/* cta */
.trial-contents07{
  padding-block: 20px;
}
.ctatxt__tag{
  text-align: left;
  font-size: 13px;
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
.ctatxt__tag span{
  display: block;
}
.ctatxt__recomend{
  background-color: #F4F2ED;
  color: #456569;
  padding: 3px 12px;
}
.ctatxt__trial{
  background-color: #456569;
  color: #FFFFFF;
  padding: 3px 12px;
}
.ctatxt__box{
  text-align: left;
  background-color: #FFFFFF;
  padding: 10px 15px;
  margin-bottom: 10px;
}
.ctatxt__ttl{
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-bottom: 10px;
}
.ctatxt__circle{
  background-color: #456569;
  color: #FFFFFF;
  border-radius: 50%;
  height: 70px;
  width: 70px;
  position: relative;
  margin-bottom: 5px;
  line-height: 1;
}
.ctatxt__circle-txt{
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 46%;
  transform: translate(-50%,-50%);
  width :80px;
  text-align:center;
}
.ctatxt__circle-small{
  font-size: 10px;
}
.ctatxt__circle-big{
    font-size: 20px;
    letter-spacing: 0.01em;
}
.ctatxt__circle-reg{
    font-size: 12px;
}

.ctatxt__price{
  display: grid;
  align-items: center;
  justify-content: space-around;
  grid-template-columns: 70px 1fr 44px;
  gap: 10px;
}
.ctatxt__fee{
  border: 1px solid #2B2B2B;
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
  font-size: 12px;
}
.ctatxt__normal{
  text-align: center;
  font-size: 13px;
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  gap: 10px;
}
.ctatxt__normaltxt{
  background-color: #F4F2ED;
  padding: 6px 10px;
  line-height: 1.3;
  font-size: 11px;
}
.ctatxt__name{
  font-size: 11px;
}
.ctaatxt__attend{
  font-size: 10px;
  text-align: left;
  margin-bottom: 10px;
}
.trial-contents08__centerarea{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
}
.trial-contents08{
padding-block: 30px;
font-size: 20px;
}
.trial-contents08__txt01{
  position: relative;
  top: 20px;
  letter-spacing: 0.2em;
  line-height: 1.7;
  font-weight: 300;
}
.trial-contents08__txt02{
  color: #2B2B2B;
  letter-spacing: 0.1em;
  line-height: 1.7;
  font-weight: 400;
  margin-bottom: 10px;
}
.trial-contents08__txt03{
  width: 40%;
  margin: 0 auto 90px;
}
.trial-contents08__txt04{
  letter-spacing: 0.2em;
  line-height: 1.7;
  font-weight: 300;
  width: 100%;
  position: absolute;
  bottom: 70px;
  left: 50%;
  transform: translateX(-50%);
}
.trial-contents08__txt04 span{
    font-weight: 300;
    font-size: 32px;
}

.trial-container__bgcolor--green{
  background-color: #045326;
}


.trial-contents09{
    padding: 40px 40px 50px;
    font-weight: 300;
}
.trial-contents09__txt01{
  background-image : linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 4px);  /* 幅2の線を作る */
  background-size: 6px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.trial-contents09__txt01 p{
  margin-bottom: 30px;
  padding-bottom: 30px;
}
.trial-contents09__txt01 p span{
  color:#F2F2A4 ;
}
.trial-contents09__attend{
  font-size: 11px;
  position: relative;
}

.trial-contents09__cience{
  background:url("/asset2025/images/lp/science-bg.jpg") center / cover no-repeat;
  width: 100%;
  height: 100%;
  padding: 25px 16px;
  margin-top: 40px;
}
.trial-contents09__ciencettl{
  font-size: 24px;
  font-weight: 500;
}

.trial-contents09__border{
  background-image : linear-gradient(to right, #fff, #fff 1px, transparent 1px, transparent 4px);  /* 幅2の線を作る */
  background-size: 6px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
  padding-block: 20px;
  font-size: 15px;
}
.trial-contents09__bordernone{
      padding-block: 20px;
          font-size: 15px;
}
.trial-contents09__cience ul{
  color:#F2F2A4 ;
  padding-left: 25px;
}
.trial-contents09__cience ul li{
  list-style:disc;
}


.trial-contents10 {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  padding: 10px 0;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  background-color: rgba(255, 255, 255, 0.7);
  /* backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px); */
  box-shadow: 0px 0px 15px 15px rgba(255, 255, 255, 0.7);
}

.trial-contents10 h2{
  font-weight: 500;
}
/* 文字は z-index で前面に */
.trial-contents10 p {
  position: relative;
  z-index: 1;
}


.trial-contents11{
  padding: 20px 40px 30px;
  font-weight: 300;
  line-height: 1.7;
}
.trial-contents11 p:not(:last-child){
  margin-bottom: 30px;
}
.trial-contents11 p span{
    color:#F2F2A4 ;
}

.trial-contents12 h3{
  font-size: 24px;
  line-height: 1.7;
  text-shadow: 0 0 10px #000;
}
.trial-contents12 > p{
  position: absolute;
  bottom: 30px;
  left: 0;
  font-size: 20px;
  width: 100%;
}

.vertical02{
  height: 95%;
}
.trial-contents13__attend{
  width: 27%;
  text-align: left;
  position: absolute;
  bottom: 45px;
  right: 10px;
  font-size: 11px;
}
.vertical02-attend{
  position: absolute;
  right: -8px;
  top: 46%;
  text-combine-upright: all;
  font-size: 11px;
}

.trial-contents14__attend{
  font-size: 11px;
  text-align: left;
}
.vertical03{
  writing-mode: vertical-rl; /* 右から左へ */
  position: absolute;
  top:20px;
  right: 40px;
  font-size: 26px;
  line-height: 1.9;
  height: 80%;
  font-weight: 600;
  text-align: start;
}
.trial-contents14{
  padding: 20px;
}
.trial-contents14__attend{
  position: absolute;
  bottom: 70px;
  left: 30px;
}
.trial-contents14__circle{
    background-color: #FFFFFF;
    color: #456569;
    font-size: 20px;
    border-radius: 50%;
    height: 170px;
    width: 170px;
    position: relative;
    line-height: 1.4;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.15);
}
.trial-contents14__circle .trial-contents14__circletxt{
    position: absolute;
    display: inline-block;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    text-align: center;
}
.trial-contents14__circle-big{
  font-size: 1.7em;
  font-weight: 600;
}
.trial-contents14__circle-mark{
  position: relative;
  top: -10px;
  right: 0;
  font-size: 11px;
}

.trial-contents15__box{
  background-color: rgba(255,255,255,.6);
  box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.15);
  padding: 30px 20px;
  text-align: left;
}
.trial-contents15__box h2{
  font-size: 20px;
  font-weight: 500;
  width: fit-content;
  border-bottom: 1px solid #2B2B2B;
    margin-bottom: 20px;
}
.trial-contents15__box ul {
  margin-bottom: 30px;
}
.trial-contents15__box ul li{
  padding-block: 5px;
  position: relative;
  padding-left: 35px;
}
.trial-contents15__box ul li::before{
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 0;
  width: 25px;
  height: 25px;
  background: url("/asset2025/images/lp/check-box-border.svg") center / cover no-repeat;
}
.rial-contents15__txt{
  font-size: 24px;
  font-weight: 500;
  text-align: center;
}
.rial-contents15__txt span{
  color: #456569;
  border-bottom: 1px solid #456569;
    font-weight: 300;
}

.trial-contents16 h2{
  font-size:30px;
  position: relative;
  margin-bottom: 100px;
  text-align: center;
}
.trial-contents16{
  padding: 0 30px 30px;
}
.trial-contents16 h2::after {
  content: '';
  display: block;
  width: 1px;
  height: 60px;
  background-color: #2B2B2B;
  flex-shrink: 0;
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateY(-50%);
}

.trial-contents16__box:not(:last-child){
  text-align: left;
  padding-bottom: 30px;
  margin-bottom: 30px;
    background-image : linear-gradient(to right, #456569, #456569 1px, transparent 1px, transparent 4px);  /* 幅2の線を作る */
  background-size: 6px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
.trial-contents16__box h3{
  color: #456569;
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 500;
}
.trial-contents16__ttl{
  font-weight: 800;
  border-bottom: 1px solid #456569;
}
.trial-contents16__mark{
  font-size: 11px;
  position: relative;
  top: -5px;
}
.trial-contents16__mark-big{
  font-size: 20px;
  position: relative;
  top: -3px;
}
.trial-contents16__mark-small{
  font-size: 8px;
  position: relative;
  top: -1px;
}
.trial-contents16__attend{
  font-size: 11px;
}
.trial-contents16__txt{
  margin-bottom: 10px;
}
.trial-container__bgimage{
  background-image: url('/asset2025/images/lp/repeat.jpg');
  background-repeat: repeat;
  background-size: contain;
  background-position: right;
}

/* ご利用方法 */
.trial-container__use{
  padding: 40px 20px 30px 0;
}
.trial-container__use h2{
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 30px;
}
.use__box{
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 10px;
  padding-bottom: 30px;
  position: relative;
  margin-bottom: 30px;
}
.use__step{
    color: #456569;
    font-weight: 800;
    width: fit-content;
    border-bottom: 1px solid #456569;
    margin-bottom: 10px;
}
.use__ttl{
  margin-bottom: 10px;
  font-weight: 600;
}
.use__txt{
  font-size: 14px;
  font-weight: 400;
}
.use__txt-small{
  font-size: 12px;
  margin-bottom: 10px;
}
.use__box:not(:last-child)::after{
  content: "";
  position: absolute;
  bottom: 0;
  left: 30px;
  width: 90%;
  height: 1px;
  background-image : linear-gradient(to right, #A7A7A7, #A7A7A7 1px, transparent 1px, transparent 4px);  /* 幅2の線を作る */
  background-size: 6px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}

.hairlist{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  text-align: center;
}
.hairlist li{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.hairlist__ttl{
  font-size: 13px;
  font-weight: 400; 
}
.hairlist__push{
  font-size: 12px;
  line-height: 1.3;
}
.hairlist__push span{
  font-weight: 600;
  font-size: 14px;
}


/*  */
.trial-contents17 >p{
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  font-weight: 400;
  text-align: left;
  line-height: 3;
  text-shadow: 0 3px 10px #000;
}

/*  */
.trial-contents18{
  text-align: center;
  padding: 30px 20px;
}
.award{
  margin-bottom: 30px;
}
.award__sub{
  font-size: 14px;
  font-weight: 800;
}
.award__ttl{
  font-size: 36px;
  position: relative;
  display: flex;
  justify-content: space-around;
  width: fit-content;
  align-items: center;
  margin: 0 auto;
  gap: 10px;
}
.award__ttl::before,
.award__ttl::after{
  content: "";
  width: 40px;
  height: 50px;
}
.award__ttl::before{
  background: url("/asset2025/images/lp/award-left.png") center / contain no-repeat;
}
.award__ttl::after{
  background: url("/asset2025/images/lp/award-right.png")center / contain no-repeat;
}
.award__ttl-small{
  font-size: 20px;
  font-weight: 800;
}
.newspaper{
  background-color: #FFFFFF;
  padding: 20px 10px;
  text-align: left;
}
.newspaper__ttl{
  border-bottom: 1px solid #2B2B2B;
  width: fit-content;
  margin-bottom: 15px;
  font-weight: 500;
}
.newspaper ul{
  padding-left: 20px;
  margin-bottom: 10px;
}
.newspaper ul li{
  list-style: disc;
  font-size: 14px;
  padding-bottom: 10px;
}
.newspaper img{
  width: 90%;
  margin: 0 auto;
}

/*  */
.trial-contents19{
  padding: 20px 20px 40px;
}
.trial-contents19 h2{
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 30px;
}
.voice{
  text-align: left;
  background-color: #FFFFFF;
  padding: 20px;
}
.voice:not(:last-child){
  margin-bottom: 30px;
}
.voice__txt{
  font-size: 16px;
  line-height: 2;
  padding-bottom: 10px;
  margin-bottom: 10px;
    background-image : linear-gradient(to right, #2B2B2B, #2B2B2B 1px, transparent 1px, transparent 4px);  /* 幅2の線を作る */
  background-size: 5px 1px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}
/* .voice__txt span{
  color: #456569;
  font-weight: 600;
  background: linear-gradient(transparent 72%, #F2F2A4 0%);
} */
.voice__txt span{
  color: #456569;
  font-weight: 600;
  background-image: linear-gradient(transparent 72%, #F2F2A4 0%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: background-size 1.5s cubic-bezier(0.22, 1, 0.36, 1);
} 
/* JSが .visible を付けたら幅100%に */
.marker.visible {
  background-size: 100% 100%;
}
.voice__years{
  font-size: 20px;
  margin-bottom: 10px;
}
.voice__features{
  color: #456569;
  font-size: 15px;
}
.trial-contents20{
  text-align: left;
}
.trial-contents20__ttl{
  font-size: 20px;
  line-height: 1.7;
  margin-bottom: 15px;
  font-weight: 300;
}
.trial-contents20__txt{
  font-weight: 100;
  font-size: 14px;
  line-height: 2.2;
}

.trial-contents21{
  padding: 40px 20px 80px 20px;
}
.qa{
  background-color: #FFFFFF;
  padding: 20px;
}
.qa-q{
  margin-bottom: 10px;
  position: relative;
  padding-left: 20px;
}
.qa-q::before{
  content: "Q";
  position: absolute;
  top: -5px;
  left: -3px;
  color: #456569;
  font-size: 20px;
}
.qa-a{
  position: relative;
  padding-left: 20px;
}
.qa-a::before{
  content: "A";
  position: absolute;
  top: -2px;
  left: 0;
  color: #960727;
  font-size: 20px;
}
.qa-list{
  position: relative;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
.qa-list::before{
  content: "";
  width: 90%;
  height: 1px;
  position: absolute;
  bottom:0;
  left: 50%;
  transform: translateX(-50%);
  background-image : linear-gradient(to right, #2B2B2B, #2B2B2B 1px, transparent 2px, transparent 4px);  /* 幅2の線を作る */
  background-size: 5px 2px;          /* グラデーションの幅・高さを指定 */
  background-position: left bottom;  /* 背景の開始位置を指定 */
  background-repeat: repeat-x;       /* 横向きにのみ繰り返す */
}

.trial-contents21 h2{
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 30px;
}


.ctabtn__fixed{
  position:initial;
  transform: none;
}
.trial-btn{
  position:fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  display: none; /* 最初は非表示 */
}
@media screen and (max-width: 767px) {
  .trial-btn{
      bottom: 60px;
  }
}
