/* ===== tokens ===== */
:root{
  --pa-accent: #D63E2B;  /* 赤文言 */
  --rf-accent: #D63E2B;  /* 数字バッジ＆レール＆CTA */
  --ex-accent: #D63E2B;

  --pa-border: #DBDBDB;
  --rf-border: #EAEAEA;
  --ex-border: #DBDBDB;
  
  --rf-bg:     #FBF2F0;  /* 全体背景 */

  /* リンクボタン */
  --btn-bg-default: #FFFFFF;
  --btn-bg-hover:   #D63E2B;
  --btn-txt-default: #D63E2B;
  --btn-txt-hover:   #FFFFFF;
  --btn-border: #D63E2B;
  
  --pa-text:   #222;
  --pa-subtext:#333;
  --pa-muted:  #666;
  --pa-card:   #fff;

  --pa-r: .5rem;          /* 8px */
  --ex-r:.5rem; /* 8px */

  --ex-tint:#FBF2F0;

  --wrap:     72rem;      /* 最大幅 */

  /* 行の高さ（デザイン値） */
  --rf2-row1: 1.5rem;   /* STEP 行（LH=1.5） */
  --rf2-gap:  0.87rem;  /* STEP 下の余白 */
  --rf2-row2: 4.5rem;   /* 数字 01 の行（LH=4.5） */
  --rf2-row3: 1.5rem;   /* タイトル行（LH=1.5） */
}

/* ===== section wrapper section1 ===== */
/* 全体の隙間：PC=80px auto / SP=56px 20px */
.pa{ color:var(--pa-text); }
.pa__wrap{
  max-width: 64rem;               /* 任意（~1024px） */
  margin: 3.5rem 1.25rem;         /* SP: 56px 20px */
}
@media (min-width:64rem){
  .pa__wrap{ margin: 5rem auto; } /* PC: 80px auto */
}

/* 見出し：34px/28px、下の隙間：32px/40px */
.pa__heading{
  margin: 0 0 2.5rem;             /* SP: 40px */
  font-weight: 800;
  font-size: 1.75rem;             /* 28px */
  line-height: 1.25;
  text-align: center;
}
@media (min-width:64rem){
  .pa__heading{
    font-size: 2.125rem;          /* 34px */
    margin-bottom: 2rem;          /* 32px */
  }
}

/* リード文：24px/18px、下の隙間：80px/40px */
.pa__lead{
  margin: 0 0 2.5rem;             /* SP: 40px */
  text-align: center;
  color: var(--pa-subtext);
  font-size: 1.125rem;            /* 18px */
  font-weight: bold;
  line-height: 1.6;
}
@media (min-width:64rem){
  .pa__lead{
    font-size: 1.5rem;            /* 24px */
    margin-bottom: 5rem;          /* 80px */
  }
}

/* 白カード：枠線・角丸・パディング PC(32 64) / SP(32 16) */
.pa__card{
  background: var(--pa-card);
  border: 1px solid var(--pa-border);
  border-radius: var(--pa-r);     /* 8px */
  padding: 2rem 1rem;             /* SP: 32px 16px */
  display: grid;
  row-gap: 1.25rem;
  justify-items: center;
  text-align: center;
  margin-bottom: 2.5rem;          /* 下40px（共通） */
}
@media (min-width:64rem){
  .pa__card{ padding: 2rem 4rem; }/* PC: 32px 64px */
}

/* 赤文言：24px/18px */
.pa__tag{
  margin: 0;
  color: var(--pa-accent);
  font-weight: 700;
  font-size: 1.125rem;            /* 18px */
  line-height: 1.6;
}
@media (min-width:64rem){
  .pa__tag{ font-size: 1.5rem; }  /* 24px */
}

/* 金額：数値40px、単位24px（共通） */
.pa__amount{
  margin: .25rem 0 0;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.pa__num{
  font-size: 2.5rem;              /* 40px */
  font-weight: 800;
}
.pa__unit{
  font-size: 1.5rem;              /* 24px */
  font-weight: 600;
  margin-left: .25rem;
}

/* 仕切り線：#DBDBDB */
.pa__hr{
  width: 100%;
  height: 0;
  border: 0;
  border-top: 1px solid var(--pa-border);
  margin: .25rem 0 0;
}

/* タイトル：20px/20px */
.pa__inc-title{
  margin: .75rem 0 0;
  font-size: 1.25rem;             /* 20px */
  font-weight: 700;
}

/* アイコン群：サイズ64×64、左右間隔 PC=24px / SP=17px */
.pa__icons{
  list-style:none; margin: .5rem 0 0; padding:0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));  /* SPは3列×2段の想定 */
  /* column-gap: 1.0625rem;         17px */
  row-gap: 1.0625rem;
}
@media (min-width:64rem){
  .pa__icons{
    grid-template-columns: repeat(6, minmax(0,1fr));/* PCは1行6個 */
    column-gap: 1.5rem;         /* 24px */
    row-gap: 1.5rem;
  }
}
.pa__icon{
  display: grid;
  grid-template-rows: 4rem auto; /* 64px + テキスト枠 */
  justify-items: center;
  row-gap: .5rem;               /* 8px（既定と同じなら省略可） */
}
.pa__icon img{
  width: 4rem; height: 4rem;     /* 64px */
  display:block; object-fit: contain;
}
.pa__icon span{
  line-height: 1.3;
}
.pa__icon span:not(:last-child){
  display: flex;
  align-items: flex-start;      /* 上揃え */
  justify-content: center;
  text-align: center;
  min-height: 2.6em;            /* 2行ぶんの高さ＝1.3×2em */
}
.pa__icon span small{
  display: inline-block;
  font-size: .85em;
  line-height: 1.3;
}
@media (min-width:64rem){
  .pa__icon span{ font-size: .9375rem; } /* 15px (PC) */
}

/* 注意書き：16px（共通） */
.pa__notes{
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--pa-muted);
  font-size: 1rem;               /* 16px */
  line-height: 1.7;
}
.pa__notes li{ position: relative; padding-left: 1.25em; }
.pa__notes li::before{
  content: "※";
  position: absolute; left: 0; top: 0;
}

/* ===== section wrapper section2 ===== */
/* 全体背景 */
.re-flow{
  background: var(--rf-bg);
  color: var(--rf-text);
}
/* 全体の隙間：PC=80px auto / SP=56px 20px */
.re-flow__wrap{
  max-width: 72rem;
  padding: 3.5rem 1.25rem;   /* SP: 56px 20px */
}
@media (min-width:64rem){
  .re-flow__wrap{ 
    padding: 5rem 0;
    margin: 0 auto;
    } /* PC: 80px auto */
}

/* 見出し：34px/28px、下余白：80px/48px */
.re-flow__heading{
  margin: 0 0 3rem;         /* SP: 48px */
  text-align: center;
  font-weight: 800;
  font-size: 1.75rem;       /* 28px */
  line-height: 1.25;
}
@media (min-width:64rem){
  .re-flow__heading{
    font-size: 2.125rem;    /* 34px */
    margin-bottom: 5rem;    /* 80px */
  }
}

img.re-flow__img {
  width: 95%;
  margin: 0 auto;
  padding-bottom: 48px;
}
@media (min-width:64rem){
  img.re-flow__img {
    width: 100%;
    padding-bottom: 80px;
  }
}

/* ===== CTA ===== */
/* リンク：bg #D63E2B、padding PC=24px 32px / SP=24px 16px、fontsize 22/15 */
.re-flow__ctaWrap{
  display: grid;
  justify-content: center;
}

.re-flow__cta{
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 1.5rem 1rem;    /* 24px 16px */
  font-weight: 700;
  font-size: .9375rem;     /* 15px */
  line-height: 1.4;
  white-space: nowrap;
  border: 2px solid var(--btn-border);
  background: var(--btn-bg-default);
  color: var(--btn-txt-default);
}
.re-flow__cta:hover{ background: var(--btn-bg-hover); color: var(--btn-txt-hover); opacity: 1 !important; }
.re-flow__cta svg{ margin-left: .5rem; }
.re-flow__cta:hover svg path{ stroke: var(--btn-txt-hover); }
@media (min-width:64rem){
  .re-flow__cta{ padding: 1.5rem 2rem; font-size: 1.375rem; } /* PC: 24px 32px / 22px */
}

/* ===== section wrapper section3 ===== */
.ex{ color:var(--ex-text); }
.ex__wrap{ max-width:72rem; margin:0 auto; padding:5rem 1.25rem; }

/* 見出し：34/28、下80/56 */
.ex__heading{
  text-align:center; font-weight:800; line-height:1.25;
  margin:0 0 3.5rem;               /* SP: 56px */
  font-size:1.75rem;               /* 28px */
}
@media (min-width:64rem){
  .ex__heading{ font-size:2.125rem; margin-bottom:5rem; } /* PC: 34px / 80px */
}

/* グリッド：PC=2列 gap=56、SP=1列 gap=48 */
.ex__grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr;
  row-gap:3rem;                    /* 48px */
}
@media (min-width:64rem){
  .ex__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:3.5rem;             /* 56px */
    row-gap:3.5rem;                /* 56px */
  }
}

/* カード本体 */
.ex__card{ display:grid; row-gap:0; }

/* case 表示：case=24、番号=32、下16 */
.ex__case{ margin:0 auto 1rem; }      /* 16px */
.ex__caseTag{ color:var(--ex-accent); font-weight:700; font-size:1.5rem; }  /* 24px */
.ex__caseNum{ color:var(--ex-accent); font-weight:800; font-size:2rem; }    /* 32px */

/* タイトル：20/20、下24、下線1px #DBDBDB */
.ex__title{
  margin:0 0 1.5rem;               /* 24px */
  font-size:1.25rem;               /* 20px */
  font-weight:700; line-height:1.4;
  padding-bottom:.75rem;
  border-bottom:1px solid var(--ex-border);
}
@media (min-width:64rem){ .ex__title{ text-align: center; } }

/* スペック：16/16、各行 上下8px */
.ex__spec{ margin:0; padding:0; }
.ex__row{
  display:grid;
  grid-template-columns:11em 1fr;
  column-gap:.75rem;
  padding:.5rem 0;                 /* 上下8px */
  font-size:1rem;                  /* 16px */
  line-height:1.6;
}
.ex__spec > .ex__row:nth-of-type(3){ grid-template-columns: 6em 1fr; }
.ex__row + .ex__row{ border-top:1px solid #EEE; }
.ex__spec dt{ color:var(--ex-muted); }
.ex__spec dd{ margin:0; text-align: right; }

/* 参考料金：上24、背景#FBF2F0、角丸8、padding16、下24、fontsize18 */
.ex__price{
  margin-top:1.5rem;               /* 24px */
  background:var(--ex-tint);
  border-radius:var(--ex-r);
  padding:1rem;                     /* 16px */
  font-size:1.125rem;               /* 18px */
  display:inline-flex; gap:.75rem; align-items:center;
  margin-bottom:1.5rem;             /* 24px */
  justify-content: space-between;
}
.ex__priceLabel{ font-weight:700; }
.ex__priceVal{ font-weight:700; }

/* 説明 + 右画像：本文16/16、画像140×140、右余白 PC=24 / SP=16 */
.ex__descWrap{
  display:grid; grid-template-columns:1fr auto;
  column-gap:1rem;                  /* SP: 16px */
  align-items:start;
}
@media (min-width:64rem){
  .ex__descWrap{ column-gap:1.5rem; } /* PC: 24px */
}
.ex__desc{ margin:0; font-size:1rem; line-height:1.7; color:#444; }
.ex__img{ margin:0; width:140px; height:140px; border-radius:.5rem; overflow:hidden; border:1px solid #eee; }
.ex__img img{ width:100%; height:100%; object-fit:cover; display:block; }

/* グリッド下余白：case03/04の下 80/48 */
.ex__grid{ margin-bottom:3rem; }   /* SP: 48px */
@media (min-width:64rem){ .ex__grid{ margin-bottom:5rem; } } /* PC: 80px */

/* CTA：テキスト 22/16、padding PC=24×32 / SP=30×24、背景 #D63E2B、上下 80/56 */
.ex__ctaWrap{
  display:grid;
  justify-content:center;
  margin:3.5rem 0 0;                  /* SP: 56px */
}
@media (min-width:64rem){ .ex__ctaWrap{ margin:5rem 0; } } /* PC: 80px */

.ex__cta{
  display:flex;
  align-items:center;
  text-decoration:none;
  padding:1.5rem 1rem;          /* 24px 16px */
  font-weight:700;
  font-size:1rem;               /* 16px */
  line-height: 1.4;
  white-space: nowrap;
  border: 2px solid var(--btn-border);
  background: var(--btn-bg-default);
  color: var(--btn-txt-default);
}
.ex__cta:hover{ background: var(--btn-bg-hover); color: var(--btn-txt-hover); opacity: 1 !important; }
.ex__cta svg{ margin-left: .5rem; }
.ex__cta:hover svg path{ stroke: var(--btn-txt-hover); }
@media (min-width:64rem){
  .ex__cta{ padding:1.5rem 2rem; font-size:1.375rem; } /* 24px 32px / 22px */
}

/* ===== section wrapper section4 ===== */
.rf2{ background: var(--rf-bg); }
.rf2__wrap{
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 3.5rem 1.25rem;
}
@media (min-width:64rem) {
  .rf2__wrap{
    padding: 5rem 0;
  }
}

/* 見出し */
.rf2__heading{
  margin-bottom: 3rem;
  font-size: 1.75rem; /* 28px */
  text-align: center;
  color: var(--rf-txt);
  font-family: "Noto Sans JP", system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width:64rem) {
  .rf2__heading{
    margin: 0 0 5rem;             /* PC: 下80px */
    font-size: 2.125rem;          /* PC 34px */
  }
}

.rf2__flow {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
@media (min-width:64rem) {
  .rf2__flow {
    display: block;
  }
}

.rf2__heads, .rf2__bodies { width: 50%;}
@media (min-width:64rem) {
  .rf2__heads, .rf2__bodies { width: 100%; }
}
/* ===== heads（赤い帯） ===== */
.rf2__heads{
  display:grid;
  grid-template-columns: 1fr;
  row-gap: 0;
  column-gap: 0;
  margin-bottom: 3rem;
}
@media (min-width:64rem) {
  .rf2__heads{
    grid-template-columns: repeat(5, minmax(0,1fr)); /* 5カラム */
    margin-bottom: 1.5rem;
  }
}

.rf2__head{ position:relative; overflow:visible; z-index:0; }
.rf2__head:not(:last-child)::after{
  content:"";
  position:absolute;
  left:50%;
  top: calc(100% - .7rem);
  transform: translateX(-50%);
  width:22px;
  height:11px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="22" height="11" viewBox="0 0 22 11" fill="none"><path d="M21 1.5L11 9.5L1 1.5" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>') no-repeat center/contain;
  z-index:5;
}
@media (min-width:64rem) {
  .rf2__head{
    display: flex;
    /* padding: 2rem 0; */
    /* flex-direction: column; */
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  /* 右向き くの字（白）— 帯より前面で潜らない */
  .rf2__head:not(:last-child)::after{
    content:"";
    position:absolute;
    left: auto;
    top:50%;
    right:0;
    transform:translateY(-50%);
    width:11px;
    height:23px;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="23" viewBox="0 0 11 23" fill="none"><path d="M1 1.10254L9 11.1025L1 21.1025" stroke="white" stroke-width="2" stroke-linecap="round"/></svg>') no-repeat center/contain;
    z-index:5;
  }
}

/* 赤いSTEP帯：3行グリッドで縦に中央揃え＆高さ統一 */
.rf2__step{
  text-align:center;
  box-sizing: border-box;
  background:#D63E2B; color:#fff;
  border-radius: 0;
  position: relative; z-index:1;
  display: flex;
  padding: 2rem 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  height: 11.25rem;
}

.rf2__labelWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
}
/* 左端/右端の丸み */
.rf2__heads > .rf2__head:nth-of-type(1) .rf2__step { border-radius: 1rem 1rem 0 0; }
.rf2__heads > .rf2__head:nth-of-type(5) .rf2__step { border-radius: 0 0 1rem 1rem; }
@media (min-width:64rem) {
  .rf2__heads > .rf2__head:nth-of-type(1) .rf2__step{ border-radius: 1rem 0 0 1rem; }
  .rf2__heads > .rf2__head:nth-of-type(5) .rf2__step{ border-radius: 0 1rem 1rem 0; }
}

/* 行の割当（縦に STEP / 01 / タイトル） */
.rf2__label {
  color: #FFF;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.2rem;
}
img.numberIcon {
  width: auto;
}
.rf2__name{
  grid-row:3;
  margin:0;
  font-family:"Noto Sans JP";
  font-weight:700;
  font-size:1rem;
  line-height:1.5;
  white-space: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width:64rem) {
  .rf2__name{ height: 3.5rem; }
}

@media (min-width:64rem) {
  .rf2__label{
    font-family: "DIN Condensed", system-ui, sans-serif;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.2rem;
    /* margin-bottom: .875rem;           STEPの下(PC) 0.87rem */
    grid-row: 1;
    margin: 0;
    letter-spacing: .2rem;
  }
}

/* ===== bodies（説明） ===== */
.rf2__bodies{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 0;
  margin-bottom: 5rem;
}
@media (min-width: 64rem){
  .rf2__bodies{
    grid-template-columns: repeat(5, minmax(0,1fr));
    column-gap: 2.5rem;                /* PC 列間40px */
    margin-bottom: 3rem;
    align-items: start;
  }
}

/* 高さの統一 */
.rf2__heads > .rf2__head:nth-of-type(1) .rf2__step,
.rf2__bodies > .rf2__body:nth-of-type(1),
.rf2__heads > .rf2__head:nth-of-type(2) .rf2__step,
.rf2__bodies > .rf2__body:nth-of-type(2),
.rf2__heads > .rf2__head:nth-of-type(3) .rf2__step,
.rf2__bodies > .rf2__body:nth-of-type(3),
.rf2__heads > .rf2__head:nth-of-type(5) .rf2__step,
.rf2__bodies > .rf2__body:nth-of-type(5){
  height: 11.25rem;
}
.rf2__heads > .rf2__head:nth-of-type(4) .rf2__step,
.rf2__bodies > .rf2__body:nth-of-type(4){
  height: 12.5rem;
}
@media (min-width: 64rem){
  .rf2__step, .rf2__body{
    height: unset !important;
    width: 100%;
  }
}

.rf2__body {
  color: var(--rf-txt);
  font-size: 1rem;
  font-style: normal;
  font-family: "Noto Sans JP", system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.5 !important;
  display: flex;
  height: 11.25rem;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
}
@media (min-width: 64rem){
  .rf2__body{
    line-height: 1.7;                  /* PC 170% */
    font-size: .9375rem;               /* PC 15px */
  }
}

/* ===== CTA ===== */
.rf2__ctaWrap{
  display: grid;
  justify-content: center;
}

.rf2__cta{
  display: flex;
  align-items: center;
  text-decoration: none;
  padding: 1.5rem 1rem;    /* 24px 16px */
  font-weight: 700;
  font-size:1rem;          /* 16px */
  line-height: 1.4;
  white-space: nowrap;
  border: 2px solid var(--btn-border);
  background: var(--btn-bg-default);
  color: var(--btn-txt-default);
}
.rf2__cta:hover{ background: var(--btn-bg-hover); color: var(--btn-txt-hover); opacity: 1 !important;  }
.rf2__cta svg{ margin-left: .5rem; }
.rf2__cta:hover svg path{ stroke: var(--btn-txt-hover); }
@media (min-width: 64rem){
  .rf2__cta{ padding: 1.5rem 2rem; font-size: 1.375rem; } /* 24px 32px / 22px */
}

/* ===== section wrapper section5 ===== */
.re-hero{
  display:flex;
  padding:3.5rem 1.25rem 0 1.25rem;   /* 56px 20px 0 */
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:2rem;
}
.re-hero__wrap{ width:100%; max-width:72rem; }

.re-hero__intro{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2rem;
  align-self:stretch;
  margin: 0 auto 2rem;
}

.re-hero__lead{
  display:flex;
  flex-direction:column;
  align-items: center;
  gap:.5rem;
  align-self:stretch;
}

.re-hero__kicker{
  margin:0;
  color:var(--txt,#333);
  text-align:center;
  font-family:"Noto Sans JP",system-ui,sans-serif;
  font-size:1.125rem;         /* 18px */
  font-weight:700;
  line-height:1.7;            /* 170% */
}
.re-hero__title{
  margin:0;
  color:var(--txt,#333);
  text-align:center;
  font-family:"Noto Sans JP",system-ui,sans-serif;
  font-size:1.75rem;          /* 28px */
  font-weight:700;
  line-height:1.5;            /* 150% */
}

.re-hero__img{
  width:9.25rem;              /* 148px */
  height:10.75rem;            /* 172px */
  object-fit:contain;
}

.re-hero__price{
  display:flex;
  padding:1.5rem;             /* 24px */
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:.5rem;
  align-self:stretch;
  border-radius:.5rem;
  border:1px solid #DBDBDB;
  background:#FFF;
}
.re-hero__priceLabel{
  margin:0;
  color:var(--red,#D63E2B);
  font-family:"Noto Sans JP",system-ui,sans-serif;
  font-size:1.25rem;          /* 20px */
  font-weight:700;
  line-height:1.7;            /* 170% */
}
.re-hero__priceTexts{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.5rem;
}
.re-hero__priceMain{
  margin:0;
  color:var(--txt_black,#333);
  font-family:"Noto Sans JP",system-ui,sans-serif;
  font-size:1.75rem;          /* 28px */
  font-weight:700;
  line-height:1.5;            /* 150% */
  text-align:center;
}
.re-hero__note{
  margin:0;
  color:var(--txt_black,#333);
  font-family:"Noto Sans JP",system-ui,sans-serif;
  font-size:1rem;             /* 16px */
  font-weight:400;
  line-height:1.5;            /* 150% */
  text-align:center;
}

/* PC用の改変（>= 64rem） */
@media (min-width:64rem){
  .re-hero{
    padding:5rem 0 0;         /* 80px 0 0 */
    gap:5rem;
  }
  .re-hero__intro{
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    width: 50rem;
    margin: 0 auto;
  }
  .re-hero__lead{
    align-items:center;
  }
  .re-hero__kicker{
    font-size:1.75rem;         /* 28px */
  }
  .re-hero__title{
    font-size:2.125rem;        /* 34px */
    line-height:1.7;           /* 170% */
  }
  .re-hero__img{
    width:9.25rem; height:10.75rem; /* 同値だが明示 */
  }

  .re-hero__price{
    width:50rem;               /* 800px */
    padding:2rem 0;         /* 32px 80px */
    margin: 5rem auto 0;
  }
  .re-hero__priceLabel{
    font-size:1.5rem;          /* 24px */
  }
  .re-hero__priceMain{
    font-size:2.125rem;        /* 34px */
  }
}

/* ===== section wrapper section6 ===== */
.pp .partsprocessing__cta{
  display:flex;
  align-items:center;
  text-decoration:none;
  padding:1.5rem 1rem;          /* 24px 16px */
  font-weight:700;
  font-size:1rem;               /* 16px */
  line-height: 1.4;
  white-space: nowrap;
  border: 2px solid var(--btn-border);
  background: var(--btn-bg-default);
  color: var(--btn-txt-default);
}
.pp .partsprocessing__cta:hover{ background: var(--btn-bg-hover); color: var(--btn-txt-hover); opacity: 1 !important;}
.pp .partsprocessing__cta svg{ margin-left: .5rem; }
.pp .partsprocessing__cta:hover svg path{ stroke: var(--btn-txt-hover); }
@media (min-width:64rem){
  .pp { padding-bottom: 5rem; }
  .pp .partsprocessing__ctaWrap {
    display: grid;
    justify-content: center;
  }
  .pp .partsprocessing__cta{ padding:1.5rem 2rem; font-size:1.375rem; } /* 24px 32px / 22px */
}

/* PC専用改行 */
.pa__br--pc, .ex__space--pc{ display:none; }
@media (min-width:64rem){ .pa__br--pc, .ex__space--pc{ display:inline; } }
.img__pc{ display:none; }
@media (min-width:64rem){ .img__pc{ display:inline; } }
/* SP専用改行 */
.pa__br--sp, .re__br--sp, .ex__br--sp, .rf2__br--sp, .re-hero__br--sp{ display:inline; }
@media (min-width:64rem){ .pa__br--sp, .re__br--sp, .ex__br--sp, .rf2__br--sp, .re-hero__br--sp{ display:none; } }
.img__sp{ display:inline; }
@media (min-width:64rem){ .img__sp{ display:none; } }