@charset "utf-8";
/* CSS Document */
body {
		margin: 0;
		font-family: "Noto Sans JP", sans-serif;
		background: #f7f7f9;
		color: #222;
		line-height: 1.6;
}
h1, h2, h3 {
		margin: 0 0 .5em 0;
}
.container {
		max-width: 1100px;
		margin: 0 auto;
		padding: 24px;
}
.btn {
		display: block;
		position: relative;
		background: linear-gradient(90deg, #8CB3B8 0%, #408A94 100%);
		box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
		border-radius: 1000px;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		padding: 19px 25px;
		text-align: center;
		transition: 0.2s;
		z-index: 0;
}
a.btn:hover {
		color: #fff !important;
		font-size: 18px;
}
.btn.green {
		background: #2ca84a;
}
#main-container.staticPage {
		max-width: inherit;
}
/* ===============================
   ヒーロー
=============================== */
.hero {
		position: relative;
		align-items: center;
		gap: 20px;
		margin-bottom: 80px;
		min-height: 80vh;
		background: url("/ws/landing/images/fukugouki/hero-bg.png") center/cover no-repeat;
		color: #fff;
		padding: 60px 20px;
		border-radius: 8px;
}
.hero::before {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: 8px;
}
.hero-copy, .hero-visual {
		position: relative;
		z-index: 1;
}
.hero-copy {
		flex: 1;
		background: rgba(255, 255, 255, 0.85);
		color: #000;
		padding: 24px;
		border-radius: 8px;
}
.hero-visual {
		flex: 1 1 180px;
}
.feature-list {
  
  margin: 0 auto;

}

.feature-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: space-between;
}

.feature-list li {
  display: flex;
  align-items: center;
  background-color: #28a745;
  color: #ffffff;
  border-radius: 12px;      /* 角丸ボックス */
  flex: 1 1 30%;             /* 横幅調整 */
  min-width: 150px;
  padding: 1rem;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: transform 0.3s, box-shadow 0.3s;
}

.feature-list li:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

.feature-list .icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 25px;
	background-color: #1e7e34;
	border-radius: 50%;
	margin-right: 0.8rem;
	flex-shrink: 0;
	font-weight: bold;
	margin-left: -20px;
}

.feature-list .text {
  flex: 1;
  text-align: left;
  font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 578px) {
  .feature-list ul {
    flex-direction: column;
    gap: 0.8rem;
  }

  .feature-list li {
    width: 100%;
  }
}

/* ===============================
   FAQセクション
=============================== */
.faq {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
}
.faq h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 16px;
}
.faq ul {
		list-style: none;
		padding-left: 0;
		margin: 0;
}
.faq li {
		padding-left: 1.2em;
		margin-bottom: .5em;
		position: relative;
}
.faq li::before {
		content: "❖";
		color: #369b33;
		position: absolute;
		left: 0;
		top: 0;
}
/* ===============================
   Happyが選ばれる3つの理由
=============================== */
.reasons {
		border-radius: 8px;
		margin-bottom: 80px;
}
.reasons h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 20px;
		text-align: center;
}
.reason-list {}
.reason {
		background: #fbfff9;
		border-left: 4px solid #369b33;
		border-radius: 6px;
		padding: 18px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .03);
		margin-bottom: 20px;
}
.reason.safe {
		background-image: url(../landing/images/sale2018-08-09/reason_back1.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right top;
}
.reason.satisfaction {
		background-image: url(../landing/images/sale2018-08-09/reason_back2.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right top;
}
.reason.beautiful {
		background-image: url(../landing/images/sale2018-08-09/reason_back3.jpg);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right top;
}
.reason h3 {
		font-size: 18px;
		color: #369b33;
		margin-bottom: .5em;
		padding: 10px 0;
}
.reason p {
		font-size: 16px;
		color: #262626;
		line-height: 1.7;
		background: #eaf7c680;
		padding: 20px 10px;
}
/* ===============================
   カウンター保守契約セクション
=============================== */
.contract {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
}
.contract h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 16px;
}
.contract p {
		font-size: 15px;
		color: #333;
		margin-bottom: 1em;
}
/* 親要素にflexを指定 */
.contract {
		display: flex;
		flex-wrap: wrap; /* 横幅が足りない場合は折り返す */
		gap: 20px; /* 各例の間隔 */
}
/* 各契約例の幅を調整 */
.contract .contract-example {
		flex: 1 1 300px; /* 最小幅300px、可能な限り横幅を拡張 */
		box-sizing: border-box;
}
.contract-example {
		background: #fbfff9;
		border-left: 4px solid #369b33;
		border-radius: 6px;
		padding: 16px;
		margin-bottom: 24px;
}
.contract-example h3 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 6px;
}
.contract-example table {
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
		margin: 8px 0 12px;
		background: #fff;
}
.contract-example td {
		border: 1px solid #e0e6ef;
		padding: 8px 10px;
}
.contract-example .total {
		background: #ddf2d3;
		font-weight: 700;
}
.contract-example .note {
		font-size: 14px;
		color: #555;
}
.contract-example .note strong {
		color: red;
}
.contract-includes {
		background: #fff;
		border: 1px solid #e6e6e6;
		border-radius: 8px;
		padding: 16px;
		margin-bottom: 24px;
		flex: 1 1 auto;
}
.contract-includes h3 {
		font-size: 24px;
		color: #369b33;
		margin-bottom: 10px;
}
.contract-includes ul {
		list-style: disc;
		padding-left: 20px;
		margin-bottom: 8px;
}
.contract-includes li {
		margin-bottom: 4px;
		font-size: 14px;
}
.contract-includes .small {
		font-size: 13px;
		color: #666;
}
/* ===============================
   エリア
=============================== */
.area {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
}
.area h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 16px;
}
.area p {
		font-size: 15px;
		color: #333;
		margin-bottom: 1em;
}
.remote {
		background: #fbfff9;
		border-radius: 8px;
		padding: 16px;
		width: 100%;
}
.remote h3 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 8px;
}
.remote p {
		font-size: 15px;
		color: #333;
		margin-bottom: 12px;
}
.remote-images {
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
		justify-content: space-between;
}
.remote-images img {
		width: 30%;
		min-width: 180px;
		border-radius: 6px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
		background: #fff;
		text-align: center;
		margin: auto;
}
/* ===============================
   安心・信頼セクション
=============================== */
/*.trust {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  padding: 24px;
  margin-bottom: 40px;
}
.trust h2 {
  color: #369b33;
  font-size: 24px;
  margin-bottom: 16px;
}
.trust-points {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}*/
.point {
		background: #fbfff9;
		border-left: 4px solid #369b33;
		padding: 16px;
		border-radius: 6px;
}
.point h3 {
		font-size: 18px;
		color: #369b33;
		margin-bottom: .4em;
}
.point p {
		margin: 0;
		font-size: 15px;
		color: #333;
}
/* ===============================
   導入実績セクション
=============================== */
.results {
		display: none;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
}
.results h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 16px;
}
.results p {
		font-size: 15px;
		color: #333;
		margin-bottom: 12px;
}
.result-list {
		margin: 0;
		padding-left: 20px;
}
.result-list li {
		margin-bottom: .3em;
		list-style: disc;
}
/* ===============================
   導入事例セクション
=============================== */
.case {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
		display: none
}
.case h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 12px;
}
.case p {
		font-size: 15px;
		color: #333;
		margin-bottom: .8em;
		padding-left: 1em;
		position: relative;
}
.case p::before {
		content: "◆";
		color: #369b33;
		position: absolute;
		left: 0;
		top: 0;
}
/* ===============================
   代表的なスペック例セクション 改良版
=============================== */
.specs {
		background: #fff;
		border-radius: 12px;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
		padding: 24px;
		margin-bottom: 80px;
}
.specs h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 20px;
}
.specs h3 {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 18px;
		margin-bottom: 16px;
}
.specs h3 img {
		width: 80px;
		height: auto;
}
.specsWrap {
		display: flex;
		flex-wrap: wrap;
		gap: 24px;
		justify-content: space-between;
		align-items: flex-start;
}
.specsWrap .left {
		width: 100%;
		min-width: 280px;
		border-collapse: collapse;
}
.specsWrap .right {
		text-align: center;
		margin: auto;
}
.specs table {
		font-size: 15px;
}
.specs th, .specs td {
		padding: 12px 14px;
		border: 1px solid #e6e6e6;
		text-align: left;
		vertical-align: top;
}
.specs th {
		background: #fbfff9;
		color: #369b33;
		width: 35%;
		font-weight: 600;
}
.specs td {
		background: #fff;
		color: #333;
}
.copyImg {}
.copyImg img {
		width: 100%;
		height: auto;
		border-radius: 6px;
		margin-bottom: 12px;
}
.itemPrice {
		font-family: Arial, Helvetica, sans-serif;
		font-weight: bold;
		color: #F00;
		font-size: 24px;
		text-align: center;
}
.itemPrice .priceTitle {
		display: block;
		color: #262626;
		font-size: 16px;
		line-height: 1.2;
		margin-bottom: 4px;
}
.itemPrice .tax {
		font-size: 14px;
		color: #666;
		margin-top: 2px;
}
.specs p {
		font-size: 13px;
		color: #666;
		margin-top: 12px;
		text-align: center;
}
/* ===== タブメニューの見た目調整 ===== */
.tab-menu {
		display: flex;
		justify-content: center; /* 中央揃え（不要なら削除） */
		gap: 10px;
		margin: 20px 0;
		flex-wrap: wrap; /* スマホで折り返し */
}
/* タブボタンの基本デザイン */
.tab-menu .tab-button {
		appearance: none;
		background: #f7f7f7;
		border: 1px solid #ccc;
		border-radius: 6px;
		padding: 10px 24px;
		font-size: 16px;
		font-weight: 600;
		color: #333;
		cursor: pointer;
		transition: all 0.3s ease;
}
/* ホバー時 */
.tab-menu .tab-button:hover {
		background: #e6f0ff;
		border-color: #0073aa;
		color: #0073aa;
}
/* アクティブ（選択中） */
.tab-menu .tab-button.active {
		background: #0073aa;
		border-color: #0073aa;
		color: #fff;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
/* モバイル対応 */
@media screen and (max-width: 600px) {
		.tab-menu .tab-button {
				flex: 1;
				text-align: center;
				font-size: 15px;
				padding: 10px;
		}
}
/* ===============================
   リース
=============================== */
.lease {
		position: relative;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
		overflow: hidden;
		background: linear-gradient(135deg, #f6fffa 0%, #eafbec 40%, #fff 100%);
}
.lease::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: url(/ws/landing/images/fukugouki/women.png);
		background-size: 30%;
		background-repeat: no-repeat;
		background-position: right bottom;
		opacity: 0.9;
		z-index: 0;
}
.lease > * {
		position: relative;
		z-index: 1; /* テキストを前面に表示 */
}
.lease h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 16px;
		text-align: left;
}
.lease p {
		font-size: 15px;
		color: #333;
		margin-bottom: 12px;
		width: 80%;
}
/* ===============================
   特長
=============================== */
.features {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
		gap: 18px;
		margin-bottom: 80px;
}
.feature {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 18px;
}
.feature h3 {
		font-size: 18px;
		color: #369b33;
		margin-bottom: .5em;
}
/* ===============================
   比較表（料金・印刷方式など）
=============================== */
.compare {
		background: #fff;
		border-radius: 8px;
		padding: 24px;
		margin-bottom: 80px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
}
.compare h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 12px;
}
.compare table {
		width: 100%;
		border-collapse: collapse;
		font-size: 14px;
}
.compare th, .compare td {
		border: 1px solid #eee;
		padding: 10px;
		text-align: center;
}
.compare th {
		background: #fbfff9;
		color: #369b33;
}
.compare td:first-child {
		background: #fafafa;
		font-weight: 700;
		text-align: left;
}
/* ===============================
   リユース機と新品機の料金比較セクション
=============================== */
.comparison {
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		padding: 24px;
		margin-bottom: 80px;
		text-align: center;
}
.comparison h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 12px;
}
.comparison p {
		font-size: 15px;
		color: #333;
		margin-bottom: 16px;
}
.comparison img {
		width: 100%;
		max-width: 800px;
		height: auto;
		border-radius: 8px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
		padding: 20px;
}
.compare .typeTitle.fuku:after {
		content: "";
		display: inline-block;
		width: 100px;
		height: 100px;
		background-image: url("../landing/images/fukugouki/fukugouki_img.png");
		background-size: contain;
		vertical-align: middle;
}
.compare .typeTitle.prin:after {
		content: "";
		display: inline-block;
		width: 100px;
		height: 100px;
		background-image: url("../landing/images/fukugouki/printer_img.png");
		background-size: contain;
		vertical-align: middle;
}
/* ===============================
   光回線サービス（トミザワ光）
=============================== */
.fiber {
		background: linear-gradient(90deg, rgba(11, 116, 222, 0.08), rgba(11, 116, 222, 0.03));
		border-radius: 12px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
		padding: 40px 28px;
		margin-bottom: 60px;
		font-family: "Noto Sans JP", sans-serif;
		color: #333;
}
.fiber-inner {
		margin: 0 auto;
}
/* タイトル */
.fiber h2 {
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 8px;
}
.fiber h2 span {
		color: #0b74de;
		display: block;
}
.fiber-sub {
		font-size: 16px;
		color: #555;
		margin-bottom: 24px;
}
/* レイアウト */
.fiber-content {}
/* 左カラム */
.fiber-left h3 {
		font-size: 18px;
		margin-bottom: 12px;
		color: #222;
}
.fiber-left ol {
		list-style: none;
		counter-reset: num;
		margin: 0 0 16px 0;
		padding: 0;
}
.fiber-left ol li {
		counter-increment: num;
		margin-bottom: 12px;
		line-height: 1.8;
		font-size: 15px;
		position: relative;
		padding-left: 28px;
}
.fiber-left ol li::before {
		content: counter(num);
		position: absolute;
		left: 0;
		top: 0;
		font-weight: 700;
		color: #0b74de;
}
.fiber-left .strong {
		font-weight: 700;
		color: #369b33;
		padding-right: 1em;
		display: block;
}
.fiber-note {
		font-size: 16px;
		font-weight: 600;
		margin-top: 20px;
		color: #111;
		text-align: center
}
/* 右カラム */
.fiber-right {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 16px;
}
/* ロゴ */
.fiber-logo {
		/* margin: 0; */
		text-align: center;
}
.fiber-logo img {
		max-width: 200px;
		height: auto;
}
/* 丸いバッジ */
.fiber-badge {
		position: absolute;
		top: -20px;
		right: -30px;
		width: 110px;
		height: 110px;
		background: #fff;
		border-radius: 50%;
		border: 2px solid #0b74de;
		box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
		text-align: center;
		font-size: 13px;
		color: #333;
		align-items: center;
		justify-content: center;
		line-height: 1.4;
		font-weight: 500;
		display: none;
}
/* 緑ボックス */
.fiber-box {
		background: #e8f6eb;
		border-radius: 8px;
		padding: 20px 18px;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
		width: 100%;
		color: #222;
		margin-top: 10px;
}
.fiber-box h4 {
		font-size: 16px;
		color: #369b33;
		margin-bottom: 6px;
}
.fiber-box h5 {
		font-size: 15px;
		margin-bottom: 10px;
		font-weight: 600;
}
.fiber-box h5 small {
		font-weight: 400;
		color: #666;
}
.fiber-box ul {
		list-style: none;
		padding: 0;
		margin: 0;
}
.fiber-box li {
		position: relative;
		padding-left: 18px;
		margin-bottom: 6px;
		font-size: 14px;
		line-height: 1.6;
}
.fiber-box li::before {
		content: "●";
		color: #369b33;
		position: absolute;
		left: 0;
		top: 0;
		font-size: 10px;
}
/* ===============================
   CTA（最終）
=============================== */
.cta {
		padding: 24px;
		margin-bottom: 80px;
}
.cta h2 {
		margin: 0;
		font-size: 24px;
}
.cta p {
		margin: 0 auto 20px;
		text-align: center;
}
.cta-actions {
		max-width: 1000px;
		background-color: #4f4f4f;
		margin: 0 auto;
		padding: 50px 20px;
		border-radius: 10px;
		box-shadow: 0px 20px 60px rgba(0, 0, 0, 0.3);
		color: #fff;
		justify-content: center;
		gap: 48px;
}
.cta .tit {
		font-size: 1.4rem;
		font-weight: 700;
		margin-bottom: 10px;
}
.cta-actions .left {
		flex-basis: 440px;
		text-align: center;
}
.cta-actions .right {
		flex-basis: 360px;
		text-align: center;
}
.cta-actions .tel a {
		display: inline-block;
		background: url(../images/carpet/ico_tel.svg) 0 45% no-repeat;
		background-size: 28px auto;
		color: #fff;
		padding: 0;
		cursor: default;
		text-decoration: none;
		pointer-events: none;
		font-family: 'Crimson Text';
		font-size: 1.6rem;
		line-height: 100%;
}
.cta-actions .tel span {
		display: block;
		padding: 0;
		margin: 0;
		font-size: 12px;
		line-height: 1.4;
}
.cta-actions .contact_btn a {
		display: block;
		position: relative;
		background: linear-gradient(90deg, #8CB3B8 0%, #408A94 100%);
		box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
		border-radius: 1000px;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		padding: 19px 25px;
		text-align: center;
		transition: 0.2s;
		z-index: 0;
		text-decoration: none;
}
.cta-actions .contact_btn a:hover {
		text-decoration: none;
		font-size: 18px;
}
.cta-actions .contact_btn a:before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		transition: 0.5s;
		background: #8CB3B8;
		background: linear-gradient(90deg, #8CB3B8 0%, #408A94 100%);
		border-radius: 1000px;
}
.cta-actions .contact_btn a:after {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		z-index: -2;
		top: 0;
		left: 0;
		background: #408A94;
		background: linear-gradient(90deg, #408A94 0%, #8CB3B8 100%);
		border-radius: 1000px;
}
/* ==============================
   よくある質問（FAQセクション）
================================= */
#question {
		background: #fafafa;
}
#question h2 {
		color: #369b33;
		font-size: 24px;
		margin-bottom: 12px;
}
.questionWrap {
		margin: 0 auto;
		background: #fff;
		border-radius: 12px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
		padding: 3rem;
}
/* 質問と回答 */
#question dl {
		margin: 0;
}
#question dt {
		font-weight: 700;
		font-size: 1.4rem;
		padding: 1.6rem 2rem;
		background: #f3f3f3;
		border-radius: 8px;
		margin-top: 1.6rem;
		cursor: pointer;
		position: relative;
		transition: background 0.3s ease;
}
#question dt::before {
		content: "Q";
		color: #fff;
		background: #e60012;
		font-weight: 700;
		border-radius: 50%;
		width: 40px;
		height: 40px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: 0.8rem;
}
#question dt:hover {
		background: #ececec;
}
#question dd {
		margin: 0;
		padding: 1.6rem 2rem 2rem;
		border-left: 3px solid #e60012;
		background: #fff;
		border-radius: 0 0 8px 8px;
}
#question dd p {
		margin: 0.6rem 0;
		line-height: 1.8;
}
#question .colorRed {
		color: #e60012;
		font-weight: 700;
}
#question .map img {
		max-width: 100%;
		height: auto;
		display: block;
		margin: 1.6rem auto;
		border-radius: 8px;
} /* ==============================
   レスポンシブ対応　よくある質問
================================= */
@media screen and (max-width: 768px) {
		.questionWrap {
				padding: 2rem 1.5rem;
		}
		#question dt {
				font-size: 1.4rem;
				padding: 1.4rem 1.6rem;
		}
		#question dd {
				padding: 1.2rem 1.6rem 1.6rem;
		}
}
@media screen and (min-width: 1130px) {
		/* ===============================
   ヒーロー
=============================== */
		.hero {
				position: relative;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				gap: 20px;
				margin-bottom: 80px;
				min-height: 80vh;
				background: url("/ws/landing/images/fukugouki/hero-bg.png") center/cover no-repeat;
				color: #fff;
				padding: 60px 10px;
				border-radius: 8px;
		}
		.hero::before {
				content: "";
				position: absolute;
				inset: 0;
				border-radius: 8px;
		}
		.hero-copy, .hero-visual {
				position: relative;
				z-index: 1;
		}
		.hero-copy {
				flex: 1 1 510px;
				background: rgba(255, 255, 255, 0.85);
				color: #000;
				padding: 24px;
				border-radius: 8px;
		}
		.hero-visual {
				flex: 1 1 150px;
				text-align: center;
		}
		/* ===============================
   FAQセクション
=============================== */
		.faq {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
		}
		.faq h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 16px;
		}
		.faq ul {
				list-style: none;
				padding-left: 0;
				margin: 0;
		}
.faq li {
	font-size: 1.6rem;
	font-weight: bold;
	color: #262626;
}
		.faq li::before {
				content: "❖";
				color: #369b33;
				position: absolute;
				left: 0;
				top: 0;
		}
	.faq li a{
		text-decoration: none;
		color: #262626;
}
		.faq li a:hover{
							color: #369b33;
	}
		/* ===============================
   Happyが選ばれる3つの理由
=============================== */
		.reasons {
				border-radius: 8px;
				margin-bottom: 80px;
		}
		.reasons h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 20px;
				text-align: center;
		}
		.reason-list {}
		.reason {
				background: #fbfff9;
				border-left: 4px solid #369b33;
				border-radius: 6px;
				padding: 18px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, .03);
		}
		.reason h3 {
				font-size: 24px;
				color: #369b33;
				margin-bottom: .5em;
				padding: 30px 0;
				line-height: 3.0;
				width: 70%;
		}
		.reason p {
				line-height: 2.0;
				width: 70%;
				padding: 20px;
				border-radius: 10px;
		}
		/* ===============================
   カウンター保守契約セクション
=============================== */
		.contract {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
		}
		.contract h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 16px;
		}
		.contract p {
				font-size: 15px;
				color: #333;
				margin-bottom: 1em;
		}
		/* 親要素にflexを指定 */
		.contract {
				display: flex;
				flex-wrap: wrap; /* 横幅が足りない場合は折り返す */
				gap: 20px; /* 各例の間隔 */
		}
		/* 各契約例の幅を調整 */
		.contract .contract-example {
				flex: 1 1 300px; /* 最小幅300px、可能な限り横幅を拡張 */
				box-sizing: border-box;
		}
		.contract-example {
				background: #fbfff9;
				border-left: 4px solid #369b33;
				border-radius: 6px;
				padding: 16px;
				margin-bottom: 24px;
		}
		.contract-example h3 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 6px;
		}
		.contract-example table {
				width: 100%;
				border-collapse: collapse;
				font-size: 14px;
				margin: 8px 0 12px;
		}
		.contract-example td {
				border: 1px solid #e0e6ef;
				padding: 8px 10px;
		}
		.contract-example .total {
				background: #ddf2d3;
				font-weight: 700;
		}
		.contract-example .note {
				font-size: 14px;
				color: #555;
		}
		.contract-example .note strong {
				color: red;
		}
		.contract-includes {
				background: #fff;
				border: 1px solid #e6e6e6;
				border-radius: 8px;
				padding: 16px;
				margin-bottom: 24px;
				flex: 1 1 auto;
		}
		.contract-includes h3 {
				font-size: 24px;
				color: #369b33;
				margin-bottom: 10px;
		}
		.contract-includes ul {
				list-style: disc;
				padding-left: 20px;
				margin-bottom: 8px;
				display: flex;
				flex-flow: row wrap;
		}
		.contract-includes li {
				margin-bottom: 4px;
				flex-basis: 50%;
		}
		.contract-includes .small {
				font-size: 13px;
				color: #666;
		}
		/* ===============================
   エリア
=============================== */
		.area {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
		}
		.area h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 16px;
		}
		.area p {
				font-size: 15px;
				color: #333;
				margin-bottom: 1em;
		}
		.remote {
				background: #fbfff9;
				border-radius: 8px;
				padding: 16px;
				width: 100%;
		}
		.remote h3 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 8px;
		}
		.remote p {
				font-size: 15px;
				color: #333;
				margin-bottom: 12px;
		}
		.remote-images {
				display: flex;
				gap: 12px;
				flex-wrap: wrap;
				justify-content: space-between;
		}
		.remote-images img {
				width: 30%;
				min-width: 180px;
				border-radius: 6px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
				background: #fff;
		}
		/* ===============================
   安心・信頼セクション
=============================== */
		/*.trust {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  padding: 24px;
  margin-bottom: 40px;
}
.trust h2 {
  color: #369b33;
  font-size: 24px;
  margin-bottom: 16px;
}
.trust-points {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}*/
		.point {
				background: #fbfff9;
				border-left: 4px solid #369b33;
				padding: 16px;
				border-radius: 6px;
		}
		.point h3 {
				font-size: 18px;
				color: #369b33;
				margin-bottom: .4em;
		}
		.point p {
				margin: 0;
				font-size: 15px;
				color: #333;
		}
		/* ===============================
   導入実績セクション
=============================== */
		.results {
				display: none;
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
		}
		.results h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 16px;
		}
		.results p {
				font-size: 15px;
				color: #333;
				margin-bottom: 12px;
		}
		.result-list {
				margin: 0;
				padding-left: 20px;
		}
		.result-list li {
				margin-bottom: .3em;
				list-style: disc;
		}
		/* ===============================
   導入事例セクション
=============================== */
		.case {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
				display: none
		}
		.case h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 12px;
		}
		.case p {
				font-size: 15px;
				color: #333;
				margin-bottom: .8em;
				padding-left: 1em;
				position: relative;
		}
		.case p::before {
				content: "◆";
				color: #369b33;
				position: absolute;
				left: 0;
				top: 0;
		}
		/* ===============================
   代表的なスペック例セクション 改良版
=============================== */
		.specs {
				background: #fff;
				border-radius: 12px;
				box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
				padding: 24px;
				margin-bottom: 80px;
		}
		.specs h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 20px;
		}
		.specs h3 {
				display: flex;
				align-items: center;
				gap: 10px;
				font-size: 18px;
				margin-bottom: 16px;
		}
		.specs h3 img {
				width: 80px;
				height: auto;
		}
		.specsWrap {
				display: flex;
				flex-wrap: wrap;
				gap: 24px;
				justify-content: space-between;
				align-items: flex-start;
		}
		.specsWrap .left {
				width: 60%;
				min-width: 280px;
				border-collapse: collapse;
		}
		.specsWrap .right {
				width: 30%;
				max-width: 200px;
				text-align: center;
				margin: auto;
		}
		.specs table {
				font-size: 15px;
		}
		.specs th, .specs td {
				padding: 12px 14px;
				border: 1px solid #e6e6e6;
				text-align: left;
				vertical-align: top;
		}
		.specs th {
				background: #fbfff9;
				color: #369b33;
				width: 35%;
				font-weight: 600;
		}
		.specs td {
				background: #fff;
				color: #333;
		}
		.copyImg {}
		.copyImg img {
				width: 100%;
				height: auto;
				border-radius: 6px;
				margin-bottom: 12px;
		}
		.itemPrice {
				font-family: Arial, Helvetica, sans-serif;
				font-weight: bold;
				color: #F00;
				font-size: 24px;
				text-align: center;
		}
		.itemPrice .priceTitle {
				display: block;
				color: #262626;
				font-size: 16px;
				line-height: 1.2;
				margin-bottom: 4px;
		}
		.itemPrice .tax {
				font-size: 14px;
				color: #666;
				margin-top: 2px;
		}
		.specs p {
				font-size: 13px;
				color: #666;
				margin-top: 12px;
				text-align: center;
		}
		/* ===============================
   リース
=============================== */
		.lease {
				position: relative;
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
				overflow: hidden;
				background: linear-gradient(135deg, #f6fffa 0%, #eafbec 40%, #fff 100%);
		}
		.lease::before {
				content: "";
				position: absolute;
				inset: 0;
				background-image: url(/ws/landing/images/fukugouki/women.png);
				background-size: 20%;
				background-repeat: no-repeat;
				background-position: right top;
				opacity: 0.9;
				z-index: 0;
		}
		.lease > * {
				position: relative;
				z-index: 1; /* テキストを前面に表示 */
		}
		.lease h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 16px;
				text-align: left;
		}
		.lease p {
				font-size: 15px;
				color: #333;
				margin-bottom: 12px;
				width: 80%;
		}
		/* ===============================
   特長
=============================== */
		.features {
				display: grid;
				grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
				gap: 18px;
				margin-bottom: 80px;
		}
		.feature {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 18px;
		}
		.feature h3 {
				font-size: 18px;
				color: #369b33;
				margin-bottom: .5em;
		}
		/* ===============================
   比較表（料金・印刷方式など）
=============================== */
		.compare {
				background: #fff;
				border-radius: 8px;
				padding: 24px;
				margin-bottom: 80px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
		}
		.compare h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 12px;
		}
		.compare table {
				width: 100%;
				border-collapse: collapse;
				font-size: 14px;
		}
		.compare th, .compare td {
				border: 1px solid #eee;
				padding: 10px;
				text-align: center;
		}
		.compare th {
				background: #fbfff9;
				color: #369b33;
		}
		.compare td:first-child {
				background: #fafafa;
				font-weight: 700;
				text-align: left;
		}
		/* ===============================
   リユース機と新品機の料金比較セクション
=============================== */
		.comparison {
				background: #fff;
				border-radius: 8px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, .05);
				padding: 24px;
				margin-bottom: 80px;
				text-align: center;
		}
		.comparison h2 {
				color: #369b33;
				font-size: 24px;
				margin-bottom: 12px;
		}
		.comparison p {
				font-size: 15px;
				color: #333;
				margin-bottom: 16px;
		}
		.comparison img {
				width: 100%;
				max-width: 800px;
				height: auto;
				border-radius: 8px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
				padding: 20px;
		}
		/* ===============================
   光回線サービス（トミザワ光）
=============================== */
		.fiber {
				background: linear-gradient(90deg, rgba(11, 116, 222, 0.08), rgba(11, 116, 222, 0.03));
				border-radius: 12px;
				box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
				padding: 40px 28px;
				margin-bottom: 60px;
				font-family: "Noto Sans JP", sans-serif;
				color: #333;
		}
		.fiber-inner {
				max-width: 1080px;
				margin: 0 auto;
		}
		/* タイトル */
		.fiber h2 {
				font-size: 24px;
				font-weight: 700;
				margin-bottom: 8px;
		}
		.fiber h2 span {
				color: #0b74de;
		}
		.fiber-sub {
				font-size: 16px;
				color: #555;
				margin-bottom: 24px;
		}
		/* レイアウト */
		.fiber-content {
				display: grid;
				grid-template-columns: 1fr 340px;
				gap: 32px;
				align-items: start;
		}
		/* 左カラム */
		.fiber-left h3 {
				font-size: 18px;
				margin-bottom: 12px;
				color: #222;
		}
		.fiber-left ol {
				list-style: none;
				counter-reset: num;
				margin: 0 0 16px 0;
				padding: 0;
		}
		.fiber-left ol li {
				counter-increment: num;
				margin-bottom: 12px;
				line-height: 1.8;
				font-size: 15px;
				position: relative;
				padding-left: 28px;
		}
		.fiber-left ol li::before {
				content: counter(num);
				position: absolute;
				left: 0;
				top: 0;
				font-weight: 700;
				color: #0b74de;
		}
		.fiber-left .strong {
				font-weight: 700;
				color: #369b33;
				padding-right: 1em;
				display: inline;
		}
		.fiber-note {
				font-size: 16px;
				font-weight: 600;
				margin-top: 20px;
				color: #111;
		}
		/* 右カラム */
		.fiber-right {
				position: relative;
				display: flex;
				flex-direction: column;
				align-items: flex-end;
				gap: 16px;
		}
		/* ロゴ */
		.fiber-logo {
				/* margin: 0; */
				text-align: center;
		}
		.fiber-logo img {
				max-width: 200px;
				height: auto;
		}
		/* 丸いバッジ */
		.fiber-badge {
				position: absolute;
				top: -20px;
				right: -30px;
				width: 110px;
				height: 110px;
				background: #fff;
				border-radius: 50%;
				border: 2px solid #0b74de;
				box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
				text-align: center;
				font-size: 13px;
				color: #333;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 1.4;
				font-weight: 500;
		}
		/* 緑ボックス */
		.fiber-box {
				background: #e8f6eb;
				border-radius: 8px;
				padding: 20px 18px;
				box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
				width: 100%;
				color: #222;
				margin-top: 70px;
		}
		.fiber-box h4 {
				font-size: 16px;
				color: #369b33;
				margin-bottom: 6px;
		}
		.fiber-box h5 {
				font-size: 15px;
				margin-bottom: 10px;
				font-weight: 600;
		}
		.fiber-box h5 small {
				font-weight: 400;
				color: #666;
		}
		.fiber-box ul {
				list-style: none;
				padding: 0;
				margin: 0;
		}
		.fiber-box li {
				position: relative;
				padding-left: 18px;
				margin-bottom: 6px;
				font-size: 14px;
				line-height: 1.6;
		}
		.fiber-box li::before {
				content: "●";
				color: #369b33;
				position: absolute;
				left: 0;
				top: 0;
				font-size: 10px;
		}
		/* ===============================
   CTA（最終）
=============================== */
		.cta {
				padding: 24px;
				margin-bottom: 80px;
		}
		.cta h2 {
				margin: 0;
				font-size: 24px;
		}
		.cta p {
				margin: 0 auto 20px;
				text-align: center;
		}
		.cta-actions {
				max-width: 1000px;
				background-color: #4f4f4f;
				margin: 0 auto;
				padding: 50px 80px;
				border-radius: 10px;
				box-shadow: 0px 20px 60px rgba(0, 0, 0, 0.3);
				color: #fff;
				display: flex;
				justify-content: center;
				gap: 48px;
		}
		.cta .tit {
				font-size: 1.4rem;
				font-weight: 700;
				margin-bottom: 30px;
		}
		.cta-actions .left {
				flex-basis: 440px;
				text-align: center;
		}
		.cta-actions .right {
				flex-basis: 360px;
				text-align: center;
		}
		.cta-actions .tel a {
				display: inline-block;
				background: url(../images/carpet/ico_tel.svg) 0 45% no-repeat;
				background-size: 28px auto;
				color: #fff;
				padding: 0;
				cursor: default;
				text-decoration: none;
				pointer-events: none;
				font-family: 'Crimson Text';
				font-size: 1.6rem;
				line-height: 100%;
		}
		.cta-actions .tel span {
				display: block;
				padding: 0;
				margin: 0;
				font-size: 12px;
				line-height: 1.4;
		}
		.cta-actions .contact_btn a {
				display: block;
				position: relative;
				background: linear-gradient(90deg, #8CB3B8 0%, #408A94 100%);
				box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
				border-radius: 1000px;
				color: #fff;
				font-size: 16px;
				font-weight: 700;
				padding: 19px 25px;
				text-align: center;
				transition: 0.2s;
				z-index: 0;
		}
		.cta-actions .contact_btn a:hover {
				text-decoration: none;
		}
		.cta-actions .contact_btn a:before {
				content: "";
				width: 100%;
				height: 100%;
				position: absolute;
				z-index: -1;
				top: 0;
				left: 0;
				transition: 0.5s;
				background: #8CB3B8;
				background: linear-gradient(90deg, #8CB3B8 0%, #408A94 100%);
				border-radius: 1000px;
		}
		.cta-actions .contact_btn a:after {
				content: "";
				width: 100%;
				height: 100%;
				position: absolute;
				z-index: -2;
				top: 0;
				left: 0;
				background: #408A94;
				background: linear-gradient(90deg, #408A94 0%, #8CB3B8 100%);
				border-radius: 1000px;
		}
}