/* ===== /IP0038 TESORO ステンレス遮熱レース ===== */

#main .content-block,
#main .content-block * { box-sizing:border-box; }#main .content-block img { max-width:100%; height:auto; }#main h1:where(:not(.as-h2)) {
  margin:0 0 18px;
  padding:8px 15px 11px;
  color:#28343a;
  font-size:28px;
  line-height:1.4;
}#main h2,
#main h1.as-h2 {
  margin:0 0 18px;
  padding:0 0 10px;
  background:none;
  border:0;
  border-bottom:3px solid #31586b;
  border-radius:0;
  color:#28343a;
  font-size:26px;
  line-height:1.45;
}#main h3 {
  margin:0 0 10px;
  padding:0;
  background:none;
  border:0;
  color:#28343a;
  font-size:21px;
}#main h3::first-letter { border:0; padding-left:0; }#main .content-block .ip38-hero {
  width:100%;
  margin:0 0 44px;
  background:linear-gradient(135deg,#fff 0%,#edf5f8 58%,#f8f1e8 100%);
  border:1px solid #dce5e9;
  border-radius:18px;
}#main .content-block .ip38-hero-in {
  width:100%;
  margin:0;
  padding:30px 24px 34px;
}#main .content-block .ip38-badge {
  display:inline-block;
  margin:0 0 15px;
  padding:6px 12px;
  background:#edf6f2;
  border:1px solid #d5e5de;
  border-radius:999px;
  color:#386657;
  font-size:13px;
  font-weight:900;
}#main .content-block .ip38-lead {
  margin:0 0 18px !important;
  padding:0 !important;
  color:#4f5c63;
  font-size:18px;
  line-height:1.9;
}#main .content-block .ip38-answer {
  margin:20px 0;
  padding:16px 19px;
  background:#fff;
  border-left:5px solid #31586b;
  border-radius:0 12px 12px 0;
  color:#36464e;
  font-weight:700;
}#main .content-block .ip38-hero-points {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:21px 0 24px;
}#main .content-block .ip38-hero-points > div {
  padding:11px 7px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:10px;
  text-align:center;
  font-size:12px;
  font-weight:900;
}#main .content-block .ip38-btnrow {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}#main .content-block .ip38-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:13px 18px;
  border-radius:9px;
  font-size:14px;
  font-weight:900;
}#main .content-block .ip38-btn-primary { background:#31586b; color:#fff; }#main .content-block .ip38-btn-secondary {
  background:#fff;
  border:1px solid #cbd6db;
  color:#244553;
}#main .content-block .ip38-section { margin:0 0 70px; }#main .content-block .ip38-kicker {
  margin:0 0 5px;
  color:#31586b;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}#main .content-block .ip38-section-lead {
  margin:0 0 22px !important;
  padding:0 !important;
  color:#657279;
}#main .content-block .ip38-photo {
  overflow:hidden;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:16px;
  box-shadow:0 14px 34px rgba(39,66,79,.08);
}#main .content-block .ip38-photo img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}#main .content-block .ip38-intro-grid,
#main .content-block .ip38-sample {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:18px;
  align-items:center;
}#main .content-block .ip38-intro-copy {
  padding:21px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:16px;
}#main .content-block .ip38-intro-copy p {
  margin:0 !important;
  padding:0 !important;
  color:#657279;
}#main .content-block .ip38-view-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}#main .content-block .ip38-view-card {
  overflow:hidden;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:16px;
}#main .content-block .ip38-view-card .ip38-photo {
  border:0;
  border-radius:0;
  box-shadow:none;
}#main .content-block .ip38-view-body { padding:16px; }#main .content-block .ip38-view-title {
  margin:0 0 5px;
  color:#244553;
  font-size:18px;
  font-weight:900;
}#main .content-block .ip38-view-body p {
  margin:0 !important;
  padding:0 !important;
  color:#657279;
  font-size:14px;
}#main .content-block .ip38-window-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;
}#main .content-block .ip38-window {
  padding:16px 10px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:14px;
  text-align:center;
}#main .content-block .ip38-window b {
  display:block;
  color:#244553;
  font-size:14px;
}#main .content-block .ip38-window span {
  display:block;
  margin:5px 0 0;
  color:#657279;
  font-size:12px;
}#main .content-block .ip38-case {
  margin:0 0 20px;
  padding:20px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:18px;
}#main .content-block .ip38-case-title {
  margin:0 0 13px;
  color:#244553;
  font-size:21px;
  font-weight:900;
}#main .content-block .ip38-case-who {
  display:block;
  margin:3px 0 0;
  color:#456f60;
  font-size:12px;
  font-weight:900;
}#main .content-block .ip38-case-grid3 {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}#main .content-block .ip38-case-grid2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 0 16px;
}#main .content-block .ip38-quote {
  margin:0 !important;
  padding:15px 17px !important;
  background:#f7fafb;
  border-left:4px solid #31586b;
  color:#4e5c63;
  font-size:14px;
}#main .content-block .ip38-spec-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}#main .content-block .ip38-spec {
  padding:18px 14px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:14px;
  text-align:center;
}#main .content-block .ip38-spec p {
  margin:0 !important;
  padding:0 !important;
  color:#657279;
  font-size:13px;
}#main .content-block .ip38-caution {
  margin:15px 0 0;
  padding:16px 18px;
  background:#fff7ed;
  border-left:5px solid #b98242;
  border-radius:0 12px 12px 0;
  color:#5f574d;
  font-size:14px;
}#main .content-block .ip38-sample {
  padding:21px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:18px;
}#main .content-block .ip38-sample-title {
  margin:0 0 8px;
  color:#244553;
  font-size:24px;
  font-weight:900;
}#main .content-block .ip38-sample-copy p {
  margin:0 0 15px !important;
  padding:0 !important;
  color:#657279;
}#main .content-block .ip38-sample-images {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}#main .content-block .ip38-price-title {
  margin:20px 0 10px;
  color:#244553;
  font-size:20px;
  font-weight:900;
}#main .content-block .ip38-table-wrap {
  overflow:auto;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:15px;
}#main .content-block .ip38-table {
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}#main .content-block .ip38-table th,
#main .content-block .ip38-table td {
  padding:12px 10px;
  border-right:1px solid #dce5e9;
  border-bottom:1px solid #dce5e9;
  text-align:center;
  font-size:13px;
}#main .content-block .ip38-table th { background:#edf4f7; }#main .content-block .ip38-faq {
  display:grid;
  gap:9px;
}#main .content-block .ip38-faq details {
  padding:15px 17px;
  background:#fff;
  border:1px solid #dce5e9;
  border-radius:12px;
}#main .content-block .ip38-faq summary { cursor:pointer; font-weight:900; }#main .content-block .ip38-faq p {
  margin:10px 0 0 !important;
  padding:0 !important;
  color:#657279;
  font-size:14px;
}#main .content-block .ip38-final {
  padding:32px 24px;
  background:#284b5b;
  border-radius:22px;
  color:#fff;
  text-align:center;
}#main .content-block .ip38-final h2,
#main .content-block .ip38-final h1.as-h2 { color:#fff; border:0; }#main .content-block .ip38-final p {
  margin:0 auto 18px !important;
  padding:0 !important;
  color:#d8e4e8;
}

@media screen and (max-width:787px) {#main .content-block .ip38-hero-in { padding:24px 16px 28px !important; }#main .content-block .ip38-hero-points {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }#main .content-block .ip38-btnrow { display:block !important; }#main .content-block .ip38-btn {
    display:flex !important;
    width:100% !important;
    margin:0 0 9px !important;
  }#main .content-block .ip38-intro-grid,
#main .content-block .ip38-view-grid,
#main .content-block .ip38-window-grid,
#main .content-block .ip38-spec-grid,
#main .content-block .ip38-sample,
#main .content-block .ip38-sample-images,
#main .content-block .ip38-case-grid3,
#main .content-block .ip38-case-grid2 {
    display:block !important;
  }#main .content-block .ip38-view-card,
#main .content-block .ip38-window,
#main .content-block .ip38-spec,
#main .content-block .ip38-photo {
    width:100% !important;
    margin:0 0 12px !important;
    float:none !important;
  }
}/* =========================================================
   TESORO / IP0038
   お悩み4カード
   ========================================================= */

#main .content-block .ip38-problem-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 13px !important;

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

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

    box-sizing: border-box !important;
}/* CMSがbrを挿入した場合 */
#main .content-block .ip38-problem-grid > br {
    display: none !important;
}/* 各カード */
#main .content-block .ip38-problem {
    display: block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

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

    float: none !important;

    background: #ffffff !important;

    border: 1px solid #dce5e9 !important;
    border-radius: 16px !important;

    box-shadow: 0 8px 22px rgba(39, 66, 79, 0.05) !important;

    box-sizing: border-box !important;
}/* 1・2・3・4 */
#main .content-block .ip38-problem-num {
    display: flex !important;

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

    width: 36px !important;
    height: 36px !important;

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

    background: #edf5f8 !important;
    border-radius: 50% !important;

    color: #31586b !important;

    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}/* カードタイトル */
#main .content-block .ip38-problem b {
    display: block !important;

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

    color: #244553 !important;

    font-size: 17px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
}/* 説明文 */
#main .content-block .ip38-problem p {
    display: block !important;

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

    color: #657279 !important;

    font-size: 14px !important;
    line-height: 1.8 !important;
}


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

@media screen and (max-width: 787px) {#main .content-block .ip38-problem-grid {
        display: block !important;

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

        margin: 0 auto 25px !important;
        padding: 0 !important;
    }#main .content-block .ip38-problem-grid > .ip38-problem {
        display: block !important;

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

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

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

        box-sizing: border-box !important;
    }#main .content-block .ip38-problem-grid > .ip38-problem:last-child {
        margin-bottom: 0 !important;
    }

}