@charset "UTF-8";
/* CSS Document */

/* ========== Base ========== */
:root{
  --lp-blue:#0088da;
  --lp-blue-600:#0a7bc2;
  --lp-ink:#1b1f23;
  --lp-text:#2b2f33;
  --lp-muted:#6a6f76;
  --lp-bg:#ffffff;
  --lp-surface:#f6f8fb;
  --lp-border:#e6e9ef;
  --radius:16px;
  --lp-orange:#f97316;   /* 第2弾用オレンジ */
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  color:var(--lp-text);
  background:transparent;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--lp-blue); text-decoration:none; }
a:hover{ text-decoration:underline; }

.lp-container{
  width:min(1120px, 92%);
  margin-inline:auto;
}

.lp-section{ padding:64px 0; }
.lp-h2{
  font-size:clamp(20px, 2vw, 28px);
  line-height:1.3;
  margin:0 0 24px;
  font-weight:700;
}
.lp-h3{
  font-size:clamp(16px, 1.6vw, 20px);
  margin:16px 0 8px;
  font-weight:700;
}
.is-accent{ color:var(--lp-blue); }

/* 視覚非表示（SEO/読み上げは残す） */
.sr-only{
  position:absolute!important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ========== Buttons ========== */
.lp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700;
  border:2px solid transparent;
  transition:.2s;
}
.lp-btn--primary{
  background:var(--lp-blue);
  color:#fff;
  border-color:var(--lp-blue);
}
.lp-btn--primary:hover{
  background:var(--lp-blue-600);
  border-color:var(--lp-blue-600);
  text-decoration:none;
}
.lp-btn--ghost{
  background:#fff;
  color:var(--lp-blue);
  border-color:var(--lp-blue);
}
.lp-btn--ghost:hover{
  background:#eef7ff;
  text-decoration:none;
}

/* ========== Hero ========== */
.lp-hero{
  background:#ffffff;
  padding:0 0 24px;
  border-bottom:1px solid var(--lp-border);
}
.lp-hero__inner{
  display:block;
  padding:0;
  margin:0;
}
.lp-eyebrow{
  letter-spacing:.16em;
  color:var(--lp-muted);
  font-size:12px;
  margin:0 0 6px;
  font-weight:700;
}
.lp-hero__title{
  font-size:clamp(26px, 3.2vw, 40px);
  line-height:1.25;
  margin:0 0 12px;
  font-weight:800;
  color:var(--lp-ink);
}
.lp-hero__lead{
  margin:0 0 10px;
  font-size:clamp(14px,1.6vw,18px);
}
.lp-hero__note{
  margin:0 0 18px;
  color:var(--lp-muted);
  font-size:14px;
}

/* ヒーロー画像（picture） */
.lp-hero--bg{
  background:none !important;
  min-height:unset !important;
  aspect-ratio:auto !important;
  overflow:visible;
}
.lp-hero__media{ display:block; }
.lp-hero__media img{
  width:100%;
  height:auto;
  display:block;
}
@media (min-width: 961px){
  .lp-hero__media{
    width:100%;
    margin:0 auto;
  }
}
@media (max-width: 960px){
  .lp-hero__media{
    width:100vw;
    max-width:none;
    margin:0 calc(50% - 50vw);
  }
}

/* ========== Free Block ========== */
.lp-free{ background:var(--lp-surface); }
.lp-free__card{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:var(--radius);
  padding:24px;
  text-align:center;
  box-shadow:0 10px 20px rgba(0,0,0,.04);
}
.lp-free__label{
  margin:0 0 4px;
  color:var(--lp-muted);
  font-weight:700;
}
.lp-free__big{
  font-size:clamp(22px, 2.6vw, 32px);
  margin:0 0 8px;
  font-weight:800;
}
.lp-free__sub{ margin:0; }

/* ========== Steps（旧・必要なら使用） ========== */
.lp-steps__list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:0;
  padding:0;
  list-style:none;
}
.lp-step{
  background:#fff;
  border:1px solid var(--lp-border);
  border-radius:var(--radius);
  padding:20px;
  position:relative;
}
.lp-step__num{
  position:absolute;
  top:12px;
  right:12px;
  font-size:12px;
  color:var(--lp-muted);
  font-weight:800;
}
.lp-step__title{
  margin:6px 0 6px;
  font-size:18px;
  font-weight:800;
}
.lp-step__desc{
  margin:0;
  color:#3d4248;
}

/* ========== Conditions / Notes ========== */
.lp-list{
  margin:0;
  padding-left:1.1em;
}
.lp-list li{ margin:6px 0; }

/* ===== 注意事項：枠付きスタイル ===== */
.lp-conditions .lp-list{
  border: 2px solid #00aaff;
  border-radius: 16px;
  background-color: #f9fdff;
  padding: 24px 36px 24px 48px;
  margin: 20px 0;
  list-style: disc outside;
  color: #1b2a3a;
  font-size: 16.5px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}
.lp-conditions .lp-list li{
  margin: 12px 0;
  padding-left: 0;
}
.lp-conditions .lp-list li::marker{
  color: #0088da;
  font-size: 1.1em;
}
.lp-conditions .lp-list strong{
  font-weight: 800;
  color: #000;
}
@media (min-width: 961px){
  .lp-conditions .lp-list{
    font-size: 17px;
    padding: 24px 32px;
  }
  .lp-conditions .lp-list li{ margin: 14px 0; }
}
@media (max-width: 768px){
  .lp-conditions .lp-list{
    padding: 20px 22px 20px 32px;
    font-size: 15.5px;
  }
  .lp-conditions .lp-list li{ margin: 10px 0; }
}

/* ===== キャンペーン対象イベント期間カード ===== */
.lp-period {
  text-align: center;
  margin: 24px auto;
  padding: 16px 24px;
  border: 2px solid #00aaff;
  border-radius: 16px;
  background-color: #f9fdff;
  max-width: 720px;
}
.lp-period .lp-free__label {
  margin-bottom: 4px;
  font-size: 17px;
  font-weight: 700;
  color: #005099;
}
.lp-period .lp-free__big {
  margin: 0;
  font-size: 19px;
  font-weight: 800;
  color: #000;
}

/* 上下の枠の幅を揃える */
.lp-free__card,
.lp-period {
  max-width: 720px;
  margin: 0 auto 24px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
.lp-period{
  border: 2px solid #00aaff;
  background: #f9fdff;
  box-shadow: none;
}

/* ========== FAQ（アイコン付き） ========== */
.lp-faq__item {
  border: 1px solid #e3e7f0;
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
  background-color: #fff;
}
.lp-faq__item[open]{
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.lp-faq__q {
  position: relative;
  cursor: pointer;
  list-style: none;
  font-size: 17px;
  font-weight: 700;
  color: #005099;
  padding: 16px 48px 16px 56px !important;
  user-select: none;
  background-repeat: no-repeat;
  background-position: 18px center;
  background-size: 22px 22px;
  background-image: url("../images/faq_q.svg");
}
.lp-faq__q::-webkit-details-marker{ display:none; }
.lp-faq__q::before {
  content: "▼";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  font-size: 12px;
  color: #00aaff;
  transition: transform 0.2s ease;
}
.lp-faq__item[open] .lp-faq__q::before {
  transform: translateY(-50%) rotate(180deg);
}
.lp-faq__q:hover {
  background-color: #f9fdff;
}
.lp-faq__a {
  background-color: #f0faff;
  padding: 16px 20px;
  line-height: 1.8;
  color: #003355;
  font-size: 16px;
  border-top: 1px solid #d6eaff;
}
.lp-faq__a strong {
  color: #000;
  font-weight: 700;
}
@media (max-width: 768px) {
  .lp-faq__q {
    font-size: 16px;
    padding: 14px 16px 14px 40px;
  }
  .lp-faq__a {
    font-size: 15px;
    padding: 14px 16px;
  }
}

/* ========== CTA Bottom（未使用なら消してOK） ========== */
.lp-cta{
  background:linear-gradient(180deg,#ffffff 0%, #f6f8fb 100%);
}
.lp-cta__inner{ text-align:center; }

/* ========== Footer ========== */
.lp-footer{
  background:#0b1520;
  color:#cfd6de;
  padding:36px 0 28px;
}
.lp-footer__nav{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:0 0 12px;
}
.lp-footer__link{
  color:#d7e6f6;
  font-size:14px;
}
.lp-footer__link:hover{ text-decoration:underline; }
.lp-footer__legal{
  margin:0 0 8px;
  font-size:12px;
  color:#9fb0c3;
}
.lp-footer__copy{
  color:#8aa1b8;
}

/* Footer ロゴ（中央寄せ） */
.lp-footer__brand{
  display:flex;
  justify-content:center;
  align-items:center;
  margin: 0 0 16px;
}
.lp-footer__brand img{
  width: 180px;
  max-width: 60vw;
  height: auto;
  display:block;
}
@media (max-width: 768px){
  .lp-footer__brand img{ width: 160px; }
}

/* ========== Responsive 基本 ========== */
@media (max-width: 960px){
  .lp-steps__list{ grid-template-columns:1fr; }
  .lp-section{ padding:48px 0; }
  .u-hide-sp{ display:none; }
}

/* =========================================================
   Steps v2（第1弾／第2弾 共通レイアウト）
   ========================================================= */

.lp-steps2{
  padding: 56px 0;
  background: #fff;
}

.lp-steps2__head{
  text-align: center;
  margin: 0 0 20px;
}

.lp-steps2__head img{
  max-width: 420px;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* 3ステップのグリッド：PC=3カラム */
.lp-steps2__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}

/* カード共通（縦並び） */
.step-card{
  border-radius: 16px;
  color: #fff;
  overflow: hidden;
}
.step-card__inner{
  display: grid;
  grid-template-rows:
    auto   /* バッジ */
    190px  /* 画像 */
    auto   /* タイトル */
    1fr;   /* テキスト */
  align-items: start;
  gap: 10px;
  padding: 24px 24px 26px;
  min-height: 380px;
}

/* バッジ */
.step-card__badge{
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  font-weight: 800;
  letter-spacing: .02em;
}
.step-card__badge img{
  width: 32px;
  height: auto;
  display: block;
}
.step-card__label{
  font-size: 16px;
  font-weight: 800;
}

/* 中段：画像 */
.step-card__media{
  width: 82%;
  max-width: 340px;
  justify-self: center;
  align-self: center;
  margin: 0;
}
.step-card__media img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* テキスト */
.step-card__title{
  width: 100%;
  margin: 2px 0 4px;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 800;
}
.step-card__text{
  width: 100%;
  margin: 0;
  line-height: 1.9;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  opacity: 0.95;
}
.step-card__text strong{
  font-weight: 700;
  color: #fff;
}

/* 第1弾デフォルトカラー */
.step1{ background:#000087; }
.step2{ background:#005099; }
.step3{ background:#007299; }

/* STEP3 画像微調整 */
.step3 .step-card__media{
  height: 160px;
  max-width: 320px;
  justify-self: center;
  align-self: center;
}
.step3 .step-card__media img{
  width: auto !important;
  height: 100% !important;
  max-height: 160px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* =========================================================
   第2弾用 STEPカードカラー（少し淡めの赤〜オレンジ）
   ========================================================= */

/* STEP1：やや落ち着いたオレンジ */
#cpn2 .step1{
  background: #ff9354;
}
/* STEP2：赤とオレンジの中間 */
#cpn2 .step2{
  background: #f26a55;
}
/* STEP3：明るめレッドオレンジ */
#cpn2 .step3{
  background: #e0475e;
}
/* 第2弾の文字色は白で統一 */
#cpn2 .step-card__title,
#cpn2 .step-card__text,
#cpn2 .step-card__label{
  color: #fff;
}

/* 第2弾 STEP3「適用条件」専用ボックス */
#cpn2 .step3 .step-card__text--cond{
  background: #ffffff;
  color: #b0002a;
  border-radius: 12px;
  padding: 12px 14px;
  margin-top: 10px;
  line-height: 1.8;
  letter-spacing: 0.02em;
  font-size: 14px;
}
#cpn2 .step3 .step-card__text--cond strong{
  color: #8c001f;
  font-weight: 700;
}
@media (max-width: 768px){
  #cpn2 .step3 .step-card__text--cond{
    font-size: 13px;
    padding: 10px 12px;
  }
}

/* =========================================================
   第2弾：キャッシュバック対象＆還元率ガイド図
   （3ステップの下に1枚の図をドンと置く）
   ========================================================= */
.lp-steps2__guide{
  grid-column: 1 / -1;        /* 3カラム全幅を使用 */
  margin-top: 24px;
  text-align: center;
}
.lp-steps2__guide img{
  display: block;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
  height: auto;
  border-radius: 0;
}

/* Steps レスポンシブ（スマホでは縦1カラム） */
@media (max-width: 960px){
  .lp-steps2{
    padding: 40px 0;
  }
  .lp-steps2__head img{
    max-width: 320px;
  }
  .lp-steps2__grid{
    grid-template-columns: 1fr;   /* ★スマホでは縦1列 */
  }
  .step-card__inner{
    grid-template-rows: auto 160px auto 1fr;
    padding: 18px 16px 20px;
    min-height: auto;
  }
  .step-card__title{
    font-size: 18px;
  }
  .step-card__text{
    font-size: 15px;
  }
  .lp-steps2__guide{
    margin-top: 16px;
  }
  .lp-steps2__guide img{
    max-width: 100%;
  }
}

/* =========================================================
   Sticky CTA（第1弾・第2弾共通）※常時表示
   ========================================================= */
.lp-sticky{
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: max(10px, env(safe-area-inset-bottom));
  display: flex;
  gap: 10px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--lp-border);
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  z-index: 2000;
}
.lp-sticky .lp-btn{
  font-size: 14px;
  font-weight: 700;
  padding: 10px 18px;
  min-height: 44px;
  white-space: nowrap;
}
@media (max-width: 768px){
  .lp-sticky{
    gap: 8px;
    padding: 8px 10px;
  }
  .lp-sticky .lp-btn{
    font-size: 13px;
    padding: 9px 14px;
    min-height: 40px;
  }
}

/* キャッシュバック画像周り（小さい3枚のブロックなど） */
.lp-cb-block{
  margin-top: 12px;
}
.lp-cb-heading{
  font-weight: 700;
  margin: 8px 0 6px;
}
.lp-cb-grid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 12px;
}
.lp-cb-grid img{
  max-width: 100%;
  height: auto;
}

/* =========================================================
   キャンペーン切り替えタブ（第1弾／第2弾）
   ========================================================= */
.lp-cpn-switch{
  display: flex;
  gap: 8px;
  width: min(960px, 92%);
  margin: 24px auto 16px;
}
.lp-cpn-switch__btn{
  flex: 1;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid #d0d7e2;
  background: #fff;
  color: #4b5563;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  transition:
    background .18s ease,
    color .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}
.lp-cpn-switch__btn.is-active{
  background: var(--lp-blue);
  color: #fff;
  border-color: var(--lp-blue);
  box-shadow: 0 4px 12px rgba(0,136,218,.35);
}

/* SPでは縦並び */
@media (max-width: 768px){
  .lp-cpn-switch{
    flex-direction: column;
    margin-top: 16px;
    margin-bottom: 8px;
  }
  .lp-cpn-switch__btn{
    font-size: 13px;
    padding: 10px 14px;
  }
}

/* 第2弾タブだけオレンジ系に */
.lp-cpn-switch__btn[data-target="cpn2"]{
  border-color: var(--lp-orange);
  color: var(--lp-orange);
}
.lp-cpn-switch__btn.is-active[data-target="cpn2"]{
  background: var(--lp-orange);
  border-color: var(--lp-orange);
  color:#fff;
  box-shadow: 0 4px 12px rgba(255,122,0,.35);
}

/* =========================================================
   キャンペーン一覧（ファーストビューの2カード）
   ========================================================= */
.lp-cpn-menu{
  padding: 32px 0 24px;
  background: #f6f8fb;
  border-bottom: 1px solid var(--lp-border);
}
.lp-cpn-menu__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

/* カード本体 */
.lp-cpn-menu__card{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px 22px;
  border-radius: 20px;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

/* 第1弾＝ブルー、第2弾＝オレンジ */
.lp-cpn-menu__card--blue{
  background: linear-gradient(135deg, #0b75c5, #1093e2);
}
.lp-cpn-menu__card--orange{
  background: linear-gradient(135deg, #ff8a3a, #ff6f3c);
}

/* hover時のちょい浮き */
.lp-cpn-menu__card:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  opacity: .96;
  text-decoration: none;
}

/* ヘッダー：アイコン＋タイトル */
.lp-cpn-menu__head{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}
.lp-cpn-menu__icon-wrap{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.lp-cpn-menu__icon{
  display: block;
  width: 80px;
  height: auto;
  margin: -4px 0 -6px;
}
.lp-cpn-menu__head-text{
  flex: 1 1 auto;
}

/* テキスト細部 */
.lp-cpn-menu__eyebrow{
  margin: 0 0 4px;
  font-size: 12px;
  letter-spacing: .16em;
  font-weight: 700;
  opacity: .85;
}

/* 共通：カードのタイトルを少し大きく強調 */
.lp-cpn-menu__title{
  margin: 0 0 8px;
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

/* 第2弾だけ、さらに一段階大きく＆行間タイトめ */
.lp-cpn-menu__card--orange .lp-cpn-menu__title{
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.25;
}

.lp-cpn-menu__lead{
  margin: 0 0 10px;
  font-size: 14px;
  line-height: 1.7;
}
.lp-cpn-menu__lead span{
  font-weight: 800;
}
.lp-cpn-menu__meta{
  margin: 0;
  font-size: 12px;
  opacity: .9;
}

/* SP時は縦並び＋少しコンパクトに */
@media (max-width: 768px){
  .lp-cpn-menu{
    padding: 20px 0 16px;
  }
  .lp-cpn-menu__grid{
    grid-template-columns: 1fr;
  }
  .lp-cpn-menu__card{
    padding: 18px 18px;
    border-radius: 16px;
  }
  .lp-cpn-menu__icon{
    width: 60px;
    margin: -2px 0 -4px;
  }
  .lp-cpn-menu__head{
    align-items: flex-start;
    gap: 6px;
  }
  .lp-cpn-menu__title{
    font-size: 20px;              /* 共通タイトルを少し縮小 */
  }
  .lp-cpn-menu__card--orange .lp-cpn-menu__title{
    font-size: 21px;              /* 第2弾だけほんの少し大きめ */
  }
}

/* ===== メインタイトル画像 ===== */
.lp-main-title-wrap{
  padding-top: 32px;
  padding-bottom: 12px;
}
.lp-main-title{
  margin: 0;
  text-align: center;
}
.lp-main-title img{
  display: block;
  margin: 0 auto;
  max-width: 720px;
  width: 100%;
  height: auto;
}
@media (max-width: 768px){
  .lp-main-title-wrap{
    padding-top: 20px;
    padding-bottom: 8px;
  }
  .lp-main-title img{
    max-width: 100%;
  }
}

/* =========================================================
   ページ全体：紙吹雪の固定背景
   PC：bg_pc.png / SP：bg_sp.png
   ========================================================= */
html, body{
  min-height: 100%;
}
body{
  position: relative;
  background: transparent;
}
body::before{
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: url("../images/bg_pc.png") center top / cover no-repeat;
}
@media (max-width: 960px){
  body::before{
    background-image: url("../images/bg_sp.png");
    background-position: center top;
  }
}

/* =========================================================
   キャンペーンセクション見出し
   ========================================================= */
.lp-cpn-section-head{
  background: #f3f4f6;              /* デフォルト薄いグレー帯 */
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
  padding: 14px 0;
  margin-top: 40px;
}
.lp-cpn-section-head__inner{
  display: flex;
  align-items: center;
  gap: 10px;
}
.lp-cpn-section-head__tag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #fff;
  background: var(--lp-blue);
}
.lp-cpn-section-head__title{
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--lp-ink);
}

/* 第1弾：薄い水色背景の帯＋濃い青タグ */
.lp-cpn-section-head--blue{
  background: #e9f6ff;
  border-bottom-color: #c8e3f8;
}
.lp-cpn-section-head--blue .lp-cpn-section-head__tag{
  background: #0072c6;
  color: #fff;
}

/* 第2弾：薄いオレンジ背景の帯＋オレンジタグ */
.lp-cpn-section-head--orange{
  background: #fff4e5;
  border-bottom-color: #ffd7a8;
}
.lp-cpn-section-head--orange .lp-cpn-section-head__tag{
  background: #ff8a3c;
  color: #fff;
}

@media (max-width: 768px){
  .lp-cpn-section-head{
    padding: 10px 0;
    margin-top: 32px;
  }
  .lp-cpn-section-head__title{
    font-size: 16px;
  }
}
.lp-steps2__guide picture{
  display: block;
  width: 100%;
  max-width: 880px;
  margin: 0 auto;
}

.lp-steps2__guide img{
  display: block;
  width: 100%;
  height: auto;
}
