/* ============================================================
   mobilestreet ブロックスタイル（固定ページ本文 .ms-lead 用）
   dev1(SWELL)から移行したブロックHTMLの swell-block-* クラスに
   自前のクリーンなレイアウトCSSを与える。A案トークンに調和。
   ※ SWELL本体CSSは非同梱。ここは合同会社しゅし製の等価スタイル。
   ============================================================ */
.ms-lead{
  --color_main:#FF6B35;
  --color_main_thin:#FFEFE2;
  --color_deep02:#2B2018;
  --color_text:#2B2018;
  --color_border:#F1E4D7;
  --color_gray:#FAF4EE;
}
.ms-lead{color:var(--color_text);}
.ms-lead img{max-width:100%;height:auto;}
.ms-lead a{color:var(--color_main);}

/* ---- フォントサイズプリセット（theme.json未使用のため補完） ---- */
.ms-lead .has-huge-font-size{font-size:clamp(22px,3.4vw,32px);line-height:1.35;}
.ms-lead .has-large-font-size{font-size:clamp(18px,2.4vw,22px);line-height:1.4;}

/* ---- 汎用ユーティリティ ---- */
.ms-lead .u-bg-main{background:var(--color_main);}
.ms-lead .u-mb-0{margin-bottom:0;}
.ms-lead .u-mb-ctrl{margin-bottom:1.2em;}
.ms-lead .swl-has-mb--s{margin-bottom:.5em;}
.ms-lead .swl-main-thin{background-color:var(--color_main_thin);}
.ms-lead .mininote{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:.25em;}
.ms-lead .swl-inline-color.has-swl-main-color,
.ms-lead .has-swl-main-color{color:var(--color_main);}
.ms-lead .has-swl-main-background-color{background-color:var(--color_main)!important;color:#fff;}
.ms-lead .has-swl-deep-02-background-color{background-color:var(--color_deep02)!important;color:#fff;}
.ms-lead .swl-acc{color:var(--color_main);font-weight:700;}

/* ---- 見出し is-style-section_ttl ---- */
.ms-lead .is-style-section_ttl{
  text-align:center;font-weight:900;line-height:1.4;
  font-size:clamp(20px,3.2vw,28px);
  margin:1.8em 0 .9em;padding-bottom:.45em;position:relative;
}
.ms-lead .is-style-section_ttl:after{
  content:"";display:block;width:44px;height:4px;border-radius:2px;
  background:var(--color_main);margin:.55em auto 0;
}

/* ---- 段落装飾 ---- */
.ms-lead .is-style-balloon_box{
  position:relative;background:var(--color_gray);border:1px solid var(--color_border);
  border-radius:14px;padding:.9em 1.1em;text-align:center;font-weight:700;margin:.6em 0 1.2em;
}
.ms-lead .is-style-balloon_box:after{
  content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:var(--color_gray);
}
.ms-lead .is-style-icon_info,
.ms-lead .is-style-icon_announce{position:relative;padding-left:1.6em;}
.ms-lead .is-style-icon_info:before{content:"\2139\FE0F";position:absolute;left:0;top:0;}
.ms-lead .is-style-icon_announce:before{content:"\1F4E2";position:absolute;left:0;top:0;}
.ms-lead .is-style-card{background:#fff;border:1px solid var(--color_border);border-radius:16px;padding:1.2em;}
.ms-lead .is-style-shadow{box-shadow:0 10px 28px -14px rgba(70,34,12,.28);}
.ms-lead .is-style-border_left{border-left:4px solid var(--color_main);padding-left:.85em;}
.ms-lead .is-style-wide{width:100%;}

/* ---- 大アイコン付きリスト ---- */
.ms-lead ul.is-style-big_icon_check,
.ms-lead ul.is-style-big_icon_caution{list-style:none;padding-left:0;}
.ms-lead ul.is-style-big_icon_check>li,
.ms-lead ul.is-style-big_icon_caution>li{position:relative;padding-left:1.9em;margin:.55em 0;}
.ms-lead ul.is-style-big_icon_check>li:before{content:"\2714";position:absolute;left:0;top:0;color:var(--color_main);font-weight:900;}
.ms-lead ul.is-style-big_icon_caution>li:before{content:"\26A0\FE0F";position:absolute;left:0;top:0;}

/* ============ ボタン swell-block-button ============ */
.ms-lead .swell-block-button{margin:.6em 0;text-align:center;}
.ms-lead .swell-block-button__link{
  display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  padding:.75em 1.7em;border-radius:100px;text-decoration:none;font-weight:700;
  background:var(--color_main);color:#fff;transition:opacity .25s,transform .25s,box-shadow .25s;
  box-shadow:0 12px 22px -12px var(--color_main);
}
.ms-lead .swell-block-button__link:hover{opacity:.9;transform:translateY(-1px);}
.ms-lead .swell-block-button__link svg.__icon{width:1em;height:1em;fill:currentColor;flex:none;}
.ms-lead .swell-block-button.blue_ .swell-block-button__link{background:#2b7de9;box-shadow:0 12px 22px -12px #2b7de9;}
.ms-lead .swell-block-button.red_ .swell-block-button__link{background:#e2483a;box-shadow:0 12px 22px -12px #e2483a;}
.ms-lead .swell-block-button.green_ .swell-block-button__link{background:#06b755;box-shadow:0 12px 22px -12px #06b755;}
.ms-lead .swell-block-button.is-style-btn_normal .swell-block-button__link{box-shadow:none;padding:.6em 1.3em;}

/* ============ box-menu（カードグリッド） ============ */
.ms-lead .swell-block-box-menu{
  --the-box-width--mb:50%;--the-box-width--pc:50%;--the-icon-size:3em;
  --the-icon-color:var(--color_main);
}
.ms-lead .swell-block-box-menu__inner{display:flex;flex-wrap:wrap;}
.ms-lead .swell-block-box-menu__item{
  width:calc(var(--the-box-width--mb) - 1px);
  border:1px solid var(--color_border);margin:-1px 0 0 -1px;background:#fff;
  transition:box-shadow .25s;
}
@media(min-width:960px){.ms-lead .swell-block-box-menu__item{width:calc(var(--the-box-width--pc) - 1px);}}
.ms-lead .swell-block-box-menu__link{display:flex;height:100%;padding:1.1em;text-decoration:none;color:inherit;}
.ms-lead .swell-block-box-menu[data-direction=horizontal] .swell-block-box-menu__link{align-items:center;}
.ms-lead .swell-block-box-menu[data-direction=vertical] .swell-block-box-menu__link{flex-direction:column;justify-content:center;text-align:center;}
.ms-lead .swell-block-box-menu__figure{display:flex;align-items:center;justify-content:center;margin:0;flex:none;}
.ms-lead .swell-block-box-menu[data-direction=horizontal] .swell-block-box-menu__figure{margin-right:1em;}
.ms-lead .swell-block-box-menu[data-direction=vertical] .swell-block-box-menu__figure{margin-bottom:.7em;}
.ms-lead .swell-block-box-menu__figure svg{width:var(--the-icon-size);height:var(--the-icon-size);color:var(--the-icon-color);fill:currentColor;}
.ms-lead .swell-block-box-menu__text{flex:1;line-height:1.6;}
.ms-lead .swell-block-box-menu.is-style-fill .swell-block-box-menu__link{background:var(--color_main);color:#fff;}
.ms-lead .swell-block-box-menu.is-style-fill .swell-block-box-menu__figure svg{color:#fff;}

/* ============ step（FLOW） ============ */
.ms-lead .swell-block-step{counter-reset:step;}
.ms-lead .swell-block-step__item{position:relative;padding:0 0 2.6em 64px;margin-bottom:0!important;}
.ms-lead .swell-block-step__item:before{content:"";position:absolute;left:23px;top:0;height:100%;border-left:1px dashed var(--color_border);}
.ms-lead .swell-block-step__item:last-child:before{content:none;}
.ms-lead .swell-block-step__item:last-child{padding-bottom:0;}
.ms-lead .swell-block-step__number{
  position:absolute;left:0;top:0;width:48px;height:48px;border-radius:50%;
  background:var(--color_main);color:#fff;display:flex;flex-direction:column;
  align-items:center;justify-content:center;line-height:1;
}
.ms-lead .swell-block-step__number .__label{font-size:10px;padding-bottom:1px;}
.ms-lead .swell-block-step__number:after{content:counter(step);counter-increment:step;font-size:20px;font-weight:700;}
.ms-lead .swell-block-step__number[data-num]:after{content:attr(data-num);}
.ms-lead .swell-block-step__title{font-weight:700;font-size:1.15em;min-height:48px;display:flex;flex-direction:column;justify-content:center;margin:0;}
.ms-lead .swell-block-step__body{margin-top:.7em;}

/* ============ FAQ ============ */
.ms-lead .swell-block-faq__item+.swell-block-faq__item{margin-top:1em;}
.ms-lead .swell-block-faq .faq_q,
.ms-lead .swell-block-faq .faq_a{position:relative;padding:1em 1em 1em 3em;line-height:1.6;margin:0;}
.ms-lead .swell-block-faq .faq_q{font-weight:700;}
.ms-lead .swell-block-faq .faq_q:before,
.ms-lead .swell-block-faq .faq_a:before{
  position:absolute;left:0;top:.85em;width:2em;text-align:center;
  font-family:Arial,sans-serif;line-height:2;border-radius:6px;
}
.ms-lead .swell-block-faq .faq_q:before{content:"Q";background:var(--color_main);color:#fff;}
.ms-lead .swell-block-faq .faq_a:before{content:"A";box-shadow:0 0 0 1px var(--color_main);color:var(--color_main);}
.ms-lead .is-style-faq-stripe .faq_q{background:var(--color_gray);}
.ms-lead .is-style-faq-stripe .swell-block-faq__item:not(:last-child){margin-bottom:1.3em;}
.ms-lead .is-style-faq-border .swell-block-faq__item+.swell-block-faq__item{border-top:1px solid var(--color_border);padding-top:1em;}

/* ============ accordion（details不使用でも本文は表示） ============ */
.ms-lead .swell-block-accordion__item+.swell-block-accordion__item{margin-top:.5em;}
.ms-lead .swell-block-accordion__title{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--color_gray);padding:1em;cursor:pointer;font-weight:700;
}
.ms-lead .swell-block-accordion__icon{flex:none;font-size:1.1em;}
.ms-lead .swell-block-accordion__body{padding:1em;}

/* ============ link-list ============ */
.ms-lead .swell-block-linkList{list-style:none;padding-left:0;margin:1em 0;display:flex;flex-wrap:wrap;flex-direction:column;}
.ms-lead .swell-block-linkList__item{width:100%;margin:0;}
.ms-lead .swell-block-linkList__link{display:flex;align-items:center;gap:.4em;padding:.6em .4em;text-decoration:none;color:inherit;}
.ms-lead .swell-block-linkList__link:hover{color:var(--color_main);}
.ms-lead .swell-block-linkList__text{flex:1;}
.ms-lead .swell-block-linkList__icon{flex:none;color:var(--color_main);font-size:1.1em;}
.ms-lead .swell-block-linkList.-border .swell-block-linkList__item{border-bottom:1px solid var(--color_border);}
.ms-lead .swell-block-linkList.-border .swell-block-linkList__item:first-child{border-top:1px solid var(--color_border);}
.ms-lead .swell-block-linkList.is-style-button .swell-block-linkList__link{
  border:1px solid var(--color_main);border-radius:100px;justify-content:center;color:var(--color_main);
}
.ms-lead .swell-block-linkList.is-style-button .swell-block-linkList__link:hover{background:var(--color_main);color:#fff;}

/* ============ full-wide ============ */
.ms-lead .swell-block-fullWide{padding:2em 0;position:relative;}
.ms-lead .swell-block-fullWide__inner{position:relative;z-index:1;}

/* ============ SWELL columns（loos/columns） ============ */
.ms-lead .swell-block-columns__inner{display:flex;flex-wrap:wrap;gap:1.5rem;}
.ms-lead .swell-block-column{width:100%;}
@media(min-width:600px){
  .ms-lead .swell-block-column{width:calc(var(--clmn-w--pc,50%) - 1.5rem);}
}

/* ============ banner-link ============ */
.ms-lead .c-bannerLink{position:relative;display:block;border-radius:8px;overflow:hidden;text-decoration:none;text-align:center;margin:.6em auto;}
.ms-lead .c-bannerLink__figure{margin:0;}
.ms-lead .c-bannerLink__img{width:100%;display:block;}
.ms-lead .c-bannerLink__text{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;padding:1.5em;}
.ms-lead .c-bannerLink__title{font-size:1.3em;font-weight:700;line-height:1.3;}
.ms-lead .c-bannerLink__description{font-size:.95em;margin-top:.4em;}

/* ============ core columns（背景色付き帯の体裁補助） ============ */
.ms-lead .wp-block-columns{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:stretch;}
.ms-lead .wp-block-column{flex:1 1 0;min-width:220px;}
.ms-lead .wp-block-column.has-background{padding:1.2em;border-radius:12px;}

/* ============ 買取価格カード（mobilestreet/price-grid, price-card） ============ */
.ms-lead .ms-grid{display:grid;gap:16px;}
.ms-lead .ms-grid--price{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}
.ms-lead .ms-pcard{background:#fff;border:1px solid var(--color_border);border-radius:20px;padding:18px;text-align:center;box-shadow:0 12px 30px -18px rgba(70,34,12,.22);}
.ms-lead .ms-pcard .ms-ph{height:120px;margin-bottom:14px;background:var(--color_main_thin);border:1.5px dashed var(--color_border);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#8A7B6D;font-size:12px;font-weight:700;text-align:center;}
.ms-lead .ms-pcard .ms-pimg{height:120px;width:100%;object-fit:contain;margin-bottom:14px;border-radius:12px;}
.ms-lead .ms-pcard h3{font-weight:700;font-size:18px;color:var(--color_text);margin:0;}
.ms-lead .ms-pcard small{display:block;font-size:12px;color:#8A7B6D;margin:4px 0 6px;}
.ms-lead .ms-pcard b{font-weight:900;font-size:22px;color:var(--color_main);}
