﻿main{
	max-width:1240px;
	margin:auto;
}
.auto-style1 {
	text-align: center;
	font-size: xx-large;
}
.auto-style2 {
	border-collapse: collapse;
	border: 3px solid #808080;
}
.auto-style3 {
	border: 1px solid #808080;
	background-color: #00FFFF;
}
a {
  background-color: transparent;
}
.auto-style329 {
	border: 1px solid #808080;
	font-size: large;
}
.auto-style331 {
	text-align: center;
	font-size: medium;
}
.auto-style332 {
	color: #FF0000;
}
.auto-style333 {
	font-size: x-large;
}
.auto-style336 {
	font-weight: bolder;
}
.auto-style341 {
	color: #FFFFFF;
}
.auto-style344 {
	color: #FFFFFF;
	background-color: #0000FF;
}
.auto-style345 {
	color: #FFFFFF;
	background-color: #FF0000;
}
.auto-style346 {
	text-decoration: none;
}
.auto-style347 {
	font-size: large;
}
.auto-style348 {
	border: 1px solid #808080;
	font-size: medium;
}
.auto-style349 {
	font-size: large;
	color: #FF0000;
}
.auto-style350 {
	border: 1px solid #808080;
	color: #000000;
	background-color: #4AAC9F;
}
.auto-style351 {
	font-size: x-large;
	color: #FFFFFF;
}
.auto-style352 {
	text-align: center;
	font-size: large;
}
.auto-style353 {
	border: 1px solid #808080;
	color: #FF0000;
}
.auto-style354 {
	border: 1px solid #808080;
	background-color: #00FFFF;
	color: #FF0000;
}
.auto-style355 {
	border: 1px solid #808080;
	font-size: medium;
	color: #FF0000;
}
/* ==============================
   ストレートピン・鉄杭ページ追加CSS
   ============================== */

.straight-hero-section {
  max-width: 980px;
  margin: 25px auto 35px;
  padding: 0 18px;
  box-sizing: border-box;
}

.straight-hero-layout {
  display: flex;
  align-items: center;
  gap: 28px;
}

.straight-hero-text {
  flex: 1.1;
  min-width: 0;
}

.straight-hero-text h2 {
  margin: 0 0 16px;
  padding: 0 0 10px;
  color: #111;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.45;
  border-bottom: 2px solid #008663;
}

.straight-lead {
  margin: 0 0 18px;
  color: #222;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.8;
}

.straight-feature-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.straight-feature-list li {
  position: relative;
  margin: 0 0 8px;
  padding: 10px 14px 10px 38px;
  background: #f7fbf9;
  border: 1px solid #cfe5dc;
  color: #222;
  font-size: 16px;
  line-height: 1.6;
}

.straight-feature-list li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 10px;
  color: #008663;
  font-weight: bold;
}

.straight-hero-image {
  flex: 0.9;
  text-align: center;
}

.straight-hero-image img {
  width: 100%;
  max-width: 420px;
  height: auto;
  border: 1px solid #ccc;
  background: #fff;
  box-sizing: border-box;
}

/* SEO説明ブロック */
.straight-seo-section {
  max-width: 860px;
  margin: 35px auto;
  padding: 24px 26px;
  background: #f7fbf9;
  border: 1px solid #cfe5dc;
  border-left: 6px solid #008663;
  box-sizing: border-box;
}

.straight-seo-section h2 {
  margin: 0 0 18px;
  padding: 0 0 10px;
  color: #008663;
  font-size: 23px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  border-bottom: 2px solid #008663;
}

.straight-seo-section ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.straight-seo-section li {
  position: relative;
  margin: 0 0 10px;
  padding: 10px 12px 10px 34px;
  background: #fff;
  border: 1px solid #d8e7e1;
  color: #333;
  font-size: 16px;
  line-height: 1.6;
}

.straight-seo-section li::before {
  content: "✓";
  position: absolute;
  left: 12px;
  top: 10px;
  color: #008663;
  font-weight: bold;
}

/* FAQ */
.straight-faq-section {
  max-width: 860px;
  margin: 40px auto;
  padding: 26px;
  background: #fffdf7;
  border: 1px solid #eadfbd;
  border-left: 6px solid #d89b00;
  box-sizing: border-box;
}

.straight-faq-section h2 {
  margin: 0 0 22px;
  padding: 0 0 10px;
  color: #8a5a00;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
  border-bottom: 2px solid #d89b00;
}

.straight-faq-section h3 {
  position: relative;
  margin: 22px 0 0;
  padding: 12px 14px 12px 46px;
  background: #f5efe0;
  color: #222;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  border: 1px solid #e0cfaa;
}

.straight-faq-section h3::before {
  content: "Q";
  position: absolute;
  left: 14px;
  top: 11px;
  width: 24px;
  height: 24px;
  background: #d89b00;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
}

.straight-faq-section p {
  position: relative;
  margin: 0 0 16px;
  padding: 14px 16px 14px 46px;
  background: #fff;
  color: #333;
  font-size: 16px;
  line-height: 1.8;
  border: 1px solid #e6e1d4;
  border-top: none;
}

.straight-faq-section p::before {
  content: "A";
  position: absolute;
  left: 14px;
  top: 15px;
  width: 24px;
  height: 24px;
  background: #008663;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
}

/* 価格表のスマホ横スクロール用 */
.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 auto;
}

.table-scroll table {
  min-width: 760px;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .straight-hero-section {
    margin: 20px auto 30px;
    padding: 0 12px;
  }

  .straight-hero-layout {
    display: block;
  }

  .straight-hero-text h2 {
    font-size: 20px;
    text-align: left;
  }

  .straight-lead {
    font-size: 17px;
  }

  .straight-feature-list li {
    font-size: 15px;
  }

  .straight-hero-image {
    margin: 20px auto 0;
  }

  .straight-hero-image img {
    max-width: 100%;
  }

  .straight-seo-section {
    margin: 28px 10px;
    padding: 18px 14px;
  }

  .straight-seo-section h2 {
    font-size: 20px;
    text-align: left;
  }

  .straight-seo-section li {
    font-size: 15px;
  }

  .straight-faq-section {
    margin: 32px 10px;
    padding: 18px 14px;
  }

  .straight-faq-section h2 {
    font-size: 20px;
    text-align: left;
  }

  .straight-faq-section h3 {
    font-size: 16px;
    padding: 11px 12px 11px 42px;
  }

  .straight-faq-section p {
    font-size: 15px;
    padding: 12px 12px 12px 42px;
  }

  .straight-faq-section h3::before,
  .straight-faq-section p::before {
    left: 12px;
  }
}
.auto-style356 {
	margin: 0 auto;
}
.auto-style357 {
	border-collapse: collapse;
	border: 2px solid #999;
	margin: 0 auto;
	background: #fff;
}
.auto-style358 {
	border: 1px solid #808080;
	background-color: #C8E6C9;
}
