main {
	padding-bottom: 120px;
}

.sidebar h4 {
	color:#f18d0fff;
}

.sidebar a {
	color: #333;
	font-weight:bold;
}

/* PC用サイドバー */
.sidebar {
  width: 240px;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #ffffff, #fff9c4);
  z-index: 5;
}

/* ▼ ボタンを中央寄せ */
.sidebar-buttons {
  text-align: center;
  margin-top: 20px;
}

/* ▼ ボタンデザイン */
.sidebar-btn {
  display: inline-block;
  width: 160px;
  padding: 10px 0;
  background-color: #ffe082; /* 薄い黄色 */
  border-radius: 12px; /* ← 角丸 */
  font-weight: 600;
  transition: 0.2s;
}

/* ホバー時 */
.sidebar-btn:hover {
  background-color: #ffd54f;
  color: #000;
}


/* メインコンテンツ（サイドバー分ずらす） */
.content {
  margin-left: 240px;
}

/* ▼ TOP画像だけは全幅にする */
.fullwidth-image {
  margin-left: -240px; /* サイドバー分を打ち消す */
  width: calc(100% + 240px); /* 全幅に広げる */
}

.fullwidth-image img {
  width: 100%;
  height: auto;
  display: block;
}

h2 {
  position: relative;
  padding-bottom: 12px; /* 下に余白 */
  text-align: center;   /* 文字も中央寄せ（任意） */
}

h2::after {
  content: "";
  position: absolute;
  left: 50%;                 /* 中央基準 */
  bottom: 0;
  transform: translateX(-50%); /* 自身の幅の半分だけ戻す */
  width: 50px;               /* 線の長さ */
  height: 2px;               /* 線の太さ */
  background-color: #f18d0fff;    /* 色はお好みで */
}

/* ▼ a-wrap 全体のレイアウト */
.a-wrap {
  position: relative;
  text-align: center; /* 中央寄せ（必要に応じて変更） */
  margin-bottom: 40px; /* 下に余白 */
  padding:4em 1em 3em;
  background-color: #ffffff;
  background-image: 
    linear-gradient(to right, #eee 1px, transparent 1px),
    linear-gradient(to bottom, #eee 1px, transparent 1px);
  background-size: 20px 20px; /* 格子の大きさ */

}

.a-wrap h3 {
  position: relative;
  display: inline-block; /* ← 文字幅に合わせるため重要 */
  padding-bottom: 6px;   /* 下の余白（調整可） */
  color:#f18d0fff;
  font-size:1.4rem;
  z-index: 1;
}

.a-wrap h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px; /* ← これをマイナスにすると文字に重なる */
  width: 100%; /* ← 文字幅と同じ長さ */
  height: 10px; /* 線の太さ */
  background-color: #FF0;
  z-index: -1;
}



/* ▼ POINT バッジ */
.point-badge {
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  background-color: #f18d0fff; 
  color: #FFF;
  font-weight: bold;
  border-radius: 50%; /* ← 円形にする */
  font-size: 14px;
  margin-bottom: 10px; /* H1 との距離 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
}

.point-badge .badge-num {
  font-size: 20px; /* ← 数字を大きく */
  font-weight: 700;
}


.b-wrap {
	position: relative;
	text-align:center;
	background-color:#FFF;
}

.b-wrap h3 {
  display: flex;
  position: absolute;
  left: 45%;
  transform: translateX(-45%);
  padding-bottom: 6px;   /* 下の余白（調整可） */
  color:#f18d0fff;
  font-size:1.4rem;
  align-items: center;
}

.b-wrap p {
	margin-top:4rem;
}


.bg-lattice {
	background-image: 
    linear-gradient(to right, #eee 1px, transparent 1px),
    linear-gradient(to bottom, #eee 1px, transparent 1px);
	background-size: 20px 20px; /* 格子の大きさ */
}

.c-wrap {
	position: relative;
	text-align:center;
}

.c-wrap ul {
	padding:0;
}

.c-wrap ul li {
	list-style:none;
	text-align:left;
	border:1px solid #F60;
	border-radius:5px;
	margin-bottom:2rem;
	padding:2rem;
	background-color:#FFF;
}

.c-wrap .point-list {
	padding-left:100px;
}

.c-wrap h4 {
position: relative;
  display: inline-block; /* ← 文字幅に合わせるため重要 */
  padding-bottom: 6px;   /* 下の余白（調整可） */
  color:#f18d0fff;
  font-size:1.4rem;
  z-index: 1;
}

.c-wrap h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px; /* ← これをマイナスにすると文字に重なる */
  width: 100%; /* ← 文字幅と同じ長さ */
  height: 10px; /* 線の太さ */
  background-color: #FF0;
  z-index: -1;
}


/* ▼ POINT バッジ */
.point-badge-2 {
  position: absolute;
  width: 70px;
  height: 70px;
  background-color: #f18d0fff; 
  color: #FFF;
  font-weight: bold;
  border-radius: 50%; /* ← 円形にする */
  font-size: 14px;
  margin-bottom: 10px; /* H1 との距離 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.1;
}

.point-badge-2 .badge-num {
  font-size: 20px; /* ← 数字を大きく */
  font-weight: 700;
}


.accordion-item {
	border:none;
}

.accordion-button {
	background-color:#fff !important;
}

.icon {
	padding-right:2rem;
}


.contact-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #f18d0fff;
  color: #fff;
  padding: 1em 1em 0 240px;
  font-size: 18px;
  z-index: 3; /* ← サイドバーより低くする */
}

.contact-bar h4 {
	color:#FF0;
}

.contact-bar p {
	font-size:16px;
}

/* ▼ ボタンデザイン */
.contact-btn {
  display: inline-block;
  width: 160px;
  margin:10px;
  padding: 10px 0;
  border:2px solid #FFF;
  border-radius: 12px; /* ← 角丸 */
  font-weight: 600;
  transition: 0.2s;
  color:#FFF;
}

/* ホバー時 */
.contact-btn:hover {
  background-color: #ffd54f;
  color: #000;
}

.con-pos {
	display: flex;
	height: 110px;
	justify-content: center;
	align-items: center;
}



/* スマホではサイドバーが無いので通常に戻す */
@media (max-width: 767.98px) {
	main {
		padding-bottom:300px;
	}
  .content {
    margin-left: 0;
  }
  .fullwidth-image {
    margin-left: 0;
    width: 100%;
  }
  .contact-bar {
	  padding:1em;
  }
  .con-pos {
	  height:70px;
  }
}


.sd[data-s-3] {
    background: transparent;
    border-radius: 0px;
    color: #f18d0fff;
    flex: none;
    font-size: 36px;
    height: auto;
    padding: 0px;
    width: auto;
    max-width: 100%;
}
.fa-people-arrows:before {
    content: "\e068";
}
.fa-calendar-check:before {
    content: "\f274";
}
.fa-chart-line:before {
    content: "\f201";
}
.fa-book:before {
    content: "\f02d";
}
