/* =========================================================
   IP7915 専用CSS 完成版
   外が見える涼しやNEO遮熱レース
   ========================================================= */




#main .content-block .ip7915-page,
#main .content-block .ip7915-page * {
    box-sizing: border-box;
}#main .content-block .ip7915-page {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #263238 !important;
    background: #ffffff !important;
    float: none !important;
    clear: both !important;
}#main .content-block .ip7915-page img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}#main .content-block .ip7915-page a {
    text-decoration: none !important;
}#main .content-block .ip7915-page ul {
    list-style-type: disc !important;
}/* CMSがレイアウト内にbrを挿入した場合の対策 */
#main .content-block .ip7915-problem-grid > br,
#main .content-block .ip7915-hero-points > br,
#main .content-block .ip7915-hero-actions > br,
#main .content-block .ip7915-view-list > br,
#main .content-block .ip7915-spec-grid > br,
#main .content-block .ip7915-caution-grid > br,
#main .content-block .ip7915-fit-grid > br,
#main .content-block .ip7915-step-grid > br,
#main .content-block .ip7915-final-actions > br {
    display: none !important;
}/* =========================================================
   HERO
   背景画像 + 左白グラデーション
   ========================================================= */

#main .content-block .ip7915-hero {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;

    width: 100% !important;
    max-width: 100% !important;
    min-height: 560px !important;

    margin: 0 0 50px !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;

    background-color: #eef4f1 !important;
    background-image: url("/base/ip7915-hero.jpeg") !important;
    background-repeat: no-repeat !important;
    background-position: right center !important;
    background-size: cover !important;

    border: 1px solid #dce6e1 !important;
    border-radius: 20px !important;
}/* 左から白グラデーション */
#main .content-block .ip7915-hero::before {
    content: "" !important;

    position: absolute !important;
    z-index: 1 !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,0.99) 0%,
            rgba(255,255,255,0.98) 24%,
            rgba(255,255,255,0.95) 42%,
            rgba(255,255,255,0.78) 58%,
            rgba(255,255,255,0.35) 74%,
            rgba(255,255,255,0.04) 100%
        ) !important;

    pointer-events: none !important;
}/* Hero本文 */
#main .content-block .ip7915-hero-inner {
    position: relative !important;
    z-index: 2 !important;

    display: block !important;

    width: 64% !important;
    max-width: 620px !important;

    margin: 0 !important;
    padding: 48px 28px 52px !important;

    float: none !important;
    clear: both !important;
}/* 英字ラベル */
#main .content-block .ip7915-eyebrow {
    display: inline-block !important;

    margin: 0 0 14px !important;
    padding: 6px 11px !important;

    background: rgba(255,255,255,0.90) !important;

    border: 1px solid #cfddd7 !important;
    border-radius: 999px !important;

    color: #456d5f !important;

    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
}/* h1標準CSSを完全リセット */
#main .content-block h1:where(:not(.as-h2)).ip7915-hero-title {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 16px !important;
    padding: 0 !important;

    background: none !important;

    border: none !important;
    border-radius: 0 !important;

    color: #263238 !important;

    font-size: 33px !important;
    font-weight: bold !important;
    line-height: 1.45 !important;

    text-align: left !important;
}#main .content-block h1:where(:not(.as-h2)).ip7915-hero-title span {
    color: #3f6e5d !important;
}/* Hero本文 */
#main .content-block .ip7915-hero-lead {
    display: block !important;

    width: 100% !important;

    margin: 0 0 20px !important;
    padding: 0 !important;

    color: #4f5d63 !important;

    font-size: 16px !important;
    font-weight: normal !important;
    line-height: 1.9 !important;

    text-align: left !important;
}#main .content-block .ip7915-hero-lead strong {
    color: #27363d !important;
    font-weight: bold !important;
}/* Hero 4ポイント */
#main .content-block .ip7915-hero-points {
    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;

    width: 100% !important;
    max-width: 520px !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}#main .content-block .ip7915-hero-point {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 11px 10px !important;

    background: rgba(255,255,255,0.90) !important;

    border: 1px solid #d9e4df !important;
    border-radius: 11px !important;

    text-align: center !important;
}#main .content-block .ip7915-hero-point strong {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #365f51 !important;

    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1.45 !important;
}#main .content-block .ip7915-hero-point span {
    display: block !important;

    margin: 2px 0 0 !important;
    padding: 0 !important;

    color: #68746f !important;

    font-size: 11px !important;
    line-height: 1.5 !important;
}/* =========================================================
   ボタン
   ========================================================= */

#main .content-block .ip7915-hero-actions,
#main .content-block .ip7915-final-actions {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: wrap !important;

    gap: 10px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}#main .content-block .ip7915-btn {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 48px !important;

    margin: 0 !important;
    padding: 12px 17px !important;

    border-radius: 9px !important;

    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;

    text-align: center !important;
    text-decoration: none !important;
}#main .content-block .ip7915-btn:hover {
    opacity: 0.88 !important;
    text-decoration: none !important;
}#main .content-block .ip7915-btn-primary {
    background: #3f6e5d !important;
    border: 1px solid #3f6e5d !important;
    color: #ffffff !important;
}#main .content-block .ip7915-btn-secondary {
    background: rgba(255,255,255,0.94) !important;
    border: 1px solid #bfcec8 !important;
    color: #35584b !important;
}/* =========================================================
   セクション共通
   ========================================================= */

#main .content-block .ip7915-section {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 52px 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}#main .content-block .ip7915-kicker {
    display: block !important;

    margin: 0 0 6px !important;
    padding: 0 !important;

    color: #537c6e !important;

    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: 0.13em !important;
}/* h2標準CSSを完全リセット */
#main .content-block h2.ip7915-section-title,
/* h2標準CSSを完全リセット */
#main .content-block h1.as-h2.ip7915-section-title {
    display: block !important;

    clear: both !important;

    margin: 0 0 18px !important;
    padding: 0 0 10px !important;

    background: none !important;

    border: none !important;
    border-bottom: 3px solid #537c6e !important;
    border-radius: 0 !important;

    color: #27323a !important;

    font-size: 25px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;

    text-align: left !important;
}#main .content-block .ip7915-section-lead {
    display: block !important;

    width: 100% !important;

    margin: 0 0 22px !important;
    padding: 0 !important;

    color: #5d696f !important;

    font-size: 15px !important;
    line-height: 1.9 !important;
}#main .content-block .ip7915-section-lead strong {
    color: #365f51 !important;
}/* =========================================================
   悩みカード
   ========================================================= */

#main .content-block .ip7915-problem-grid {
    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}#main .content-block .ip7915-problem-card {
    display: block !important;

    min-width: 0 !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border: 1px solid #dfe7e3 !important;
    border-radius: 15px !important;

    box-shadow: 0 8px 22px rgba(43,65,57,0.05) !important;
}#main .content-block .ip7915-problem-photo {
    display: block !important;

    width: 100% !important;
    overflow: hidden !important;

    background: #f3f5f4 !important;
}#main .content-block .ip7915-problem-photo img {
    width: 100% !important;
    height: 230px !important;

    object-fit: cover !important;
}#main .content-block .ip7915-problem-body {
    display: block !important;
    padding: 17px 18px 19px !important;
}#main .content-block .ip7915-num {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

    margin: 0 0 10px !important;
    padding: 0 !important;

    background: #eaf3ef !important;

    border-radius: 50% !important;

    color: #3f6e5d !important;

    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}#main .content-block .ip7915-card-title {
    display: block !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #27323a !important;

    font-size: 18px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-problem-body p,
#main .content-block .ip7915-fit-card p,
#main .content-block .ip7915-step-body p {
    margin: 0 !important;
    padding: 0 !important;

    color: #657178 !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}/* =========================================================
   解決セクション
   ========================================================= */

#main .content-block .ip7915-solution-box {
    display: grid !important;

    grid-template-columns: 0.95fr 1.05fr !important;
    gap: 18px !important;

    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}#main .content-block .ip7915-solution-image,
#main .content-block .ip7915-solution-copy {
    display: block !important;

    min-width: 0 !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid #dfe7e3 !important;
    border-radius: 16px !important;
}#main .content-block .ip7915-solution-image img {
    width: 100% !important;
    height: auto !important;
}#main .content-block .ip7915-solution-copy {
    padding: 21px !important;
}#main .content-block .ip7915-badge {
    display: inline-block !important;

    margin: 0 0 10px !important;
    padding: 5px 10px !important;

    background: #edf4f1 !important;

    border-radius: 999px !important;

    color: #3f6e5d !important;

    font-size: 12px !important;
    font-weight: bold !important;
}#main .content-block .ip7915-feature-title {
    display: block !important;

    margin: 0 0 9px !important;
    padding: 0 !important;

    color: #27323a !important;

    font-size: 21px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-solution-copy p,
#main .content-block .ip7915-sample-copy p,
#main .content-block .ip7915-order-box p {
    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #5f6c72 !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
}#main .content-block .ip7915-list {
    margin: 12px 0 0 !important;
    padding: 0 0 0 21px !important;

    list-style-type: disc !important;
}#main .content-block .ip7915-list li {
    display: list-item !important;

    margin: 0 0 5px !important;
    padding: 0 !important;

    color: #5e6a70 !important;

    font-size: 14px !important;
    line-height: 1.75 !important;

    list-style-type: disc !important;
}/* =========================================================
   動画
   ========================================================= */

#main .content-block .ip7915-video {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    height: 0 !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 0 56.25% !important;

    background: #000000 !important;

    border-radius: 16px !important;
}#main .content-block .ip7915-video iframe {
    position: absolute !important;

    top: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: 100% !important;

    border: 0 !important;
}#main .content-block .ip7915-video-note {
    display: block !important;

    margin: 14px 0 0 !important;
    padding: 14px 16px !important;

    background: #f5f8f6 !important;

    border: 1px solid #dde6e2 !important;
    border-radius: 11px !important;

    color: #5f6c72 !important;

    font-size: 13px !important;
    line-height: 1.75 !important;
}/* =========================================================
   昼・夜・直射日光
   ========================================================= */

#main .content-block .ip7915-view-list {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}#main .content-block .ip7915-view-card {
    display: block !important;

    min-width: 0 !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border: 1px solid #dfe6e3 !important;
    border-radius: 14px !important;
}#main .content-block .ip7915-view-image {
    display: block !important;
    width: 100% !important;
    background: #f5f6f6 !important;
}#main .content-block .ip7915-view-image img {
    width: 100% !important;
    height: 200px !important;

    object-fit: cover !important;
}#main .content-block .ip7915-view-body {
    display: block !important;
    padding: 15px !important;
}#main .content-block .ip7915-view-condition {
    display: inline-block !important;

    margin: 0 0 8px !important;
    padding: 4px 8px !important;

    background: #edf4f1 !important;

    border-radius: 999px !important;

    color: #456b5e !important;

    font-size: 11px !important;
    font-weight: bold !important;
}#main .content-block .ip7915-view-condition-warn {
    background: #fff3e2 !important;
    color: #86602e !important;
}#main .content-block .ip7915-view-title {
    display: block !important;

    margin: 0 0 7px !important;
    padding: 0 !important;

    color: #27323a !important;

    font-size: 17px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-view-body p {
    margin: 0 !important;
    padding: 0 !important;

    color: #657178 !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}/* =========================================================
   性能
   ========================================================= */

#main .content-block .ip7915-spec-grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 11px !important;

    width: 100% !important;

    margin: 0 0 17px !important;
    padding: 0 !important;
}#main .content-block .ip7915-spec {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 19px 12px !important;

    background: #ffffff !important;

    border: 1px solid #dce6e1 !important;
    border-radius: 13px !important;

    text-align: center !important;
}#main .content-block .ip7915-spec strong {
    display: block !important;

    color: #3f6e5d !important;

    font-size: 25px !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
}#main .content-block .ip7915-spec span {
    display: block !important;

    margin: 4px 0 0 !important;

    color: #65716d !important;

    font-size: 12px !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-performance-note {
    display: block !important;

    padding: 17px 18px !important;

    background: #f4f8f6 !important;

    border: 1px solid #dbe7e1 !important;
    border-radius: 13px !important;
}#main .content-block .ip7915-performance-note > strong {
    display: block !important;

    margin: 0 0 6px !important;

    color: #365f51 !important;

    font-size: 15px !important;
}#main .content-block .ip7915-performance-note p {
    margin: 0 !important;
    padding: 0 !important;

    color: #5f6c72 !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}/* =========================================================
   弱点・注意
   ========================================================= */

#main .content-block .ip7915-caution-grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;

    width: 100% !important;
}#main .content-block .ip7915-caution-card {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 17px !important;

    background: #fff9ef !important;

    border: 1px solid #eadfcf !important;
    border-top: 5px solid #b98542 !important;
    border-radius: 12px !important;
}#main .content-block .ip7915-caution-title {
    display: block !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    color: #694f29 !important;

    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-caution-card p {
    margin: 0 !important;
    padding: 0 !important;

    color: #655f55 !important;

    font-size: 13px !important;
    line-height: 1.8 !important;
}/* =========================================================
   おすすめ3カード
   ========================================================= */

#main .content-block .ip7915-fit-grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;

    width: 100% !important;
}#main .content-block .ip7915-fit-card {
    display: block !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 18px !important;

    background: #ffffff !important;

    border: 1px solid #dfe7e3 !important;
    border-radius: 14px !important;

    box-shadow: 0 7px 20px rgba(43,65,57,0.045) !important;
}#main .content-block .ip7915-fit-icon {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: 38px !important;
    height: 38px !important;

    margin: 0 0 10px !important;

    background: #eaf3ef !important;

    border-radius: 50% !important;

    color: #3f6e5d !important;

    font-size: 12px !important;
    font-weight: bold !important;
}/* =========================================================
   お客様の声
   ========================================================= */

#main .content-block .ip7915-review-box {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 22px !important;

    background: #fbf7ef !important;

    border: 1px solid #eadfca !important;
    border-radius: 16px !important;
}#main .content-block .ip7915-review-label {
    display: inline-block !important;

    margin: 0 0 9px !important;
    padding: 4px 9px !important;

    background: #ffffff !important;

    border: 1px solid #e4d7c1 !important;
    border-radius: 999px !important;

    color: #785d35 !important;

    font-size: 12px !important;
    font-weight: bold !important;
}#main .content-block .ip7915-review-title {
    display: block !important;

    margin: 0 0 9px !important;

    color: #5e492b !important;

    font-size: 19px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}#main .content-block .ip7915-review-box p {
    margin: 0 0 10px !important;
    padding: 0 !important;

    color: #605f5b !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
}#main .content-block .ip7915-review-box p:last-child {
    margin-bottom: 0 !important;
}#main .content-block .ip7915-review-small {
    padding-top: 9px !important;

    border-top: 1px solid #eadfca !important;

    color: #756f65 !important;

    font-size: 12px !important;
}/* =========================================================
   生地見本
   ========================================================= */

#main .content-block .ip7915-sample-guide {
    padding: 24px !important;

    background: #f7faf8 !important;

    border: 1px solid #dce8e2 !important;
    border-radius: 18px !important;
}#main .content-block .ip7915-sample-feature {
    display: grid !important;

    grid-template-columns: 0.9fr 1.1fr !important;
    gap: 18px !important;

    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
}#main .content-block .ip7915-sample-image {
    display: block !important;

    overflow: hidden !important;

    background: #ffffff !important;

    border: 1px solid #dce6e1 !important;
    border-radius: 15px !important;
}#main .content-block .ip7915-sample-image img {
    width: 100% !important;
    height: auto !important;
}#main .content-block .ip7915-sample-copy {
    display: block !important;
    min-width: 0 !important;
}#main .content-block .ip7915-sample-copy strong {
    color: #365f51 !important;
}#main .content-block .ip7915-sample-note {
    display: block !important;

    margin: 18px 0 0 !important;
    padding: 16px 17px !important;

    background: #fff8ea !important;

    border: none !important;
    border-left: 5px solid #b98542 !important;
    border-radius: 0 12px 12px 0 !important;
}#main .content-block .ip7915-sample-note strong {
    display: block !important;

    margin: 0 0 5px !important;

    color: #6c542e !important;

    font-size: 15px !important;
}#main .content-block .ip7915-sample-note p {
    margin: 0 !important;
    padding: 0 !important;

    color: #625d54 !important;

    font-size: 13px !important;
    line-height: 1.8 !important;
}/* 既存サンプル申込フォーム用の受け皿 */
#main .content-block .ip7915-existing-form-position {
    display: block !important;

    width: 100% !important;

    margin: 22px 0 0 !important;
    padding: 0 !important;

    clear: both !important;
}/* =========================================================
   3ステップ
   ========================================================= */

#main .content-block .ip7915-step-grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 13px !important;

    width: 100% !important;
}#main .content-block .ip7915-step-card {
    display: block !important;

    min-width: 0 !important;

    overflow: hidden !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;

    border: 1px solid #dfe7e3 !important;
    border-radius: 14px !important;
}#main .content-block .ip7915-step-head {
    display: block !important;

    padding: 10px 13px !important;

    background: #eaf3ef !important;

    color: #3f6e5d !important;

    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: 0.05em !important;
}#main .content-block .ip7915-step-card > img {
    width: 100% !important;
    height: 180px !important;

    object-fit: cover !important;
}#main .content-block .ip7915-step-body {
    display: block !important;
    padding: 15px !important;
}/* =========================================================
   注文案内
   ========================================================= */

#main .content-block .ip7915-order-box {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 20px !important;

    background: #f6f9f7 !important;

    border: 1px solid #dce6e1 !important;
    border-radius: 15px !important;
}#main .content-block .ip7915-order-title {
    display: block !important;

    margin: 0 0 10px !important;

    color: #365f51 !important;

    font-size: 19px !important;
    font-weight: bold !important;
}#main .content-block .ip7915-order-list {
    display: grid !important;

    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px 22px !important;

    margin: 0 0 14px !important;
    padding: 0 0 0 21px !important;

    list-style-type: disc !important;
}#main .content-block .ip7915-order-list li {
    display: list-item !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #5f6b71 !important;

    font-size: 14px !important;
    line-height: 1.75 !important;

    list-style-type: disc !important;
}#main .content-block .ip7915-order-note {
    display: block !important;

    margin: 12px 0 0 !important;
    padding: 13px 15px !important;

    background: #fff8ea !important;

    border-left: 5px solid #b98542 !important;
    border-radius: 0 10px 10px 0 !important;

    color: #625d54 !important;

    font-size: 13px !important;
    line-height: 1.75 !important;
}/* 既存価格表・注文フォーム用受け皿 */
#main .content-block .ip7915-existing-order-position {
    display: block !important;

    width: 100% !important;

    margin: 24px 0 0 !important;
    padding: 0 !important;

    clear: both !important;
}/* =========================================================
   既存フォーム・価格表を差し込んだ場合の最低限の整形
   ========================================================= */

#main .content-block .ip7915-existing-form-position form,
#main .content-block .ip7915-existing-order-position form {
    width: 100% !important;
    max-width: 100% !important;
}#main .content-block .ip7915-existing-form-position table,
#main .content-block .ip7915-existing-order-position table {
    max-width: 100% !important;
}#main .content-block .ip7915-existing-order-position {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}/* =========================================================
   最終CTA
   ========================================================= */

#main .content-block .ip7915-final {
    display: block !important;

    width: 100% !important;

    margin: 55px 0 0 !important;
    padding: 31px 24px !important;

    background: #345b4e !important;

    border-radius: 18px !important;

    color: #ffffff !important;

    text-align: center !important;

    float: none !important;
    clear: both !important;
}#main .content-block .ip7915-final-inner {
    display: block !important;

    width: 100% !important;
    max-width: 650px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}#main .content-block .ip7915-final-kicker {
    display: block !important;

    margin: 0 0 6px !important;

    color: #cfe0da !important;

    font-size: 11px !important;
    font-weight: bold !important;
    letter-spacing: 0.14em !important;
}#main .content-block .ip7915-final-title {
    display: block !important;

    margin: 0 0 10px !important;

    color: #ffffff !important;

    font-size: 24px !important;
    font-weight: bold !important;
    line-height: 1.55 !important;
}#main .content-block .ip7915-final p {
    margin: 0 0 19px !important;
    padding: 0 !important;

    color: #e3ebe8 !important;

    font-size: 14px !important;
    line-height: 1.85 !important;
}#main .content-block .ip7915-final-actions {
    justify-content: center !important;
}#main .content-block .ip7915-btn-white {
    background: #ffffff !important;
    border: 1px solid #ffffff !important;
    color: #345b4e !important;
}#main .content-block .ip7915-btn-outline {
    background: transparent !important;
    border: 1px solid rgba(255,255,255,0.70) !important;
    color: #ffffff !important;
}


/* =========================================================
   タブレット
   ========================================================= */

@media screen and (max-width: 900px) {#main .content-block .ip7915-hero {
        min-height: 520px !important;
        background-position: 68% center !important;
    }#main .content-block .ip7915-hero::before {
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,0.99) 0%,
                rgba(255,255,255,0.98) 35%,
                rgba(255,255,255,0.91) 55%,
                rgba(255,255,255,0.62) 73%,
                rgba(255,255,255,0.20) 100%
            ) !important;
    }#main .content-block .ip7915-hero-inner {
        width: 72% !important;
        max-width: 600px !important;

        padding: 42px 24px 47px !important;
    }

}


/* =========================================================
   スマートフォン
   ========================================================= */

@media screen and (max-width: 787px) {/* ページ全体 */
    #main .content-block .ip7915-page {
        width: 100% !important;
        max-width: none !important;
    }/* Hero */
    #main .content-block .ip7915-hero {
        width: 94% !important;
        max-width: none !important;
        min-height: 0 !important;

        margin: 0 auto 38px !important;

        background-position: center center !important;

        border-radius: 14px !important;
    }#main .content-block .ip7915-hero::before {
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,0.97) 0%,
                rgba(255,255,255,0.95) 50%,
                rgba(255,255,255,0.90) 100%
            ) !important;
    }#main .content-block .ip7915-hero-inner {
        width: 100% !important;
        max-width: none !important;

        padding: 28px 16px 30px !important;
    }#main .content-block .ip7915-eyebrow {
        margin-bottom: 11px !important;

        font-size: 11px !important;
    }#main .content-block h1:where(:not(.as-h2)).ip7915-hero-title {
        font-size: 26px !important;
        line-height: 1.45 !important;
    }#main .content-block .ip7915-hero-lead {
        font-size: 14px !important;
        line-height: 1.85 !important;
    }#main .content-block .ip7915-hero-points {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 0 18px !important;
    }#main .content-block .ip7915-hero-point {
        display: block !important;

        width: 100% !important;

        margin: 0 0 8px !important;
    }#main .content-block .ip7915-hero-point:last-child {
        margin-bottom: 0 !important;
    }#main .content-block .ip7915-hero-actions,
#main .content-block .ip7915-final-actions {
        display: block !important;

        width: 100% !important;
    }#main .content-block .ip7915-btn {
        display: flex !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 9px !important;
    }#main .content-block .ip7915-btn:last-child {
        margin-bottom: 0 !important;
    }/* セクション共通 */
    #main .content-block .ip7915-section {
        width: 94% !important;
        max-width: none !important;

        margin: 38px auto !important;
        padding: 0 !important;
    }#main .content-block h2.ip7915-section-title,
#main .content-block h1.as-h2.ip7915-section-title {
        font-size: 21px !important;
        line-height: 1.55 !important;
    }#main .content-block .ip7915-section-lead {
        font-size: 14px !important;
        line-height: 1.85 !important;
    }/* グリッドをすべて1列へ */
    #main .content-block .ip7915-problem-grid,
#main .content-block .ip7915-solution-box,
#main .content-block .ip7915-view-list,
#main .content-block .ip7915-spec-grid,
#main .content-block .ip7915-caution-grid,
#main .content-block .ip7915-fit-grid,
#main .content-block .ip7915-sample-feature,
#main .content-block .ip7915-step-grid {
        display: block !important;

        width: 100% !important;
        max-width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }#main .content-block .ip7915-problem-card,
#main .content-block .ip7915-solution-image,
#main .content-block .ip7915-solution-copy,
#main .content-block .ip7915-view-card,
#main .content-block .ip7915-spec,
#main .content-block .ip7915-caution-card,
#main .content-block .ip7915-fit-card,
#main .content-block .ip7915-sample-image,
#main .content-block .ip7915-sample-copy,
#main .content-block .ip7915-step-card {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        margin: 0 0 12px !important;

        float: none !important;
        clear: both !important;
    }#main .content-block .ip7915-problem-card:last-child,
#main .content-block .ip7915-view-card:last-child,
#main .content-block .ip7915-spec:last-child,
#main .content-block .ip7915-caution-card:last-child,
#main .content-block .ip7915-fit-card:last-child,
#main .content-block .ip7915-step-card:last-child {
        margin-bottom: 0 !important;
    }/* 画像高さ */
    #main .content-block .ip7915-problem-photo img,
#main .content-block .ip7915-view-image img,
#main .content-block .ip7915-step-card > img {
        width: 100% !important;
        height: auto !important;

        object-fit: contain !important;
    }/* 生地見本 */
    #main .content-block .ip7915-sample-guide {
        width: 94% !important;

        margin: 38px auto !important;
        padding: 18px 15px !important;
    }#main .content-block .ip7915-sample-copy {
        margin-bottom: 0 !important;
    }/* 注文リスト */
    #main .content-block .ip7915-order-list {
        display: block !important;

        padding-left: 21px !important;
    }#main .content-block .ip7915-order-list li {
        margin-bottom: 5px !important;
    }/* 最終CTA */
    #main .content-block .ip7915-final {
        width: 94% !important;

        margin: 42px auto 0 !important;
        padding: 26px 16px !important;

        border-radius: 15px !important;
    }#main .content-block .ip7915-final-title {
        font-size: 21px !important;
        line-height: 1.55 !important;
    }

}


/* =========================================================
   小型スマートフォン
   ========================================================= */

@media screen and (max-width: 480px) {#main .content-block h1:where(:not(.as-h2)).ip7915-hero-title {
        font-size: 24px !important;
    }#main .content-block h2.ip7915-section-title,
#main .content-block h1.as-h2.ip7915-section-title {
        font-size: 20px !important;
    }#main .content-block .ip7915-feature-title {
        font-size: 19px !important;
    }#main .content-block .ip7915-card-title {
        font-size: 17px !important;
    }

}/* =========================================================
   IP7915 追加CSS
   生地見本CTA・販売価格表・見積もりフォーム
   既存の IP7915_complete.css の最後へ追記
   ========================================================= */

/* 生地見本CTA */
#main .content-block .ip7915-sample-request {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 22px 0 0 !important;
    padding: 18px !important;
    background: #ffffff !important;
    border: 1px solid #dce6e1 !important;
    border-radius: 15px !important;
}#main .content-block .ip7915-sample-request-photo {
    display: block !important;
    width: 100% !important;
    padding: 10px !important;
    background: #f7f8f7 !important;
    border-radius: 12px !important;
}#main .content-block .ip7915-sample-request-photo img {
    display: block !important;
    width: 100% !important;
    max-width: 160px !important;
    height: auto !important;
    margin: 0 auto !important;
}#main .content-block .ip7915-sample-request-code {
    margin: 0 0 6px !important;
    color: #365f51 !important;
    font-size: 21px !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
}#main .content-block .ip7915-sample-request-copy p {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: #5f6c72 !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
}#main .content-block .ip7915-sample-request-alert {
    margin: 0 0 14px !important;
    padding: 10px 12px !important;
    background: #fff6e9 !important;
    border-radius: 9px !important;
    color: #9a2f2f !important;
    font-size: 13px !important;
    font-weight: bold !important;
    line-height: 1.7 !important;
}#main .content-block .ip7915-sample-request-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 12px 20px !important;
    background: #3f6e5d !important;
    border: 1px solid #3f6e5d !important;
    border-radius: 9px !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    text-align: center !important;
    text-decoration: none !important;
}#main .content-block .ip7915-sample-request-btn:hover {
    opacity: .88 !important;
}/* 共通カード */
#main .content-block .ip7915-price-block,
#main .content-block .ip7915-estimate-block {
    display: block !important;
    width: 100% !important;
    margin: 30px 0 0 !important;
    padding: 22px !important;
    background: #ffffff !important;
    border: 1px solid #dce6e1 !important;
    border-radius: 16px !important;
}#main .content-block .ip7915-estimate-block {
    margin-top: 34px !important;
    background: #f7faf8 !important;
}#main .content-block .ip7915-sub-kicker {
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: #537c6e !important;
    font-size: 11px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: .13em !important;
}#main .content-block .ip7915-sub-title {
    margin: 0 0 8px !important;
    color: #27323a !important;
    font-size: 21px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}/* 価格表 */
#main .content-block .ip7915-price-spec {
    margin: 0 0 16px !important;
    padding: 0 !important;
    color: #606d72 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}#main .content-block .ip7915-price-spec a,
#main .content-block .ip7915-price-guide a {
    color: #315f50 !important;
    text-decoration: underline !important;
}#main .content-block .ip7915-wave-image {
    width: 100% !important;
    margin: 0 0 16px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
}#main .content-block .ip7915-wave-image img {
    width: 100% !important;
    max-width: 700px !important;
    height: auto !important;
    margin: 0 auto !important;
}#main .content-block .ip7915-price-guide {
    margin: 0 0 16px !important;
    padding: 15px 16px !important;
    background: #f5f8f6 !important;
    border-radius: 11px !important;
}#main .content-block .ip7915-price-guide p {
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #5f6c72 !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
}#main .content-block .ip7915-price-guide p:last-child {
    margin-bottom: 0 !important;
}#main .content-block .ip7915-price-seam strong {
    color: #b03b3b !important;
}#main .content-block .ip7915-price-table-wrap {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #dce5e1 !important;
    border-radius: 13px !important;
}#main .content-block table.ip7915-price-table {
    width: 100% !important;
    min-width: 700px !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
}#main .content-block .ip7915-price-table th,
#main .content-block .ip7915-price-table td {
    padding: 12px 8px !important;
    border: 0 !important;
    border-right: 1px solid #dce5e1 !important;
    border-bottom: 1px solid #dce5e1 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}#main .content-block .ip7915-price-table tr:last-child th,
#main .content-block .ip7915-price-table tr:last-child td {
    border-bottom: 0 !important;
}#main .content-block .ip7915-price-table th:last-child,
#main .content-block .ip7915-price-table td:last-child {
    border-right: 0 !important;
}#main .content-block .ip7915-price-table thead th {
    background: #456f61 !important;
    color: #ffffff !important;
    font-weight: bold !important;
}#main .content-block .ip7915-price-table tbody th {
    background: #edf4f1 !important;
    color: #365f51 !important;
    font-weight: bold !important;
}#main .content-block .ip7915-price-table td {
    background: #ffffff !important;
}#main .content-block .ip7915-price-table td a {
    display: block !important;
    margin: -12px -8px !important;
    padding: 12px 8px !important;
    color: #315f50 !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}#main .content-block .ip7915-price-table td a:hover {
    background: #eef6f2 !important;
    text-decoration: none !important;
}#main .content-block .ip7915-price-scroll {
    display: none !important;
    margin: 7px 0 0 !important;
    color: #728078 !important;
    font-size: 12px !important;
    text-align: center !important;
}#main .content-block .ip7915-price-cta {
    margin: 16px 0 0 !important;
    padding: 14px 16px !important;
    background: #edf4f1 !important;
    border-radius: 11px !important;
    text-align: center !important;
}#main .content-block .ip7915-price-cta strong {
    display: block !important;
    margin: 0 0 3px !important;
    color: #365f51 !important;
    font-size: 14px !important;
}#main .content-block .ip7915-price-cta span {
    display: block !important;
    color: #65716d !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}/* 見積もりフォーム */
#main .content-block .ip7915-estimate-lead {
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #5f6c72 !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}#main .content-block .ip7915-estimate-form {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}#main .content-block .ip7915-estimate-table-wrap {
    width: 100% !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #dce5e1 !important;
    border-radius: 13px !important;
}#main .content-block table.ip7915-estimate-table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
}#main .content-block .ip7915-estimate-table th,
#main .content-block .ip7915-estimate-table td {
    padding: 14px !important;
    border: 0 !important;
    border-bottom: 1px solid #e0e7e3 !important;
    vertical-align: top !important;
}#main .content-block .ip7915-estimate-table tr:last-child th,
#main .content-block .ip7915-estimate-table tr:last-child td {
    border-bottom: 0 !important;
}#main .content-block .ip7915-estimate-table th {
    width: 27% !important;
    background: #edf4f1 !important;
    color: #365f51 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.6 !important;
    text-align: left !important;
}#main .content-block .ip7915-estimate-table td {
    background: #ffffff !important;
    color: #4f5d63 !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
}#main .content-block .ip7915-required {
    display: inline-block !important;
    margin-left: 4px !important;
    padding: 2px 5px !important;
    background: #b54a4a !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    font-size: 10px !important;
    font-weight: bold !important;
    line-height: 1.3 !important;
}#main .content-block .ip7915-estimate-table select,
#main .content-block .ip7915-estimate-table input[type="text"],
#main .content-block .ip7915-estimate-table input:not([type]) {
    max-width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    background: #ffffff !important;
    border: 1px solid #bfcfc8 !important;
    border-radius: 7px !important;
    color: #263238 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}#main .content-block .ip7915-estimate-table select {
    width: min(100%, 360px) !important;
}#main .content-block .ip7915-measure-line {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 0 0 8px !important;
}#main .content-block .ip7915-measure-line label {
    font-weight: bold !important;
    color: #365f51 !important;
}#main .content-block .ip7915-measure-line input {
    width: 110px !important;
}#main .content-block .ip7915-field-help,
#main .content-block .ip7915-field-links,
#main .content-block .ip7915-field-note {
    margin: 8px 0 0 !important;
    color: #69756f !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}#main .content-block .ip7915-field-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 12px !important;
}#main .content-block .ip7915-field-help a,
#main .content-block .ip7915-field-links a,
#main .content-block .ip7915-estimate-table td > a {
    color: #315f50 !important;
    text-decoration: underline !important;
}#main .content-block .ip7915-field-description {
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: #5f6c72 !important;
    font-size: 13px !important;
    line-height: 1.75 !important;
}#main .content-block .ip7915-estimate-submit {
    margin: 20px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
}#main .content-block input.ip7915-cart-image {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    cursor: pointer !important;
}

@media screen and (max-width: 787px) {#main .content-block .ip7915-sample-request {
        display: block !important;
        padding: 15px !important;
    }#main .content-block .ip7915-sample-request-photo {
        width: 100% !important;
        margin: 0 0 14px !important;
    }#main .content-block .ip7915-sample-request-btn {
        display: flex !important;
        width: 100% !important;
    }#main .content-block .ip7915-price-block,
#main .content-block .ip7915-estimate-block {
        padding: 16px 13px !important;
    }#main .content-block .ip7915-sub-title {
        font-size: 19px !important;
    }#main .content-block .ip7915-price-scroll {
        display: block !important;
    }#main .content-block .ip7915-estimate-table-wrap {
        overflow: visible !important;
        border: 0 !important;
        background: transparent !important;
    }#main .content-block table.ip7915-estimate-table,
#main .content-block .ip7915-estimate-table tbody,
#main .content-block .ip7915-estimate-table tr,
#main .content-block .ip7915-estimate-table th,
#main .content-block .ip7915-estimate-table td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }#main .content-block .ip7915-estimate-table tr {
        margin: 0 0 12px !important;
        overflow: hidden !important;
        background: #ffffff !important;
        border: 1px solid #dce5e1 !important;
        border-radius: 10px !important;
    }#main .content-block .ip7915-estimate-table th {
        padding: 10px 12px !important;
        border: 0 !important;
    }#main .content-block .ip7915-estimate-table td {
        padding: 12px !important;
        border: 0 !important;
    }#main .content-block .ip7915-estimate-table select {
        width: 100% !important;
    }#main .content-block .ip7915-measure-line input {
        width: 120px !important;
    }#main .content-block .ip7915-field-links {
        display: block !important;
    }#main .content-block .ip7915-field-links a {
        display: inline-block !important;
        margin: 0 8px 5px 0 !important;
    }
}

