@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: 83%;
  margin: 0.6em 0.5em 0 ;
    
  }
  
  
  /*ヘッダーの問い合わせボタン*/
  .header_btns{
    display: flex;
    justify-content: flex-end;
  }


  .header_line {
     width: 30%;
    margin: 0.2em;
  }
  
  .header_form {
     width: 30%;
    margin: 0.2em;
  }

  
  .header_pc_tel{
    display: none;
  }





 


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

.top_image{
  margin-bottom: 0;
}

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

.cta_area {
background-color: #5070e2;
  padding: 1.6em 1em 2em;
}

.cta_inr{
  background-color: #fff;
  padding: 1.2em 0.7em 0.3em;
}

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

.cta_btn_form,.cta_btn_line{
  margin-bottom: 0.7em;
}

.cta_btn_tel{
  margin-bottom: 0.3em;
}

.cta_pc_tel{
  display: none;
}

.cta_btn_flex{
  display: flex;
  
  gap: 0.1em;
}

.cta_inr_title{
  margin-bottom: 0.8em;
}

.campaign{
  margin-top: 1em;
}







/*--------------------------------------------------
悩み
-----------------------------------------------------*/
.section_nayami{

}

.nayami_title{
  margin: 0 0.7em 1em;
}

.nayami_inr{
  padding: 1.3em 0.8em 4em;
  background-color: #eae6e3;
}

.nayami_contents{
  margin: 1em 0 1em;
}

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

.nayami_kaiketsu{
  margin-top: -2.26em;
}


/*--------------------------------------------------
解決
-----------------------------------------------------*/
.section_kaiketsu{
  padding: 1.3em 0 0em;
}


/*--------------------------------------------------
理由
-----------------------------------------------------*/
.section_reason{
  padding: 1.8em 0 0em;

}

.reason_top_img{
  width: 90%;
  margin: 0 auto;
}

.reason_inr{
  background-color: #1d48a6;
 padding: 1.2em 0em 1.2em;
  
}


.reason_01,.reason_02,.reason_03{
 
  margin: 0 0.8em 1.5em;
}






/*--------------------------------------------------
調査事例
-----------------------------------------------------*/
.section_jisseki{
  background-color: #caf4ff;
  padding: 0.8em 0.8em 1.4em;
}

.jisseki_01,.jisseki_02{
  margin-bottom: 1em;
}

.jisseki_title{
  margin-bottom: 0.8em;
}




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

  padding: 1.8em 0.8em 0.8em;
  background-color: #fff;

}

.step_title{
 
  margin: 0 auto;
  margin-bottom: 1.8em;
  
}

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

.step_triangle{
  text-align: center;
 
}




/*--------------------------------------------------
お客様の声
-----------------------------------------------------*/
.section_voice{
  background-color: #90d6e9;
padding: 1.5em 0.8em 1.5em;

  }

  .voice_title{
    margin-bottom: 1.5em;
  }





  .voice_01{
    
  }

  .voice_02{
    margin-top: 0.8em;
  }

  .voice_03{
    margin-top:0.8em ;
  }


/*--------------------------------------------------
エリア
-----------------------------------------------------*/
.section_area{
  background-color: #90d6e9;
  padding: 1.8em 0.8em 1.8em;
}






/*--------------------------------------------------
qa
-----------------------------------------------------*/
.section_qa{
  background-color:#e7e7e7;
  padding: 2em 0.8em 2em;
 
  
}

.qa_title{
  width: 100%;
  margin: 0 auto;
  margin-bottom: 1.8em;
}

.qa_01,.qa_02,.qa_03,.qa_04{

  margin-bottom: 1.5em;
}






/*--------------------------------------------------
フッター部分
-----------------------------------------------------*/
.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;
}

/* ▼▼▼ ここからプライバシーポリシー用のCSSを `style.css` の最後に追加 ▼▼▼ */
.policy-page {
  font-family:'Hiragino Kaku Gothic ProN'; 
  max-width: 800px;
  width: 90%;  /* 追加 */
  margin: 0 auto;
  padding: 0.8em;
  background: #f9f9f9;
  
  
}

.policy-page h1 {
  text-align: center;
  font-size: 1.4em;
}

.policy-page section {
  background: white;
  padding: 0.8em;
  margin: 0.8em 0;
  border-radius: 1px;
}

.policy-page h2 {
  font-size: 1.4em;
  color: #222222;
  border-bottom: 2px solid #ccc;
  padding-bottom: 1em;
}

.policy-page p {
  font-size: 1em;
  color: #222222;
}

.back-button {
  display: block;
  text-align: center;
  padding: 0.8em;
  background: #ddd;
  color: #222222;
  text-decoration: none;
  border-radius: 1px;
  margin-top: 20px;
  
}

.back-button:hover {
  background: #ccc;
}

.bk_btn{
  text-align: center;
}




/* ▼▼▼ ここからフォーム用のCSSを `style.css` の最後に追加 ▼▼▼ */

/* リセット用 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.contact-page {
  font-family:'Hiragino Kaku Gothic ProN'; 
  background: #f9f9f9;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2em 1.5em; /* 内側の余白 */
}

.form_p {
  text-align: center;
  font-size: 2.5em; /* 見出しのサイズ */
  color: #222222;
  margin-bottom: 0.7em;
}

.form_hosoku {
  font-size: 1.1em;
  color: #222222;
  margin-bottom: 1.5em;
  text-align: center;
}

/* フォーム設定 */
.contact-page form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 40em;
  padding: 0.2em 1.2em;
  background: white;
  border-radius: 2px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.contact-page label {
  display: block;
  margin-top: 1.5em;
  font-weight: bold;
}

.contact-page input,
.contact-page select,
.contact-page textarea {
  width: 100%;
  max-width: 35em;
  padding: 1em;
  margin-top: 0.5em;
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 1.2em;
  background-color: white;
}

.contact-page button {
  display: block;
  width: 100%;
  max-width: 35em;
  margin: 2em auto;
  padding: 1em;
  background: #eb9a63;
  color: white;
  border: none;
  border-radius: 2px;
  font-size: 1.2em;
  cursor: pointer;
}

.contact-page button:hover {
  background: #d17a42;
}

.contact-page textarea {
  height: 200px; /* ←ここを追加または調整 */
}


/* 戻るボタン */
.back-button {
  display: block;
  width: 100%;
  max-width: 35em;
  margin: 2em auto;
  text-align: center;
  padding: 1em;
  background: #ddd;
  color: #333;
  text-decoration: none;
  border-radius: 0.5em;
}

.back-button:hover {
  background: #ccc;
}

.contact-page select {
  width: 100%;
  max-width: 35em;
  padding: 1em;
  margin-top: 0.5em;
  border: 1px solid #ccc;
  border-radius: 2px;
  font-size: 1.2em;
  background-color: white;
  appearance: none; /* 可能なら、ブラウザごとのデフォルト矢印を非表示 */
}


.privacy-policy-box {
  margin-top: 20px;
  max-width: 600px;
}

.privacy-scroll {
  border: 1px solid #ccc;
  padding: 15px;
  height: 200px;
  overflow-y: scroll;
  background-color: #f9f9f9;
  font-size: 14px;
  line-height: 1.8;
}

.privacy-policy-box {
  margin-top: 20px;
  max-width: 600px;
}

.privacy-scroll {
  border: 1px solid #ccc;
  padding: 15px;
  height: 200px;
  overflow-y: scroll;
  background-color: #f9f9f9;
  font-size: 14px;
  line-height: 1.8;
}

h2 {
  font-size: 18px; /* h2を少し小さく */
  margin-top: 2em;
}




/* ▲▲▲ ここまでを `style.css` の最後に追加 ▲▲▲ */
	
	
/* サンクスページのスタイル */
.thanks-page {
  font-family:'Hiragino Kaku Gothic ProN'; 
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
  padding: 0.3em;
  background: #fff;
  text-align: center;
}

.thanks-page h1 {
  font-size: 1.6em;
  margin-bottom: 1em;
  font-weight: normal;
  margin-top: 1em;
  color: #000;
}

.thanks-page p {
  font-size: 1.2em;
  color: #222222;
  margin-bottom: 1.5em;
  background-color: #f6f8f9;
  padding: 1.2em 0.8em;
}

.back-button {
  display: inline-block;
  padding: 10px 20px;
  background: #ccc;
  color: #222222;
  text-decoration: none;
  border-radius: 1px;
}

.back-button:hover {
  background: #ccc;
}

.required-mark {
  color: red;
  font-weight: bold;
  margin-left: 0.25em;
}








.fixed-buttons {
  position: fixed;
  bottom: 0em;
  left: 0;
  right: 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.5em 0 0.5em;
  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_tel a img,
.fixed-buttons img {
  width: 90%;
  margin: 0 auto;
  height: auto;
  display: block;
}

.buttom_fix_tel{
  margin: 0 0.8em;
}

.buttom_fix_tel {
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 0;
}

.buttom_fix_tel::after {
  content: "";
  position: absolute;
  top: -100%;
  left: -100%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: rotate(25deg);
  animation: shine 3s infinite;
  pointer-events: none;
  opacity: 0;
}

@keyframes shine {
  0% {
    transform: translateX(-100%) rotate(25deg);
    opacity: 0;
  }
  5% {
    opacity: 1;
  }
  30% {
    transform: translateX(100%) rotate(25deg); /* ゆっくり移動 */
    opacity: 1;
  }
  35% {
    opacity: 0;
  }
  100% {
    transform: translateX(100%) rotate(25deg);
    opacity: 0;
  }
}
















