/* =========================================================
   小林オーラルクリニック 舌痛症LP
   CLEAN BUILD / 780pxカンプ → CSS 390px
   Font: Noto Sans JP
========================================================= */

:root{
  --navy:#07446d;
  --faq-blue:#02529b;
  --sky:#b0ebfe;
  --pale:#eafaff;
  --notice:#e9f7ff;
  --lavender:#e1e3ee;
  --gray:#e9e9e9;
  --text:#2e2e2e;
  --orange-a:#fcb307;
  --orange-b:#d68326;
  --answer:#f6ae24;
  --lp:390px;
  --body-size:15.5px;      /* カンプ31px */
  --body-line:25.5px;      /* カンプ51px */
  --body-track:.075em;      /* Photoshop tracking 75 */
  --large-size:17.5px;     /* カンプ35px */
  --large-line:30px;       /* カンプ60px */
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  background:#eef5f7;
  color:var(--text);
  font-family:"Noto Sans JP","Yu Gothic","YuGothic",sans-serif;
  font-size:var(--body-size);
  line-height:var(--body-line);
  font-weight:400;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,ul{margin-top:0}
h1,h2,h3{
  font-family:"Noto Sans JP","Yu Gothic","YuGothic",sans-serif;
  font-weight:700;
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
p,li{
  word-break:normal;
  overflow-wrap:normal;
  line-break:strict;
}
.lp{
  width:min(100%,var(--lp));
  margin:0 auto;
  overflow:hidden;
  background:#fff;
}
.section{position:relative}
.content{width:100%}
.center{text-align:center}
.section--white{background:#fff}
.section--pale{background:var(--pale)}
.section--gray{background:var(--gray)}
.section--notice{background:var(--notice)}

/* ---------- common headings ---------- */
.band-title{
  min-height:75px;
  margin:0;
  padding:17px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  text-align:center;
  font-size:24px;
  font-weight:700;
  line-height:1.35;
}
.pill-title{
  width:264.5px;
  height:42px;
  margin:0 auto;
  padding:0 12px;
  border-radius:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--sky);
  color:var(--navy);
  text-align:center;
  font-size:19px;
  font-weight:700;
  line-height:1.35;
}
.section-lead{
  margin:0;
  color:var(--navy);
  text-align:center;
  font-size:19px;
  font-weight:700;
  line-height:1.55;
}
.message-strong{color:var(--navy);font-weight:700}
.note{font-size:12px;line-height:1.7}

/* =========================================================
   B-1 — preserve established comp measurements
========================================================= */
.hero{
  padding:0 20px 34px;
  background:#e6fafa;
}
.hero-visual{
  width:calc(100% + 40px);
  aspect-ratio:780/932;
  margin:0 -20px;
  padding:20px 20px 0;
  position:relative;
  background:url("assets/fv-bg.webp") center top/100% auto no-repeat;
}
.clinic-name{
  margin:0 0 48px;
  font-size:14px;
  line-height:1.4;
}
.hero-badge{
  width:266px;
  min-height:40px;
  padding:4px 12px;
  border-radius:4px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--navy);
  color:#fff;
  font-size:23px;
  font-weight:700;
  line-height:1.3;
}
.hero-title{
  width:266px;
  margin:13px 0 0;
  color:var(--navy);
  font-size:37px;
  font-weight:900;
  line-height:1;
}
.hero-title-line{display:block}
.hero-title-line--1{
  margin-bottom:10px;
  letter-spacing:.13em;
}
.hero-title-line--2{
  width:266px;
  letter-spacing:.035em;
}
.hero-copy{
  margin:42.5px 0 0;
  color:var(--text);
  font-size:15.5px;
  line-height:normal;
}
.hero-copy-line{
  display:block;
  height:18.75px;
  line-height:18.75px;
}
.hero-pain{
  display:inline-flex;
  align-items:baseline;
  color:#ff7782;
  font-size:17.5px;
  font-weight:700;
  line-height:1.15;
}
.hero-pain-small{font-size:11.5px}

.benefit-grid{
  width:320px;
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,95px);
  gap:17.5px;
  justify-content:center;
}
.benefit-card{
  width:95px;
  height:110px;
  padding:10px 5px;
  border-radius:8px;
  background:#fff;
  color:var(--navy);
  box-shadow:3px 4px 5px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.benefit-card img{
  width:40px;
  height:42.5px;
  object-fit:contain;
}
.benefit-card span{
  font-size:13px;
  font-weight:500;
  line-height:1.35;
}
.hero .benefit-grid{
  position:relative;
  z-index:4;
  margin-top:-2px;
  padding-top:3px;
}
.hero-note{
  margin:17px 0 13px;
  text-align:center;
  font-size:13px;
  line-height:1.5;
}

/* FV / middle / final CTA: one identical component */
.cta-button{
  width:350px;
  max-width:100%;
  height:71px;
  margin:0 auto;
  padding:6px 18px 8px;
  border:1px solid #c67d16;
  border-radius:999px;
  background:linear-gradient(180deg,var(--orange-a) 0%,var(--orange-b) 100%);
  box-shadow:3px 4px 4px rgba(89,66,27,.55);
  color:#fff;
  text-decoration:none;
  text-shadow:0 2px 2px rgba(106,60,0,.55);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  text-align:center;
  font-weight:700;
}
.cta-top{
  display:block;
  font-size:20px;
  line-height:1.05;
  white-space:nowrap;
}
.cta-bottom{
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  gap:7px;
  line-height:1;
  white-space:nowrap;
}
.cta-bottom strong{font-size:27px;line-height:1;white-space:nowrap}
.cta-arrow{font-size:26px;line-height:1}

/* B-1 symptom */
.symptom-section{
  padding:40px 20px 20px;
  background:var(--lavender);
}
.symptom-section::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-21.5px;
  transform:translateX(-50%);
  width:131px;
  height:22px;
  background:var(--lavender);
  clip-path:polygon(0 0,100% 0,50% 100%);
  z-index:2;
}
.symptom-section .section-lead{margin-bottom:28px}
.wide-photo{
  width:320px;
  max-width:100%;
  margin:0 auto 24px;
}
.check-list{
  width:320px;
  max-width:100%;
  margin:0 auto;
  padding:0;
  list-style:none;
}
.check-list li{
  position:relative;
  margin:0 0 9px;
  padding-left:1.45em;
  font-size:13px;
  line-height:1.6;
  text-align:left;
}
.check-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
}
.check-list li:last-child{margin-bottom:0}
.symptom-last-line{display:inline}
.section--point{
  padding:58px 20px 38px;
  background:#fff;
}
.section--point .section-lead{font-size:19px}

/* B-1 doctor message */
.message-section .band-title{font-size:20px}
.message-section .content{padding:34px 20px 42px}
.message-subtitle{
  margin:0 0 18px;
  color:var(--navy);
  font-size:17px;
  line-height:1.55;
}
.message-section p{
  width:350px;
  max-width:100%;
  margin:0 auto 22px;
  font-size:14px;
  line-height:1.9;
}
.message-section .message-subtitle:not(:first-child){margin-top:32px}
.doctor-sign{text-align:right;font-size:12px!important}
.video-caption{
  margin:28px auto 10px!important;
  text-align:center!important;
  font-size:15.5px!important;
  line-height:1.55!important;
}
.video-thumbnail{
  width:250px;
  max-width:100%;
  margin:0 auto;
  aspect-ratio:9/16;
}
.video-thumbnail__button{
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.video-thumbnail__button img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.video-thumbnail iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* =========================================================
   B-2〜B-7 — PSD MEASURED BUILD
   PSD artboard width 780px -> CSS 390px
   左右余白 40px -> CSS 20px
========================================================= */

/* Shared text */
.b2-line{display:block;white-space:nowrap}
.tongue-about .content,
.tongue-features .content,
.causes-section .content,
.strengths-section .content,
.consult-section .content,
.flow-section .content,
.price-section .content,
.profile-section .content,
.faq-section .content,
.notice-section .content,
.final-cta .content{
  position:static;
  padding:0;
}

/* ---------- B-2 ---------- */
.tongue-about,
.tongue-features{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}
.tongue-about *,
.tongue-features *{
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}
.tongue-about{
  position:relative;
  height:1345px;
  background:#eafaff;
}
.tongue-about .band-title{
  position:absolute;left:0;top:0;width:390px;height:77px;min-height:77px;
}
.b2-lead{
  position:absolute;left:20px;top:116.5px;width:350px;margin:0;
  font-size:15.5px;line-height:30px;letter-spacing:.05em;text-align:left;
}
.b2-lead strong{font-size:17.5px;line-height:30px;letter-spacing:.05em}
.quote-box{
  position:absolute;left:53.5px;top:224.5px;width:285px;height:74px;margin:0;
  background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.quote-box strong,.quote-box span{display:block;font-size:17.5px;line-height:30px;letter-spacing:.05em}
.quote-box strong{color:#07446d}
.quote-box span{margin:0}
.b2-body{
  position:absolute;left:20px;top:326.5px;width:350px;margin:0;
  font-size:15.5px;line-height:30px;letter-spacing:.075em;text-align:left;
}
.tongue-img{
  position:absolute;left:136.5px;top:426px;width:119.5px;height:158px;margin:0;object-fit:contain;
}
.center-subtitle{
  position:absolute;left:71px;top:644.5px;width:249.5px;margin:0;
  text-align:center;font-size:20px;line-height:30px;letter-spacing:.075em;font-weight:700;
}
.criteria-box{
  position:absolute;left:20px;top:748.5px;width:351.5px;height:339px;margin:0;padding:24px 15px 17px;
  background:#fff;list-style:none;
}
.criteria-box li{
  position:relative;margin:0 0 10px;padding-left:1.35em;
  font-size:15.5px;line-height:25.5px;letter-spacing:.035em;text-align:left;
}
.criteria-box li::before{content:"✓";position:absolute;left:0;top:0}
.criteria-box li:last-child{margin-bottom:0}
.b2-international{
  position:absolute;left:20.5px;top:1125.5px;width:349.5px;margin:0;
  font-size:17.5px!important;line-height:30px!important;letter-spacing:.075em!important;text-align:left;
}
.b2-conclusion{
  position:absolute;left:51.5px;top:1243.5px;width:287px;margin:0!important;
  color:#07446d;text-align:center!important;font-size:21px!important;line-height:30px!important;letter-spacing:.075em!important;font-weight:700;
}

.tongue-features{
  position:relative;height:682.5px;background:#fff;
}
.tongue-features .pill-title{
  position:absolute;left:63px;top:37.5px;width:266px;height:44px;margin:0;
}
.feature-row{
  position:absolute;left:21px;width:349px;margin:0;display:grid;grid-template-columns:75.5px minmax(0,1fr);
  gap:17px;align-items:center;
}
.feature-row:nth-of-type(1){top:121px}
.feature-row:nth-of-type(2){top:222.5px}
.feature-row:nth-of-type(3){top:321px}
.feature-row img{width:75.5px;height:75.5px;object-fit:contain}
.feature-row p{margin:0;font-size:15.5px;line-height:30px;letter-spacing:.075em;text-align:left}
.b2-kino-sei{
  position:absolute;left:20.5px;top:436.5px;width:349.5px;margin:0;
  font-size:17.5px;line-height:30px;letter-spacing:.075em;text-align:left;overflow:visible;
}
.b2-treatment{
  position:absolute;left:20.5px;top:556.5px;width:349.5px;margin:0;
  font-size:17.5px;line-height:30px;letter-spacing:.075em;text-align:left;
}

/* ---------- B-3：舌痛症の原因 / 4つの強み ---------- */

.causes-section{
  background:#eafaff;
  padding:40.5px 20px 41px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.causes-section .content{
  padding:0;
}

.causes-section .pill-title{
  width:266px;
  height:44px;
  margin:0 auto 20px;
}

.b3-lead{
  width:349px;
  max-width:100%;
  margin:0 auto 32px;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.cause-card{
  width:351.5px;
  max-width:100%;
  min-height:245.5px;
  margin:0 auto 21px;
  padding:24px 16px 20px;
  background:#fff;
  text-align:center;
}

.cause-card img{
  width:auto;
  height:71px;
  margin:0 auto 12px;
  object-fit:contain;
}

.cause-card:nth-of-type(2) img{
  height:46px;
  margin-top:18px;
  margin-bottom:18px;
}

.cause-card h3{
  margin:0 0 12px;
  color:#07446d;
  font-size:17.5px;
  line-height:25.5px;
  letter-spacing:.05em;
  text-align:center;
}

.cause-card p{
  width:319px;
  max-width:100%;
  margin:0 auto;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.b3-overlap{
  width:348.5px;
  max-width:100%;
  margin:28px auto 21px;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:left;
}

.b3-not-mental{
  width:348.5px;
  max-width:100%;
  margin:0 auto 20px;
  font-size:15.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.b3-disease{
  width:269px;
  max-width:100%;
  margin:0 auto 21px !important;
  color:#07446d;
  font-size:21px !important;
  line-height:30px !important;
  letter-spacing:.075em;
  text-align:center !important;
  font-weight:700;
}

.b3-after{
  width:332px;
  max-width:100%;
  margin:0 auto;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

/* 4つの強み */
.strengths-section{
  background:#fff;
  padding:0 20px 49px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.strengths-section .band-title{
  width:calc(100% + 40px);
  height:76px;
  min-height:76px;
  margin:0 -20px 40.5px;
}

.strengths{
  display:grid;
  gap:19px;
  padding:0 !important;
}

.strength-card{
  width:352px;
  max-width:100%;
  min-height:186px;
  margin:0 auto;
  padding:19px 15px 18px;
  border:1px solid #07446d;
  border-radius:8px;
  background:#fff;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  column-gap:14px;
  align-items:start;
  overflow:visible;
}

.strength-card:first-child{
  min-height:318.5px;
}

.strength-card:last-child{
  min-height:238.5px;
}

.point-no{
  color:#07446d;
  display:flex;
  flex-direction:column;
  padding-top:1px;
}

.point-no span{
  font-size:10px;
  font-weight:700;
  line-height:1.2;
}

.point-no strong{
  font-size:30px;
  font-weight:700;
  line-height:1.05;
}

.strength-card h3{
  margin:7px 0 13px;
  color:#07446d;
  font-size:17.5px;
  line-height:25.5px;
  letter-spacing:.04em;
  text-align:left;
}

.strength-card p{
  grid-column:1 / -1;
  width:320px;
  max-width:100%;
  margin:0 auto;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.strength-card > div:last-child{
  display:contents;
}

.doctor-pair{
  grid-column:1 / -1;
  margin:15px auto 0;
  display:flex;
  justify-content:center;
  gap:10px;
}

.doctor-pair img{
  width:100px;
  height:126px;
  object-fit:contain;
}

/* ---------- B-4：初回相談 / 診療フロー ---------- */

.consult-section{
  background:#eafaff;
  padding:0 20px 52.5px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.consult-section .band-title{
  width:calc(100% + 40px);
  min-height:107px;
  margin:0 -20px 39px;
  padding:20px 14px 18px;
  display:block;
  font-size:24px;
  line-height:30px;
}

.consult-section .content{
  padding:0;
}

.consult-section .content > p:first-child{
  width:349.5px;
  max-width:100%;
  margin:0 auto 27px;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.consult-section .benefit-grid,
.final-cta .benefit-grid{
  width:321.5px;
  max-width:100%;
  margin:0 auto 18px;
  grid-template-columns:repeat(3,96.5px);
  gap:16px;
}

.consult-section .benefit-card,
.final-cta .benefit-card{
  width:96.5px;
  height:111.5px;
  min-height:111.5px;
}

.consult-section .schedule,
.final-cta .schedule{
  width:171px;
  margin:0 auto 18px;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.consult-section .cta-button{
  margin-top:14px;
}

/* 診療フロー */
.flow-section{
  background:#fff;
  padding:38.5px 18.5px 49px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.flow-section .content{
  padding:0;
}

.flow-section .pill-title{
  width:265.5px;
  height:44px;
  margin:0 auto 16px;
}

.step-card{
  width:353px;
  max-width:100%;
  min-height:193.5px;
  margin:0 auto;
  padding:20px 16px 19px;
  border:1px solid #07446d;
  border-radius:6px;
  background:#fff;
}

.step-card--accent{
  min-height:459px;
  background:#fbf6e9;
  border-color:#f0d79d;
}

.step-head{
  display:grid;
  grid-template-columns:60.5px minmax(0,1fr);
  gap:16px;
  align-items:center;
}

.step-head > span{
  width:60.5px;
  height:60.5px;
  border-radius:50%;
  background:#07446d;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  font-size:10px;
  line-height:1;
  font-weight:700;
}

.step-head > span strong{
  font-size:20px;
}

.step-head h3{
  margin:0;
  color:#07446d;
  font-size:17.5px;
  line-height:25.5px;
  letter-spacing:.04em;
  text-align:left;
}

.step-card p{
  width:321px;
  max-width:100%;
  margin:18px auto 0;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.step-card .note{
  width:320px;
  max-width:100%;
  margin:14px auto 0;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.step-head--sub{
  margin-top:28px;
}

.step-arrow{
  width:0;
  height:0;
  margin:0 auto;
  border-left:19.5px solid transparent;
  border-right:19.5px solid transparent;
  border-top:20px solid #b0ebfe;
}

/* ---------- B-5：料金 / プロフィール ---------- */

.price-section{
  background:#e9e9e9;
  padding:0 20px 38px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.price-section .band-title{
  width:calc(100% + 40px);
  height:77px;
  min-height:77px;
  margin:0 -20px 34px;
}

.price-section .content{
  padding:0;
}

.price-section .content > .center{
  margin:0 auto 22px;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
}

.price-card{
  width:351.5px;
  max-width:100%;
  min-height:238px;
  margin:0 auto 24px;
  padding:25px 16px 18px;
  background:#fff;
  text-align:center;
}

.price-label{
  width:214.5px;
  height:39.5px;
  margin:0 auto 13px;
  background:#b0ebfe;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17.5px;
  line-height:1;
  letter-spacing:.075em;
}

.price-main{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
}

.price-main .circle{
  width:77.5px;
  height:77.5px;
  flex:0 0 77.5px;
  border-radius:50%;
  background:#eafaff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17.5px;
}

.price-main strong{
  color:#07446d;
  font-size:35px;
  line-height:1;
  letter-spacing:.05em;
}

.price-main .free{
  color:#e48928;
}

.price-main small{
  font-size:15.5px;
}

.price-card p{
  margin:13px 0 0;
  font-size:15.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.text-block{
  width:319.5px;
  max-width:100%;
  margin:22px auto 0;
}

.text-block h3{
  margin:0 0 4px;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  font-weight:700;
  text-align:left;
}

.text-block h3:not(:first-child){
  margin-top:24px;
}

.text-block p{
  margin:0;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

/* プロフィール */
.profile-section{
  background:#fff;
  padding:0 20px 39px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.profile-section .band-title{
  width:calc(100% + 40px);
  height:76px;
  min-height:76px;
  margin:0 -20px 40px;
  font-size:24px;
}

.profile-wrap{
  padding:0 !important;
}

.profile{
  margin:0 0 52px;
  text-align:center;
}

.profile:last-child{
  margin-bottom:0;
}

.profile img{
  width:203px;
  max-width:100%;
  margin:0 auto 14px;
}

.profile h3{
  margin:0 0 13px;
  color:#07446d;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.profile-message{
  width:350px;
  max-width:100%;
  margin:0 auto 16px;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.profile-meta{
  width:320px;
  max-width:100%;
  margin:0 auto;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

/* ---------- B-6：FAQ ---------- */

.faq-section{
  background:#fff;
  padding:0 20px 39px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.faq-section .band-title{
  width:calc(100% + 40px);
  height:77px;
  min-height:77px;
  margin:0 -20px 40px;
}

.faq-section .content{
  padding:0;
}

.faq-item{
  width:353px;
  max-width:100%;
  margin:0 auto;
  padding:0 0 22px;
  border-bottom:1.5px solid #9b9b9b;
}

.faq-item + .faq-item{
  padding-top:21px;
}

.faq-item:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.faq-item h3,
.faq-item p{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:19.5px minmax(0,1fr);
  column-gap:6px;
  align-items:start;
  writing-mode:horizontal-tb;
  text-orientation:mixed;
}

.faq-item h3{
  margin-bottom:8px;
  color:#02529b;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
}

.faq-item p{
  color:#2e2e2e;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.faq-mark{
  width:19.5px;
  height:20.5px;
  margin-top:2px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:700;
  writing-mode:horizontal-tb;
}

.faq-mark--q{
  background:#02529b;
}

.faq-mark--a{
  background:#f6ae24;
}

.faq-text{
  display:block;
  width:auto;
  min-width:0;
  height:auto;
  writing-mode:horizontal-tb;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}

/* ---------- B-7：受診前注意事項 / 最終CTA / Footer ---------- */

.notice-section{
  background:rgba(217,242,255,.58);
  padding:42px 20px 49px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.notice-section .content{
  padding:0;
}

.notice-title{
  margin:0 auto 18px;
  color:#07446d;
  text-align:center;
  font-size:24px;
  line-height:30px;
  letter-spacing:.075em;
}

.notice-lead{
  width:280px;
  max-width:100%;
  margin:0 auto 22px;
  text-align:center;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
}

.notice-section .content > p:not(.notice-lead){
  width:348.5px;
  max-width:100%;
  margin:0 auto 40px;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.notice-card{
  width:352px;
  max-width:100%;
  margin:0 auto 22px;
  border-radius:5px;
  overflow:hidden;
  background:#fff;
}

.notice-card:last-child{
  margin-bottom:0;
}

.notice-card h3{
  min-height:42px;
  margin:0;
  padding:8px 10px;
  background:#b0ebfe;
  color:#07446d;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:17.5px;
  line-height:25.5px;
  letter-spacing:.05em;
}

.notice-card p{
  width:329.5px;
  max-width:calc(100% - 22px);
  margin:0 auto;
  padding-top:20px;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.notice-card p:last-child{
  padding-bottom:22px;
}

.notice-card ul{
  width:329.5px;
  max-width:calc(100% - 22px);
  margin:8px auto 0;
  padding-left:1.4em;
}

.notice-card li{
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

/* 最終CTA */
.final-cta{
  background:#fff;
  padding:38px 20px 67px;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;
  font-feature-settings:"palt" 1;
  font-kerning:normal;
}

.final-cta .content{
  padding:0;
  text-align:center;
}

.final-cta h2{
  width:332px;
  max-width:100%;
  margin:0 auto 18px;
  color:#07446d;
  font-size:24px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.final-cta .content > p:not(.final-message):not(.schedule){
  width:262px;
  max-width:100%;
  margin:0 auto;
  font-size:17.5px;
  line-height:30px;
  letter-spacing:.075em;
  text-align:center;
}

.final-message{
  width:262px;
  max-width:100%;
  margin:25px auto 27px !important;
  font-size:17.5px !important;
  line-height:30px !important;
  letter-spacing:.075em;
  text-align:center;
}

.final-cta .schedule{
  margin-bottom:18px;
}

/* Footer */
.footer{
  min-height:397.5px;
  background:#07446d;
  color:#fff;
}

.footer-inner{
  padding:29px 33.5px 28px;
}

.footer-clinic{
  margin:0 0 20px;
  color:#fff;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
  text-align:left;
}

.footer-nav{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
}

.footer-nav a{
  color:#fff;
  text-decoration:none;
  font-size:15.5px;
  line-height:25.5px;
  letter-spacing:.075em;
}

.copyright{
  margin:25px auto 0;
  color:#fff;
  text-align:center;
  font-size:12px;
  line-height:19px;
  letter-spacing:.02em;
}

/* PSD CTA dimensions — FV / middle / final */
.cta-button{
  width:352.5px !important;
  max-width:100% !important;
  min-height:73px !important;
  height:auto !important;
  padding:9px 18px 10px !important;
  gap:11px !important;
}

.cta-button .cta-top{
  font-size:20px !important;
  line-height:20px !important;
  white-space:nowrap !important;
}

.cta-button .cta-bottom{
  line-height:24px !important;
  white-space:nowrap !important;
}

.cta-button .cta-bottom strong{
  font-size:27px !important;
  line-height:24px !important;
}

.cta-button .cta-bottom .cta-arrow{
  font-size:27px !important;
  line-height:24px !important;
}

/* 390px未満は自然に縮小 */
@media (max-width:389px){
  .causes-section,
  .strengths-section,
  .consult-section,
  .flow-section,
  .price-section,
  .profile-section,
  .faq-section,
  .notice-section,
  .final-cta{
    padding-left:18px;
    padding-right:18px;
  }

  .strengths-section .band-title,
  .consult-section .band-title,
  .price-section .band-title,
  .profile-section .band-title,
  .faq-section .band-title{
    width:calc(100% + 36px);
    margin-left:-18px;
    margin-right:-18px;
  }

  .cause-card,
  .strength-card,
  .step-card,
  .price-card,
  .faq-item,
  .notice-card{
    width:100%;
  }
}


/* =========================================================
   Fixed CTA — v28 confirmed lower-line alignment
========================================================= */
.fixed-cta{
  position:fixed;
  left:50%;
  bottom:0;
  z-index:999;
  width:390px;
  max-width:100%;
  height:72px;
  padding:0;
  transform:translateX(-50%) translateY(120%);
  transition:transform .25s ease;
}
.fixed-cta.is-visible{
  transform:translateX(-50%) translateY(0);
}
.fixed-cta a{
  width:100%;
  height:72px;
  padding:0 14px;
  border:0;
  border-radius:4px;
  background:linear-gradient(180deg,var(--orange-a) 0%,var(--orange-b) 100%);
  box-shadow:0 3px 0 rgba(113,80,33,.55);
  color:#fff;
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  white-space:nowrap;
}
.fixed-cta__text{
  height:30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  line-height:1;
  white-space:nowrap;
}
.fixed-cta__text .fixed-main,
.fixed-cta__text .fixed-particle,
.fixed-cta__text strong,
.fixed-cta__text b{
  height:30px;
  min-height:30px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  color:#fff;
  line-height:1;
  letter-spacing:0;
  text-shadow:0 2px 2px rgba(106,60,0,.55);
}
.fixed-main{font-size:22.5px;font-weight:700}
.fixed-particle{font-size:17.5px;font-weight:700}
.fixed-cta__text strong{font-size:30px;font-weight:700}
.fixed-cta__text b{font-size:22.5px;font-weight:700}

/* =========================================================
   Legal modal
========================================================= */
.legal-modal[hidden]{display:none}
.legal-modal{
  position:fixed;
  inset:0;
  z-index:1200;
}
.legal-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
}
.legal-modal__panel{
  position:absolute;
  left:50%;
  top:50%;
  width:min(92vw,520px);
  max-height:88vh;
  transform:translate(-50%,-50%);
  overflow:hidden;
  border-radius:10px;
  background:#fff;
  box-shadow:0 16px 50px rgba(0,0,0,.30);
  display:flex;
  flex-direction:column;
}
.legal-modal__header{
  flex:0 0 auto;
  min-height:58px;
  padding:12px 14px 12px 18px;
  background:var(--navy);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.legal-modal__header h2{
  margin:0;
  font-size:17px;
  line-height:1.4;
}
.legal-modal__close{
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  cursor:pointer;
  font-size:24px;
  line-height:1;
}
.legal-modal__body{
  padding:20px 18px 26px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.legal-document{
  color:#2e2e2e;
  font-size:14px;
  line-height:1.85;
}
.legal-document h3{
  margin:24px 0 7px;
  color:var(--navy);
  font-size:16px;
  line-height:1.5;
}
.legal-document p{margin:0 0 12px}
.legal-document ul{margin:0 0 14px;padding-left:1.4em}
.legal-document li{margin-bottom:4px}
.legal-date{margin-top:24px!important;text-align:right}

/* =========================================================
   Responsive
========================================================= */
@media (max-width:389px){
  .band-title{font-size:22px}
  .content{max-width:100%}

  .tongue-about,
  .tongue-features,
  .causes-section,
  .strengths-section,
  .consult-section,
  .flow-section,
  .price-section,
  .profile-section,
  .faq-section,
  .notice-section,
  .final-cta,
  .footer{
    min-height:0;
  }

  .benefit-grid{
    grid-template-columns:repeat(3,minmax(0,95px));
    gap:12px;
  }

  .criteria-box,
  .cause-card,
  .strength-card,
  .step-card,
  .price-card,
  .text-block,
  .faq-item,
  .notice-card,
  .tongue-about .content>p,
  .b3-lead,
  .b3-overlap,
  .b3-not-mental,
  .b3-disease,
  .b3-after,
  .consult-section .content>p:first-child,
  .schedule{
    width:100%;
  }

  .strength-card,
  .step-card,
  .price-card,
  .faq-item,
  .notice-card{
    height:auto!important;
    min-height:0!important;
  }

  .fixed-cta__text{gap:3px;height:27px}
  .fixed-cta__text .fixed-main,
  .fixed-cta__text .fixed-particle,
  .fixed-cta__text strong,
  .fixed-cta__text b{
    height:27px;
    min-height:27px;
  }
  .fixed-main{font-size:20.5px}
  .fixed-particle{font-size:16px}
  .fixed-cta__text strong{font-size:27px}
  .fixed-cta__text b{font-size:20.5px}
}

@media (min-width:700px){
  body{background:#eef5f7}
  .lp{width:390px}
  .fixed-cta{display:none!important}
}


/* v38 safety: prevent accidental vertical text or constrained FAQ text */
.faq-section,
.faq-section *{
  writing-mode:horizontal-tb;
  text-orientation:mixed;
}
.faq-text{
  width:100%;
  min-width:0;
  max-width:none;
  height:auto;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}


/* v39 final line-break fidelity */
.consult-section .band-title br{
  display:block;
}
.cta-button,
.cta-top,
.cta-bottom,
.cta-bottom strong,
.cta-arrow{
  white-space:nowrap;
}


/* =========================================================
   v41 — B-1を確定済みv28状態へ復元
   ※ B-2以降はv40を維持
========================================================= */

/* FV */
.hero{
  padding:0 20px 34px !important;
  background:#e6fafa !important;
  overflow:visible !important;
}

.hero-visual{
  width:calc(100% + 40px) !important;
  aspect-ratio:780/932 !important;
  margin:0 -20px !important;
  padding:18px 20px 0 !important;
  position:relative !important;
  overflow:visible !important;
  background:url("assets/fv-bg.webp") center top/100% auto no-repeat !important;
}

.clinic-name{
  margin:0 0 48px !important;
  font-size:14px !important;
  line-height:1.4 !important;
}

.hero-badge{
  width:266px !important;
  min-height:44px !important;
  margin-bottom:13px !important;
  padding:7px 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:4px !important;
  background:#07446d !important;
  color:#fff !important;
  font-size:23px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}

/* タイトルは必ずカンプどおり2行 */
.hero-title{
  width:266px !important;
  margin:0 !important;
  color:#07446d !important;
  font-size:37px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}

.hero-title-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
}

.hero-title-line--1{
  margin-bottom:10px !important;
  letter-spacing:.13em !important;
}

.hero-title-line--2{
  width:266px !important;
  letter-spacing:.035em !important;
  text-align:left !important;
}

/* 「オンライン診療」下 → コピー */
.hero-copy{
  position:static !important;
  display:block !important;
  margin:42.5px 0 0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:normal !important;
}

.hero-copy .hero-copy-line{
  display:block !important;
  height:18.75px !important;
  line-height:18.75px !important;
}

.hero-copy .hero-pain{
  display:inline-flex !important;
  align-items:baseline !important;
  height:auto !important;
  color:#ff7782 !important;
  font-size:17.5px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}

.hero-pain > span{
  font-size:17.5px !important;
}

.hero-pain .hero-pain-small{
  margin:0 1px !important;
  font-size:11.5px !important;
}

/* 3カード */
.hero .benefit-grid{
  position:relative !important;
  z-index:4 !important;
  width:320px !important;
  max-width:320px !important;
  margin:-2px auto 0 !important;
  padding-top:3px !important;
  overflow:visible !important;
}

.hero .benefit-card{
  min-height:116px !important;
  padding:10px 6px !important;
  overflow:visible !important;
  box-shadow:3px 4px 5px rgba(0,0,0,.28) !important;
}

.hero .benefit-card img{
  width:42px !important;
  height:42px !important;
}

.hero .benefit-card span{
  font-size:14px !important;
  line-height:1.35 !important;
}

.hero-note{
  margin:18px 0 14px !important;
  text-align:center !important;
  font-size:16px !important;
  line-height:1.55 !important;
}

/* FV CTA。中間・最終CTAにも同じ見た目を適用 */
.cta-button{
  width:350px !important;
  max-width:100% !important;
  min-height:78px !important;
  height:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:10px 18px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#f8ad15 0%,#e58522 100%) !important;
  box-shadow:0 4px 0 #a96a27 !important;
  color:#fff !important;
  text-decoration:none !important;
  text-shadow:0 2px 2px rgba(100,55,0,.55) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:2px !important;
  text-align:center !important;
  font-weight:700 !important;
}

.cta-button .cta-top{
  display:block !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
}

.cta-button .cta-bottom{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.cta-button .cta-bottom strong{
  display:inline-block !important;
  font-size:27px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

.cta-button .cta-bottom .cta-arrow{
  display:inline-block !important;
  margin-left:0 !important;
  font-size:27px !important;
  line-height:1 !important;
}

/* 症状セクション */
.symptom-section{
  padding-bottom:20px !important;
  border-bottom:0 !important;
}

.symptom-section .section-lead{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto 30px !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.45 !important;
}

.symptom-section .check-list{
  width:320px !important;
  max-width:320px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.symptom-section .check-list li{
  padding-left:1.45em !important;
  font-size:15px !important;
  line-height:1.8 !important;
  text-align:left !important;
}

.symptom-section .check-list li:last-child{
  margin-bottom:0 !important;
  text-align:left !important;
}

.symptom-section .check-list li:last-child .symptom-last-line{
  display:inline !important;
  padding:0 !important;
  margin:0 !important;
}

.symptom-section::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:-21px !important;
  width:131px !important;
  height:22px !important;
  transform:translateX(-50%) !important;
  border:0 !important;
  background:#e1e3ee !important;
  clip-path:polygon(0 0,100% 0,50% 100%) !important;
  z-index:3 !important;
}

.section--point{
  position:relative !important;
  top:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:58px 20px 38px !important;
  border-top:0 !important;
}

.section--point .section-lead{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto !important;
  font-size:22px !important;
  line-height:1.45 !important;
}

/* 医師メッセージ */
.message-section .band-title{
  font-size:24px !important;
  line-height:1.35 !important;
}

.message-section .content{
  padding:34px 20px 42px !important;
}

.message-section .message-subtitle{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto 18px !important;
  font-size:20px !important;
  line-height:1.55 !important;
}

.message-section p{
  width:350px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:15px !important;
  line-height:1.95 !important;
  letter-spacing:.01em !important;
}

.message-section .message-strong{
  width:350px !important;
  max-width:100% !important;
  font-size:19px !important;
  line-height:1.7 !important;
}

.message-section .note{
  width:350px !important;
  max-width:100% !important;
  font-size:12px !important;
  line-height:1.75 !important;
}

.message-section .video-caption{
  width:350px !important;
  max-width:100% !important;
  margin:28px auto 10px !important; /* v40で直した不要な大余白は再導入しない */
  text-align:center !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
}

.message-section .video-thumbnail,
.video-thumbnail{
  width:250px !important;
  max-width:none !important;
  margin:0 auto !important;
}

/* 390px未満 */
@media (max-width:389px){
  .clinic-name{
    font-size:13px !important;
    margin-bottom:44px !important;
  }

  .hero-badge{
    width:68.2% !important;
    min-height:42px !important;
    margin-bottom:13px !important;
    font-size:21px !important;
  }

  .hero-title{
    width:68.2% !important;
    font-size:35px !important;
  }

  .hero-title-line--2{
    width:100% !important;
  }

  .hero-copy{
    margin-top:42.5px !important;
    font-size:14.5px !important;
  }

  .hero-pain,
  .hero-pain > span{
    font-size:16.5px !important;
  }

  .hero-pain .hero-pain-small{
    font-size:11px !important;
  }

  .symptom-section .check-list{
    width:100% !important;
    max-width:320px !important;
  }

  .message-section .video-thumbnail,
  .video-thumbnail{
    width:238px !important;
  }

  .cta-button .cta-top{
    font-size:19px !important;
  }

  .cta-button .cta-bottom strong,
  .cta-button .cta-bottom .cta-arrow{
    font-size:25px !important;
  }
}


/* =========================================================
   v43 — CTA行間修正
   780pxカンプ上 22px → CSS表示 11px
   B-1 FV / 中間CTA / 最終CTA 共通
========================================================= */

.cta-button{
  min-height:78px !important;
  height:auto !important;
  gap:11px !important;
  padding-top:5px !important;
  padding-bottom:7px !important;
}

.cta-button .cta-top,
.cta-button .cta-bottom{
  margin:0 !important;
}

/* 390px未満も同じ11pxを維持 */
@media (max-width:389px){
  .cta-button{
    min-height:78px !important;
    gap:11px !important;
  }
}


/* v48 B-2 clipping safeguard */
.tongue-about,
.tongue-features,
.tongue-about .content,
.tongue-features .content,
.b2-lead,
.b2-body,
.b2-international,
.b2-kino-sei,
.b2-treatment{
  overflow:visible !important;
}


/* =========================================================
   v49 — B-2 左右揃え / 結論改行修正
   ※B-1 / B-3以降は変更なし
========================================================= */

/* 手動で確定した各行は、改行位置を保ったまま左右端を揃える */
.tongue-about .b2-line,
.tongue-features .b2-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  text-align:justify !important;
  text-justify:inter-character !important;
  text-align-last:justify !important;
}

/* 各段落の最終行だけは左揃えにする */
.tongue-about p .b2-line:last-child,
.tongue-features p .b2-line:last-child{
  text-align:left !important;
  text-align-last:left !important;
}

/* 「つまり〜」はカンプどおり2行固定。途中では絶対に折り返さない */
.b2-conclusion{
  left:20px !important;
  width:350px !important;
  text-align:center !important;
}

.b2-conclusion-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  text-align:center !important;
  text-align-last:center !important;
}

/* 強調文字を含む行も行ボックス内で崩れないようにする */
.b2-lead .b2-line,
.b2-treatment .b2-line{
  overflow:visible !important;
}


/* =========================================================
   v50 — B-2 条件1を1行固定
   ※B-1 / B-3以降は変更なし
========================================================= */
.tongue-about .criteria-box li:first-child{
  white-space:nowrap !important;
  font-size:15px !important;
  letter-spacing:0 !important;
}


/* =========================================================
   v51 — B-2 条件ボックス 上下余白を均等化
   ※B-1 / B-3以降は変更なし
========================================================= */
.tongue-about .criteria-box{
  padding-top:18px !important;
  padding-bottom:18px !important;
}


/* =========================================================
   v52 — B-2 条件ボックスの上下余白を見た目で均等化
   ※B-1 / B-3以降は変更なし
========================================================= */

/*
  これまで padding-top / padding-bottom を同値にしても、
  固定高さ339pxの中でリスト本文の総高さが余るため、
  下側だけ余白が大きく見えていました。
  今回はリスト全体を白ボックス内で縦中央配置します。
*/
.tongue-about .criteria-box{
  padding-top:0 !important;
  padding-bottom:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}

/* 最後の項目の余計な下マージンはなし */
.tongue-about .criteria-box li:last-child{
  margin-bottom:0 !important;
}


/* =========================================================
   v54 — B-3 左右揃え / 改行固定
   ※B-1 / B-2 / B-4以降は変更なし
========================================================= */

/* カンプで確定している行を1行単位で固定 */
.causes-section .b3-line,
.strengths-section .b3-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  text-align:justify !important;
  text-justify:inter-character !important;
  text-align-last:justify !important;
  overflow:visible !important;
}

/* 各段落の最終行だけ左揃え */
.causes-section .b3-line--last,
.strengths-section .b3-line--last{
  text-align:left !important;
  text-align-last:left !important;
}

/* 中央コピーはカンプの行で固定し、途中改行させない */
.causes-section .b3-center-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  text-align:center !important;
  text-align-last:center !important;
}

/* POINT見出しもPSDの改行位置を固定 */
.strengths-section .b3-heading-line{
  display:block !important;
  white-space:nowrap !important;
}

/* 変な折返しを防ぐ */
.causes-section .cause-card h3{
  white-space:nowrap !important;
}

/* カンプの本文幅を明示 */
.causes-section .b3-lead,
.causes-section .b3-overlap,
.strengths-section .strength-card p{
  overflow:visible !important;
}

/* POINT02〜04の2行見出しは行間をPSDに合わせる */
.strengths-section .strength-card h3{
  line-height:25.5px !important;
}


/* =========================================================
   v55 — B-3 微修正
   ・唇アイコンを拡大
   ・「気のせい〜」を35px化
   ・強みのPOINT/数字/タイトルをカンプ寄せに再配置
========================================================= */

/* 唇アイコン（02）を大きく */
.causes-section .cause-card:nth-of-type(2) img{
  width: 114px !important;
  height: auto !important;
}

/* 「気のせい〜」も35px */
.causes-section .b3-not-mental{
  font-size: 35px !important;
  line-height: 60px !important;
  letter-spacing: 0.075em !important;
  margin-top: 44px !important;
  margin-bottom: 34px !important;
}

/* 強みカード内の構成を安定化 */
.strengths-section .strength-card{
  padding: 34px 24px 28px !important;
}

.strengths-section .strength-body{
  display:block !important;
}

.strengths-section .strength-head{
  display:flex !important;
  align-items:flex-start !important;
  gap: 18px !important;
  margin-bottom: 20px !important;
}

.strengths-section .point-no{
  flex: 0 0 98px !important;
  width: 98px !important;
  margin: 0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  line-height:1 !important;
}

.strengths-section .point-no span{
  display:block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
  margin: 0 0 10px 0 !important;
}

.strengths-section .point-no strong{
  display:block !important;
  font-size: 55px !important;
  line-height: 0.9 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
}

.strengths-section .strength-head h3{
  flex:1 1 auto !important;
  margin: 0 !important;
  min-height: 76px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height: 1.28 !important;
}

.strengths-section .strength-head h3 .b3-heading-line{
  text-align:center !important;
  white-space:nowrap !important;
}

.strengths-section .strength-card p{
  margin-top: 0 !important;
}

/* 1枚目の医師画像ペア位置も整える */
.strengths-section .doctor-pair{
  justify-content:center !important;
  margin-top: 20px !important;
}


/* =========================================================
   v56 — PSD DIRECT MATCH (B-3以降)
   PSD 780pxカンプ → Web 390px（1/2換算）
   B-3はPSDレイヤー座標を基準に再構築。
   B-4〜B-7は既存のPSD実測値を維持し、CTA寸法のみPSD値に統一。
========================================================= */

@media (min-width:390px){

  /* ---------- B-3 / 原因 ---------- */
  .causes-section{
    position:relative !important;
    height:1423.5px !important; /* PSD: band開始 y=2847 → 1423.5 */
    min-height:1423.5px !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .causes-section .content{
    position:relative !important;
    width:390px !important;
    height:1423.5px !important;
    padding:0 !important;
  }
  .causes-section .pill-title{
    position:absolute !important;
    left:63px !important;
    top:40.5px !important;
    width:266px !important;
    height:44px !important;
    margin:0 !important;
  }
  .causes-section .b3-lead{
    position:absolute !important;
    left:20.5px !important;
    top:124.5px !important;
    width:349px !important;
    margin:0 !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:.075em !important;
  }
  .causes-section .cause-card{
    position:absolute !important;
    left:20px !important;
    width:351.5px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .causes-section .cause-card:nth-of-type(1){top:212.5px !important;height:245.5px !important;}
  .causes-section .cause-card:nth-of-type(2){top:479px !important;height:246px !important;}
  .causes-section .cause-card:nth-of-type(3){top:744px !important;height:245.5px !important;}

  .causes-section .cause-card img{
    position:absolute !important;
    margin:0 !important;
    object-fit:contain !important;
  }
  .causes-section .cause-card:nth-of-type(1) img{
    left:134px !important; top:26.5px !important;
    width:84.5px !important; height:69px !important;
  }
  .causes-section .cause-card:nth-of-type(2) img{
    left:134.5px !important; top:43px !important;
    width:83px !important; height:46px !important;
  }
  .causes-section .cause-card:nth-of-type(3) img{
    left:146px !important; top:24.5px !important;
    width:60px !important; height:71.5px !important;
  }
  .causes-section .cause-card h3{
    position:absolute !important;
    margin:0 !important;
    color:#07446d !important;
    font-size:17.5px !important;
    line-height:25.5px !important;
    letter-spacing:.05em !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  .causes-section .cause-card:nth-of-type(1) h3{
    left:71.5px !important; top:109px !important; width:206.5px !important;
  }
  .causes-section .cause-card:nth-of-type(2) h3{
    left:102px !important; top:109.5px !important; width:148.5px !important;
  }
  .causes-section .cause-card:nth-of-type(3) h3{
    left:52px !important; top:114px !important; width:248.5px !important;
  }
  .causes-section .cause-card p{
    position:absolute !important;
    left:16.5px !important;
    width:319px !important;
    margin:0 !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:.075em !important;
  }
  .causes-section .cause-card:nth-of-type(1) p{top:154px !important;}
  .causes-section .cause-card:nth-of-type(2) p{top:153px !important;}
  .causes-section .cause-card:nth-of-type(3) p{top:157.5px !important;}

  .causes-section .b3-overlap{
    position:absolute !important;
    left:23.5px !important;
    top:1021.5px !important;
    width:348.5px !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
  }
  .causes-section .b3-not-mental{
    position:absolute !important;
    left:20.5px !important;
    top:1103px !important;
    width:349px !important;
    margin:0 !important;
    font-size:17.5px !important; /* PSD 35px → CSS 17.5px */
    line-height:30px !important; /* PSD 60px → CSS 30px */
    letter-spacing:.075em !important;
    text-align:center !important;
  }
  .causes-section .b3-disease{
    position:absolute !important;
    left:60.5px !important;
    top:1193px !important;
    width:269px !important;
    margin:0 !important;
    font-size:21px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
  }
  .causes-section .b3-after{
    position:absolute !important;
    left:32px !important;
    top:1296px !important;
    width:332px !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
  }

  /* ---------- B-3 / 4つの強み ---------- */
  .strengths-section{
    position:relative !important;
    height:1155px !important;
    min-height:1155px !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .strengths-section .band-title{
    position:absolute !important;
    left:0 !important;
    top:0 !important;
    width:390px !important;
    height:76px !important;
    min-height:76px !important;
    margin:0 !important;
  }
  .strengths-section .strengths{
    position:relative !important;
    width:390px !important;
    height:1155px !important;
    padding:0 !important;
    display:block !important;
  }
  .strengths-section .strength-card{
    position:absolute !important;
    left:20px !important;
    width:352.5px !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #07446d !important;
    border-radius:8px !important;
    background:#fff !important;
    display:block !important;
    overflow:hidden !important;
  }
  .strengths-section .strength-card:nth-of-type(1){top:116.5px !important;height:318.5px !important;}
  .strengths-section .strength-card:nth-of-type(2){top:454px !important;height:186px !important;}
  .strengths-section .strength-card:nth-of-type(3){top:659px !important;height:189px !important;}
  .strengths-section .strength-card:nth-of-type(4){top:867.5px !important;height:238.5px !important;}

  .strengths-section .strength-body,
  .strengths-section .strength-head{
    display:block !important;
    position:static !important;
    margin:0 !important;
  }
  .strengths-section .point-no{
    position:absolute !important;
    left:14.5px !important;
    top:22.5px !important;
    width:50.5px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    color:#07446d !important;
  }
  .strengths-section .point-no span{
    display:block !important;
    margin:0 !important;
    font-size:10px !important;
    line-height:12.5px !important;
    letter-spacing:.08em !important;
  }
  .strengths-section .point-no strong{
    display:block !important;
    margin:4px 0 0 !important;
    font-size:30px !important;
    line-height:28.5px !important;
    letter-spacing:.02em !important;
  }
  .strengths-section .strength-card h3{
    position:absolute !important;
    left:91.5px !important;
    top:28px !important;
    width:244px !important;
    min-height:0 !important;
    margin:0 !important;
    display:block !important;
    color:#07446d !important;
    font-size:17.5px !important;
    line-height:25.5px !important;
    letter-spacing:.04em !important;
    text-align:center !important;
  }
  .strengths-section .strength-card:nth-of-type(1) h3{top:40.5px !important;}
  .strengths-section .strength-card:nth-of-type(3) h3{left:103px !important;width:230px !important;}
  .strengths-section .strength-card:nth-of-type(4) h3{left:101.5px !important;width:230px !important;}

  .strengths-section .strength-card p{
    position:absolute !important;
    left:16px !important;
    top:99px !important;
    width:320px !important;
    margin:0 !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:.075em !important;
    text-align:left !important;
  }
  .strengths-section .doctor-pair{
    position:absolute !important;
    left:60px !important;
    top:183px !important;
    width:232px !important;
    height:134px !important;
    margin:0 !important;
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-end !important;
    gap:0 !important;
  }
  .strengths-section .doctor-pair img{
    width:95px !important;
    height:115px !important;
    margin:0 !important;
    object-fit:contain !important;
  }

  /* ---------- B-4〜B-7 / PSD実寸を優先 ---------- */
  .consult-section .cta-button,
  .final-cta .cta-button{
    width:352.5px !important;     /* PSD 705px */
    min-height:73px !important;   /* PSD 146px */
    height:73px !important;
    padding:6px 18px 8px !important;
    gap:1px !important;
  }
  .consult-section .cta-button .cta-top,
  .final-cta .cta-button .cta-top{
    font-size:20px !important;
    line-height:20px !important;
  }
  .consult-section .cta-button .cta-bottom,
  .final-cta .cta-button .cta-bottom{
    line-height:24px !important;
  }
  .consult-section .cta-button .cta-bottom strong,
  .final-cta .cta-button .cta-bottom strong,
  .consult-section .cta-button .cta-arrow,
  .final-cta .cta-button .cta-arrow{
    font-size:27px !important;
    line-height:24px !important;
  }
}


/* =========================================================
   v57 — B-3以降 / PSD再照合・指摘4点修正
   ① 中間・最終CTAをFVと完全共通化
   ② B-4カンプの手動改行をHTML側で固定
   ③ B-3〜B-5本文の左右揃えを補強
   ④ プロフィール経歴・所属学会ブロックを右へ補正
========================================================= */

/* ① FVで確定しているCTA仕様を中間・最終CTAにもそのまま適用 */
.consult-section .cta-button,
.final-cta .cta-button{
  width:350px !important;
  max-width:100% !important;
  min-height:78px !important;
  height:auto !important;
  padding:5px 18px 7px !important;
  gap:11px !important;
}
.consult-section .cta-button .cta-top,
.final-cta .cta-button .cta-top{
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1.15 !important;
}
.consult-section .cta-button .cta-bottom,
.final-cta .cta-button .cta-bottom{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:3px !important;
  line-height:1 !important;
}
.consult-section .cta-button .cta-bottom strong,
.final-cta .cta-button .cta-bottom strong{
  font-size:27px !important;
  line-height:1.05 !important;
}
.consult-section .cta-button .cta-arrow,
.final-cta .cta-button .cta-arrow{
  font-size:27px !important;
  line-height:1 !important;
}

/* ② PSDの改行を固定。br後も通常行間で続く */
.consult-section .consult-intro br{
  display:block !important;
  content:"" !important;
}
.flow-section .note .note-line{
  display:block !important;
  white-space:nowrap !important;
}
.flow-section .note .note-line--indent{
  padding-left:17px !important; /* PSDの2行目インデントを1/2換算 */
}

/* ③ 本文はカンプ同様、最終行以外が左右に通るようにする */
.causes-section .b3-line:not(.b3-line--last),
.strengths-section .b3-line:not(.b3-line--last){
  text-align:justify !important;
  text-align-last:justify !important;
  text-justify:inter-character !important;
}
.consult-section .consult-intro,
.flow-section .step-card > p:not(.note),
.price-section .text-block p{
  text-align:justify !important;
  text-justify:inter-character !important;
}

/* ④ 経歴・所属学会だけをv56より10px右へ。改行はHTML指定を維持 */
.profile-section .profile-meta{
  width:320px !important;
  max-width:calc(100% - 10px) !important;
  margin-left:25px !important;
  margin-right:0 !important;
  text-align:left !important;
}

@media (max-width:389px){
  .consult-section .cta-button,
  .final-cta .cta-button{
    width:350px !important;
    min-height:78px !important;
    padding:5px 18px 7px !important;
    gap:11px !important;
  }
  .profile-section .profile-meta{
    width:calc(100% - 25px) !important;
    max-width:none !important;
    margin-left:25px !important;
    margin-right:0 !important;
  }
  .consult-section .cta-button .cta-top,
  .final-cta .cta-button .cta-top{
    font-size:19px !important;
  }
  .consult-section .cta-button .cta-bottom strong,
  .final-cta .cta-button .cta-bottom strong,
  .consult-section .cta-button .cta-arrow,
  .final-cta .cta-button .cta-arrow{
    font-size:25px !important;
  }
}


/* =========================================================
   v60 — B-3 PSD実測修正
   PSD 780px → Web 390px のため 1/2換算
   POINT: 31px -> 15.5px
   番号: 74px -> 37px
   タイトル: 42px -> 21px
========================================================= */

/* 02 口の乾燥感：PSD 166x92 から全体2px縮小 → 164x90
   Webでは 82x45。中心位置は維持 */
.causes-section .cause-card:nth-of-type(2) img{
  left:135px !important;
  top:43.5px !important;
  width:82px !important;
  height:45px !important;
  margin:0 !important;
  object-fit:contain !important;
}

/* POINT/番号はPSDのレイヤー位置をそのまま1/2換算 */
.strengths-section .point-no{
  position:static !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

.strengths-section .point-no span{
  position:absolute !important;
  left:15px !important;
  top:22.5px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  font-size:15.5px !important;
  line-height:12.5px !important;
  letter-spacing:.08em !important;
  font-weight:700 !important;
  color:#07446d !important;
}

.strengths-section .point-no strong{
  position:absolute !important;
  left:16px !important;
  top:48.5px !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  font-size:37px !important;
  line-height:28.5px !important;
  letter-spacing:.02em !important;
  font-weight:700 !important;
  color:#07446d !important;
}

/* POINT02〜04はPSD上でわずかに座標差がある */
.strengths-section .strength-card:nth-of-type(2) .point-no span{left:14.5px !important;top:23.5px !important;}
.strengths-section .strength-card:nth-of-type(2) .point-no strong{left:16.5px !important;top:49.5px !important;}
.strengths-section .strength-card:nth-of-type(3) .point-no span{left:15px !important;top:24px !important;}
.strengths-section .strength-card:nth-of-type(3) .point-no strong{left:16px !important;top:50px !important;}
.strengths-section .strength-card:nth-of-type(4) .point-no span{left:16.5px !important;top:23.5px !important;}
.strengths-section .strength-card:nth-of-type(4) .point-no strong{left:16.5px !important;top:49.5px !important;}

/* タイトル 42px(PSD) -> 21px(Web)、座標もPSD実測の1/2 */
.strengths-section .strength-card h3,
.strengths-section .strength-head h3{
  position:absolute !important;
  margin:0 !important;
  min-height:0 !important;
  display:block !important;
  color:#07446d !important;
  font-size:21px !important;
  line-height:25.5px !important;
  letter-spacing:.04em !important;
  text-align:center !important;
  font-weight:700 !important;
}
.strengths-section .strength-card:nth-of-type(1) h3{
  left:91.5px !important;
  top:40.5px !important;
  width:212px !important;
}
.strengths-section .strength-card:nth-of-type(2) h3{
  left:92px !important;
  top:28px !important;
  width:217px !important;
}
.strengths-section .strength-card:nth-of-type(3) h3{
  left:103px !important;
  top:28.5px !important;
  width:189.5px !important;
}
.strengths-section .strength-card:nth-of-type(4) h3{
  left:101.5px !important;
  top:28px !important;
  width:196.5px !important;
}
.strengths-section .b3-heading-line{
  display:block !important;
  white-space:nowrap !important;
  font-size:inherit !important;
  line-height:inherit !important;
}


/* =========================================================
   v61 — B-3微調整
   1) 唇アイコンを1px大きく
   2) 強み1番の医師・歯科医師写真を少し上へ
========================================================= */

/* 02 口の乾燥感：v60(82x45) → 1px大きくして 83x46 */
.causes-section .cause-card:nth-of-type(2) img{
  left:134.5px !important;
  top:43px !important;
  width:83px !important;
  height:46px !important;
  margin:0 !important;
  object-fit:contain !important;
}

/* 強み1番：医師・歯科医師写真をカンプ寄りに少し上へ */
.strengths-section .strength-card:nth-of-type(1) .doctor-pair{
  left:60px !important;
  top:176px !important;
  width:232px !important;
  height:134px !important;
  margin:0 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:0 !important;
}
.strengths-section .strength-card:nth-of-type(1) .doctor-pair img{
  width:95px !important;
  height:115px !important;
  margin:0 !important;
  object-fit:contain !important;
}


/* =========================================================
   v62 — B-3「4つの強み」カード内の上下余白調整
   デザインカンプ寄りに、各カード内の上余白・下余白の見え方を揃える
========================================================= */

/* 4カード共通：テキストブロックの縦詰まり感を軽減 */
.strengths-section .strength-card p{
  position:absolute !important;
  left:16px !important;
  width:320px !important;
  margin:0 !important;
}

/* 1枚目：写真ブロックを少し上げつつ、下余白を確保 */
.strengths-section .strength-card:nth-of-type(1) .doctor-pair{
  top:170px !important;
}

/* 2〜4枚目：本文を少し上へ上げて、上下余白の見え方を揃える */
.strengths-section .strength-card:nth-of-type(2) p{
  top:88px !important;
}

.strengths-section .strength-card:nth-of-type(3) p{
  top:88px !important;
}

.strengths-section .strength-card:nth-of-type(4) p{
  top:88px !important;
}

/* タイトル位置もわずかに上へ寄せて、カンプの余白感に近づける */
.strengths-section .strength-card:nth-of-type(2) h3{
  top:24px !important;
}
.strengths-section .strength-card:nth-of-type(3) h3{
  top:24px !important;
}
.strengths-section .strength-card:nth-of-type(4) h3{
  top:24px !important;
}


/* =========================================================
   v63 — B-4以降 PSD確認修正
   ※B-3は確定版のため変更禁止
   ・診療日／休診日を1行化
   ・本文の途中行を左右揃え、最終行のみ左揃え
========================================================= */

/* B-4：初回無料オンライン相談 */
.consult-section .consult-intro{
  width:349.5px !important;
  max-width:100% !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* 診療日＋休診日は1行で表示 */
.consult-section .schedule,
.final-cta .schedule{
  width:350px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* B-4：診療フロー本文 */
.flow-section .step-card > p:not(.note){
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* B-5：料金説明本文 */
.price-section .text-block p{
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* B-6：FAQ回答本文 */
.faq-section .faq-item p .faq-text{
  display:block !important;
  width:100% !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* B-7：注意事項本文 */
.notice-section .content > p:not(.notice-lead),
.notice-section .notice-card p{
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

/* 390px未満でも診療日／休診日は1行を維持 */
@media (max-width:389px){
  .consult-section .schedule,
  .final-cta .schedule{
    width:350px !important;
    max-width:calc(100% - 8px) !important;
    font-size:14.5px !important;
    line-height:24px !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   v64 — B-4以降 PSDレイヤー実測修正
   B-3は確定済みのため変更禁止
   PSD幅780px → Web幅390px（1/2換算）
========================================================= */

/* ---------- B-4：初回無料オンライン相談 ---------- */
/* PSD本文: x=2602〜3301 → 699px / 2 = 349.5px */
.consult-section .consult-intro{
  width:349.5px !important;
  max-width:100% !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* ご指定により、PSDの2行表示ではなく1行に変更 */
.consult-section .schedule,
.final-cta .schedule{
  width:350px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:14.5px !important;
  line-height:25.5px !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* PSDフローカード:
   STEP01 706×387px -> 353×193.5px
   STEP02 706×451px -> 353×225.5px
   STEP03-04 706×918px -> 353×459px
   STEP05 706×337px -> 353×168.5px */
.flow-section .step-card{
  width:353px !important;
  max-width:100% !important;
}
.flow-section .step-card--01{min-height:193.5px !important;}
.flow-section .step-card--02{min-height:225.5px !important;}
.flow-section .step-card--03-04{min-height:459px !important;}
.flow-section .step-card--05{min-height:168.5px !important;}

/* PSD STEP本文は約640〜644px幅 -> Web 約320〜322px */
.flow-section .step-card > p:not(.note){
  width:321.5px !important;
  max-width:100% !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.flow-section .step-card .note{
  width:320px !important;
  max-width:100% !important;
}

/* ---------- B-5：料金・プロフィール ---------- */
/* PSD料金カード: 約702〜703px -> 351〜351.5px */
.price-section .price-card{
  width:351.5px !important;
  max-width:100% !important;
}
.price-section .text-block{
  width:319.5px !important;
  max-width:100% !important;
}
.price-section .text-block p{
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* PSDプロフィール経歴左端:
   x=3551、B-5基準x=3481 -> 70px / 2 = 35px
   section内側20px + margin-left15px = 35px */
.profile-section .profile-meta{
  width:320px !important;
  max-width:calc(100% - 15px) !important;
  margin-left:15px !important;
  margin-right:0 !important;
  text-align:left !important;
}

/* ---------- B-6：FAQ ---------- */
/* PSD区切り幅約706px -> 353px */
.faq-section .faq-item{
  width:353px !important;
  max-width:100% !important;
}
.faq-section .faq-item p .faq-text{
  display:block !important;
  width:100% !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* ---------- B-7：受診前注意事項 ---------- */
/* PSDカード幅約703〜704px -> 351.5〜352px */
.notice-section .notice-card{
  width:352px !important;
  max-width:100% !important;
}
.notice-section .content > p:not(.notice-lead){
  width:348.5px !important;
  max-width:100% !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.notice-section .notice-card p{
  width:329.5px !important;
  max-width:calc(100% - 22px) !important;
  text-align:justify !important;
  text-align-last:left !important;
  text-justify:inter-character !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* 390px未満でも診療日・休診日は1行を維持 */
@media (max-width:389px){
  .consult-section .schedule,
  .final-cta .schedule{
    width:350px !important;
    max-width:calc(100% - 4px) !important;
    font-size:13.5px !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   v65 — 診療日・休診日をデザインカンプ通りに修正
   各1行ずつ、計2行
========================================================= */
.consult-section .schedule,
.final-cta .schedule{
  width:171px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:17.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  white-space:normal !important;
  text-align:center !important;
}

@media (max-width:389px){
  .consult-section .schedule,
  .final-cta .schedule{
    width:171px !important;
    max-width:100% !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
    white-space:normal !important;
  }
}


/* =========================================================
   v66 — B-4 PSD確認修正
   ・あたま本文の改行位置を固定
   ・診療日/休診日を各1行ずつ固定
   ・STEP01タイトルを1行固定
   ※ B-3は変更しない
========================================================= */

/* B-4 冒頭本文の改行位置をカンプ合わせで固定 */
.consult-section .consult-intro{
  width:349.5px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.consult-section .consult-intro .b4-line{
  display:block !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.consult-section .consult-intro .b4-line--last{
  text-align:left !important;
}

/* 診療日/休診日は、それぞれ1行ずつ */
.consult-section .schedule,
.final-cta .schedule{
  width:auto !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.consult-section .schedule .schedule-line,
.final-cta .schedule .schedule-line{
  display:block !important;
  white-space:nowrap !important;
  font-size:17.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  text-align:center !important;
}

/* STEP01タイトルを1行に固定 */
.flow-section .step-card--01 .step-head{
  grid-template-columns:60.5px minmax(0,1fr) !important;
  gap:10px !important;
}
.flow-section .step-card--01 .step-head .step01-title{
  white-space:nowrap !important;
  font-size:16px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
}


/* =========================================================
   v67 — B-4 PSD実表示に再修正
   ・冒頭本文をPSDの実際の8行に固定
   ・STEP03注記をPSDの幅/インデントに合わせる
   ※B-3は変更しない
========================================================= */

/* B-4 冒頭本文：PSD text layer 699px幅 → Web 349.5px */
.consult-section .consult-intro{
  width:349.5px !important;
  max-width:100% !important;
  margin:0 auto 27px !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:left !important;
}
.consult-section .consult-intro .b4-line{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
}
.consult-section .consult-intro .b4-line--justify{
  text-align:justify !important;
  text-align-last:justify !important;
  text-justify:inter-character !important;
}
.consult-section .consult-intro .b4-line--last{
  text-align:left !important;
  text-align-last:left !important;
}

/* STEP03 ※注記：PSD 640px幅 → Web 320px */
.flow-section .step-card--03-04 .note{
  width:320px !important;
  max-width:100% !important;
  margin:14px auto 0 !important;
  padding:0 !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:left !important;
}
.flow-section .step-card--03-04 .note .note-line{
  display:block !important;
  white-space:nowrap !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  padding:0 !important;
}
.flow-section .step-card--03-04 .note .note-line--full{
  width:320px !important;
  text-align:justify !important;
  text-align-last:justify !important;
  text-justify:inter-character !important;
}
.flow-section .step-card--03-04 .note .note-line--indent{
  width:260px !important;          /* PSD 約520px */
  margin-left:17px !important;     /* PSD 約34px */
  text-align:left !important;
}


/* =========================================================
   v68 — B-4 1行目の右端揃えを確実化
   文字ごとに均等配分して左右端を固定
   ※B-3は変更しない
========================================================= */

/* 冒頭本文 1行目：左端/右端を確実に合わせる */
.consult-section .consult-intro .b4-line--char-justify{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:349.5px !important;
  max-width:100% !important;
  white-space:nowrap !important;
  text-align:initial !important;
  text-align-last:auto !important;
  letter-spacing:0 !important;
}
.consult-section .consult-intro .b4-line--char-justify > span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
}

/* STEP03注記 1行目：左端/右端を確実に合わせる */
.flow-section .step-card--03-04 .note .note-line--char-justify{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:320px !important;
  max-width:100% !important;
  white-space:nowrap !important;
  text-align:initial !important;
  text-align-last:auto !important;
  letter-spacing:0 !important;
}
.flow-section .step-card--03-04 .note .note-line--char-justify > span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
}


/* =========================================================
   v69 — B-4 PSD実画像に合わせた確定修正
   ・冒頭本文をPSDの実際の8行へ固定
   ・右端が揃う5行は文字単位の均等配置
   ・STEP03注記1行目をPSD実測の右端へ合わせる
   ※B-3は変更しない
========================================================= */

/* B-4冒頭本文：PSD x=約43〜741、テキストボックス約699px → Web 349.5px */
.consult-section .consult-intro{
  width:349.5px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
  text-align:left !important;
}

.consult-section .consult-intro .b4-line{
  display:block !important;
  width:349.5px !important;
  max-width:100% !important;
  height:25.5px !important;
  line-height:25.5px !important;
  white-space:nowrap !important;
  font-size:15.5px !important;
  letter-spacing:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.consult-section .consult-intro .b4-line--char-justify{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:349.5px !important;
}

.consult-section .consult-intro .b4-line--char-justify > span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
}

.consult-section .consult-intro .b4-line--short{
  text-align:left !important;
  padding-left:0 !important;
}

/* STEP03注記：PSD実画像で1行目は x≈75〜712。
   既存320pxでは右端が不足したため、Web側321pxへ補正 */
.flow-section .step-card--03-04 .note{
  width:321px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 !important;
}

.flow-section .step-card--03-04 .note .note-line--full{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:321px !important;
  max-width:100% !important;
  white-space:nowrap !important;
  letter-spacing:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.flow-section .step-card--03-04 .note .note-line--full > span{
  display:inline-block !important;
  flex:0 0 auto !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
}

.flow-section .step-card--03-04 .note .note-line--indent{
  display:block !important;
  width:260px !important;
  margin-left:17px !important;
  white-space:nowrap !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:left !important;
}


/* =========================================================
   v70 — B-5 医師・歯科医師プロフィール PSD実測修正
   B-3 / B-4 は確定済みのため変更しない
   PSD 780px幅 → Web 390px（1/2換算）
========================================================= */

@media (min-width:390px){

  /* profile-wrap の開始位置は section top + 116px。
     PSDの1人目画像 top = 117px なので +1px で一致。 */
  .profile-section .profile-wrap{
    position:relative !important;
    height:1237px !important;
    padding:0 !important;
  }

  .profile-section .profile{
    position:relative !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
  }

  /* ---------- 1人目：医師 小林由希 ---------- */
  .profile-section .profile:nth-of-type(1){
    height:535.5px !important;
  }

  /* PSD: x3673 y2789 401×535 → Web: x96 y117 200.5×267.5
     profile-wrap原点は section x20 / y116 */
  .profile-section .profile:nth-of-type(1) > img{
    position:absolute !important;
    left:76px !important;
    top:1px !important;
    width:200.5px !important;
    height:267.5px !important;
    margin:0 !important;
    object-fit:cover !important;
  }

  /* PSD: x3713 y3347 321×40 */
  .profile-section .profile:nth-of-type(1) > h3{
    position:absolute !important;
    left:96px !important;
    top:280px !important;
    width:160.5px !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  /* PSD: x3532 y3431 682×159 → Web: left25.5 / top438 / width341 */
  .profile-section .profile:nth-of-type(1) > .profile-message{
    position:absolute !important;
    left:5.5px !important;
    top:322px !important;
    width:341px !important;
    max-width:none !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
    font-weight:700 !important;
    text-align:center !important;
  }

  /* PSD: x3551 y3647 530×132 → Web: left35 / top546 / width265 */
  .profile-section .profile:nth-of-type(1) > .profile-meta{
    position:absolute !important;
    left:15px !important;
    top:430px !important;
    width:265px !important;
    max-width:none !important;
    margin:0 !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:.075em !important;
    font-weight:400 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }

  /* ---------- 2人目：歯科医師 小林隆洋 ---------- */
  .profile-section .profile:nth-of-type(2){
    height:701.5px !important;
  }

  /* PSD: x3670 y3858 407×543 → Web: x94.5 / top651.5 / 203.5×271.5 */
  .profile-section .profile:nth-of-type(2) > img{
    position:absolute !important;
    left:74.5px !important;
    top:0 !important;
    width:203.5px !important;
    height:271.5px !important;
    margin:0 !important;
    object-fit:cover !important;
  }

  /* PSD: x3667 y4427 413×40 */
  .profile-section .profile:nth-of-type(2) > h3{
    position:absolute !important;
    left:93px !important;
    top:284.5px !important;
    width:206.5px !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
    text-align:center !important;
    white-space:nowrap !important;
  }

  /* PSD: x3524 y4510 699×220 → Web: left21.5 / top977.5 / width349.5 */
  .profile-section .profile:nth-of-type(2) > .profile-message{
    position:absolute !important;
    left:1.5px !important;
    top:326px !important;
    width:349.5px !important;
    max-width:none !important;
    margin:0 !important;
    font-size:17.5px !important;
    line-height:30px !important;
    letter-spacing:.075em !important;
    font-weight:700 !important;
    text-align:center !important;
  }

  /* PSD: x3551 y4795 550×387 → Web: left35 / top1120 / width275 */
  .profile-section .profile:nth-of-type(2) > .profile-meta{
    position:absolute !important;
    left:15px !important;
    top:468.5px !important;
    width:275px !important;
    max-width:none !important;
    margin:0 !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:.075em !important;
    font-weight:400 !important;
    text-align:left !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   v71 — B-5 経歴・所属学会 横位置をPSD基準で再修正
   PSD layer x=3551 / B-5基準 x=3481
   差70px → Web 35px
   B-3 / B-4 は変更しない
========================================================= */

/* 1人目：愛媛大学〜所属学会 */
.profile-section .profile:nth-of-type(1) > .profile-meta{
  left:35px !important;
  width:265px !important;
  margin:0 !important;
  text-align:left !important;
}

/* 2人目：長崎大学〜所属学会 */
.profile-section .profile:nth-of-type(2) > .profile-meta{
  left:35px !important;
  width:275px !important;
  margin:0 !important;
  text-align:left !important;
}

/* 390px未満でも同じ右寄せ方向を維持 */
@media (max-width:389px){
  .profile-section .profile:nth-of-type(1) > .profile-meta,
  .profile-section .profile:nth-of-type(2) > .profile-meta{
    position:relative !important;
    left:17px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* =========================================================
   v72 — B-5 歯科医師名の位置をPSD中心座標に合わせて修正
   PSD:
   photo x=3670, w=407 → center=3873.5
   name  x=3667, w=413 → center=3873.5
   Web 1/2換算:
   photo left=74.5, w=203.5
   name  left=73.0, w=206.5
   photo bottom=271.5 / name top=284.5 → gap=13px
   B-3 / B-4 / その他B-5は変更しない
========================================================= */
@media (min-width:390px){
  .profile-section .profile:nth-of-type(2) > h3{
    left:73px !important;
    top:284.5px !important;
    width:206.5px !important;
    margin:0 !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
}


/* =========================================================
   v74 — B-6 FAQ PSD実測修正
   PSD実画像に合わせて幅・改行・右端揃えを固定
   B-3 / B-4 / B-5 は確定済みのため変更しない
========================================================= */

@media (min-width:390px){
  /* PSD FAQ区切り線 706px → Web 353px。
     section左右余白も 18.5px にして、親幅による350px縮小を解消 */
  .faq-section{
    padding-left:18.5px !important;
    padding-right:18.5px !important;
  }

  .faq-section .band-title{
    width:calc(100% + 37px) !important;
    margin-left:-18.5px !important;
    margin-right:-18.5px !important;
  }

  .faq-section .content{
    width:353px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
  }

  .faq-section .faq-item{
    width:353px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* PSD: Q/Aマーク19.5px + gap6px + 本文327.5px = 353px */
  .faq-section .faq-item h3,
  .faq-section .faq-item p{
    width:353px !important;
    grid-template-columns:19.5px 327.5px !important;
    column-gap:6px !important;
  }

  .faq-section .faq-item h3 .faq-text{
    width:327.5px !important;
    max-width:none !important;
    white-space:nowrap !important;
    text-align:left !important;
  }

  .faq-section .faq-item p .faq-text--fixed{
    display:block !important;
    width:327.5px !important;
    max-width:none !important;
    text-align:left !important;
  }

  .faq-section .faq-line{
    display:block !important;
    width:327.5px !important;
    min-height:25.5px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
  }

  /* PSDで右端まで通っている行は、文字を均等配分して左右端を固定 */
  .faq-section .faq-line--full{
    display:flex !important;
    justify-content:space-between !important;
    align-items:baseline !important;
    letter-spacing:0 !important;
    text-align:initial !important;
    text-align-last:auto !important;
  }

  .faq-section .faq-line--full > .faq-char{
    display:inline-block !important;
    flex:0 0 auto !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:0 !important;
  }

  /* PSDで段落末・最終行になっている短い行は左揃え */
  .faq-section .faq-line--short{
    text-align:left !important;
    text-align-last:left !important;
    letter-spacing:.075em !important;
  }
}


/* =========================================================
   v75 — B-7 PSD実画像基準の改行・右端揃え修正
   B-1〜B-6は確定済みのため変更しない
   B-6と同じ方式：改行固定 + 右端まで通る行を文字均等配置
========================================================= */

@media (min-width:390px){

  /* PSD: B-7カード幅 約704px → Web 352px。
     親の左右paddingで350pxへ縮まないようB-7のみ補正 */
  .notice-section{
    padding-left:19px !important;
    padding-right:19px !important;
  }

  .notice-section .content{
    width:352px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
  }

  .notice-section .notice-title,
  .notice-section .notice-lead{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* PSD冒頭本文 約697px → Web 348.5px */
  .notice-section .notice-intro{
    width:348.5px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  /* PSDカード 約704px → Web 352px */
  .notice-section .notice-card{
    width:352px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* PSDカード本文 約659px → Web 329.5px */
  .notice-section .notice-card > p{
    width:329.5px !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  .notice-section .b7-fixed-lines{
    display:block !important;
    width:100% !important;
  }

  .notice-section .b7-line{
    display:block !important;
    width:100% !important;
    min-height:25.5px !important;
    margin:0 !important;
    padding:0 !important;
    white-space:nowrap !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
  }

  /* PSDで右端まで伸びている行 */
  .notice-section .b7-line--full{
    display:flex !important;
    justify-content:space-between !important;
    align-items:baseline !important;
    letter-spacing:0 !important;
    text-align:initial !important;
    text-align-last:auto !important;
  }

  .notice-section .b7-line--full > .b7-char{
    display:inline-block !important;
    flex:0 0 auto !important;
    font-size:15.5px !important;
    line-height:25.5px !important;
    letter-spacing:0 !important;
  }

  /* PSDで文末として短く終わっている行 */
  .notice-section .b7-line--short{
    text-align:left !important;
    text-align-last:left !important;
    letter-spacing:.075em !important;
  }

  /* 血液検査の項目、薬剤カードの後続段落はPSDの段落構造を維持 */
  .notice-section .notice-data{
    text-align:left !important;
  }

  .notice-section .notice-follow{
    padding-top:0 !important;
  }

  .notice-section .notice-long{
    padding-top:20px !important;
  }
}


/* =========================================================
   v76 — B-7 2箇所をカンプ通り「各2行」に固定
   B-1〜B-6およびB-7他要素は変更しない
========================================================= */

.notice-section .notice-lead .b7-two-line,
.final-cta .final-intro-two-line .b7-two-line{
  display:block !important;
  white-space:nowrap !important;
  text-align:center !important;
}

/* 既存の幅指定による3行化を防止 */
.notice-section .notice-lead{
  width:auto !important;
  max-width:none !important;
  text-align:center !important;
}

.final-cta .final-intro-two-line{
  width:auto !important;
  max-width:none !important;
  text-align:center !important;
}


/* =========================================================
   v77 — B-1「医師からのメッセージ」のみ更新
   添付デザイン確認版に合わせた文章・見出し・強調
   B-1その他 / B-2〜B-7 は変更しない
========================================================= */

.message-section .content{
  padding:34px 20px 42px !important;
}

.message-section .message-subtitle{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto 24px !important;
  color:#07446d !important;
  font-size:17.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:700 !important;
  text-align:center !important;
}

.message-section .message-subtitle--second{
  margin-top:38px !important;
}

.message-section .message-subtitle-line{
  display:block !important;
  white-space:nowrap !important;
}

.message-section .message-copy{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto !important;
}

.message-section .message-copy p{
  width:100% !important;
  max-width:none !important;
  margin:0 0 16px !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:left !important;
}

.message-section .message-copy p:last-child{
  margin-bottom:0 !important;
}

.message-section .message-highlight{
  color:#07446d !important;
  font-weight:700 !important;
}

.message-section .message-closing{
  width:350px !important;
  max-width:100% !important;
  margin:32px auto 20px !important;
  color:#07446d !important;
  font-size:17.5px !important;
  line-height:30px !important;
  letter-spacing:.05em !important;
  font-weight:700 !important;
  text-align:center !important;
}

.message-section .message-closing > span{
  display:block !important;
  white-space:nowrap !important;
}

.message-section .doctor-sign{
  width:350px !important;
  max-width:100% !important;
  margin:0 auto 28px !important;
  padding-right:4px !important;
  color:#2e2e2e !important;
  font-size:12px !important;
  line-height:1.6 !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:right !important;
}

.message-section .video-caption{
  margin-top:0 !important;
}

/* 390px未満でも見出し・締めの意図した2行を維持しやすくする */
@media (max-width:389px){
  .message-section .message-subtitle,
  .message-section .message-copy,
  .message-section .message-closing,
  .message-section .doctor-sign{
    width:calc(100% - 4px) !important;
  }

  .message-section .message-subtitle{
    font-size:16.5px !important;
    letter-spacing:.04em !important;
  }

  .message-section .message-closing{
    font-size:16px !important;
    letter-spacing:.015em !important;
  }
}


/* =========================================================
   v80 — B-1 医師メッセージ PSD実測による再構築
   PSD layer38: x=41 / w=699 / 行送り60px
   PSD layer39: 動画キャプション y=6840〜6920
   PSD layer40: 動画サムネイル y=6938
   B-1医師メッセージ以外は変更しない
========================================================= */

/* PSD x=41px → Web x=20.5px / w=699px → 349.5px */
.message-section .message-copy--psd-exact{
  width:349.5px !important;
  max-width:none !important;
  margin-left:0.5px !important;
  margin-right:0 !important;
  padding:0 !important;
}

.message-section .message-copy--psd-exact .b1-psd-paragraph{
  width:349.5px !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  font-size:15.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important; /* PSD Tracking 75 */
  text-align:left !important;
}

/* PSDの行送り60px → Web 30px。段落の追加余白は0 */
.message-section .b1-psd-line{
  display:block !important;
  width:349.5px !important;
  height:30px !important;
  min-height:30px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  font-size:15.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
}

/* PSDで右端まで割付されている行。
   文字幅の推測ではなくブラウザの均等割付を使用 */
.message-section .b1-psd-line--full{
  text-align:justify !important;
  text-align-last:justify !important;
  text-justify:inter-character !important;
}

/* PSDで短く終わっている文末・引用行 */
.message-section .b1-psd-line--short{
  text-align:left !important;
  text-align-last:left !important;
}

/* 青太字強調 */
.message-section .message-highlight{
  color:#07446d !important;
  font-weight:700 !important;
}

/* 1つ目見出し：PSD text layer開始位置に合わせる */
.message-section .message-subtitle--psd{
  width:349.5px !important;
  max-width:none !important;
  margin-left:0.5px !important;
  margin-right:0 !important;
  margin-bottom:29.5px !important;
  padding:0 !important;
  color:#07446d !important;
  font-size:20px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  font-weight:700 !important;
  text-align:center !important;
}
.message-section .message-subtitle--psd > span{
  display:block !important;
  height:30px !important;
  line-height:30px !important;
  white-space:nowrap !important;
}

/* 第1本文最終行 → 第2見出し：PSD実測84px → Web42px */
.message-section .message-subtitle--second-psd{
  margin-top:42px !important;
}

/* 第2本文最終行 → 締め：PSD実測61px → Web30.5px */
.message-section .message-closing--psd{
  width:349.5px !important;
  max-width:none !important;
  margin:30.5px 0 0 0.5px !important;
  padding:0 !important;
  color:#07446d !important;
  font-size:20px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  font-weight:700 !important;
  text-align:left !important;
}
.message-section .message-closing--psd > span{
  display:block !important;
  height:30px !important;
  line-height:30px !important;
  white-space:nowrap !important;
}

/* 締め2行目 → 署名：PSD実測59px → Web29.5px */
.message-section .doctor-sign--psd{
  width:349.5px !important;
  max-width:none !important;
  margin:29.5px 0 0 0.5px !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:right !important;
}

/* 署名表示 top→動画キャプション表示 top:
   PSD 6727→6840 =113px → Web 56.5px
   署名1行30pxを差し引き、margin-top 26.5px */
.message-section .video-caption--psd{
  width:140px !important;           /* PSD layer39 w=280px */
  max-width:none !important;
  margin:26.5px auto 0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;    /* PSD 2行の開始差51px */
  letter-spacing:.075em !important;
  text-align:center !important;
}
.message-section .video-caption--psd > span{
  display:block !important;
  height:25.5px !important;
  line-height:25.5px !important;
  white-space:nowrap !important;
}

/* PSD動画サムネイル layer40: 503px幅 → Web251.5px
   キャプション直後に配置。PSD上の見える文字末端→動画は約9px */
.message-section .video-thumbnail--psd{
  width:251.5px !important;
  max-width:none !important;
  margin:0 auto !important;
}

/* 390px未満だけは画面内収まりを優先 */
@media (max-width:389px){
  .message-section .message-copy--psd-exact,
  .message-section .message-copy--psd-exact .b1-psd-paragraph,
  .message-section .b1-psd-line,
  .message-section .message-subtitle--psd,
  .message-section .message-closing--psd,
  .message-section .doctor-sign--psd{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
  }
}


/* =========================================================
   v81 — B-1 医師メッセージ
   右端切れ・動画までの余白をPSD実表示で再調整
   B-1医師メッセージ以外は変更しない

   PSD実表示:
   本文 visible left ≈ 43〜47 / right ≈ 735〜743
   代表的な文字幅 ≈ 694px → Web ≈ 347px
   署名 glyph top 6728
   動画キャプション glyph top 6835
   動画画像 top 6938
========================================================= */

/* 本文ボックス自体はPSD text layer 699px → 349.5pxを維持 */
.message-section .message-copy--psd-exact{
  width:349.5px !important;
  max-width:none !important;
  overflow:visible !important;
}

/* PSDの可視文字領域に合わせる。箱端まで無理に伸ばさない */
.message-section .message-copy--psd-exact .b1-psd-paragraph{
  width:349.5px !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  font-size:15px !important;
  line-height:30px !important;
  letter-spacing:0 !important;
}

.message-section .message-copy--psd-exact .b1-psd-line{
  width:347.5px !important;
  max-width:none !important;
  height:30px !important;
  min-height:30px !important;
  margin:0 0 0 1px !important;
  padding:0 !important;
  overflow:visible !important;
  white-space:nowrap !important;
  font-size:15px !important;
  line-height:30px !important;
  letter-spacing:0 !important;
}

/* 右端まで通る行：
   1文字ずつ均等配置し、最後の文字を347.5px内に必ず収める */
.message-section .message-copy--psd-exact .b1-psd-line--full{
  display:flex !important;
  align-items:baseline !important;
  justify-content:space-between !important;
  text-align:initial !important;
  text-align-last:auto !important;
}

.message-section .b1-justify-char{
  display:inline-block !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  font-size:15px !important;
  line-height:30px !important;
  letter-spacing:0 !important;
}

.message-section .b1-justify-char--highlight{
  color:#07446d !important;
  font-weight:700 !important;
}

/* 文末の短い行はPSDどおり左揃え */
.message-section .message-copy--psd-exact .b1-psd-line--short{
  display:block !important;
  text-align:left !important;
  text-align-last:left !important;
  letter-spacing:0 !important;
}

/* 署名→動画キャプション:
   PSD glyph top差 6835-6728 =107px → Web 53.5px
   署名line-height 30pxを引き margin-top 23.5px */
.message-section .video-caption--psd{
  width:140px !important;
  max-width:none !important;
  margin:23.5px auto 0 !important;
  padding:0 !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  text-align:center !important;
}

/* キャプション1行目top→画像top:
   PSD 6938-6835=103px → Web51.5px
   25.5px×2行 + 0.5px */
.message-section .video-thumbnail--psd{
  width:251.5px !important;
  max-width:none !important;
  margin:0.5px auto 0 !important;
}

/* 375px等でもPSD幅を勝手に縮めず、画面中央へ移動して右端切れを防ぐ */
@media (max-width:389px){
  .message-section .message-copy--psd-exact{
    width:349.5px !important;
    max-width:none !important;
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
  }

  .message-section .message-copy--psd-exact .b1-psd-paragraph{
    width:349.5px !important;
    max-width:none !important;
  }

  .message-section .message-copy--psd-exact .b1-psd-line{
    width:347.5px !important;
    max-width:none !important;
  }
}


/* =========================================================
   v82 — B-1 締め文1行目の右端揃えのみ修正
   PSD基準：1行目は左右端まで均等配置、2行目は左揃え
   その他は変更しない
========================================================= */

.message-section .message-closing--psd{
  width:349.5px !important;
  max-width:none !important;
  overflow:visible !important;
}

/* 本文で確定した可視幅347.5pxに合わせる */
.message-section .message-closing--psd .b1-closing-line--full{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:347.5px !important;
  height:30px !important;
  line-height:30px !important;
  margin-left:1px !important;
  margin-right:0 !important;
  white-space:nowrap !important;
  letter-spacing:0 !important;
}

.message-section .message-closing--psd .b1-closing-char{
  display:inline-block !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#07446d !important;
  font-size:20px !important;
  line-height:30px !important;
  letter-spacing:0 !important;
  font-weight:700 !important;
}

.message-section .message-closing--psd .b1-closing-line--short{
  display:block !important;
  width:347.5px !important;
  height:30px !important;
  line-height:30px !important;
  margin-left:1px !important;
  white-space:nowrap !important;
  color:#07446d !important;
  font-size:20px !important;
  letter-spacing:.075em !important;
  font-weight:700 !important;
  text-align:left !important;
}


/* =========================================================
   v84 — 症状リスト最終項目の改行固定のみ
   クライアント端末で「て」だけ次行に落ちる現象を防止
   その他は変更しない
========================================================= */
.symptom-section .symptom-last-line{
  display:inline-block !important;
  white-space:nowrap !important;
}

/* 1行目が端末差で折れないよう、ごくわずかに字間を詰める */
.symptom-section .check-list li:last-child .symptom-last-line:first-child{
  letter-spacing:-0.015em !important;
}


/* =========================================================
   v88 — PSD実測修正版
   B-7「薬物治療の副作用リスクについて」＋フッダーのみ

   PSD右端アートボード実測:
   ・カード幅 700px → 350px
   ・本文可視幅 約658px → 329px
   ・見出し高 80px → 40px
   ・本文行送り 51px → 25.5px
   ・カード本体総高 約1400px → 700px
   ・本文は黒。青強調なし
   ・フッダー開始〜終了 約793px → 396.5px
========================================================= */

/* ---------- B-7 薬物治療カード ---------- */
.notice-card--drugrisk-psd{
  width:350px !important;
  max-width:350px !important;
  height:700px !important;
  min-height:700px !important;
  margin:0 auto 24px !important;
  padding:0 !important;
  border-radius:5px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd h3{
  width:100% !important;
  height:40px !important;
  min-height:40px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#b0ebfe !important;
  color:#07446d !important;
  font-size:17.5px !important;
  line-height:25.5px !important;
  letter-spacing:.05em !important;
  font-weight:700 !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd .b7-drug-body{
  width:329px !important;
  height:660px !important;
  margin:0 auto !important;
  padding:15px 0 17.5px !important;
  box-sizing:border-box !important;
  color:#2e2e2e !important;
  font-weight:400 !important;
}

.notice-card--drugrisk-psd .b7-drug-p{
  width:329px !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:left !important;
}

.notice-card--drugrisk-psd .b7-drug-line{
  display:block !important;
  width:329px !important;
  height:25.5px !important;
  min-height:25.5px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  font-weight:400 !important;
}

.notice-card--drugrisk-psd .b7-drug-line--full{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  letter-spacing:0 !important;
  text-align:initial !important;
  text-align-last:auto !important;
}

.notice-card--drugrisk-psd .b7-drug-char{
  display:inline-block !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

.notice-card--drugrisk-psd .b7-drug-line--short{
  text-align:left !important;
  text-align-last:left !important;
  letter-spacing:.075em !important;
}

/* PSDでは箇条書き前だけ約9px、後だけ約6.5px空く */
.notice-card--drugrisk-psd .b7-drug-list{
  width:329px !important;
  margin:9px 0 6.5px !important;
  padding:0 !important;
  list-style:none !important;
}

.notice-card--drugrisk-psd .b7-drug-list li{
  position:relative !important;
  width:329px !important;
  height:25.5px !important;
  margin:0 !important;
  padding:0 0 0 17px !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:left !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd .b7-drug-list li::before{
  content:"・" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#2e2e2e !important;
}

/* strongが残ってもPSD通り黒・通常ウェイト */
.notice-card--drugrisk-psd strong{
  color:#2e2e2e !important;
  font-weight:400 !important;
}

/* ---------- Footer ---------- */
/*
 PSD:
 footer top 約6272 / end 約7065 → 793px ≒ 396.5px
 clinic glyph left 73、LP実左端6 → 67px ≒ 33.5px
 nav line pitch 約60px → 30px
 copyright line pitch 約48px → 24px
*/
.footer{
  min-height:396.5px !important;
  height:396.5px !important;
}

.footer .footer-inner{
  height:396.5px !important;
  padding:22.5px 33.5px 43.5px !important;
  box-sizing:border-box !important;
}

.footer .footer-clinic{
  margin:0 0 22px !important;
  padding:0 !important;
  color:#fff !important;
  font-size:20px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:left !important;
}

.footer .footer-nav{
  margin:0 !important;
  padding:0 !important;
  gap:0 !important;
}

.footer .footer-nav a{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:15.5px !important;
  line-height:30px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
}

.footer .copyright{
  margin:20.5px auto 0 !important;
  padding:0 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:24px !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}


/* =========================================================
   v98 — 389px以下 B-2/B-3 PSD実データ完全一致表示
   今回アップロードされたPSD[0]を直接レンダリングし、
   identifyで得た実背景レイヤー境界をそのまま使用。
   B-2: x838 y45 w784 h2688
   B-3: x1719 y1 w783 h2850
========================================================= */

.b23-psd-exact{
  display:none;
}

@media (max-width:389px){
  /* 旧390px固定HTMLはこの幅だけ表示しない */
  .tongue-about,
  .tongue-features,
  .causes-section,
  .strengths-section{
    display:none !important;
  }

  .b23-psd-exact{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  .b23-psd-exact img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
}


/* =========================================================
   v100 — B-3余白 / B-7薬剤カード左右余白修正
========================================================= */

/* ---------- B-7 薬剤カード ----------
   他のnotice-cardと同じ可変幅ルールへ統一 */
.notice-card--drugrisk-psd{
  width:352px !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto 22px !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd h3{
  width:100% !important;
  max-width:100% !important;
  min-height:42px !important;
  height:auto !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
}

/* 他のB-7カードと同じ「カード幅 - 22px」の本文幅 */
.notice-card--drugrisk-psd .b7-drug-body{
  width:329.5px !important;
  max-width:calc(100% - 22px) !important;
  height:auto !important;
  margin:0 auto !important;
  padding:20px 0 22px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.notice-card--drugrisk-psd .b7-drug-p{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.notice-card--drugrisk-psd .b7-drug-line{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* 右端揃えの行は、利用可能な本文幅いっぱいで均等配置 */
.notice-card--drugrisk-psd .b7-drug-line--full{
  display:flex !important;
  width:100% !important;
  max-width:100% !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}

/* 短い行は左揃え */
.notice-card--drugrisk-psd .b7-drug-line--short{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
}

/* 箇条書きも他カードと同じ本文幅 */
.notice-card--drugrisk-psd .b7-drug-list{
  width:100% !important;
  max-width:100% !important;
  margin:9px 0 6.5px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd .b7-drug-list li{
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:25.5px !important;
  padding-left:17px !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  box-sizing:border-box !important;
}

/* 360px以下でもカード内に確実に収める */
@media (max-width:389px){
  .notice-card--drugrisk-psd{
    width:100% !important;
    max-width:100% !important;
  }

  .notice-card--drugrisk-psd .b7-drug-body{
    width:auto !important;
    max-width:none !important;
    margin-left:11px !important;
    margin-right:11px !important;
  }

  .notice-card--drugrisk-psd .b7-drug-p,
  .notice-card--drugrisk-psd .b7-drug-line,
  .notice-card--drugrisk-psd .b7-drug-list,
  .notice-card--drugrisk-psd .b7-drug-list li{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* 端末差で1文字だけ切れるのを防止 */
  .notice-card--drugrisk-psd .b7-drug-char{
    flex:0 1 auto !important;
    min-width:0 !important;
  }
}


/* =========================================================
   v101 — B-3余白 / B-7薬剤カード統一
========================================================= */

/* ---------- B-7 薬剤カード：他のnotice-cardと完全に同じ外寸 ---------- */
.notice-card--drugrisk-psd{
  width:352px !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 auto 22px !important;
  padding:0 !important;
  border-radius:5px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#fff !important;
}

.notice-card--drugrisk-psd h3{
  width:100% !important;
  min-height:42px !important;
  height:auto !important;
  margin:0 !important;
  padding:8px 10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  font-size:17.5px !important;
  line-height:25.5px !important;
  letter-spacing:.05em !important;
}

/* 他のB-7カードと同じ本文幅 */
.notice-card--drugrisk-psd .b7-drug-body{
  width:329.5px !important;
  max-width:calc(100% - 22px) !important;
  height:auto !important;
  margin:0 auto !important;
  padding:20px 0 22px !important;
  box-sizing:border-box !important;
  color:#2e2e2e !important;
}

/* 他カード本文と同じ文字・行送り */
.notice-card--drugrisk-psd .b7-drug-p{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  text-align:left !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd .b7-drug-line{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:25.5px !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  font-weight:400 !important;
  box-sizing:border-box !important;
}

/* PSDで右端まで揃える行 */
.notice-card--drugrisk-psd .b7-drug-line--full{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  width:100% !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

.notice-card--drugrisk-psd .b7-drug-char{
  display:inline-block !important;
  flex:0 0 auto !important;
  min-width:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
  font-weight:400 !important;
}

/* 短い行は他カード同様、左揃え */
.notice-card--drugrisk-psd .b7-drug-line--short{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  text-align:left !important;
  text-align-last:left !important;
  letter-spacing:.075em !important;
}

/* 箇条書き：本文と同じ幅・同じ行送り */
.notice-card--drugrisk-psd .b7-drug-list{
  width:100% !important;
  max-width:100% !important;
  margin:8px 0 !important;
  padding:0 0 0 1.4em !important;
  box-sizing:border-box !important;
  list-style:disc outside !important;
}

.notice-card--drugrisk-psd .b7-drug-list li{
  position:static !important;
  width:auto !important;
  max-width:100% !important;
  min-height:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:400 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd .b7-drug-list li::before{
  content:none !important;
}

/* 389px以下：他のB-7カードと同様にカード全体だけ可変幅
   本文左右余白は11pxを維持 */
@media (max-width:389px){
  .notice-card--drugrisk-psd{
    width:calc(100% - 40px) !important;
    max-width:352px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .notice-card--drugrisk-psd .b7-drug-body{
    width:calc(100% - 22px) !important;
    max-width:329.5px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .notice-card--drugrisk-psd .b7-drug-line--full{
    width:100% !important;
  }
}


/* =========================================================
   v102 — v101最終補正
========================================================= */

@media (max-width:389px){

  /* 「当院の4つの強み」終了後の余白を確保 */
  .b23-psd-exact img:last-child{
    margin-bottom:24px !important;
  }

  /* B-7薬剤カード：
     他のnotice-cardと同じく 352px / max-width:100% に統一。
     独自の左右40px減算はしない。 */
  .notice-card--drugrisk-psd{
    width:352px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .notice-card--drugrisk-psd .b7-drug-body{
    width:329.5px !important;
    max-width:calc(100% - 22px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 狭幅で右端揃え行が1文字だけ切れないよう、
     glyph総幅が本文幅を超える場合だけ均等に縮める */
  .notice-card--drugrisk-psd .b7-drug-line--full{
    gap:0 !important;
  }

  .notice-card--drugrisk-psd .b7-drug-char{
    flex:0 1 auto !important;
  }
}


/* =========================================================
   v103 — PSD実測最終補正
   ・PSD本文フォント: NotoSansJP-Medium
   ・PSD見出し: NotoSansJP-Bold
   ・B7 card: 703px -> 351.5px
   ・B7 body: 659px -> 329.5px
   ・B7 line pitch: 51px -> 25.5px
========================================================= */

/* ---------- B-3以降：PSDと同じNoto Sans JP Medium ---------- */
.causes-section,
.strengths-section,
.consult-section,
.flow-section,
.price-section,
.profile-section,
.faq-section,
.notice-section,
.final-cta,
.footer{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-weight:500;
}

.causes-section p,
.causes-section li,
.strengths-section p,
.strengths-section li,
.consult-section p,
.consult-section li,
.flow-section p,
.flow-section li,
.price-section p,
.price-section li,
.profile-section p,
.profile-section li,
.faq-section p,
.faq-section li,
.notice-section p,
.notice-section li,
.final-cta p,
.footer p,
.footer a{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-weight:500 !important;
}

/* 見出しはPSDのBold */
.causes-section h2,
.causes-section h3,
.strengths-section h2,
.strengths-section h3,
.consult-section h2,
.consult-section h3,
.flow-section h2,
.flow-section h3,
.price-section h2,
.price-section h3,
.profile-section h2,
.profile-section h3,
.faq-section h2,
.faq-section h3,
.notice-section h2,
.notice-section h3,
.final-cta h2,
.footer .footer-clinic{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-weight:700 !important;
}

/* ---------- B-7：全カードをPSD基準幅へ ----------
   390px基準ではカード351.5px・本文329.5px。
   オンライン診療カードも含め、既存の固定改行をそのまま維持する。 */
.notice-section .notice-card{
  width:351.5px !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.notice-section .notice-card > p{
  width:329.5px !important;
  max-width:calc(100% - 22px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:500 !important;
}

/* オンライン診療など既存B7固定行 */
.notice-section .b7-line{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  font-weight:500 !important;
}

.notice-section .b7-line--full > .b7-char{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  font-weight:500 !important;
}

/* ---------- 薬剤カード ----------
   他B7カードと同じp / b7-line構造に統一。
   PSD本文は1レイヤー24行なので段落間マージンを入れない。 */
.notice-card--drugrisk-psd{
  width:351.5px !important;
  max-width:100% !important;
  min-height:700.5px !important;
  height:auto !important;
  margin:0 auto 22px !important;
  padding:0 !important;
  overflow:hidden !important;
}

.notice-card--drugrisk-psd h3{
  min-height:42px !important;
  height:42px !important;
  margin:0 !important;
  padding:8px 10px !important;
  box-sizing:border-box !important;
}

.notice-card--drugrisk-psd > p.b7-drug-standard{
  width:329.5px !important;
  max-width:calc(100% - 22px) !important;
  margin:0 auto !important;
  padding:21.5px 0 23.5px !important;
  box-sizing:border-box !important;
  color:#2e2e2e !important;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:.075em !important;
  font-weight:500 !important;
}

.notice-card--drugrisk-psd .b7-fixed-lines{
  display:block !important;
  width:100% !important;
}

.notice-card--drugrisk-psd .b7-line{
  display:block !important;
  width:100% !important;
  min-height:25.5px !important;
  height:25.5px !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  color:#2e2e2e !important;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  font-weight:500 !important;
}

.notice-card--drugrisk-psd .b7-line--full{
  display:flex !important;
  justify-content:space-between !important;
  align-items:baseline !important;
  letter-spacing:0 !important;
  text-align:initial !important;
  text-align-last:auto !important;
}

.notice-card--drugrisk-psd .b7-line--full > .b7-char{
  display:inline-block !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:0 !important;
  color:#2e2e2e !important;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:25.5px !important;
  letter-spacing:0 !important;
  font-weight:500 !important;
}

.notice-card--drugrisk-psd .b7-line--short{
  text-align:left !important;
  text-align-last:left !important;
  letter-spacing:.075em !important;
}

/* ---------- 352〜389px ----------
   PSDの351.5pxカード幅を維持して、オンライン診療の改行を変えない。
   外側余白だけviewportに合わせる。 */
@media (min-width:352px) and (max-width:389px){
  .notice-section{
    padding-left:calc((100vw - 351.5px) / 2) !important;
    padding-right:calc((100vw - 351.5px) / 2) !important;
  }

  .notice-section .content{
    width:351.5px !important;
    max-width:351.5px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .notice-section .notice-card{
    width:351.5px !important;
    max-width:351.5px !important;
  }

  .notice-section .notice-card > p,
  .notice-card--drugrisk-psd > p.b7-drug-standard{
    width:329.5px !important;
    max-width:329.5px !important;
  }
}

/* ---------- 351px以下 ----------
   351.5px PSDカードを比例縮小した寸法で表示。
   改行構造はHTML側で固定したまま。 */
@media (max-width:351px){
  .notice-section{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .notice-section .content{
    width:100vw !important;
    max-width:100vw !important;
  }

  .notice-section .notice-card{
    width:100vw !important;
    max-width:100vw !important;
  }

  .notice-section .notice-card > p,
  .notice-card--drugrisk-psd > p.b7-drug-standard{
    width:93.74vw !important; /* 329.5 / 351.5 */
    max-width:93.74vw !important;
    font-size:4.41vw !important; /* 15.5 / 351.5 */
    line-height:7.25vw !important; /* 25.5 / 351.5 */
  }

  .notice-section .b7-line,
  .notice-section .b7-line--full > .b7-char{
    font-size:4.41vw !important;
    line-height:7.25vw !important;
  }

  .notice-card--drugrisk-psd .b7-line{
    height:7.25vw !important;
    min-height:7.25vw !important;
  }
}


/* =========================================================
   v104 — モバイルB-4〜B-7 PSD完全一致 / 前半本文weight統一
========================================================= */

.mobile-psd-b4b7{display:none;}

/* 「舌痛症とは」より前の本文をPSDのNoto Sans JP Mediumへ統一 */
.hero p,
.symptom-section p,
.symptom-section li,
.section--point p,
.message-section p,
.message-section li{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-weight:500 !important;
}

@media (max-width:389px){

  /* B-4〜B-7のHTML版をモバイルだけ非表示 */
  .consult-section,
  .flow-section,
  .price-section,
  .profile-section,
  .faq-section,
  .notice-section{
    display:none !important;
  }

  .mobile-psd-b4b7{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  .mobile-psd-art{
    position:relative !important;
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }

  .mobile-psd-art img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  /* B-4 CTA clickable overlays.
     Coordinates are based on the PSD artboard crop 780px wide. */
  .mobile-psd-cta{
    position:absolute !important;
    display:block !important;
    z-index:5 !important;
    background:transparent !important;
  }

  /* PSD: x2599..3304 / y1173..1320, crop origin x2562/y39 */
  .mobile-psd-cta--b4-main{
    left:4.7436% !important;
    top:30.0318% !important;
    width:90.3846% !important;
    height:3.8930% !important;
  }

  /* STEP01 booking link area */
  .mobile-psd-cta--b4-step{
    left:26.2821% !important;
    top:43.9883% !important;
    width:62.6923% !important;
    height:2.3305% !important;
  }
}


/* =========================================================
   v105 — B-1本文 / 締め位置 / STEP・Q&A下余白 PSD補正
========================================================= */

/* ---------- B-1 医師メッセージ本文 ----------
   PSD layer38: x=41 / w=699 / 行送り60px
   Web換算: x=20.5 / w=349.5 / 行送り30px
   PSD内フォント: NotoSansJP-Medium
*/
.message-section .message-copy--psd-exact,
.message-section .message-copy--psd-exact .b1-psd-paragraph{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-weight:500 !important;
}

.message-section .message-copy--psd-exact .b1-psd-paragraph,
.message-section .message-copy--psd-exact .b1-psd-line,
.message-section .message-copy--psd-exact .b1-justify-char{
  font-size:15.5px !important;
  line-height:30px !important;
  font-weight:500 !important;
}

/* 強調箇所だけBoldを維持 */
.message-section .message-copy--psd-exact .message-highlight,
.message-section .message-copy--psd-exact .b1-justify-char--highlight{
  font-weight:700 !important;
}

/* ---------- 「ぜひ一緒に〜」 ----------
   上の本文と同じ左端・同じ本文幅へ揃える */
.message-section .message-closing--psd{
  width:349.5px !important;
  max-width:none !important;
  margin-left:0.5px !important;
  margin-right:0 !important;
}

.message-section .message-closing--psd .b1-closing-line--full,
.message-section .message-closing--psd .b1-closing-line--short{
  width:347.5px !important;
  margin-left:1px !important;
  margin-right:0 !important;
}

/* 389px以下でも本文と締めの左右位置を完全に同じにする */
@media (max-width:389px){
  .message-section .message-copy--psd-exact,
  .message-section .message-copy--psd-exact .b1-psd-paragraph,
  .message-section .message-subtitle--psd,
  .message-section .message-closing--psd,
  .message-section .doctor-sign--psd{
    width:calc(100vw - 40px) !important;
    max-width:calc(100vw - 40px) !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .message-section .message-copy--psd-exact .b1-psd-line,
  .message-section .message-closing--psd .b1-closing-line--full,
  .message-section .message-closing--psd .b1-closing-line--short{
    width:calc(100vw - 42px) !important;
    max-width:calc(100vw - 42px) !important;
    margin-left:1px !important;
    margin-right:0 !important;
  }

  .message-section .message-copy--psd-exact .b1-psd-paragraph,
  .message-section .message-copy--psd-exact .b1-psd-line,
  .message-section .message-copy--psd-exact .b1-justify-char{
    font-size:15.5px !important;
    line-height:30px !important;
    font-weight:500 !important;
  }
}


/* =========================================================
   v106 — B-1右切れ / 右端揃え / B-2特徴下余白
   PSD 390px基準を389px以下では比例縮小
========================================================= */

@media (max-width:389px){

  /* PSDの左右40px（20px×2）も画面幅に比例して縮小 */
  .message-section .content{
    padding-left:5.128205vw !important;   /* 20 / 390 */
    padding-right:5.128205vw !important;  /* 20 / 390 */
  }

  /* 本文ボックス：PSD 349.5px / visible line 347.5px */
  .message-section .message-copy--psd-exact,
  .message-section .message-copy--psd-exact .b1-psd-paragraph{
    width:89.615385vw !important;         /* 349.5 / 390 */
    max-width:89.615385vw !important;
    margin-left:0.128205vw !important;    /* 0.5 / 390 */
    margin-right:0 !important;
    overflow:visible !important;
  }

  .message-section .message-copy--psd-exact .b1-psd-line{
    width:89.102564vw !important;         /* 347.5 / 390 */
    max-width:89.102564vw !important;
    height:7.692308vw !important;         /* 30 / 390 */
    min-height:7.692308vw !important;
    margin-left:0.256410vw !important;    /* 1 / 390 */
    margin-right:0 !important;
    font-size:3.974359vw !important;      /* 15.5 / 390 */
    line-height:7.692308vw !important;    /* 30 / 390 */
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .message-section .message-copy--psd-exact .b1-justify-char{
    flex:0 0 auto !important;
    min-width:0 !important;
    font-size:3.974359vw !important;
    line-height:7.692308vw !important;
  }

  /* PSDで右端まで揃っている行は、左右端を完全一致 */
  .message-section .message-copy--psd-exact .b1-psd-line--full{
    display:flex !important;
    justify-content:space-between !important;
    align-items:baseline !important;
    width:89.102564vw !important;
    max-width:89.102564vw !important;
    text-align:initial !important;
    text-align-last:auto !important;
  }

  /* 短い行は左揃えのまま */
  .message-section .message-copy--psd-exact .b1-psd-line--short{
    text-align:left !important;
    text-align-last:left !important;
  }

  /* 「ぜひ一緒に〜」も本文と同じ左端・右端基準 */
  .message-section .message-closing--psd{
    width:89.615385vw !important;
    max-width:89.615385vw !important;
    margin-left:0.128205vw !important;
    margin-right:0 !important;
  }

  .message-section .message-closing--psd .b1-closing-line--full,
  .message-section .message-closing--psd .b1-closing-line--short{
    width:89.102564vw !important;
    max-width:89.102564vw !important;
    height:7.692308vw !important;
    line-height:7.692308vw !important;
    margin-left:0.256410vw !important;
    margin-right:0 !important;
  }

  .message-section .message-closing--psd .b1-closing-line--full{
    display:flex !important;
    justify-content:space-between !important;
    align-items:baseline !important;
  }

  .message-section .message-closing--psd .b1-closing-char,
  .message-section .message-closing--psd .b1-closing-line--short{
    font-size:5.128205vw !important;       /* 20 / 390 */
    line-height:7.692308vw !important;
  }
}


/* =========================================================
   v107 — B-1モバイル医師メッセージ PSD完全一致
========================================================= */

.b1-mobile-psd-exact{
  display:none;
}

@media (max-width:389px){

  /* ブラウザ文字幅差を排除するため、B-1本文はPSD実表示へ切替 */
  .message-section{
    display:none !important;
  }

  .b1-mobile-psd-exact{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 0 42px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .b1-mobile-psd-exact > img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  /* 動画部分だけ既存HTMLを維持 */
  .b1-mobile-video{
    width:100% !important;
    margin:0 !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
  }

  .b1-mobile-video .video-caption{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 10px !important;
    text-align:center !important;
    font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
    font-size:15.5px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
  }

  .b1-mobile-video .video-thumbnail{
    width:251.5px !important;
    max-width:100% !important;
    margin:0 auto !important;
  }
}


/* =========================================================
   v110 — 390px以上のスマホでもB-1/B-2をPSD実表示へ
   対象: 390px〜480px
========================================================= */

@media (min-width:390px) and (max-width:480px){

  /* ---------- B-1 医師メッセージ ---------- */
  .message-section{
    display:none !important;
  }

  .b1-mobile-psd-exact{
    display:block !important;
    width:390px !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 0 42px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .b1-mobile-psd-exact > img{
    display:block !important;
    width:390px !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
  }

  .b1-mobile-video{
    width:390px !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 20px !important;
    box-sizing:border-box !important;
  }

  .b1-mobile-video .video-caption{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto 10px !important;
    text-align:center !important;
    font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
    font-size:15.5px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
  }

  .b1-mobile-video .video-thumbnail{
    width:251.5px !important;
    max-width:100% !important;
    margin:0 auto !important;
  }

  /* ---------- B-2〜B-3 PSD実表示 ----------
     「舌痛症とは？」〜「舌痛症の特徴」も旧HTMLに戻さない */
  .tongue-about,
  .tongue-features,
  .causes-section,
  .strengths-section{
    display:none !important;
  }

  .b23-psd-exact{
    display:block !important;
    width:390px !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  .b23-psd-exact img{
    display:block !important;
    width:390px !important;
    max-width:100% !important;
    height:auto !important;
    margin:0 auto !important;
    padding:0 !important;
    border:0 !important;
  }

  .b23-psd-exact img:last-child{
    margin-bottom:24px !important;
  }
}


/* =========================================================
   v111 — 全デバイスでB-1/B-2/B-3をPSD実表示へ統一
   PC / Tablet / Smartphone 共通
========================================================= */

/* ---------- B-1 医師メッセージ ---------- */
.message-section{
  display:none !important;
}

.b1-mobile-psd-exact{
  display:block !important;
  width:390px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 0 42px !important;
  background:#fff !important;
  overflow:hidden !important;
}

.b1-mobile-psd-exact > img{
  display:block !important;
  width:390px !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
}

.b1-mobile-video{
  width:390px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 20px !important;
  box-sizing:border-box !important;
}

.b1-mobile-video .video-caption{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 10px !important;
  text-align:center !important;
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

.b1-mobile-video .video-thumbnail{
  width:251.5px !important;
  max-width:100% !important;
  margin:0 auto !important;
}

/* ---------- B-2/B-3 ----------
   「舌痛症とは？」〜「舌痛症の特徴」も全端末でPSD実表示に統一。
   同じ画像ブロック内のB-3もそのままPSD表示を維持。 */
.tongue-about,
.tongue-features,
.causes-section,
.strengths-section{
  display:none !important;
}

.b23-psd-exact{
  display:block !important;
  width:390px !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

.b23-psd-exact img{
  display:block !important;
  width:390px !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
}

.b23-psd-exact img:last-child{
  margin-bottom:24px !important;
}


/* =========================================================
   v112 — FV「舌のヒリヒリ・ピリピリに。」PSD実測
   PSD layer11 StyleRun:
   Font0 NotoSansJP-Bold   48.20274px -> Web 24.10137px
   Font1 NotoSansJP-Medium 31.67609px -> Web 15.838045px
   中黒                     33px       -> Web 16.5px
   Tracking 75 -> .075em
========================================================= */

.hero-pain{
  display:inline-flex !important;
  align-items:baseline !important;
  white-space:nowrap !important;
  color:#ff7782 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}

.hero-pain .hero-pain-big{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:24.10137px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.075em !important;
  margin:0 !important;
}

.hero-pain .hero-pain-small{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:15.838045px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.075em !important;
  margin:0 !important;
}

.hero-pain .hero-pain-dot{
  font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif !important;
  font-size:16.5px !important;
  line-height:1 !important;
  font-weight:500 !important;
  letter-spacing:.075em !important;
  margin:0 !important;
}


/* =========================================================
   v113 — FV「舌のヒリヒリ・ピリピリに。」PSD変形倍率込み実寸
   PSD TySh transform scale = 0.7260997344444
   780px comp -> 390px web
   48.20274 * 0.7260997344 / 2 = 17.5px
   31.67609 * 0.7260997344 / 2 = 11.5px
   33       * 0.7260997344 / 2 = 11.9806456px
========================================================= */

.hero-pain .hero-pain-big{
  font-size:17.5px !important;
  line-height:1 !important;
}

.hero-pain .hero-pain-small{
  font-size:11.5px !important;
  line-height:1 !important;
}

.hero-pain .hero-pain-dot{
  font-size:11.9806456px !important;
  line-height:1 !important;
}


/* =========================================================
   v114 — FVを780px PSD実表示に統一 / 全端末共通
   PSD crop: x0-780 / y45-1554
========================================================= */

/* 旧HTML FVは全端末で非表示 */
.hero-html{
  display:none !important;
}

/* LPは最大390pxなので、780px PSDを常に1/2比率で表示。
   390px未満はviewportに比例縮小。 */
.hero-psd-exact{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:390px !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
}

.hero-psd-exact > img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.hero-psd-exact__cta{
  position:absolute !important;
  z-index:5 !important;
  left:4.74358974% !important;
  top:83.76408217% !important;
  width:90.38461538% !important;
  height:9.74155070% !important;
  display:block !important;
  background:transparent !important;
}

/* =========================================================
   動画上キャプション：PSDどおり2行固定
   layer39: 280x81px @780px comp -> 約140x40.5px @390px
========================================================= */
.video-caption--psd{
  width:140px !important;
  max-width:140px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  white-space:normal !important;
}

.video-caption--psd span{
  display:block !important;
  width:100% !important;
  white-space:nowrap !important;
  text-align:center !important;
}

