html {
  scroll-padding-top: 100px;
}

/* .p-buyingGuide {} */

.p-buyingGuide__flow__heading {
  margin: 70px 0 0;
  display: flex;
  align-items: center;
}

.p-buyingGuide__flow__heading::before,
.p-buyingGuide__flow__heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #d1d5db;
}

.p-buyingGuide__flow__heading::before {
  margin-right: 1em;
}

.p-buyingGuide__flow__heading::after {
  margin-left: 1em;
}

.p-buyingGuide__flow__headingText {
  margin: 0;
  font-size: 14px;
  text-align: center;
  color: #6b7280;
  background-color: #F5F5F5;
  display: block;
}

.p-buyingGuide__flow__content {
  position: relative;
  margin: 16px 0 0;
  padding: 0 0 0 22px;
  display: flex;
  flex-direction: column;
  row-gap: 24px;
}

.p-buyingGuide__flow__content::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: #d1d5db;
}

.p-buyingGuide__flow__item {
  position: relative;
}

.p-buyingGuide__flow__item::before {
  position: absolute;
  left: -22px;
  top: 16px;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border: 3px solid #FFC107;
  border-radius: 50%;
  content: "";
}

.p-buyingGuide__flow__section:last-child .p-buyingGuide__flow__item:last-child::before {
  background-color: #FFC107;
}

.p-buyingGuide__flow__label {
  margin: 0;
  font-size: 13px !important;
  color: #FFC107;
}

.p-buyingGuide__flow__subHeading {
  margin: 0;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__subHeading {
    font-size: 15px !important;
  }
}

.p-buyingGuide__flow__text {
  margin: 0;
  color: #6b7280;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__text {
    font-size: 14px !important;
  }
}

/* アコーディオンヘッダー */
.p-buyingGuide__flow__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	padding: 10px;
  transition: background-color 0.3s ease-in-out;
  
}

.p-buyingGuide__flow__header:hover, .p-buyingGuide__flow__header:focus, .p-buyingGuide__flow__header:active {
  border-radius: 8px;
  background-color: #f0f0f0;

}

.p-buyingGuide__flow__headerText {
	flex: 1;
}

/* +/- トグルアイコン */
.p-buyingGuide__flow__toggle {
	position: relative;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.p-buyingGuide__flow__toggle::before,
.p-buyingGuide__flow__toggle::after {
	content: '';
	position: absolute;
	background-color: #6b7280;
	transition: transform 0.3s ease;
}

/* 横線 */
.p-buyingGuide__flow__toggle::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 16px;
	height: 2px;
}

/* 縦線（+の縦棒） */
.p-buyingGuide__flow__toggle::after {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2px;
	height: 16px;
}

/* 開いている時は縦線を回転して消す（-になる） */
.p-buyingGuide__flow__item.is-open .p-buyingGuide__flow__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

/* アコーディオンボディ */
.p-buyingGuide__flow__body {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.p-buyingGuide__flow__item.is-open .p-buyingGuide__flow__body {
	max-height: 9999px;
}

.p-buyingGuide__flow__bodyContent {
  padding: 16px 8px;
}

.p-buyingGuide__flow__bodyHeading {
  margin: 16px 0 6px;
  font-size: 16px !important;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__bodyHeading {
    font-size: 14px !important;
  }
}

.p-buyingGuide__flow__bodyText {
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__bodyText {
    font-size: 13px !important;
  }
}

.p-buyingGuide__flow__bodyText--link {
  color: blue !important;
  text-decoration: underline;
}

.p-buyingGuide__flow__bodyText--link:hover {
  text-decoration: none;
}

.p-buyingGuide__flow__bodyList {
  padding: 0 0 0 17px !important;
}

.p-buyingGuide__flow__bodyItem {
  font-size: 15px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__bodyItem {
    font-size: 13px !important;
  }
}

.p-buyingGuide__flow__imageWrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 16px;
}

@media screen and (max-width: 767px) {
  .p-buyingGuide__flow__imageWrapper {
    display: flex;
    flex-direction: column;
  }
}

.p-buyingGuide__flow__image {
  margin: 16px 0;
  width: 100%;
  height: auto;
  display: block;
}

.p-buyingGuide__flow__image--vertical {
  margin: 16px auto;
  max-width: 600px;
}
