@charset "UTF-8";

/* 共通部分
------------------------------------------------- */
html {
  font-size: 100%;
  background-color: #FAFBF6;

}


/* <uniquifier>: Use a unique and descriptive class name */
/* <weight>: Use a value from 100 to 900 */


body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #4A5365;
  font-weight: 500;
  width: 100%;
  display: flex; /* フレックスボックスを有効化 */
  align-items: center; /* 垂直方向の中央揃え */
  overflow-x: hidden; /* 横方向のスクロールを防止 */
  margin: 0; /* ページ全体の余白を0にする */
  padding: 0;
  }

.pc {
  display: block; 
}
.sp_fvimg {
  display: none; 
}


.sp {
  display: none;
}

.container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center; /* テキストも中央揃えに */
  max-width: 1366px;
  min-width: 1100px;
  width: 100vw;
  height: auto;
}

p {
  line-height: 1.5;           /* 行の高さをフォントサイズの1.5倍に設定 */
  letter-spacing: 0.05em;     /* 文字間を0.05emに設定 */
}

.bold {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}
.black {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
  

.orange {
  color: #FD9733;
}

.red {
  color: #EE7901;
}


.title-card {
  color: #FAFBF6;
  background-color: #FD9733;
}

.suns div p {
  color: #FAFBF6;
}


a {
  text-decoration: none;
  color: #4A5365;
}

li {
  list-style: none;
}

h2 {
  font-size: 2rem;
  margin: 32px auto;
}

.fv {
  width: 1366px;
  height: 650px;
  margin-bottom: 30px;
  position: relative;
}


.fv_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 1366px; 
  height: auto; 
  object-fit: cover;          /* アスペクト比を維持しつつコンテナを覆う */
  border-radius: 0;
  z-index: 5;

}


.fv_tel {
  position: absolute;
  top: 470px;
  right: 123px;
  font-size: 3rem; 
  z-index: 10;
  color: #4A5365;
  font-weight: 900;
  text-shadow:2px 2px 0 #FAFBF6,
  -2px 2px 0 #FAFBF6,
  2px -2px 0 #FAFBF6,
  -2px -2px 0 #FAFBF6;;
}

.fv_btns {
  position: absolute;
  top: 530px;
  right: 123px;
}

.click_mark {
  width: 20px;
  margin-left: 20px;
  margin-right: 0;
}

.fv_mail-btn {
  display: flex; /* フレックスボックスに変更 */
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
  color: #FAFBF6;
  background-color: #EE7901;
  width: 200px;
  height: 66px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center; /* テキストを中央に揃える */
  cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
  z-index: 10;
}


.fv_line-btn  {
  display: flex; /* フレックスボックスに変更 */
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
  color: #FAFBF6;
  background-color: #1DCD00;
  width: 120px;
  height: 66px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center; /* テキストを中央に揃える */
  cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
  margin-left: 8px;
  z-index: 10;
}

h1 {
  text-wrap: nowrap;
  position: absolute;
  top: 0;
  z-index: 0;
}

nav {
  text-transform: uppercase;
  font-size: 0.875rem;
  width: 61%;
  margin-top: 30px;
  margin-bottom: 150px;
  margin-left: auto;
  margin-right: auto;


}

#menu {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

nav li {
  border-left: 1.5px solid rgba(74, 83, 101, 0.5);
  border-right: 1.5px solid rgba(74, 83, 101, 0.5);
  background-clip: padding-box;
  padding-left: 2.9%;
  padding-right: 2.9%;
}

nav li+li {
  border-left: 0;
  border-right: 1.5px solid rgba(74, 83, 101, 0.5);
}

nav a:hover {
  color: #EE7901;
}

.binder {
  width: 840px;
  height: auto; /* 高さを自動にして、内容に応じて伸縮する */
  max-height: 100vh; /* 画面の高さを超えないように制限 */
  position: relative;
  overflow: hidden; /* 余分なコンテンツがはみ出さないように隠す */
  margin-bottom: 5.8%;
}

.image-binder {
  position: relative;
  width: 840px;
  height: auto; 
  overflow: hidden; /* 画像がはみ出さないようにする */
  border-radius: 0;
}

.image-binder img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比を保ちながら、親要素に収まる */
  border-radius: 0;
}


.check {
  position: absolute;
  top: 28%; 
  left: 50%;
  transform: translate(-50%, 0); /* 上方向への移動をやめる */
  width: 80%; /* リストを適切な幅で収める */
  max-width: 600px;
  padding: 10px;
  box-sizing: border-box;
}

.check-list {
  text-align: left;
  max-height: 35vh; /* 画像の下に収まるようにリストの高さを制限 */
}

.check-list li {
  margin-top: 3%;
  word-wrap: break-word;
  display: flex;
  align-items: center;
  font-size: 20px;
}

.check-list li img {
  width: 27px; 
  height: auto; 
  margin-right: 0.5vw; /* 画像とテキストの間に余白を追加 */
}


h3 {
  font-size: 1.5rem;
}


.flex p {
  font-size: 1.5rem;
}

.call {
  width: 14.4vw; /* vwを使用してレスポンシブ対応 */
  height: auto;
  margin-left: 0;
  
}

.flex {
  display: flex;
  justify-content: center;
  align-items: center; /* 縦方向の中央揃え */
  flex-wrap: wrap; /* 画面が小さいときに折り返す */
}

.icon {
  width: 70px;
  height: auto;
  object-fit: contain; /* 画像の比率を保持してコンテナに収める */
}

.font24 {
  font-size: 1.5rem;
  margin: 4.3% auto;
}

.SOS {
  margin-bottom: 140px;
  padding-top: 40px;
  position: relative;
}

.call {
  position: absolute;
  top: -10px;
  left: 40px;
  width: 197px;
  height: auto;
}

.column {
  display: flex;
  align-items: center; /* 垂直方向の要素を中央揃えにする */
  justify-content: space-between; /* 左右の要素を均等に配置 */
  align-items: stretch; /* 子要素の高さを揃える */
}

.left {
  margin-left: 15.6%;
}

.right {
  margin-right: 15.6%;
}

.left, .right {
  width: 33%; /* 幅を1/3に設定 */
  height: auto; /* 高さは自動 */
}

img {
  width: 100%;
  height: auto;
  border-radius: 35px;
}

/* divider クラスで×を中央に配置 */
.divider {
  padding-top: 90px;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
  font-size: 28px;
  color: #FD9733;

}



.title-card {
  border-radius: 10px; /* 角を丸くする半径 */
  padding: 10px; /* 内側の余白を追加して、テキストが角に近づきすぎないように */
  text-align: center; /* テキストを中央揃え（必要に応じて） */
  margin-bottom: 2%;
}

.left ul li {
  line-height: 2; /* 行間を広げる */
}

.right ul li {
  line-height: 2; /* 行間を広げる */
}

.column img {
  margin-top: 2%;
}

.point-text {
  font-size: 1.5rem;
}

.smile-images {
  display: flex;
  position: relative; /* 背景画像の基準にするため、relativeを設定 */
  width: 1232px;
  height: auto; /* 高さも適宜設定 */
  margin: 150px auto;
  justify-content: center;
}

.smile {
  width: 247px;
  height: auto;
  position: relative; /* z-indexを適用するためにrelativeを指定 */
  z-index: 10; /* 背景画像より前面に配置するためのz-index */
}

.background01, .background02 {
  position: absolute; /* 背景画像をsmile-images内で絶対配置 */
  z-index: -1; /* 背景画像をsmile画像の背後に配置する */
}

.background01 {
  position: absolute;
  top: -140px; /* smile-images内の右上に配置 */
  right: -122px;
  width: 387px;
  height: auto;
}

.background02 {
  position: absolute; /* 必要であればposition指定 */
  bottom: -140px; 
  left: -85px;
  width: 548px;
  height: auto;

}


.cta-wrapper {
  position: relative;
  width: 1366px;
  height: auto;
  margin-top: 150px;
  padding-bottom: 150px;
  padding-top: 60px;
}

.cta-background {
  width: 1366px;
  height: auto;
  z-index: -1;
  position: absolute;
  top: 0;
}

.cta-title {
  position: absolute;
  top: 25px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; /* 折り返しを防止 */
}

.suns {
  display: flex;
  position: relative;
}

.sun-left img {
  width: 22%;
  height: auto;
  position: absolute;
  top: 50px;
  left: 17.7%;
  z-index: 1;
}

.sun-center img {
  width: 22%;
  height: auto;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.sun-right img {
  width: 22%;
  height: auto;
  position: absolute;
  top: 50px;
  right: 17.7%;
  z-index: 1;
}



.sun-pl {
  position: absolute;
  top: 144px;
  left: 19.6%;
  z-index: 10;
}

.sun-pc {
  position: absolute;
  top: 144px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

.sun-pr {
  position: absolute;
  top: 144px;
  right: 18.6%;
  z-index: 10;
}


.suns p {
  font-size: 1.25rem;
}


.suns .point-word {
  font-size: 2rem;
  margin-left: 10px;
  font-weight: 700;
}



.cta-address {
  display: flex;
  width: 939px;
  height: auto;
  position: absolute;
  top: 300px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  padding-left: 44px;
  padding-right: 28px;
}

.tel {
  margin-right: 25px;
}

.mail {
  margin-left: 25px;


}

.tel-number {
  display: flex;
}


.tel-number {
  display: inline-block; 
}

.tel-icon {
  width: 26px;
  height: auto;
  margin-right: 4px;
  vertical-align: baseline;
}

.phone-number {
  font-size: 3rem;
  display: inline-block; /* テキストもインラインブロックにして高さを調整 */
  vertical-align: baseline; /* アイコンとテキストの高さを揃える */
}

/* 問い合わせボタンcssボタンセット */

.btns {
  display: flex;
  margin-top: 13px;
  z-index: 10;
}

.mail-btn {
  display: flex; /* フレックスボックスに変更 */
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
  color: #FAFBF6;
  background-color: #EE7901;
  width: 235px;
  height: 66px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center; /* テキストを中央に揃える */
  cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
  z-index: 10;
}

.line-btn  {
  display: flex; /* フレックスボックスに変更 */
  justify-content: center; /* 水平方向に中央揃え */
  align-items: center; /* 垂直方向に中央揃え */
  color: #FAFBF6;
  background-color: #1DCD00;
  width: 141px;
  height: 66px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 20px;
  text-align: center; /* テキストを中央に揃える */
  cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
  margin-left: 8px;
  z-index: 10;
}

.operation-hours {
  clear: both;
  font-size: 16px;
}


.skill-container {
  margin-top: 300px;
  width: 1366px;
  height: auto;
  position: relative; /* z-indexを適用するためにrelativeを指定 */
  z-index: 10; /* 背景画像より前面に配置するためのz-index */
}

.background03, .background04 {
  position: absolute; /* 背景画像をsmile-images内で絶対配置 */
  z-index: -1; /* 背景画像をsmile画像の背後に配置する */
}



.background03 {
  position: absolute; 
  bottom: 0; 
  right: 0;
  width: 350px;
  height: auto;
}

.background04 {
  position: absolute;
  top: 45%;
  left: 0;
  width: 372px;
  height: auto;
}

.manual01-wrapper, .manual02-wrapper {
  width: 939px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  display: flex; /* 横並びに配置 */

}

.manual01, .manual02 {
  width: 100%;
  height: auto;
  display: block;
}

.manual01-wrapper {
  margin-bottom: 3%;
}


.manual01-right, .manual02-left {
  z-index: 15;
  background-color: #FAF6E6;
  border-radius: 35px;
  overflow: hidden; /* 子要素が親要素の角丸の外に出ないようにする */
  width: 579px;
  height: auto;
}

.manual01-right h3 {
  margin-top: 5.6%;
}

.manual01-right p {
 margin: 32px 76px 60px 77px;
  
}

.manual02-left p {
  margin: 60px 76px 60px 77px;
  
}

.manual01-wrapper, .manual02-wrapper {
  display: flex;
  align-items: center; /* 垂直方向に中央揃え */
  position: relative; /* 子要素の相対配置を可能にする */
}

.manual01-right {
  margin-top: 60px;
  margin-bottom: 25px;
  flex: 6.16;
  position: relative;
  z-index: 2; /* 前に表示させる要素の順序を設定 */
  left: -15px; /* 左に15px移動して重ねる */
  top: 30px;
}

.manual01-left {
  flex: 3.84;
  position: relative;
  z-index: 1; /* 後ろに表示させる要素の順序を設定 */
  right: -15px; /* 右に30px移動して重ねる */
  top: -60px;
}

.manual02-left {
  flex: 6.16;
  position: relative;
  z-index: 2; /* 後ろに表示させる要素の順序を設定 */
  right: -15px; /* 右に30px移動して重ねる */
  top: 30px;
}

.manual02-right {
  margin-top: 48px;
  flex: 3.84;
  position: relative;
  z-index: 1; /* 前に表示させる要素の順序を設定 */
  left: -15px; /* 左に15px移動して重ねる */
  top: -80px;
}



.text-left {
  text-align: left;
}

.reason_container {
  width: 939px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  padding-top: 30px;
}

.reason_container h2 {
  display: flex;
  justify-content: center;
  align-items: center; /* 縦方向の中央揃え */
  margin-bottom: 90px;
  text-wrap: nowrap;
}

.icon_town {
  width: 148px;
  height: auto;
  margin-right: 30px;
  margin-left: 30px;
}

.space {
  margin-top: 150px;
  margin-bottom: 150px;
}

/* 各リストアイテムのスタイルを修正 */
.reason_li01, .reason_li02, .reason_li03, .reason_li04, .reason_li05 {
  display: flex;
  align-items: center; /* 縦方向の中央揃え */
  justify-content: space-between; /* 両端にスペースを確保 */
  margin-bottom: 80px;
  align-items: start;
}

.image_container {
  flex: 0 0 450px; /* 画像コンテナの幅を450pxに固定 */
  position: relative; /* アイコンを画像上に配置するための基準 */

}

.reason_img01, .reason_img02, .reason_img03, .reason_img04, .reason_img05 {
  width: 100%; /* コンテナ内に画像が100%の幅で表示されるようにする */
  height: auto;
  display: block; /* ブロック要素として画像を表示 */
}

.reason_icon01, .reason_icon02, .reason_icon03, .reason_icon04, .reason_icon05 {
  position: absolute;
  top: -30px; /* 画像の中でのアイコンの縦方向位置 */
  left: -30px; /* 画像の中でのアイコンの横方向位置 */
  width: 108.46px;
  height: auto;
  z-index: 10;
}

.reason_right01, .reason_right02, .reason_right03, .reason_right04, .reason_right05 {
  flex: 1; /* 残りのスペースを使う */
  margin-left: 20px;
}

.reason_li01 h3, .reason_li02 h3, .reason_li03 h3, .reason_li04 h3, .reason_li05 h3 {
  text-align: left;
  margin-bottom: 30px;
}

.houmon_container {
  padding-top: 150px;
  width: 939px;
  height: auto;

}

.houmon_call {
  position: relative;
  margin-top: 80px;
  margin-bottom: 90px;
}

.houmon_call p {
  flex: 0 0 939px;
  position: absolute;
  font-size: 2rem;
}

.houmon_sun {
  width: 74px;
  height: auto;
  position: absolute;
  left: 60px;
}

.houmon_cloud01 {
  width: 131px;
  height: auto;
  position: absolute;
  right: 4%;

}

.houmon_cloud02 {
  width: 75px;
  height: auto;
  position: absolute;
  right: 1.1%;
}

.houmon_section {
  display: flex;
  align-items: flex-start;
  margin-bottom: 80px;
  column-gap: 25px
}

.houmon_section_tex h3 {
  margin-bottom: 30px;
}

.houmon_section_tex ul {
  padding-left: 2%;
}

.houmon_section_tex h3, .houmon_section_tex p, .houmon_section_tex ul {
  text-align: left;
}

.houmon_section img {
  width: 450px;
  height: auto;
}


.rinen_container {
  width: 1066px;
  height: auto;
  position: relative;
  margin-bottom: 150px;

}

.rinen_container h3 {
  margin-bottom: 75px;
  z-index: 10;
}

.rinen_content {
  display: flex;
  column-gap: 25px
}



.background05 {
  width: 387px;
  height: auto;
  position: absolute;
  top: -24px;
  right: -17.4%;
  z-index: -1;
}

.background06 {
  width: 548px;
  height: auto;
  position: absolute;
  bottom: 0;
  left: -17%;
  z-index: -1;
}

.rinen_right {
  z-index: 10;
}

.rinen_strong {
  display: block;
  text-align: left;
  margin-bottom: 3%;
}

.flow {
  width: 995px;
  height: auto;
  margin-top: 400px;
  margin-bottom: 400px;
  position: relative; /* 親要素をrelativeに設定 */
}

.flow_back {
  position: absolute; /* 画像を絶対配置 */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0; /* 画像のz-indexを0に */
  background-color:transparent;

}

.list-flow {
  background-color: transparent; /* 背景色を透明に */
  width: 100%;
  height: auto;
  position: relative; /* 子要素を相対配置できるように設定 */
  z-index: 1; /* flow01〜05が画像の上に来るようにz-indexを1に */
}

.flow01, .flow02, .flow03, .flow04, .flow05 {
  position: relative; /* 親の中での相対位置を設定 */
  width: 35.1%;
  height: auto;
  left: 556px;
}


.flow01 {
  top: 100px;
}

.flow02 {
  top: 330px;
}

.flow03 {
  top: 560px;
}

.flow04 {
  top: 810px;
}

.flow05 {
  top: 1050px;
}

.list_title {
  margin-bottom: 10px;
}

.list-flow li h3 {
  text-align: left;
}

.list_title {
  bottom: 24px;
}

.flow-title {
  margin-top: 350px;
  margin-bottom: -300px;
  display: block;
}


.Agreement_container {
  width: 939px;
  height: auto;
  margin-top: 150px;
  margin-bottom: 150px;
}

.Agreement_content {
  display: flex;
  align-items: center;
  gap: 25px;
}

.FAQ {
  margin-top: 300px;
  margin-bottom: 150px;
  width: 1066px;
  height: auto;
}

.FAQ h2 {
  margin-bottom: 82px;
}
dl {
  display: block;
  width: 100%; /* dlの幅を100%に設定 */
  margin: 0;
  padding: 0;
}

dt, dd {
  width: 1066px; /* 両方の幅を広げる */
  height: auto;
  margin: 5px auto; /* 背景間に間隔を開けるためのマージン */
  padding-left: 5.9%; /* 各要素にパディングを追加 */
  padding-right: 5.9%;
  padding-top: 1.9%;
  padding-bottom: 1.9%;
  box-sizing: border-box; /* パディングを含めて幅を設定 */
  border-radius: 10px;
}

dt {
  background-color: #FAF6E6;
}

dd {
  background-color: #FFF3C9;
}

.voice {
  margin-top: 150px;
  padding-top: 150px;
  width: 1066px;
  height: auto;
  margin-bottom: 150px;
}

.voice h2 {
  display: flex;
  align-items: center;
  margin-bottom: 90px;
  justify-content: center; /* 中央揃え */
}

.voice_icon {
  width: 148px;
  height: auto;
}

.flex_voice {
  display: flex;
  flex-wrap: wrap;
  row-gap: 80px;
  column-gap: 90px;
}

.voice01, .voice02, .voice03, .voice04 {
  width: 45%;
  height: auto;
}

.flex_in_voice {
  display: flex;
  margin-top: 20px;
}

.flex_img {
  margin-right: 10px;
}

.voice_problem {
  position: absolute;
  left: 10px;
}

.flex_in_voice a {
  position: absolute;
  bottom: 10px;
  left: 10px;

}

.voice_peason {
  position: relative;
}

.flex_voice h3 {
  font-size: 1.25rem;
}


.jushindo_address {
  width: 90%;
  height: auto;
  display: flex;
  column-gap: 2.9%;
}


.address_tel {
  font-size: 2.5rem;
  margin-bottom: 11px;
}

.jushindo_address h2 {
  margin-bottom: 3px;
  margin-top: 0;
}

.address_date {
  margin-top: 14px;
  margin-bottom: 21px;
  margin-left: auto;
  margin-right: auto;
}

.address_call {
  position: relative; /* 親要素を相対配置 */
  display: inline-block; /* 子要素が重なるようにする */
  text-align: center; /* 中央揃え */
  width: 100%; /* 親要素の幅を調整 */
}

.address_call img {
  width: 370px; /* 画像を親要素の幅に合わせる */
  height: auto;
}

.address_call div {
  position: absolute; /* テキストを絶対配置 */
  top: 50%; /* 縦位置を中央に配置 */
  left: 50%; /* 横位置を中央に配置 */
  transform: translate(-50%, -50%); /* 中央に揃える */
  white-space: nowrap; /* テキストの折り返しを防止 */
}

.address_flex {
  display: flex;
  column-gap: 0.7%;
  justify-content: center;
}

.address_flex .line-btn {
  width: 219px;
  height: auto;
}

.sky {
  width: 1049px;
  height: auto;
  margin-top: 150px;
  margin-bottom: 150px;
}
.nav_last {
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 46px;
}

.nav_last {
  margin: 24px auto; /* 中央揃え */
  margin-bottom: 30px; /* 下の段との余白 */
}

.nav_last li :hover {
  color: #EE7901;
}

.nav_last-wrapper {
  display: flex;
  justify-content: center; /* 横並びで中央揃え */
  gap: 10px; /* 各リンクの間隔を調整 */
  width: 100%; /* 親要素幅いっぱいにして中央揃え */
  margin-top: 43px;
}



.last_img {
  margin-top: 150px;
  display: flex;
  margin-bottom: 47px;
}

.last_img img {
  width: 700px;
  height: auto;
  border-radius: 0;
}




/* スマホサイズ用のメディアクエリ */
@media (max-width: 768px) {


    /* すべての要素に対して基本設定 */
  * {
    box-sizing: border-box; /* パディングやボーダーを含めて幅を計算 */

  }

  html, body {
    width: 100%; /* ビューポート幅に合わせる */
    overflow-x: hidden; /* 横スクロールを防ぐ */
  }


  /* 全てのブロック要素に適用 */
  div, section, header, footer, article {
    max-width: 100%; /* コンテナ内で収まるように */
  }

  body {
    width: 100vw;
    height: auto;
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center; /* 垂直方向の中央揃え */
    overflow-x: hidden;
    margin: 0;
    padding: 0;
    font-size: 14px;
  }
  
  .sp {
    display: flex;
  }
  
  h1 {
    color: #FAFBF6;
    z-index: 0;
    margin: 0; /* 余白が原因でズレないように */
  }
  
  
  .fv {
    width: 100vw;
    height: auto;
    margin: 0 auto; /* 親要素を中央揃え */
  }
  
  .sp_fvimg {
    display: flex;
    justify-content: center;
    border-radius: 0;
    z-index: 10;
    position: relative;
    width: 100vw;
    height: auto;
  }

  .fv_action_btns {
    overflow: hidden;
  }


  .fv_tel {
    position: absolute;
    top: 74%;
    left: 24%;
    text-wrap: nowrap;
    font-size: 2.5rem;
  }
    
  .fv_btns {
    position: absolute;
    top: 87%;
    right: 15%;
    width: 70%;
    height: auto;
  }

  .click_mark {
    width: 15px;
    margin-left: 5%;
    margin-right: 0;
  }

  .fv_mail-btn {
    display: block;
    width: 80%;
    height: auto;

  }

  .fv_line-btn  {
    width: 50%;
    height: auto;
    margin-left: 2%;
    margin-right: 5%;
  }
    
  .pc {
    display: none;
  }
  
  #menu {
    display: none;
  }

  .binder {
    overflow: hidden;
  }

  .check-list li {
    font-size: 16px;
    margin-bottom: 15px;
  }

  .check {
    width: 42%;
    height: auto;
  }

  .flex .icon {
    width: 40px;
    height: auto;
  } 



  .SOS {
    width: 50%;
    padding-top: 30px;
    margin-bottom: 70px;
    padding-left: 10%;
    padding-right: 10%;
  }

  .point p {
    font-size: 1rem;
  }

  .call {
    width: 30%; /* スマホサイズでは小さくする */
    left: 80px; /* 横位置を調整 */
  }

  .icon {
    width: 50px; /* アイコンも小さく */
    display: none;
  }



  .font24 {
    font-size: 1.2rem;
  }

  .width90 {
    display: block;
    margin-left: 20%;
    margin-right: 20%;
  }

  .column {
    width: 75%;
    height: auto;
    display: block;
  }

  .left, .divider, .right {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

  .column li {
    font-size: 12px;
  }

  .left {
    margin-bottom: -80px;
  }

  .divider {
    margin-bottom: 20px;
  }

  .point-text {
    display: block;
    width: 60%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  
  .smile-images {
    display: flex;
    position: relative; /* 背景画像の基準にするため、relativeを設定 */
    width: 700px;
    height: auto; /* 高さも適宜設定 */
    margin: 0 auto;
    justify-content: center;
  }

  .point-text {
    width: 40%;
    margin-top: -60px;
    margin-bottom: -80px;
    font-size: 1.1rem;
    margin-left: auto;
    margin-right: auto;
  }
  
  .smile {
    width: 80px;
    height: auto;
    position: relative; /* z-indexを適用するためにrelativeを指定 */
    z-index: 10; /* 背景画像より前面に配置するためのz-index */
  }
  
  .background01, .background02 {
    position: absolute; /* 背景画像をsmile-images内で絶対配置 */
    z-index: -1; /* 背景画像をsmile画像の背後に配置する */
    border-radius: 0;
  }
  
  .background01 {
    position: absolute;
    top: -70px; /* smile-images内の右上に配置 */
    right: 100px;
    width: 190px;
    height: auto;
  }
  
  .background02 {
    position: absolute; /* 必要であればposition指定 */
    bottom: -80px; 
    left: 40px;
    width: 270px;
    height: auto;
  
  }

  h2 {
    font-size: 1.3rem;
  }

  #section-rehabilishiatsu h2 {
    padding-left: 25%;
  }

  h3 {
    font-size: 1.1rem;
  }
  
  .cta-wrapper {
    width: 100%; /* 親要素の幅に合わせる */
    transform: scale(0.85); /* 全体を85%に縮小 */
    transform-origin: top center; /* 縮小の基点を上部中央に設定 */
    padding: 0 10px; /* 余白を調整 */
    margin-top: 100px; /* 上の余白も調整 */
    margin-bottom: 250px;
  }

  .cta-background {
    display: flex; /* フレックスボックスに設定 */
    justify-content: center; /* 中央揃え */
    width: 100%; /* 必要に応じて幅を調整 */
    overflow: hidden; /* はみ出し部分を隠す */
  }
  
  .cta-background img {
    width: 170%; /* 画像幅を指定 */
    height: auto;
  }
  


  .sun-left img {
    left: 28%;
    top: 220px;
  }

  .sun-right img {
    right: 28%;
    top: 220px;
  }

  /* .suns内の各要素も縮小に応じて配置を中央に寄せる */
  .suns {
    justify-content: center;
    gap: 5%; /* 各要素間の隙間を少し確保 */
    margin-top: 50px;
  }

  /* 電話・メールボタンの配置調整 */
  .cta-address {
    width: 100%;
    flex-direction: column; /* 縦並びに変更 */
    align-items: center; /* 中央に揃える */
    padding: 0; /* パディングをリセット */
    top: 450px;
  }

  .tel {
    display: flex;
    flex-direction: column;
  }

  .tel a {
    font-size: 3rem;
  }

  .tel, .mail {
    margin: 10px 0; /* 上下に間隔を確保 */
  }

  /* ボタンの幅を調整して画面内に収まるようにする */
  .mail-btn, .line-btn {
    width: 100%;
    max-width: 300px; /* 必要に応じて最大幅を指定 */
    font-size: 14px; /* フォントサイズも調整 */
  }

    
  .sun-pl {
    top: 290px;
    left: 30%;
  }

  .sun-pc {
    top: 120px;
    left: 50%;
    transform: translateX(-50%);
  }

  .sun-pr {
    top: 290px;
    right: 29.5%;
  }

  .suns p {
    font-size: 18px;
  }

  .suns .point-word {
    font-size: 24.5px;
  }

  .sun-pl .point-word {
    margin-left: 2px;
  }

  .cta-title {
    font-size: 1.6rem;
  }
    
  .mail-btn {
    display: flex; /* フレックスボックスに変更 */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */
    color: #FAFBF6;
    background-color: #EE7901;
    width: 235px;
    height: 66px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 20px;
    text-align: center; /* テキストを中央に揃える */
    cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
    z-index: 10;
  }

  .line-btn  {
    display: flex; /* フレックスボックスに変更 */
    justify-content: center; /* 水平方向に中央揃え */
    align-items: center; /* 垂直方向に中央揃え */
    color: #FAFBF6;
    background-color: #1DCD00;
    width: 141px;
    height: 66px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 20px;
    text-align: center; /* テキストを中央に揃える */
    cursor: pointer; /* マウスオーバーでカーソルが変わるようにする */
    margin-left: 8px;
    z-index: 10;
  }

    
  
 

  .manual01, .manual02 {
    width: 100%;
    height: auto;
    display: block;

  }

  .manual01-wrapper {
    margin-bottom: 3%;
  }

  .skill-container h2 {
    display: block;
    width: 350px;
    height: auto;
    margin: auto;
    margin-bottom: 30px;
    margin-top: -80px;
  }


  .manual01-right, .manual02-left {
    z-index: 15;
    background-color: #FAF6E6;
    border-radius: 35px;
    overflow: hidden; /* 子要素が親要素の角丸の外に出ないようにする */
    height: auto;
  }

  .manual01-right h3 {
    margin-top: 5.6%;
    margin-left: -21%;
   
  }


  .manual01-wrapper, .manual02-wrapper {
    display: flex;
    align-items: center; /* 垂直方向に中央揃え */
    position: relative; /* 子要素の相対配置を可能にする */
  }

  .manual01-right {
    margin-top: 150px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2; /* 前に表示させる要素の順序を設定 */
    left: -13%;
    top: 60px;
  }

  .manual01-left {
    position: relative;
    z-index: 1; /* 後ろに表示させる要素の順序を設定 */
    right: -30%;
    top: -140px;
  }

  .manual02-left {
    position: relative;
    z-index: 2; /* 後ろに表示させる要素の順序を設定 */
    right: -25%;
    top: 190px;
  }

  .manual02-right {
    margin-top: 80px;
    position: relative;
    z-index: 1; /* 前に表示させる要素の順序を設定 */
    left: -29%;
    top: -60px;
  }

  .manual-text {
    width: 55%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.8rem;
  }

  .reason_li01, .reason_li02, .reason_li03, .reason_li04, .reason_li05 {
    display: block;
    width: 50%;
    height: auto;
    margin: auto;
  }

  .reason_container {
    width: 60%;
    height: auto;
  }

  

  .icon_town {
    width: 100px;
    height: auto;
    margin: 0 3%;
  }


  
  .reason_icon01, .reason_icon02, .reason_icon03, .reason_icon04, .reason_icon05 {
    position: absolute;
    top: -30px; /* 画像の中でのアイコンの縦方向位置 */
    left: -15px; /* 画像の中でのアイコンの横方向位置 */
    width: 70px;
    height: auto;
    z-index: 10;
  }

  .reason_container h2 {
    margin-top: 60px;
    margin-bottom: 50px;
    width: 65%;
    text-wrap: wrap;
  }

  .reason_right01, .reason_right02, .reason_right03, .reason_right04, .reason_right05 {
    margin: 20px 20px 60px 20px;
  }

  .reason_container {
    margin-bottom: 0;
    padding: 0;
  }
  
    
  .houmon_container {
    padding-top: 150px;
    width: 450px;
    height: auto;

  }


  .houmon_q {
    display: block;
    margin: auto;
  }

  .pc {
    display: none;

  }

  



  .houmon_call p {
    font-size: 1.6rem;
    z-index: 10;

  }

  .houmon_sun {
    width: 50px;
    height: auto;
    position: absolute;
    left: 10%;
  }

  .houmon_cloud01 {
    width: 80px;
    height: auto;
    position: absolute;
    right: 9%;
    top: 20;
    z-index: 1;
  }

  .houmon_cloud02 {
    width: 35px;
    height: auto;
    position: absolute;
    right: 11%;
    top: 0;
    z-index: 1;
  }



  .houmon_section_tex h3 {
    margin-bottom: 30px;
  }


  .houmon_section_tex h3, .houmon_section_tex p, .houmon_section_tex ul {
    text-align: left;
  }

  .houmon_section_tex {
    margin-bottom: 30px;
  }

  .houmon_section {
    display: block;
    margin-bottom: 0px;
    width: 75%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    margin-top: 80px;
  }

  .houmon_section01 {
    margin-top: 150px;
  }

  .houmon_section img {
    width: 100%;
    height: auto;
  }

  .rinen_container {
    width: 450px;
    height: auto;
    position: relative;
    margin-bottom: 0;
    margin-top: -80px;

  }

  .rinen_container h3 {
    margin-top: 80px;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    width: 60%;
    z-index: 10;
    font-size: 1.3rem;
  }

  .rinen_content {
    display: block;
    width: 70%;
    height: auto;
    margin: auto;
  }

  .rinen_strong {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 1.25rem;
  }

    
  .background05 {
    width: 200px;
    height: auto;
    position: absolute;
    top: -5px;
    right: -5%;
    z-index: -1;
    border-radius: 0;
  }

  .background06 {
    width: 200px;
    height: auto;
    position: absolute;
    bottom: -55px;
    left: -5%;
    z-index: -1;
    border-radius: 0;
  }

  .cta-title-plan {
    margin-top: 0;
  }
    
    
  .flow {
    width: 95%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    margin-top: 340px;
  }

  .flow_back {
    border-radius: 0;

  }

  .list-flow {
    background-color: transparent; /* 背景色を透明に */
    width: 100%;
    height: auto;
    position: relative; /* 子要素を相対配置できるように設定 */
    z-index: 1; /* flow01〜05が画像の上に来るようにz-indexを1に */
  }

  .flow01, .flow02, .flow03, .flow04, .flow05 {
    position: relative; /* 親の中での相対位置を設定 */
    width: 48%;
    height: auto;
    left: 47%;
  }


  .flow01 {
    top: 8px;
  }

  .flow02 {
    top: 30px;
  }

  .flow03 {
    top: 70px;
  }

  .flow04 {
    top: 120px;
  }

  .flow05 {
    top: 150px;
  }

  .list_title {
    margin-bottom: 10px;
    font-size: 1rem;
  }

  .list-flow p {
    font-size: 0.7rem;
  }

  .flow-title {
    margin-top: 200px;
  }


  .Agreement_container {
    width: 450px;
    height: auto;
    margin-top: -100px;
    margin-bottom: 0;
  }
  
  .Agreement_content {
    display: block;
    align-items: center;
    width: 70%;
    margin: auto;
  }

  .Agreement_content img {
    margin-bottom: 30px;
  }


  .FAQ {
    margin-top: 100px;
    margin-bottom: 0px;
    width: 60%;
    height: auto;
  }
  
  .FAQ h2 {
    margin-bottom: 30px;
  }
  dl {
    display: block;
    width: 70%;
    margin: auto;
  }
  
  dt, dd {
    width: 70%; 
  }
  
  dt {
    background-color: #FAF6E6;
  }
  
  dd {
    background-color: #FFF3C9;
  }
  
  .cta-title-free {
    margin-top: -10px;
    font-size: 1.4rem;
  }
    
  .voice {
    width: 30%;
    height: auto;
    margin-bottom: 150px;
  }

  .voice h2 {
    display: flex;
    margin-bottom: 60px;
    margin-top: -60px;
    margin-left: -10%;
    width: 130%;
  }

  .voice_icon {
    width: 100px;
    height: auto;
  }

  .flex_voice {
    display: block;
  }

  .voice01, .voice02, .voice03, .voice04 {
    width: 100%;
    height: auto;
    margin-bottom: 60px;
  }

  .voice h3 {
    font-size: 1rem;
    }


    
  .jushindo_address {
    width: 80%;
    height: auto;
    display: block;
  }

  .map {
    width: 100vw;
    height: auto;
  }

  .address_flex {
    width: 80%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .jushindo_address h2 {
    margin-top: 30px;
  }

  .address_flex .line-btn, .address_flex .mail-btn {
    width: 25%;
    height: auto;

  }

  .nav_last {
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 46px;
  }

  .nav_last {
    margin: 24px auto; /* 中央揃え */
    margin-bottom: 30px; /* 下の段との余白 */
  }

  .nav_last-wrapper {
    display: flex;
    justify-content: center; /* 横並びで中央揃え */
    gap: 10px; /* 各リンクの間隔を調整 */
    width: 100%; /* 親要素幅いっぱいにして中央揃え */
    margin-top: 43px;
  }

  .sky {
    width: 450px;
    height: auto;
    margin-top: 100px;
    margin-bottom: 10px;
  }


  .last_img {
    margin-top: 100px;
    display: flex;
    margin-bottom: 47px;
  }

  .last_img img {
    width: 300px;
    height: auto;
    border-radius: 0;
  }

  .nav_last-wrapper {
    display: block;
  }
  
  .nav_last-wrapper li {
    margin: 10px;
  }
  }