@charset "utf-8";

/*投稿*/
.two-column #primary {
	padding-top: 60px;
	padding-bottom: 60px;
}


/**Archive***************************/

.archive .site-footer, .single .site-footer {
	background: #F5F5EE;
}

/**Single***************************/

.single-page-navi li {
	margin: 0 20px;
}
.single-page-navi {
	margin-top: 50px;
	font-weight: 400;
	color: #005AB7;
}

.single-page-navi li a {
	display: inline-block;
	position: relative;
	font-family: 'Barlow', sans-serif;
	transition: .2s;
}
.single-prev a:before {
	content: url(../images/prev-arrow.svg);
	position: absolute;
	bottom: -10px;
	right: 0;
}
.single-next a:before {
	content: url(../images/next-arrow.svg);
	position: absolute;
	bottom: -10px;
	left: 0;
}

.single-date-cate {
	column-gap: 20px;
}
.single-date-cate .badge-news {
    display: inline-block;
    width: 90px;
    font-size: 13px;
    text-align: center;
    line-height: 1;
    padding: 3px 10px;
    color: #2FB6C7;
    border: 1px solid #2FB6C7;
    border-radius: 11px;
}

@media(min-width:768px){
.single-prev a:hover {
	transform: translateX(-5px);
}
.single-next a:hover {
	transform: translateX(5px);
}
.single-cotegory a:hover {
	opacity: 0.8;
	transform: translateY(-3px);
}

}

.single-cotegory {
	margin-top: 5px;
}
.single-cotegory a {
	display: inline-block;
	line-height: 1.6;
	font-size: 13px;
	padding: 0 10px 1px;
	border-radius: 11px;
	color: #fff !important;
	background: #005AB7;
	transition: .3s;
}

@media(max-width:767px){
	.two-column #primary {
		padding-top: 30px;
		padding-bottom: 0;}
	.single-date-cate .badge-news {
    font-size: 12px;
    padding: 2px 8px;
		width: 80px;
    border-radius: 11px;
	}
}




/*Side Bar*/
.two-column #secondary {
	margin-top: 60px;
	padding-bottom: 60px;
}

.searchform {
  position: relative;
  max-width: 250px;
  border: solid 1px #bbb !important;
  border-radius: 2px !important;
  background-color: #fff;
}
 
.searchfield {
  font-size: 14px;
  width: calc( 100% - 37px);
  margin: 3px;
  padding: 10px !important;
  border: none !important;
}
.searchsubmit {
	width: 30px;
	height: 30px;
	background: url(../images/search-icon.png);
	background-size: cover;
	position: absolute;
	top: 4px;
	right: 5px;
	cursor: pointer;
	border: none;
	color: transparent;
}
.widget_search h2 {
	display: none;
}
.widget {
	margin-bottom: 20px;
}


.widget-area {
	font-size: 14px;
}
.widget-area h2, .searchform {
	font-size: 16px;
}

.widget-title {
	font-weight: 600;
}
.widget-title:before {
	content: "●";
	color: #2fb6c7;
}
section.widget ul {
	padding-left: 1em;
	font-weight: 400;
}
section.widget ul li a{
	display: inline-block;
	transition: .3s;
}

@media(min-width:768px){
	section.widget ul li a:hover {
		transform: translateX(5px);
		opacity: 0.8;
	}
}


/*Archive*********************************************/

/**ページネーション**/
.nav-links {
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
.page-numbers {
	color: #2FB6C7 !important;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	border: 1px solid #2FB6C7;
	margin: 0 4px;
	font-weight: 400;
	border-radius: 2px;
	transition: .2s;
}
.prev.page-numbers, .next.page-numbers {
	width: auto;
	border: none;
	background: none;
	color: #2FB6C7 !important;
	font-family: 'Barlow', sans-serif;
	position: relative;
}
.prev.page-numbers:before {
	content: url(../images/prev-arrow.svg);
	position: absolute;
	bottom: -6px;
	right: 0;
}
.next.page-numbers:before {
	content: url(../images/next-arrow.svg);
	position: absolute;
	bottom: -6px;
	left: 0;
}

.page-numbers.current {
	color: #fff !important;
	background-color: #2FB6C7;
	border-color: #2FB6C7;
}

.date-cate {
	width: 30%;
    column-gap: 20px;
    min-width: 240px;
}
.blog-ttl {
	width: 70%;
}
.blog-category {
    display: inline-block;
    width: 90px;
    font-size: 13px;
    text-align: center;
    line-height: 1;
    padding: 3px 10px;
    color: #2FB6C7;
    border: 1px solid #2FB6C7;
    border-radius: 11px;
}

.archive-list {
	max-width: 1200px;
	margin: 0 auto;
}

.archive-list li {
	padding: 15px 20px;
	border-bottom: 1px dashed #959595;
}
.archive-list li:first-child {
	border-top: 1px dashed #959595;
}

.archive-list li a {
	transition: .3s;
}

@media (min-width:768px){
	.archive-list li a:hover {
		transform: translateX( 10px );
		opacity: 0.6;
	}
    a.page-numbers:hover {
		background-color: #E9F9FF;}
	a.prev.page-numbers:hover {
		background-color: transparent;
		transform: translateX(-5px);}
	a.next.page-numbers:hover {
		background-color: transparent;
		transform: translateX(5px);}
}
@media(max-width:1260px){
	.blog-ttl {
		width: 100%;
		padding-left: 0;
	}
}
@media(max-width:991px){
	.archive-list li {
		padding: 15px 5px;
	}
}

@media(max-width:767px){
	.blog-category {
    font-size: 12px;
    padding: 2px 8px;
		width: 80px;
    border-radius: 11px;
}
}



/**Search*********************************************/
.search .searchform {
	margin-top: 50px;
}



/**Blog Header*********************************************/
.two-column .page-header {
	background-image: url(../images/blog-header.webp);
    margin-top: 100px;
}
.two-column .page-header.simple-header {
	background-image: none;
}

@media(max-width:1320px){
	.two-column .page-header {
 		margin-top: 80px !important;
 }
}
@media(max-width:767px){
	.two-column .page-header {
 		margin-top: 60px !important;
 	}
}



/*********************************************
お役立ち情報
*********************************************/

/**OST広報とは？*/
.ost-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* イントロダクション（グレーボックス） */
    .ost-intro-box {
        background-color: #f9f9f9;
        border: 1px solid #e5e5e5;
        padding: 30px;
        margin-top: 20px;
        margin-bottom: 40px;
        border-radius: 4px;
    }

    .ost-intro-box .lead-serif {
        font-family: "Georgia", "Hiragino Mincho ProN", serif;
        font-size: 18px;
        font-weight: bold;
        color: #111;
        margin-bottom: 20px;
        line-height: 1.6;
    }
    
    .ost-intro-box .author-name {
        text-align: right;
        font-weight: bold;
        margin-top: 15px;
        color: #555;
    }

    /* メイン見出し H3 */
    .ost-page-wrapper h3 {
        font-size: 20px;
        color: #111;
        margin-top: 50px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: solid 3px #000;
        font-weight: bold;
        letter-spacing: 0.05em;
    }

    /* 小見出し H4, H5, H6 */
    .ost-page-wrapper h4.subtitle {
        font-size: 16px;
        color: #fff;
        background-color: #aa7c11; /* 高級感のあるゴールド系 */
        padding: 8px 15px;
        margin-top: 30px;
        margin-bottom: 15px;
        font-weight: bold;
        border-radius: 2px;
    }

    .ost-page-wrapper h5 {
        font-size: 16px;
        color: #111;
        margin-top: 25px;
        margin-bottom: 10px;
        font-weight: bold;
    }

    .ost-page-wrapper h6 {
        font-size: 14px;
        color: #666;
        margin-top: 15px;
        margin-bottom: 8px;
        font-weight: bold;
    }

    /* 2カラムレイアウト */
    .ost-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 25px;
        align-items: flex-start;
    }

    .ost-col-7 {
        flex: 0 0 58%;
        max-width: 58%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .ost-col-5 {
        flex: 0 0 42%;
        max-width: 42%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .ost-col-6 {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* 仕組みボックス */
    .ost-shikumi-box {
        background-color: #fdfaf2;
        border: 1px solid #f3ebd6;
        padding: 35px;
        border-radius: 4px;
        margin-bottom: 30px;
    }
    
    .ost-shikumi-box h4 {
        color: #aa7c11 !important;
        background: transparent !important;
        padding: 0 !important;
        font-size: 18px !important;
        margin-bottom: 15px !important;
        border-bottom: 1px solid #f3ebd6;
        padding-bottom: 10px !important;
    }

    /* リスト表現 */
    .ost-list-numbered {
        padding-left: 20px;
        margin-bottom: 15px;
    }

    .ost-list-numbered li {
        margin-bottom: 8px;
        font-weight: bold;
        font-size: 15px;
    }

    .ost-list-bullet {
        padding-left: 20px;
        margin-bottom: 15px;
    }

    .ost-list-bullet li {
        margin-bottom: 5px;
        font-size: 15px;
        list-style-type: disc;
    }

    /* 左右比較（薬剤法 vs OST脱臭法） */
    .ost-comparison-wrapper {
        display: flex;
        flex-wrap: wrap;
        border: 1px solid #ddd;
        border-radius: 4px;
        overflow: hidden;
        margin-bottom: 30px;
    }

    .ost-comp-box {
        flex: 0 0 50%;
        max-width: 50%;
        box-sizing: border-box;
    }

    .ost-comp-box.left-side {
        background-color: #f9f9f9;
        border-right: 1px solid #ddd;
    }

    .ost-comp-box.right-side {
        background-color: #fffdf7;
    }

    .ost-comp-header {
        padding: 15px;
        text-align: center;
        font-weight: bold;
        font-size: 16px;
        color: #fff;
    }

    .ost-comp-box.left-side .ost-comp-header {
        background-color: #777;
    }

    .ost-comp-box.right-side .ost-comp-header {
        background-color: #aa7c11;
    }

    .ost-comp-body {
        padding: 20px;
    }

    .ost-comp-item {
        margin-bottom: 15px;
        border-bottom: 1px dashed #eee;
        padding-bottom: 10px;
    }

    .ost-comp-item:last-child {
        margin-bottom: 0;
        border-bottom: none;
        padding-bottom: 0;
    }

    .ost-comp-item dt {
        font-weight: bold;
        font-size: 13px;
        color: #666;
        margin-bottom: 30px;
    }

    .ost-comp-item dd {
        margin-left: 0;
        font-size: 15px;
        font-weight: bold;
        color: #111;
    }

    /* 画像用レスポンシブベース */
    .ost-img-responsive {
        display: block;
        max-width: 1000px;
        height: auto;
        margin: 0 auto 15px auto;
    }

    /* キャプション・強調付き枠 */
    .ost-caption-box {
        background-color: #fff9e6;
        border: 2px dashed #aa7c11;
        padding: 20px;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #aa7c11;
        margin: 30px 0;
        border-radius: 4px;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .ost-col-7,
        .ost-col-5,
        .ost-col-6,
        .ost-comp-box {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }

        .ost-row {
            margin-right: 0;
            margin-left: 0;
        }

        .ost-comp-box.left-side {
            border-right: none;
            border-bottom: 2px solid #ddd;
        }

        .ost-shikumi-box {
            padding: 20px;
        }
        
        .ost-page-wrapper h3 {
            font-size: 18px;
        }
    }

/**プロバイオティクス工法**/
.bio-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* メイン見出し H3 */
    .bio-page-wrapper h3 {
        font-size: 20px;
        color: #111;
        margin-top: 40px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: solid 3px #000;
        font-weight: bold;
        letter-spacing: 0.05em;
    }

    /* 2カラムレイアウト（テキスト＆動画・画像） */
    .bio-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 25px;
        align-items: flex-start;
    }

    .bio-col-left {
        flex: 0 0 55%;
        max-width: 55%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
        font-size: 15px;
        text-align: justify;
    }

    .bio-col-right {
        flex: 0 0 45%;
        max-width: 45%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* 開発の背景エリアの左右幅調整 */
    .bio-col-bg-left {
        flex: 0 0 65%;
        max-width: 65%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }
    
    .bio-col-bg-right {
        flex: 0 0 35%;
        max-width: 35%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* レスポンシブ動画（YouTube） */
    .video-container {
        position: relative;
        padding-bottom: 56.25%;
        height: 0;
        overflow: hidden;
    }

    .video-container iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        border: 0;
    }

    /* 汎用画像スタイル */
    .bio-img-responsive {
        display: block;
        max-width: 1000px;
        height: auto;
        margin: 0 auto;
    }

    /* 背景セクション内のリスト（開発の背景） */
    .background-box {
        background-color: #fafafa;
        border: 1px solid #e5e5e5;
        padding: 25px;
        border-radius: 4px;
        margin-bottom: 20px;
    }

    /* リストスタイル1（丸数字やドットの代わり） */
    .list-styled {
        padding-left: 20px;
        margin-bottom: 20px;
    }

    .list-styled li {
        margin-bottom: 8px;
        font-size: 15px;
        list-style-type: square;
    }

    /* 矢印画像部分 */
    .arrow-space {
        text-align: center;
        margin: 20px 0;
    }

    /* 条件・メリット・利用3条件のリスト */
    .bio-list-bullet {
        padding-left: 20px;
        margin-bottom: 30px;
    }

    .bio-list-bullet li {
        margin-bottom: 10px;
        font-size: 15px;
        list-style-type: disc;
    }

    /* 効果的な利用のための3条件（番号付き） */
    .bio-list-numbered {
        padding-left: 20px;
        margin-bottom: 20px;
    }

    .bio-list-numbered li {
        margin-bottom: 12px;
        font-size: 15px;
        font-weight: 500;
    }

    /* 強調テキスト */
    .bigger-text {
        font-size: 20px;
        color: #000;
    }

    /* ボタンデザイン */
    .bio-btn-wrap {
        text-align: center;
        margin: 40px 0;
    }

    .bio-btn-link {
        display: inline-block;
        padding: 15px 40px;
        font-size: 18px;
        font-weight: bold;
        color: #fff !important;
        background: linear-gradient(180deg, #d4af37 0%, #aa7c11 100%); /* 高級感のあるゴールド系グラデーション */
        border: 1px solid #996515;
        border-radius: 4px;
        text-decoration: none !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        transition: opacity 0.2s ease;
    }

    .bio-btn-link:hover {
        opacity: 0.9;
    }

    /* スマートフォン表示用（画面幅768px以下） */
    @media (max-width: 768px) {
        .bio-col-left,
        .bio-col-right,
        .bio-col-bg-left,
        .bio-col-bg-right {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
            margin-bottom: 20px;
        }
        
        .bio-row {
            margin-right: 0;
            margin-left: 0;
        }

        .bio-page-wrapper h3 {
            font-size: 18px;
        }

        .bigger-text {
            font-size: 18px;
        }
    }


/*********************************************
製品紹介
*********************************************/
.product-head {
  gap: 40px;
}

.product-image {
  width: 50%;
}

.product-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.product-summary {
  flex: 1;
}

.product-data table {
  width: 100%;
  border-collapse: collapse;
}

.product-data th,
.product-data td {
  border-bottom: 1px dotted #ccc;
  padding: 16px 20px;
  text-align: left;
}

.product-data th {
  width: 25%;
  font-weight: 600;
}

.product-side-title {
  width: 100%;
  padding: 12px 16px;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
	color: #004d40;
  background: #e7f8fb;
  border: 1px solid #7fd7e4;
  border-radius: 6px;
  transition: .3s;
  position: relative;
}
.product-side-title:hover {
  background: #d8f3f8;
}

.product-side-list {
  display: none;
  padding: 12px 16px;
}

.product-side-block.is-open .product-side-list {
  display: block;
}

.product-data .table-heading th {
  width: auto;
  text-align: left;
}

.product-side-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;

  width: 10px;
  height: 10px;

  border-right: 2px solid #00a9c0;
  border-bottom: 2px solid #00a9c0;

  transform: translateY(-70%) rotate(45deg);
  transition: .3s;
}
.product-side-block.is-open .product-side-title::after {
  transform: translateY(-30%) rotate(225deg);
}

.products-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/*********************************************
SP
*********************************************/
@media screen and (max-width: 767px) {

  .product-head {
    display: block;
    gap: 0;
  }

  .product-image {
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px;
  }

  .product-summary {
    width: 100%;
  }

  .product-summary h1 {
    font-size: 3.2rem;
    line-height: 1.3;
  }

  .product-data {
    overflow-x: auto;
  }

  .product-data table {
    width: 100%;
  }

  .product-data th,
  .product-data td {
    display: block;
    width: 100%;
    padding: 12px 0;
  }

  .product-data th {
    border-bottom: none;
    padding-bottom: 0;
  }

  .product-data td {
    padding-top: 5px;
  }


  .product-data .table-heading th {
    padding: 15px 0;
    font-size: 1.8rem;
    font-weight: 700;
  }

  .product-side-title {
    padding: 15px;
  }

  .product-side-list {
    padding: 0 15px 15px;
  }

  .product-side-list li {
    margin-bottom: 10px;
  }

}


/*********************************************
製品一覧 archive-products
*********************************************/
.product-archive-section {
  margin-bottom: 80px;
}

.product-archive-heading {
  padding-bottom: 15px;
  border-bottom: 2px solid #32b6c7;
}

.product-archive-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px 30px;
}

.product-archive-item a {
  display: block;
  height: 100%;
  text-decoration: none;
}

.product-archive-thumb {
  background: #fff;
  margin-bottom: 18px;
}

.product-archive-thumb img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  display: block;
}

.product-archive-thumb .no-image {
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  background: #f1f1f1;
}

.product-archive-category {
  font-size: 14pxd;
  color: #32b6c7;
  font-weight: 600;
  margin-bottom: 8px;
}

.product-archive-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  color: #004d40;
}

/*********************************************
SP
*********************************************/
@media screen and (max-width: 767px) {

  .product-archive-section {
    margin-bottom: 50px;
  }

  .product-archive-list {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .product-archive-title {
    font-size: 1.8rem;
  }

}


/*********************************************
製品紹介
*********************************************/

/**Panther-J**/
.prod-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* 汎用レスポンシブ画像設定 */
    .prod-img-responsive {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    /* トップ製品紹介エリア（左右2カラム） */
    .prod-intro-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 35px;
        align-items: center;
    }

    .prod-intro-left {
        flex: 0 0 60%;
        max-width: 60%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .prod-intro-right {
        flex: 0 0 40%;
        max-width: 40%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* テキストカラー */
    .text-warning-custom {
        color: #e67e22;
        font-weight: bold;
    }

    /* ミニテーブル（トップ紹介用） */
    .prod-mini-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 15px;
        font-size: 14px;
    }

    .prod-mini-table th, .prod-mini-table td {
        padding: 8px 12px;
        border-bottom: 1px solid #eee;
        text-align: left;
    }

    .prod-mini-table th {
        width: 30%;
        font-weight: bold;
        color: #555;
        background-color: #f9f9f9;
    }

    /* メイン見出し H3 */
    .prod-page-wrapper h3 {
        font-size: 20px;
        color: #111;
        margin-top: 50px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: solid 3px #000;
        font-weight: bold;
        letter-spacing: 0.05em;
    }

    /* 小見出し H4 */
    .prod-page-wrapper h4.subtitle {
        font-size: 15px;
        color: #aa7c11; /* ゴールド系 */
        margin-top: 25px;
        margin-bottom: 5px;
        font-weight: bold;
    }

    /* リスト（導入効果例） */
    .prod-list-bullet {
        padding-left: 20px;
        margin-bottom: 30px;
    }

    .prod-list-bullet li {
        margin-bottom: 6px;
        font-size: 15px;
        list-style-type: disc;
    }

    /* ご利用シーン グリッドシステム */
    .scene-grid {
        display: flex;
        flex-wrap: wrap;
        margin-right: -10px;
        margin-left: -10px;
        margin-bottom: 30px;
    }

    .scene-card {
        flex: 0 0 25%;
        max-width: 25%;
        padding: 10px;
        box-sizing: border-box;
        text-align: center;
    }

    .scene-card img {
        border: 1px solid #ddd;
        width: 100%;
        height: auto;
    }

    .scene-card .caption {
        background-color: #aa7c11;
        color: #fff;
        font-size: 13px;
        font-weight: bold;
        padding: 4px 5px;
        margin: 8px 0 5px 0;
    }

    .scene-card .desc {
        font-size: 12px;
        color: #666;
        line-height: 1.4;
        margin: 0;
    }

    /* スペックテーブル（大） */
    .spec-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 40px;
        font-size: 14px;
    }

    .spec-table th, .spec-table td {
        border: 1px solid #ddd;
        padding: 12px 15px;
        text-align: left;
        vertical-align: middle;
    }

    .spec-table th {
        width: 30%;
        background-color: #f4f4f4;
        font-weight: bold;
        color: #333;
    }

    .spec-table td a {
        color: #0000ff;
        text-decoration: underline;
    }

    /* お問い合わせボタン */
    .prod-btn-wrap {
        text-align: center;
        margin: 40px 0;
    }

    .prod-btn-link {
        display: inline-block;
        padding: 14px 45px;
        font-size: 18px;
        font-weight: bold;
        color: #fff !important;
        background: linear-gradient(180deg, #d4af37 0%, #aa7c11 100%);
        border: 1px solid #996515;
        border-radius: 25px; /* 丸みのあるボタン */
        text-decoration: none !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        transition: opacity 0.2s ease;
    }

    .prod-btn-link:hover {
        opacity: 0.9;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .prod-intro-left,
        .prod-intro-right {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }

        .prod-intro-left {
            order: 2; /* スマホ時はテキストを下に */
            margin-top: 20px;
        }

        .prod-intro-right {
            order: 1; /* スマホ時は製品画像を上に */
        }

        .prod-intro-row {
            margin-right: 0;
            margin-left: 0;
        }

        .scene-card {
            flex: 0 0 50%; /* スマホ時は2カラム並び（1列に2つ） */
            max-width: 50%;
            padding: 5px;
        }

        .spec-table th, .spec-table td {
            display: block;
            width: 100% !important;
            box-sizing: border-box;
        }

        .spec-table tr {
            border-bottom: 2px solid #ddd;
            display: block;
            margin-bottom: 10px;
        }

        .spec-table th {
            background-color: #f9f9f9;
            border-bottom: none;
            padding: 8px 15px;
        }

        .spec-table td {
            padding: 8px 15px 12px 15px;
        }

        .prod-page-wrapper h3 {
            font-size: 18px;
        }
    }

  
  /**Tiger**/
.tiger-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* 汎用レスポンシブ画像設定 */
    .tiger-img-responsive {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    /* トップ製品紹介エリア（左右2カラム） */
    .tiger-intro-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 35px;
        align-items: center;
    }

    .tiger-intro-left {
        flex: 0 0 60%;
        max-width: 60%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .tiger-intro-right {
        flex: 0 0 40%;
        max-width: 40%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* ミニテーブル（トップ紹介用） */
    .tiger-mini-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 15px;
        font-size: 14px;
    }

    .tiger-mini-table th, .tiger-mini-table td {
        padding: 8px 12px;
        border-bottom: 1px solid #eee;
        text-align: left;
    }

    .tiger-mini-table th {
        width: 30%;
        font-weight: bold;
        color: #555;
        background-color: #f9f9f9;
    }

    /* メイン見出し H3 */
    .tiger-page-wrapper h3 {
        font-size: 20px;
        color: #111;
        margin-top: 50px;
        margin-bottom: 20px;
        padding-bottom: 10px;
        border-bottom: solid 3px #000;
        font-weight: bold;
        letter-spacing: 0.05em;
    }

    /* リスト（特徴ドット） */
    .tiger-list-bullet {
        padding-left: 20px;
        margin-bottom: 30px;
    }

    .tiger-list-bullet li {
        margin-bottom: 12px;
        font-size: 15px;
        list-style-type: disc;
    }
    
    .tiger-list-bullet p {
        margin: 0;
    }

    /* 最適な現場 グリッドシステム */
    .tiger-scene-grid {
        display: flex;
        flex-wrap: wrap;
        margin-right: -10px;
        margin-left: -10px;
        margin-bottom: 30px;
        justify-content: center; /* 2段目の折り返し要素を中央に寄せる */
    }

    .tiger-scene-card {
        flex: 0 0 33.333%;
        max-width: 33.333%;
        padding: 10px;
        box-sizing: border-box;
        text-align: center;
    }

    .tiger-scene-card img {
        border: 1px solid #ddd;
        width: 100%;
        height: auto;
    }

    .tiger-scene-card .caption {
        font-size: 14px;
        font-weight: bold;
        color: #111;
        margin: 8px 0 0 0;
        text-align: center;
    }

    /* スペックテーブル（大） */
    .tiger-spec-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 40px;
        font-size: 14px;
    }

    .tiger-spec-table th, .tiger-spec-table td {
        border: 1px solid #ddd;
        padding: 12px 15px;
        text-align: left;
        vertical-align: middle;
    }

    .tiger-spec-table th {
        width: 35%;
        background-color: #f4f4f4;
        font-weight: bold;
        color: #333;
    }

    .tiger-spec-table td a {
        color: #0000ff;
        text-decoration: underline;
    }

    /* お問い合わせボタン */
    .tiger-btn-wrap {
        text-align: center;
        margin: 40px 0;
    }

    .tiger-btn-link {
        display: inline-block;
        padding: 14px 45px;
        font-size: 18px;
        font-weight: bold;
        color: #fff !important;
        background: linear-gradient(180deg, #d4af37 0%, #aa7c11 100%);
        border: 1px solid #996515;
        border-radius: 25px;
        text-decoration: none !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        transition: opacity 0.2s ease;
    }

    .tiger-btn-link:hover {
        opacity: 0.9;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .tiger-intro-left,
        .tiger-intro-right {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }

        .tiger-intro-left {
            order: 2;
            margin-top: 20px;
        }

        .tiger-intro-right {
            order: 1;
        }

        .tiger-intro-row {
            margin-right: 0;
            margin-left: 0;
        }

        .tiger-scene-card {
            flex: 0 0 50%; /* スマホ時は2カラム並び（1列に2つ） */
            max-width: 50%;
            padding: 5px;
        }

        .tiger-spec-table th, .tiger-spec-table td {
            display: block;
            width: 100% !important;
            box-sizing: border-box;
        }

        .tiger-spec-table tr {
            border-bottom: 2px solid #ddd;
            display: block;
            margin-bottom: 10px;
        }

        .tiger-spec-table th {
            background-color: #f9f9f9;
            border-bottom: none;
            padding: 8px 15px;
        }

        .tiger-spec-table td {
            padding: 8px 15px 12px 15px;
        }

        .tiger-page-wrapper h3 {
            font-size: 18px;
        }
    }



/**ActivO-J**/

    .activo-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* 汎用レスポンシブ画像設定 */
    .activo-img-responsive {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
    }

    /* トップ製品紹介エリア（左右2カラム） */
    .activo-intro-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 35px;
        align-items: center;
    }

    .activo-intro-left {
        flex: 0 0 65%;
        max-width: 65%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .activo-intro-right {
        flex: 0 0 35%;
        max-width: 35%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* タイトル横などの警告・注記テキスト */
    .text-warning-custom {
        color: #e67e22;
        font-weight: bold;
    }

    /* ミニテーブル（トップ紹介用） */
    .activo-mini-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 15px;
        font-size: 14px;
    }

    .activo-mini-table th, .activo-mini-table td {
        padding: 8px 12px;
        border-bottom: 1px solid #eee;
        text-align: left;
    }

    .activo-mini-table th {
        width: 30%;
        font-weight: bold;
        color: #555;
        background-color: #f9f9f9;
    }

    /* メイン見出し H3 */
    .activo-page-wrapper h3 {
        font-size: 20px;
        color: #111;
        margin-top: 50px;
        margin-bottom: 25px;
        padding-bottom: 10px;
        border-bottom: solid 3px #000;
        font-weight: bold;
        letter-spacing: 0.05em;
    }

    /* 特徴セクションの左右レイアウト */
    .activo-feature-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 30px;
    }

    .activo-feature-left {
        flex: 0 0 65%;
        max-width: 65%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .activo-feature-right {
        flex: 0 0 35%;
        max-width: 35%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* 小見出し H4 */
    .activo-page-wrapper h4.subtitle {
        font-size: 15px;
        color: #aa7c11; /* ゴールド系 */
        margin-top: 25px;
        margin-bottom: 5px;
        font-weight: bold;
    }

    /* 特徴の右側画像縦並び */
    .feature-thumb-box {
        margin-bottom: 20px;
        text-align: center;
    }

    .feature-thumb-box img {
        border: 1px solid #ddd;
        width: 100%;
        height: auto;
    }

    .feature-thumb-box .caption {
        font-size: 12px;
        color: #666;
        margin-top: 5px;
        margin-bottom: 0;
    }

    /* 脱臭のしくみ（フロー形式） */
    .flow-container {
        max-width: 800px;
        margin: 0 auto 30px auto;
    }

    .flow-step-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        background-color: #fdfdfd;
        border: 1px solid #eee;
        padding: 15px;
        margin-bottom: 15px;
        border-radius: 4px;
    }

    .flow-step-img {
        flex: 0 0 30%;
        max-width: 30%;
        padding-right: 15px;
        box-sizing: border-box;
    }

    .flow-step-text {
        flex: 0 0 70%;
        max-width: 70%;
        padding-left: 5px;
        box-sizing: border-box;
        font-size: 15px;
    }

    .flow-arrow {
        text-align: center;
        margin: 15px 0;
    }

    /* 対応する臭気成分の現場グリッド */
    .scene-grid {
        display: flex;
        flex-wrap: wrap;
        margin-right: -10px;
        margin-left: -10px;
        margin-bottom: 30px;
    }

    .scene-card {
        flex: 0 0 33.333%;
        max-width: 33.333%;
        padding: 10px;
        box-sizing: border-box;
        text-align: center;
    }

    .scene-card img {
        border: 1px solid #ddd;
        width: 100%;
        height: auto;
    }

    .scene-card .caption {
        font-size: 14px;
        font-weight: bold;
        color: #111;
        margin: 8px 0 0 0;
    }

    /* 他社製品との違い 比較表エリア */
    .comp-section-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-bottom: 40px;
    }

    .comp-panel-left {
        flex: 0 0 42%;
        max-width: 42%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .comp-panel-right {
        flex: 0 0 58%;
        max-width: 58%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    .bgc-yellow-box {
        background-color: #fffdf2;
        border: 2px solid #aa7c11;
        padding: 20px;
        border-radius: 6px;
    }

    /* 比較用の小型共通テーブルスタイル */
    .comp-table {
        width: 100%;
        border-collapse: collapse;
        margin-top: 10px;
        font-size: 14px;
    }

    .comp-table th, .comp-table td {
        padding: 10px 12px;
        border-bottom: 1px solid #ddd;
        text-align: left;
    }

    .comp-table th {
        width: 40%;
        font-weight: bold;
        color: #444;
        background-color: rgba(0,0,0,0.03);
    }

    /* スペックテーブル（大） */
    .spec-table {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 40px;
        font-size: 14px;
    }

    .spec-table th, .spec-table td {
        border: 1px solid #ddd;
        padding: 12px 15px;
        text-align: left;
        vertical-align: middle;
    }

    .spec-table th {
        width: 35%;
        background-color: #f4f4f4;
        font-weight: bold;
        color: #333;
    }

    /* お問い合わせボタン */
    .btn-wrap-custom {
        text-align: center;
        margin: 40px 0;
    }

    .btn-link-custom {
        display: inline-block;
        padding: 14px 45px;
        font-size: 18px;
        font-weight: bold;
        color: #fff !important;
        background: linear-gradient(180deg, #d4af37 0%, #aa7c11 100%);
        border: 1px solid #996515;
        border-radius: 25px;
        text-decoration: none !important;
        box-shadow: 0 4px 6px rgba(0,0,0,0.1);
        transition: opacity 0.2s ease;
    }

    .btn-link-custom:hover {
        opacity: 0.9;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .activo-intro-left, .activo-intro-right,
        .activo-feature-left, .activo-feature-right,
        .flow-step-img, .flow-step-text,
        .comp-panel-left, .comp-panel-right {
            flex: 0 0 100%;
            max-width: 100%;
            padding: 0;
        }

        .activo-intro-left { order: 2; margin-top: 20px; }
        .activo-intro-right { order: 1; }
        .activo-intro-row, .activo-feature-row, .comp-section-row { margin-right: 0; margin-left: 0; }

        .activo-feature-right { margin-top: 30px; }
        .flow-step-img { margin-bottom: 10px; }
        .flow-step-row { padding: 15px; text-align: center; }

        .scene-card {
            flex: 0 0 50%; /* スマホ時は2列並び */
            max-width: 50%;
            padding: 5px;
        }

        .comp-panel-right { margin-top: 25px; }

        .spec-table th, .spec-table td {
            display: block;
            width: 100% !important;
            box-sizing: border-box;
        }

        .spec-table tr {
            border-bottom: 2px solid #ddd;
            display: block;
            margin-bottom: 10px;
        }

        .spec-table th {
            background-color: #f9f9f9;
            border-bottom: none;
            padding: 8px 15px;
        }

        .spec-table td { padding: 8px 15px 12px 15px; }
        .activo-page-wrapper h3 { font-size: 18px; }
    }


/**オゾンビート**/
    .beat-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* メイン画像・マンガ等のセンタリングと最大幅制限 */
    .beat-main-img {
        display: block;
        max-width: 800px; /* 画像が大きくなりすぎないよう制限 */
        width: 100%;
        height: auto;
        margin: 0 auto 25px auto;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05); /* 軽い陰影で境界線を明瞭に */
    }

    /* 課題と特徴セクション（2カラム並列） */
    .beat-summary-row {
        display: flex;
        flex-wrap: wrap;
        margin-right: -15px;
        margin-left: -15px;
        margin-top: 40px;
        margin-bottom: 30px;
    }

    .beat-summary-col {
        flex: 0 0 50%;
        max-width: 50%;
        padding-right: 15px;
        padding-left: 15px;
        box-sizing: border-box;
    }

    /* 枠付きボックス（課題と特徴の背景） */
    .beat-box-card {
        background-color: #fafafa;
        border: 1px solid #e5e5e5;
        padding: 30px;
        border-radius: 6px;
        height: 100%; /* 左右のボックスの高さを揃える */
        box-sizing: border-box;
    }

    .beat-box-card.features {
        background-color: #fdfaf2; /* 特徴側は少し暖色系に */
        border-color: #f3ebd6;
    }

    /* ボックス内見出し */
    .beat-box-card h3 {
        font-size: 18px;
        color: #111;
        margin-top: 0;
        margin-bottom: 20px;
        font-weight: bold;
        border-bottom: 2px solid #333;
        padding-bottom: 8px;
    }

    .beat-box-card.features h3 {
        color: #aa7c11;
        border-bottom-color: #aa7c11;
    }

    /* リスト（番号付きスタイル調整） */
    .beat-list-numbered {
        padding-left: 20px;
        margin: 0;
    }

    .beat-list-numbered li {
        margin-bottom: 12px;
        font-size: 15px;
        font-weight: bold;
    }
    
    .beat-list-numbered li:last-child {
        margin-bottom: 0;
    }

    /* 下部リード文 */
    .beat-bottom-lead {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        background-color: #f5f5f5;
        padding: 20px;
        border-radius: 4px;
        margin-top: 40px;
        margin-bottom: 40px;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .beat-page-wrapper {
            margin: 20px auto;
            padding: 0 10px;
        }

        .beat-summary-col {
            flex: 0 0 100%;
            max-width: 100%;
            margin-bottom: 20px;
        }

        .beat-summary-col:last-child {
            margin-bottom: 0;
        }

        .beat-summary-row {
            margin-right: 0;
            margin-left: 0;
            margin-top: 30px;
        }

        .beat-box-card {
            padding: 20px;
        }

        .beat-bottom-lead {
            font-size: 14px;
            padding: 15px;
            text-align: justify;
        }
    }



/**MA-T**/
    .mat-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* 汎用レスポンシブ画像設定 */
    .mat-img-responsive {
        display: block;
        max-width: 850px; /* PC画面で画像が大きくなりすぎないようにするストッパー */
        width: 100%;
        height: auto;
        margin: 0 auto 25px auto;
        box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }

    /* ヘッドキャッチコピー（大きな太字） */
    .mat-main-catch {
        text-align: center;
        font-family: "arial black", sans-serif;
        font-size: 24px;
        font-weight: bold;
        color: #111;
        line-height: 1.5;
        margin-bottom: 35px;
        letter-spacing: 0.05em;
    }

    /* 解説テキストエリア */
    .mat-description-box {
        max-width: 850px;
        margin: 30px auto;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .mat-description-box p {
        font-size: 16px;
        font-weight: bold;
        color: #000;
        line-height: 1.8;
        margin-bottom: 20px;
    }

    /* ブルーの強調テキストリンク風デザイン */
    .mat-highlight-blue {
        font-size: 18px;
        color: #0000ff;
        display: block;
        margin-bottom: 8px;
        font-weight: bold;
    }

    /* MA-Tの特徴箇条書き枠 */
    .mat-features-box {
        margin-top: 30px;
        margin-bottom: 35px;
    }

    .mat-features-box h3 {
        font-size: 18px;
        color: #0000ff;
        font-weight: bold;
        margin-bottom: 12px;
    }

    .mat-features-box ul {
        list-style-type: none;
        padding-left: 0;
        margin: 0;
    }

    .mat-features-box ul li {
        font-size: 18px;
        color: #0000ff;
        font-weight: bold;
        margin-bottom: 8px;
        position: relative;
    }

    /* 注釈用の上付き文字（※1※2） */
    .mat-sup-text {
        font-size: 10px;
        vertical-align: super;
        color: #0000ff;
        font-weight: normal;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .mat-page-wrapper {
            margin: 20px auto;
            padding: 0 10px;
        }

        .mat-main-catch {
            font-size: 18px;
            padding: 0 5px;
            margin-bottom: 25px;
        }

        .mat-description-box {
            padding: 0 5px;
        }

        .mat-description-box p {
            font-size: 14px;
            line-height: 1.7;
            text-align: justify;
        }

        .mat-highlight-blue,
        .mat-features-box h3,
        .mat-features-box ul li {
            font-size: 15px;
        }
    }



    /**悪臭ブロック**/
  .ab-page-wrapper {
        max-width: 1000px;
        margin: 40px auto;
        padding: 0 15px;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
    }

    /* 汎用レスポンシブ画像設定 */
    .ab-img-responsive {
        display: block;
        max-width: 100%;
        height: auto;
        margin: 0 auto 25px auto;
    }

    /* 施工手順・製品一覧・使用上の注意の見出しスタイル */
    .ab-section-title {
        font-size: 18px;
        font-weight: bold;
        color: #111;
        margin-top: 40px;
        margin-bottom: 20px;
        border-left: 5px solid #aa7c11; /* ゴールド系のアクセント */
        padding-left: 15px;
        letter-spacing: 0.05em;
    }

    /* ==========================================================================
       【超強力・完全版】テーマの干渉をすべてリセットし、黒い点を完全に抹殺する指定
       ========================================================================== */
    /* 1. リスト要素のドットを、あらゆる階層で強制的に完全に消します */
    .ab-page-wrapper ul,
    .ab-page-wrapper ul.ab-step-list,
    .ab-page-wrapper ul.ab-step-sub-notes,
    .ab-page-wrapper ul.ab-caution-list,
    .ab-page-wrapper li {
        list-style: none !important;
        list-style-type: none !important;
        background-image: none !important; /* テーマが背景画像で点を出している場合もクリア */
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    /* 施工手順のメインステップ（❶〜❹） */
    .ab-page-wrapper ul.ab-step-list > li {
        font-size: 16px;
        font-weight: bold;
        color: #111;
        margin-bottom: 25px;
        line-height: 1.6;
        display: block !important; /* 点のスペースをリセット */
    }

    /* ステップ内の注記（※マーク部分） */
    .ab-page-wrapper ul.ab-step-sub-notes {
        margin-top: 8px;
        margin-bottom: 0;
        padding-left: 0 !important;
    }

    .ab-page-wrapper ul.ab-step-sub-notes li {
        font-size: 14.5px;
        font-weight: normal;
        color: #555;
        margin-bottom: 6px;
        padding-left: 1.2em !important; /* 改行の縦ラインを綺麗に揃える */
        text-indent: -1.2em !important;
        text-align: justify;
        display: block !important;
    }

    /* 使用上の注意（◯マーク部分） */
    .ab-page-wrapper ul.ab-caution-list {
        margin-bottom: 40px;
        padding-left: 0 !important;
    }

    .ab-page-wrapper ul.ab-caution-list li {
        font-size: 14.5px;
        color: #444;
        margin-bottom: 14px;
        line-height: 1.7;
        padding-left: 1.5em !important; /* 改行の縦ラインを綺麗に揃える */
        text-indent: -1.5em !important;
        text-align: justify;
        display: block !important;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .ab-page-wrapper {
            margin: 20px auto;
            padding: 0 10px;
        }

        .ab-section-title {
            font-size: 16px;
            margin-top: 30px;
            margin-bottom: 15px;
        }

        .ab-step-list > li {
            font-size: 15px;
            margin-bottom: 20px;
        }

        .ab-caution-list li,
        .ab-step-sub-notes li {
            font-size: 13.5px;
            margin-bottom: 10px;
        }
    }


     /**油脂分解王**/
     /* 
       テーマの左右カラムに干渉しないよう、コンテンツ全体に
       強制的な幅リセットと、サイドバーへの回り込み防止を設定 
    */
    .grease-page-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        margin: 20px auto !important;
        padding: 0 !important;
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        line-height: 1.8;
        color: #333;
        box-sizing: border-box !important;
        display: block !important;
        clear: both !important; /* 万が一のフロート崩れを強制リセット */
    }

    /* 各セクションの見出しスタイル */
    .grease-section-title {
        font-size: 18px;
        font-weight: bold;
        color: #111;
        margin-top: 35px;
        margin-bottom: 15px;
        border-left: 5px solid #aa7c11; /* ゴールドのアクセント */
        padding-left: 15px;
        letter-spacing: 0.05em;
    }

    /* 黒い点・ドットの強制排除リセット */
    .grease-page-wrapper ul,
    .grease-page-wrapper ul.grease-feature-list,
    .grease-page-wrapper ul.grease-step-list,
    .grease-page-wrapper li {
        list-style: none !important;
        list-style-type: none !important;
        background-image: none !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    /* ==========================================================================
       【新規追加】チラシ上部の赤枠内デザインを完全再現するスタイル
       ========================================================================== */
    .yb-chirashi-text-box {
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 35px !important;
        background-color: #fff !important;
    }

    /* 頑固な油汚れを〜（導入見出し） */
    .yb-chirashi-head {
        font-size: 24px !important;
        font-weight: bold !important;
        color: #000 !important;
        line-height: 1.4 !important;
        margin-top: 0 !important;
        margin-bottom: 25px !important;
    }

    /* チラシ内の青い特徴箇条書き */
    .yb-chirashi-features {
        padding-left: 0 !important;
        margin-bottom: 25px !important;
    }
    .yb-chirashi-features li {
        font-size: 18px !important;
        font-weight: bold !important;
        color: #009fe3 !important; /* チラシの鮮やかな青 */
        margin-bottom: 12px !important;
        line-height: 1.5 !important;
    }

    /* 使用方法・使用上の注意の黒帯見出し */
    .yb-chirashi-bar-title {
        background-color: #000 !important;
        color: #fff !important;
        text-align: center !important;
        font-size: 15px !important;
        font-weight: bold !important;
        padding: 4px 0 !important;
        margin-top: 25px !important;
        margin-bottom: 20px !important;
        letter-spacing: 0.1em;
    }

    /* 「油汚れ」「スス汚れ」の水色丸角ラベル */
    .yb-chirashi-label {
        display: inline-block !important;
        background-color: #009fe3 !important;
        color: #fff !important;
        font-size: 13px !important;
        font-weight: bold !important;
        padding: 3px 20px !important;
        border-radius: 15px !important;
        margin-bottom: 15px !important;
    }

    /* チラシ内の手順テキストリスト（❶〜❹） */
    .yb-chirashi-steps {
        padding-left: 0 !important;
        margin-bottom: 25px !important;
    }
    .yb-chirashi-steps li {
        font-size: 15px !important;
        color: #000 !important;
        margin-bottom: 14px !important;
        line-height: 1.6 !important;
        text-align: justify !important;
    }

    /* チラシ最下部の注意書き（注記マークで1行に揃える） */
    .yb-chirashi-notes {
        padding-left: 0 !important;
        margin-top: 15px !important;
    }
    .yb-chirashi-notes li {
        font-size: 13.5px !important;
        color: #000 !important;
        margin-bottom: 6px !important;
        line-height: 1.5 !important;
        padding-left: 1.2em !important;
        text-indent: -1.2em !important;
    }

    /* ========================================================================== */

    /* 特徴リスト（既存ページ下部用） */
    .grease-feature-list {
        margin-bottom: 30px;
        padding-left: 0 !important;
    }

    .grease-feature-list li {
        font-size: 15px;
        color: #333;
        margin-bottom: 12px;
        padding-left: 1.2em !important;
        text-indent: -1.2em !important;
        text-align: justify;
        display: block !important;
    }

    /* 使用手順（既存ページ下部用） */
    .grease-step-list {
        margin-bottom: 30px;
        padding-left: 0 !important;
    }

    .grease-step-list > li {
        font-size: 15px;
        color: #111;
        margin-bottom: 16px;
        line-height: 1.7;
        text-align: justify;
        display: block !important;
    }

    /* 注意事項（既存ページ下部用赤字注記） */
    .grease-attention-note {
        font-size: 14.5px;
        color: #ff0000;
        font-weight: bold;
        line-height: 1.6;
        margin-top: 20px;
        margin-bottom: 30px;
        padding-left: 5px;
    }

    /* スマートフォン表示（レスポンシブ設定：画面幅768px以下） */
    @media (max-width: 768px) {
        .grease-section-title {
            font-size: 16px;
            margin-top: 25px;
            margin-bottom: 12px;
        }

        .grease-step-list > li,
        .grease-feature-list li {
            font-size: 14px;
            margin-bottom: 10px;
        }

        .grease-attention-note {
            font-size: 13.5px;
        }

        /* 新規追加エリアのスマホ最適化 */
        .yb-chirashi-text-box {
            padding: 15px !important;
        }
        .yb-chirashi-head {
            font-size: 18px !important;
            margin-bottom: 15px !important;
        }
        .yb-chirashi-features li,
        .yb-chirashi-steps li {
            font-size: 14px !important;
        }
    }