body {
  max-width: 100%;  
}
.guide {
  width: 100%;
}
section .secInner2 {
  max-width: 670px;
  margin: 0 auto;
  padding: 0;
}
.secInner2 {
  display: flex;
  flex-direction: column;
  /*gap: 20px;  要素間の余白 */
}
.secInner2 .left,
.sectionBox .right {
  margin: 0 auto;
  flex: 1;
  padding: 0 10px;
  max-width: 670px;
}
.left,
.right {
}
.secInner2 img {
  width: 100%;
}
.titPart2Nomg {
  max-width: 640px;
  margin: 10px auto!important;
  padding: 10px 30px 10px 20px!important;
  line-height: 1.7;
}
.titPart2Nomg strong {
  font-size: 14px;
  color: #777;
  display: inline-block;
  line-height: 1.5;
}
.guide dt {
    display: flex;
    align-items: center;
}
dt p.offer {
	margin: 0 0 3px 10px;
	padding: 2px 2px 1px 8px;
	color: #fff;
	font-weight: 700;
	border: solid 1px red;
	background-color: red;
}
.right dl dt {
  margin: 20px 0 10px;
}
.right dl dd {
  margin-bottom: 20px;
}
.right img {
  margin: 0 auto;
  object-fit: contain;
  /*max-height: 315px;*/
  max-width: 100%;
  display: block;
}
.price {
  margin: 15px 10px 10px;
  padding: 0 10px;
  font-size: 18px;
}
.price strong {
  color: red;
  font-size: 24px;
}
.price small {
  font-size: 18px;
}
.cta_btn {
  margin: 10px auto 40px;
  text-align: center;
}
form small {
	font-size: 12px;
    display: inline-block;
    line-height: 1.2;
	margin-bottom: 8px;
}
input.btn.btn-sm.btn-primary,
a.btn.btn-sm.btn-primary {
  display: block;
  color: #333;
  background-color: #FFA500;
  font-size: 20px;
  margin: 0 auto 10px;
  padding: 8px 10px 10px;
  border-radius: 10px;
  border: solid 1px #999;
  width: 300px;
}
.fixed-cart-button {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 10px;
  text-align: center;
  z-index: 1000; /* 他要素より前面に表示 */
}

.fixed-cart-button .btn {
  padding: 10px 20px;
  font-size: 16px;
  background-color: #007bff; /* ボタンの色（任意） */
  color: #fff;
  border: none;
  border-radius: 4px;
}

.fixed-cart-button .btn:hover {
  background-color: #0056b3;
  cursor: pointer;
}

.carousel {
  position: relative;
  width: 100%;
  overflow: hidden;
  max-width: 400px;
  margin: auto;
}

.carousel-track {
  display: flex;
  transition: transform 0.3s ease-in-out;
}

.carousel-track img {
  width: 100%;
  flex-shrink: 0;
  object-fit: contain;
  max-height: 315px;
}

button.prev,
button.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  font-size: 24px;
  padding: 10px;
  cursor: pointer;
}

button.prev {
  left: 10px;
}

button.next {
  right: 10px;
}

.pre_btn {
  width: 100%;
  margin: 70px 0 20px;
  text-align: center;
}
.pre_btn a {
  width: 400px;
  background-color: #72a63f;
  border-radius: 10px;
  padding: 18px 20px 20px;
  color: #fff;
}
@media screen and (max-width: 840px) {
  footer .pagetop {
  bottom: 80px;
  }
}
@media screen and (min-width: 840px) {
  .secInner2 {
  flex-direction: row;
  align-items: flex-start;
  }
  .right dl dt {
    margin-top: 0;
  }
  .fixed-cart-button {
  display: none;
  }
}