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

/*-------------------------------------------------------------------------------------
スマホ用レイアウト（768px以下スクリーン）
----------------------------------------------------------------------------------------*/

/*--------------------------------------------------
共通設定(スマホ)
-----------------------------------------------------*/
	
/*body全体の初期スタイル調整*/
body {
	width: 100%;
  -webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
  font-family: 'Noto Sans JP', sans-serif;
}

/*--------------------------------------------------
全体レイアウト／背景設定（スマホ）
-----------------------------------------------------*/
/*記事(ボディ)エリア*/
.article {
  background-color: #fff;
  
}

.article{
	width: 100%;
}

/*カラム全体の幅を変更する*/
.top_image_in,.section_inr {
  width: 100%;
  margin: 0 auto; /*真ん中に要素を置きたいときに使う*/
}
/*--------------------------------------------------
上部固定ヘッダー設定
-----------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 5000;
  max-width: 720px;
  margin: 0 auto;
  border: 1px solid #ccc;
  box-sizing: border-box;
  /* overflow: auto; は削除 */
 
}

/*ヘッダー内部をカラム幅にする*/
.header_inr {
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  display: flex;
  background-color: #fff;
  
}

/*ヘッダーのロゴ*/
.header_logo{
  float: left;
  width: 80%;
  margin: 1em 1em 0.6em ;
    
  }
  
  
  /*ヘッダーの問い合わせボタン*/


  .header_line {
    width: 82%;
    margin: 0.7em 1em 0.6em 0.5em; 
  }
  





 


/*--------------------------------------------------
ファーストビュー設定
-----------------------------------------------------*/
.top_image {
  background-image: none;
}

.top_image{
  margin-bottom: 0;
}

/*--------------------------------------------------
CTA
-----------------------------------------------------*/

.cta_area{
  background-color: #fff;
  padding: 3.5em 1.2em 3em;
}

.cta_title{
  text-align: center;
  margin-bottom: 1.2em;
  
}

.cta_inr_title{
  margin-bottom: 0.6em;
  text-align: center;
 
  
}

.cta_btn_line{
  text-align: center;
}







/*--------------------------------------------------
悩み
-----------------------------------------------------*/
.section_nayami{
  background-color: #fff;
  padding: 2em 1.2em 2em;
}

.nayami_title{
  margin-bottom: 2em;
}

.nayami_inr img {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 1.2s ease, transform 1.2s ease;
  margin-bottom: 2em;
}

.nayami_inr img.show {
  opacity: 1;
  transform: translateY(0);
}



/*--------------------------------------------------
解決
-----------------------------------------------------*/
.section_kaiketsu{
  background-color: #fff;
  padding: 0em 0em 1em;
}

.kaiketsu_title{
  margin: 2em 1.2em 1em;
}

.kaiketsu_inr{
  margin: 1.3em 1.2em 1.3em;
}

.kaiketsu_arrow{
  text-align: center;
  margin: 3em 0 0;
}



/*--------------------------------------------------
実績
-----------------------------------------------------*/
 .section_jisseki {
    padding: 2em 0 3em;
    position: relative;
    overflow: hidden;
    max-width: 100%;
    margin: 0 auto;
  }

  .jisseki_title{
    margin: 0 1em 2em;
    text-align: center;
  }

  .jisseki_wrapper {
    position: relative;
  }

  .jisseki_slide {
    display: flex;
    transition: transform 0.5s ease;
  }

  .jisseki_item {
    flex: 0 0 90%;         /* ← カード幅を90%にしてチラ見せ */
    margin: 0 0.5em;       /* ← 少し間隔 */
    box-sizing: border-box;
  }

  .jisseki_item img {
    display: block;
    width: 100%;
    border-radius: 0.5em;
  }

  .jisseki_prev,
  .jisseki_next {
    position: absolute;
    top: 30%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    border: none;
    border-radius: 50%;
    width: 2em;
    height: 2em;
    cursor: pointer;
    font-size: 1.2em;
    line-height: 1em;
    color: #252525;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .jisseki_prev { left: 0.5em; }
  .jisseki_next { right: 0.5em; }

  .jisseki_dots {
    text-align: center;
    margin-top: 1em;
  }

  .jisseki_dots button {
    display: inline-block;
    border: none;
    padding: 0;
    background: #ccc;
    border-radius: 50%;
    width: 0.8em;
    height: 0.8em;
    margin: 0 0.3em;
    cursor: pointer;
  }

  .jisseki_dots button.active {
    background: #252525;
  }







/*--------------------------------------------------
理由
-----------------------------------------------------*/
.section_reason{
  padding: 1.2em 0em 0em;
  background-color: #fff;

}

.reason_title{
  margin: 0em 1.5em 3em;
}

.reason_inr{
  padding: 0em 1.5em 1.5em;
}

.reason_01,.reason_02,.reason_03,.reason_04{
  margin-bottom: 3.8em;
}


/* 初期状態：画面下方向に大きくずらして完全に非表示 */
.section_reason .reason_inr > div {
  opacity: 0;
  transform: translateY(80px); /* 40px → 80px で下から感を強調 */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* 表示状態：はっきり出現（元の位置へ） */
.section_reason .reason_inr > div.is-visible {
  opacity: 1;
  transform: translateY(0);
}



/*--------------------------------------------------
step
-----------------------------------------------------*/
.section_step{

  padding: 3em 1.2em 2em;
  background-color: #fff;

}

.step_title{
  margin-bottom: 2.5em;
  text-align: center;
}

.step_inr img{
  margin-bottom: 2em;
}

.step_triangle{
  text-align: center;
}

/*--------------------------------------------------
サポート
-----------------------------------------------------*/
.section_support{
  padding: 1em 1.5em 2em;
}



/*--------------------------------------------------
qa
-----------------------------------------------------*/

.section_qa {
  padding: 2em 1em 0.5em;
  max-width: 720px;           /* 指定どおり px */
  margin: 0 auto;
  font-size: 1em;
  background-color: #fff;
}

.qa_title {
  text-align: center;
  margin-bottom: 1.5em;
}

/* ===== QA（アコーディオン） ===== */

.qa-item {
  border-bottom: 0.1em solid #ddd;
}

.qa-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1em;
  background: #fff;
  border: none;
  font-size: 1em;
  text-align: left;
}

.qa-qmarker {
  display: inline-block;
  margin-right: 0.5em;
  font-weight: bold;
  color: #f15a35;
  font-size: 1.2em;
}

.qa-question {
  flex: 1;
  font-size: 1em;
  color: #252525;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 600;
}

/* === 丸いアイコン +／− === */
.qa-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4em;
  height: 1.4em;
  border-radius: 50%;
  border: 0.1em solid #252525;
  background: transparent;
}

/* 棒の基本 */
.qa-icon::before,
.qa-icon::after {
  content: "";
  position: absolute;
  background-color: #252525;
  transition: transform 0.3s ease;
}

.qa-icon::before {  /* 横棒 */
  width: 0.5em;   /* ← 横の長さを短く */
  height: 0.1em;
}

.qa-icon::after {   /* 縦棒 */
  width: 0.1em;
  height: 0.5em;   /* ← 縦の長さを短く */
}




/* 展開時は縦棒を消す → 「−」になる */
.qa-header[aria-expanded="true"] .qa-icon::after {
  transform: scaleY(0);
}

.qa-panel {
  display: none;
  padding: 1em;
  background: #fff;
  color: #333;
  padding-top: 0;
}

.qa-answer {
  font-size: 0.9em;
  line-height: 1.8em;
}

.qa-answer p {
  letter-spacing: 0.05em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 0;
}

.qa-amarker {
  display: inline-block;
  margin-right: 0.5em;
  font-weight: bold;
}










/*--------------------------------------------------
フッター部分
-----------------------------------------------------*/
.footer {
  padding: 0.6em 0em;
  text-align: center;
  font-size: 0.8em;
  background-color: #fff;
}

.footer p{
  font-family:'Hiragino Kaku Gothic ProN';
  color: #000;
}










.fixed-buttons {
  position: fixed;
  bottom: 0em;
  left: 0;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  background-color: rgba(255, 255, 255, 0.9); /* 白の透明 */
  display: flex;
  justify-content: center;
  gap: 0.5em; /* ボタンの間隔 */
  padding: 0.8em 0;
  z-index: 1000;

  /* ふんわり表示対応 */
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.fixed-buttons.show {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}

.buttom_fix a img,
.fixed-buttons img {
  width: 100%;
  height: auto;
  display: block;
}

.buttom_fix {
  margin: 0 0.8em;
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 0;

  /* ボタン自体が上下に揺れる */
  animation: floatUpDown 3s ease-in-out infinite;
}

@keyframes floatUpDown {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0);
  }
}
















