/* Roomie revision 2026-09-25 */
.under main #top_info .u-tt-ja[data-display-title]{font-size:0;line-height:1.5;}
.under main #top_info .u-tt-ja[data-display-title]::after{content:attr(data-display-title);font-size:48px;line-height:1.5;font-weight:900;font-family:var(--font-ZenAntique);letter-spacing:0;}

.roomie-speech{display:flex;align-items:center;gap:18px;margin:24px 0 0;clear:both;}
.roomie-speech__character{width:104px;flex:0 0 104px;text-align:center;}
.roomie-speech__character img{width:92px;height:auto;display:block;margin:0 auto 5px;}
.roomie-speech__name{font-weight:900;font-family:var(--font-ZenAntique);font-size:15px;text-align:center;margin:0!important;}
.roomie-speech__bubble{min-height:116px;flex:1;background:url(../images/roomie_speech.png) center/100% 100% no-repeat;padding:28px 46px 30px 58px;display:flex;align-items:center;font-weight:700;line-height:1.8;margin:0!important;}

.roomie-info-comparison{background:#fff;border-radius:28px;padding:28px;box-shadow:0 5px 20px rgba(0,0,0,.08);margin:28px 0 0;}
.roomie-info-comparison__title{text-align:center;color:#999;font-weight:800;margin:0 0 16px!important;}
.roomie-info-comparison__item{border-radius:18px;padding:18px 22px;margin:0 0 14px;}
.roomie-info-comparison__item:last-child{margin-bottom:0;}
.roomie-info-comparison__item.green{background:#eafbf3;}
.roomie-info-comparison__item.red{background:#fff0f2;}
.roomie-info-comparison__item.pink{background:#fff0f7;}
.roomie-info-comparison__item.gray{background:#f5f6f7;}
.roomie-info-comparison__head{display:flex;justify-content:space-between;gap:16px;font-weight:900;margin:0 0 6px!important;}
.roomie-info-comparison__head .em{color:var(--pink);}
.roomie-info-comparison__item p:last-child{margin-bottom:0;}
.roomie-info-comparison__arrow{text-align:center;color:var(--pink);font-weight:900;font-size:22px;margin:10px 0!important;}

.roomie-strength-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:80px;}
.roomie-strength-grid section{padding:32px!important;border-radius:30px;background:#fafafa;box-shadow:0 4px 18px rgba(0,0,0,.05);margin:0;}
.roomie-strength-grid section:nth-child(3n+1){background:#fffdf0;}
.roomie-strength-grid section:nth-child(3n+2){background:#fff4f8;}
.roomie-strength-grid h3{font-size:28px;}

.roomie-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-bottom:80px;}
.roomie-card{border:2px solid #eee;border-radius:26px;padding:28px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.05);}
.roomie-card h3{font-size:25px;line-height:1.55;padding-left:28px;}
.roomie-card h3::before{width:9px;}
.roomie-card__img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin:0 0 20px;display:block;}
.roomie-card p:last-child{margin-bottom:0;}

.roomie-media-row{display:flex;align-items:center;gap:38px;margin-bottom:50px;padding:24px;border-radius:24px;background:#fff;box-shadow:0 3px 15px rgba(0,0,0,.04);}
.roomie-media-row{flex-direction:row-reverse;}
.roomie-media-row__img{width:36%;max-width:360px;flex:0 0 36%;border-radius:20px;}
.roomie-media-row__body{flex:1;}
.roomie-media-row__body h3{margin-bottom:18px;}

.roomie-risk-list{display:grid;grid-template-columns:1fr;gap:22px;margin-bottom:80px;}
.roomie-risk-item{border-radius:22px;background:#fff;padding:0 0 6px;}
.under main .roomie-risk-item h3{font-size:23px;line-height:1.6;margin-bottom:16px;}
.roomie-risk-tag{position:relative;display:inline-block;background:var(--pink);color:#fff;border-radius:6px;padding:5px 11px;margin:0 12px 6px 0;font-size:.72em;font-weight:900;vertical-align:middle;white-space:nowrap;}
.roomie-risk-tag::after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);border-width:6px 0 6px 9px;border-style:solid;border-color:transparent transparent transparent var(--pink);}
.roomie-risk-item p{padding:0 8px;}

.roomie-compare-stack{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:80px;}
.roomie-compare-box{border:3px solid #222;border-radius:26px;padding:30px;background:#fff;}
.roomie-compare-box.pink{border-color:var(--pink);}
.roomie-compare-box.yellow{border-color:var(--mcolor);}
.roomie-compare-box h3{font-size:26px;}

.roomie-label-list{list-style:none!important;margin:0 0 25px!important;padding:0!important;}
.roomie-label-list li{padding-left:0!important;margin-bottom:14px!important;line-height:1.8!important;}
.roomie-label-list li::before{display:none!important;}
.roomie-label{display:inline-block;background:var(--pink);color:#fff;border-radius:6px;padding:2px 10px;margin:0 7px 4px 0;font-weight:900;white-space:nowrap;}

.roomie-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px;}
.roomie-route-card{border:3px solid #222;border-radius:26px;padding:28px;background:#fff;}
.roomie-route-card.route1{border-color:var(--pink);}
.roomie-route-card.route4{border-color:var(--mcolor);}
.roomie-route-card h3{font-size:25px;margin-bottom:22px;}

.roomie-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:30px;}
.roomie-feature-card{border-radius:26px;padding:24px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.06);}
.roomie-feature-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px;margin-bottom:18px;}
.roomie-feature-card h3{font-size:24px;margin-bottom:14px;}
.roomie-feature-card p{margin-bottom:0;}

.roomie-step-img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto 16px;max-width:210px;}
.roomie-public-links a{color:var(--pink)!important;font-weight:800;text-decoration:underline;}
.roomie-supervisor-panel{background:#f7f4e8;border:1px solid #eadf9c;border-radius:32px;padding:30px 32px 34px;margin:0 0 55px;}
.roomie-supervisor-head{display:flex;align-items:flex-start;gap:24px;}
.roomie-supervisor-head__icon{width:116px;flex:0 0 116px;height:116px;border-radius:50%;background:#fff;border:3px solid #ead255;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.roomie-supervisor-head__icon img{display:block;width:72px;height:auto;}
.under main .roomie-supervisor-head__content h2{margin-bottom:12px;}
.roomie-supervisor-head__content p{margin-bottom:0;}
.roomie-supervisor-divider{height:1px;background:#e5d98b;margin:24px 0 18px;}
.roomie-supervisor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0;}
.roomie-supervisor-card{background:#fbfaf6;border:1px solid #e4d6a4;border-radius:22px;padding:22px 24px;margin:0!important;}
.roomie-supervisor-card h3{font-size:28px;line-height:1.45;margin-bottom:12px;}
.roomie-supervisor-card h3 .roomie-supervisor-accent{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pink);margin:0 10px 2px 0;vertical-align:middle;}
.roomie-supervisor-card p:last-child{margin-bottom:0;}
.roomie-supervisor-quote{margin-top:16px!important;padding:14px 18px 14px 52px;background:#fff8db;border:1px solid #e4cc63;border-radius:16px;font-weight:700;position:relative;}
.roomie-supervisor-quote::before{content:"";position:absolute;left:18px;top:16px;width:20px;height:20px;background:url(../images/roomie_supervisor_icon.png) center/contain no-repeat;opacity:.28;}
#road .roomie-compare-box h3{font-size:calc(32px + 5px);}
#road .roomie-compare-box .roomie-detail-title{font-size:calc(16px + 3px);font-weight:900;}

@media screen and (max-width:768px){
 .under main #top_info .u-tt-ja[data-display-title]::after{font-size:26px;}
 .roomie-speech{align-items:flex-end;gap:5px;}
 .roomie-speech__character{width:74px;flex-basis:74px;}
 .roomie-speech__character img{width:68px;}
 .roomie-speech__name{font-size:12px;}
 .roomie-speech__bubble{min-height:105px;padding:22px 22px 26px 30px;background-size:100% 100%;font-size:14px;}
 .roomie-info-comparison{padding:18px 14px;}
 .roomie-info-comparison__head{display:block;}
 .roomie-strength-grid,.roomie-card-grid,.roomie-compare-stack,.roomie-route-grid,.roomie-feature-grid,.roomie-supervisor-grid{grid-template-columns:1fr;gap:20px;margin-bottom:60px;}
 .roomie-strength-grid section{padding:22px!important;}
 .roomie-media-row{flex-direction:column;align-items:stretch;gap:18px;padding:18px;}
 .roomie-media-row__img{width:100%;max-width:none;flex-basis:auto;}
 .roomie-card{padding:20px;}
 .under main .roomie-risk-item h3{font-size:18px;}
 .roomie-risk-tag{font-size:.74em;padding:4px 9px;margin-right:9px;}
 .roomie-route-card,.roomie-compare-box{padding:20px;}
 #road .roomie-compare-box h3{font-size:27px;}
 .roomie-supervisor-panel{padding:20px 16px 22px;margin-bottom:45px;border-radius:24px;}
 .roomie-supervisor-head{display:block;}
 .roomie-supervisor-head__icon{width:86px;height:86px;flex-basis:auto;margin:0 auto 16px;}
 .roomie-supervisor-head__icon img{width:54px;}
 .roomie-supervisor-divider{margin:18px 0 16px;}
 .roomie-supervisor-card{padding:18px 16px;}
 .roomie-supervisor-card h3{font-size:22px;}
 .roomie-supervisor-quote{padding:12px 14px 12px 42px;font-size:14px;}
 .roomie-supervisor-quote::before{left:14px;top:14px;width:16px;height:16px;}
}

/* Book3 revision 2026-09-25 */
/* Media cards: heading first in DOM so SP order is heading -> illustration -> body. */
.roomie-media-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,36%);grid-template-areas:"title image" "body image";column-gap:38px;row-gap:10px;align-items:center;}
.roomie-media-row>h3{grid-area:title;margin:0!important;align-self:end;}
.roomie-media-row__img{grid-area:image;width:100%;max-width:360px;justify-self:end;}
.roomie-media-row__body{grid-area:body;align-self:start;}
.roomie-media-row__body>p:last-child{margin-bottom:0;}

/* Speech style reused from company-side share.html. */
.roomie-voice-note{margin:22px 0 42px;clear:both;}
.under main .roomie-voice-note .txt_pick2 p{margin-bottom:0;}

/* Illustrated flow: reduce excessive vertical whitespace and put title above artwork. */
.under main .list_step.roomie-illustrated-steps{margin-top:72px;}
.under main .roomie-illustrated-steps .step_name{margin:0 0 14px;text-align:left;min-height:58px;}
.under main .roomie-illustrated-steps .roomie-step-img{margin:0 auto 16px;}

/* Road comparison: no artificial min-height / no empty bordered column. */
#road .roomie-road-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start;margin:28px 0;}
#road .roomie-road-compare .roomie-road-compare__card{min-height:0!important;height:auto;margin:0!important;}
#road .roomie-road-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 28px;}
#road .roomie-road-detail{background:#fff;border:1px solid #eee;border-radius:20px;padding:22px;box-shadow:0 3px 14px rgba(0,0,0,.04);}
#road .roomie-road-detail .roomie-detail-title{font-size:19px!important;line-height:1.65;margin-bottom:10px;}
#road .roomie-road-detail p:last-child{margin-bottom:0;}

@media screen and (max-width:768px){
 .roomie-media-row{display:grid;grid-template-columns:1fr;grid-template-areas:"title" "image" "body";gap:12px;padding:16px;margin-bottom:28px;}
 .roomie-media-row>h3{grid-area:title;margin:0 0 4px!important;}
 .roomie-media-row__img{grid-area:image;width:100%;max-width:none;justify-self:stretch;margin:0 0 4px;}
 .roomie-media-row__body{grid-area:body;}
 .roomie-media-row__body p{margin-bottom:10px;}
 .roomie-voice-note{margin:16px 0 30px;}
 .under main .list_step.roomie-illustrated-steps{margin-top:36px;}
 .under main .roomie-illustrated-steps .step_name{min-height:0;margin:0 0 10px;text-align:center;}
 #road .roomie-road-compare{grid-template-columns:1fr;gap:18px;margin:20px 0;}
 #road .roomie-road-details{grid-template-columns:1fr;gap:14px;margin:18px 0 22px;}
 #road .roomie-road-detail{padding:18px 16px;}
}
.roomie-risk-list>.roomie-voice-note{grid-column:1/-1;}


/* Book6 revision 2026-09-25 */
/* Supervisor section: title centered and 4px smaller; the lead copy is removed in HTML. */
.under main .bg_under > .u_box_tt2{font-size:38px;text-align:center;}

/* Road: three supporting illustrations and tighter flow spacing. */
#road .roomie-road-detail__img{display:block;width:100%;max-width:230px;aspect-ratio:1/1;object-fit:contain;margin:14px auto 18px;}
#road .roomie-road-compare .pink{border-color:var(--pink)!important;}
#road .roomie-road-flow-note{clear:both;margin:18px 0 30px;line-height:2;}
#road .roomie-illustrated-steps .roomie-step-img,
#trouble .roomie-illustrated-steps .roomie-step-img{margin-bottom:8px;}

/* Trouble: keep the long risk phrase on one line on desktop. */
#trouble #trouble_ttl_02 h2 .c_pink{white-space:nowrap;}

/* Land: vertically center copy beside each illustration. */
#land .land-media-pair{display:flex;gap:65px;align-items:center;margin-top:10px;}
#land .land-media-pair .image_l,#land .land-media-pair .image_r{float:none;margin:0;flex:0 0 420px;}
#land .land-media-pair>p:not(.image_l):not(.image_r){flex:1;margin:0;}
#land .land-media-pair--image-right .image_r{order:2;}
#land .land-media-pair--image-right>p:not(.image_r){order:1;}
#land .land-scheme-section .image_l img,#land .land-scheme-section .image_r img{border-radius:0;}
#land #land_ttl_04 .roomie-label-list li{font-weight:inherit;}
#land #land_ttl_04 .roomie-label-list li.bold{font-weight:700;}

#share .roomie-share-compare-note{margin:20px 0 28px;}

@media screen and (max-width:768px){
 .under main .bg_under > .u_box_tt2{font-size:20px;}
 #trouble #trouble_ttl_02 h2 .c_pink{white-space:normal;}
 #land .land-media-pair{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-top:8px;}
 #land .land-media-pair .image_l,#land .land-media-pair .image_r{width:100%;flex-basis:auto;margin:0 auto 10px!important;order:1;}
 #land .land-media-pair>p:not(.image_l):not(.image_r){order:2;margin:0;}
 #road .roomie-road-detail__img{max-width:200px;margin:10px auto 14px;}
 #road .roomie-road-flow-note{margin:12px 0 22px;}
}

/* Book5 revision 2026-09-25 */
/* menu: large photo beneath the risk introduction */
#menu .roomie-menu-lead-image{
  margin:26px auto 36px;
  text-align:center;
}
#menu .roomie-menu-lead-image img{
  display:block;
  width:min(100%, 920px);
  height:auto;
  margin:0 auto;
  border-radius:22px;
}

/* menu: illustrations for the four solution routes */
#menu .roomie-route-card__img{
  display:block;
  width:min(100%, 360px);
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0 auto 22px;
}

/* menu: "selected reasons" cards are horizontal on PC.
   Copy sits around the vertical middle of the artwork; artwork stays on the right. */
#menu .roomie-feature-grid{
  grid-template-columns:1fr;
  gap:24px;
}
#menu .roomie-feature-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,42%);
  grid-template-areas:
    "title image"
    "body image";
  column-gap:34px;
  row-gap:10px;
  align-items:center;
  padding:28px 30px;
}
#menu .roomie-feature-card > img{
  grid-area:image;
  width:100%;
  max-width:430px;
  aspect-ratio:1/1;
  object-fit:contain;
  margin:0;
  justify-self:end;
  align-self:center;
  border-radius:18px;
}
#menu .roomie-feature-card > h3{
  grid-area:title;
  margin:0;
  align-self:end;
}
#menu .roomie-feature-card > p{
  grid-area:body;
  margin:0;
  align-self:start;
}

/* Keep the flow title immediately above the illustration. */
#menu .roomie-illustrated-steps .step_name{
  margin-bottom:10px;
}
#menu .roomie-illustrated-steps .roomie-step-img{
  margin-top:0;
}

@media screen and (max-width:768px){
  #menu .roomie-menu-lead-image{margin:18px auto 26px;}
  #menu .roomie-menu-lead-image img{width:100%;border-radius:16px;}
  #menu .roomie-route-card__img{width:min(100%,300px);margin:0 auto 18px;}
  /* SP order required by the instruction: heading -> body -> image. */
  #menu .roomie-feature-card{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "body"
      "image";
    gap:14px;
    padding:20px;
  }
  #menu .roomie-feature-card > h3{grid-area:title;align-self:auto;}
  #menu .roomie-feature-card > p{grid-area:body;align-self:auto;}
  #menu .roomie-feature-card > img{
    grid-area:image;
    width:100%;
    max-width:none;
    margin:4px auto 0;
    justify-self:stretch;
  }
}

/* Book7 revision 2026-09-25 */
/* ------------------------------------------------------------
   Common: speech / supervisor blocks
------------------------------------------------------------ */
.under main .roomie-voice-note{
  display:flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  margin:24px 0 42px;
}
.under main .roomie-voice-note .ic_pick2{flex:0 0 150px;}
.under main .roomie-voice-note .txt_pick2{
  width:auto!important;
  max-width:900px;
  flex:0 1 auto;
}
/* Supervisor introduction keeps the beige panel while removing decorative heading icons. */
.under main .bg_under .u-tt-name::before,
.under main .bg_under .u-tt-name::after{content:none!important;display:none!important;}
.under main .bg_under .roomie-supervisor-voice{margin-bottom:0;}

/* ------------------------------------------------------------
   CASE
------------------------------------------------------------ */
#case .case-stories-texture{
  padding:46px 38px;
  margin:18px 0 70px;
  border-radius:30px;
  background-color:#fffce8;
  background-image:
    radial-gradient(circle at 18% 20%,rgba(255,244,68,.22) 0 1px,transparent 1.5px),
    radial-gradient(circle at 82% 70%,rgba(255,213,83,.17) 0 1px,transparent 1.5px);
  background-size:24px 24px,30px 30px;
}
#case .case-stories-texture .case-story{
  background:#fff;
  border-radius:26px;
  padding:34px 34px 36px;
  margin:0 0 28px;
  box-shadow:0 5px 20px rgba(74,61,26,.06);
}
#case .case-stories-texture .case-story:last-child{margin-bottom:0;}
#case .case-stories-texture .case-story>h3{margin-top:0;}
#case #case_ttl_02 .box_under{display:flex;align-items:stretch;gap:28px;}
#case #case_ttl_02 .box_left,#case #case_ttl_02 .box_right{float:none;width:50%;display:flex;}
#case #case_ttl_02 .frame01,#case #case_ttl_02 .frame02{width:100%;height:100%;}
#case #case_ttl_02 .case-direct-voice{margin-top:20px;margin-bottom:0;}

/* ------------------------------------------------------------
   SHARE
------------------------------------------------------------ */
#share .box_under{display:flex;align-items:stretch;gap:28px;}
#share .box_under .box_left,#share .box_under .box_right{float:none;width:50%;display:flex;}
#share .box_under .frame01,#share .box_under .frame02{width:100%;height:100%;}
#share .roomie-voice-note{margin-top:18px;margin-bottom:34px;}

/* ------------------------------------------------------------
   LAND
------------------------------------------------------------ */
#land .land-media-pair--book7-right{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:46px;
  align-items:center;
  margin:18px 0 42px;
}
#land .land-media-pair--book7-right .image_r{order:2;width:100%;margin:0!important;float:none;}
#land .land-media-pair--book7-right .image_r img{display:block;width:100%;height:auto;max-width:390px;margin:0 auto;}
#land .land-media-pair--book7-right>p:not(.image_r){order:1;margin:0;}
#land .land-scheme-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px;
  margin:22px 0 62px;
}
#land .land-scheme-grid .land-scheme-section{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:26px 26px 28px;
  border:1px solid #e5e5e5;
  border-radius:24px;
  background:#fff;
}
#land .land-scheme-grid .land-scheme-section h3{margin:0 0 18px;}
#land .land-scheme-grid .land-scheme-image{margin:0 0 18px!important;text-align:center;}
#land .land-scheme-grid .land-scheme-image img{display:block;width:100%;max-width:420px;height:auto;margin:0 auto;border-radius:16px;}
#land .land-scheme-grid .land-scheme-body{margin:0!important;}
#land #land_ttl_04 .box_under{display:flex;align-items:stretch;gap:28px;}
#land #land_ttl_04 .box_left,#land #land_ttl_04 .box_right{float:none;width:50%;display:flex;}
#land #land_ttl_04 .frame01,#land #land_ttl_04 .frame02{width:100%;height:100%;}

/* ------------------------------------------------------------
   MENU
------------------------------------------------------------ */
#menu .roomie-route-grid{display:grid;grid-template-columns:1fr;gap:24px;}
#menu .roomie-route-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  grid-template-areas:"title image" "body image";
  column-gap:34px;
  row-gap:12px;
  align-items:center;
  border-color:var(--pink)!important;
  padding:28px 30px;
}
#menu .roomie-route-card h3{grid-area:title;margin:0;align-self:end;font-size:24px;line-height:1.55;}
#menu .roomie-route-card .roomie-route-card__img{grid-area:image;width:100%;max-width:300px;margin:0;justify-self:end;align-self:center;}
#menu .roomie-route-card ul{grid-area:body;margin:0;align-self:start;}
/* Reasons: title -> image -> body, 2 x 2, matched heights. */
#menu .roomie-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;}
#menu .roomie-feature-card{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:24px 26px 28px;
}
#menu .roomie-feature-card>h3{order:1;min-height:112px;margin:0 0 14px;align-self:auto;}
#menu .roomie-feature-card>img{order:2;width:100%;height:280px;aspect-ratio:auto;object-fit:contain;margin:0 auto 14px;}
#menu .roomie-feature-card>p{order:3;margin:0;align-self:auto;}

/* ------------------------------------------------------------
   STRENGTH
------------------------------------------------------------ */
#strength .roomie-strength-grid>section{
  display:flex;
  flex-direction:column;
  min-height:100%;
  border-radius:24px;
}
/* Book7 requested card palette: 3=yellow, 4=pink, 5=gray, 6=yellow. */
#strength .roomie-strength-grid>section:nth-child(1),
#strength .roomie-strength-grid>section:nth-child(4){background:#fffdf0;}
#strength .roomie-strength-grid>section:nth-child(2){background:#fff2f7;}
#strength .roomie-strength-grid>section:nth-child(3){background:#f7f7f7;}
#strength .roomie-strength-card__img{display:block;width:100%;max-width:390px;height:auto;aspect-ratio:1/1;object-fit:contain;margin:8px auto 18px;}
#strength .strength-funding-compare{display:flex;align-items:stretch;gap:28px;}
#strength .strength-funding-compare .box_left,#strength .strength-funding-compare .box_right{float:none;width:50%;display:flex;}
#strength .strength-funding-compare .frame01,#strength .strength-funding-compare .frame02{height:100%;width:100%;}

/* ------------------------------------------------------------
   Smartphone QA pass: readable headings, clear section rhythm,
   and no PC-only layout assumptions.
------------------------------------------------------------ */
@media screen and (max-width:767px){
  /* Remove author-forced narrow-screen line breaks; let the browser wrap naturally. */
  #case br.sp440,#share br.sp440,#land br.sp440,#menu br.sp440,#road br.sp440,#trouble br.sp440,#strength br.sp440{display:none!important;}

  /* More restrained heading scale for long Japanese headings. */
  #case main h2,#share main h2,#land main h2,#menu main h2,#road main h2,#trouble main h2,#strength main h2{
    font-size:21px!important;
    line-height:1.55!important;
    margin-bottom:22px!important;
    padding-bottom:10px!important;
  }
  #case main h3,#share main h3,#land main h3,#menu main h3,#road main h3,#trouble main h3,#strength main h3{
    font-size:18px!important;
    line-height:1.65!important;
    padding-left:22px;
  }
  #case main h3::before,#share main h3::before,#land main h3::before,#menu main h3::before,#road main h3::before,#trouble main h3::before,#strength main h3::before{width:6px;}

  /* Make section boundaries obvious rather than cramped. */
  #case main .inner>section,#share main .inner>section,#land main .inner>section,#menu main .inner>section,#road main .inner>section,#trouble main .inner>section,#strength main .inner>section{
    padding-bottom:54px;
  }
  #case main .inner>section+section,#share main .inner>section+section,#land main .inner>section+section,#menu main .inner>section+section,#road main .inner>section+section,#trouble main .inner>section+section,#strength main .inner>section+section{
    padding-top:8px;
  }

  /* Speech bubbles: icon + bubble remain paired and bubble only takes needed space. */
  .under main .roomie-voice-note{display:flex;width:100%;align-items:flex-end;margin:18px 0 34px;}
  .under main .roomie-voice-note .ic_pick2{flex:0 0 66px;width:66px!important;margin-right:12px!important;}
  .under main .roomie-voice-note .ic_pick2 .icon img{width:58px!important;height:auto;}
  .under main .roomie-voice-note .txt_pick2{flex:1 1 auto;width:auto!important;max-width:none;padding:14px 14px 15px;font-size:13px;line-height:1.7;}
  .under main .roomie-voice-note .txt-icon{font-size:11px;}

  /* Case */
  #case .case-stories-texture{padding:18px 12px;margin:12px 0 48px;border-radius:20px;}
  #case .case-stories-texture .case-story{padding:22px 16px 24px;margin-bottom:20px;border-radius:20px;}
  #case .case-stories-texture .case-story>h3{margin-bottom:16px!important;}
  #case .case-story__lead{gap:14px!important;}
  #case .case-story__detail{padding-top:14px;}
  #case #case_ttl_02 .box_under{display:block;}
  #case #case_ttl_02 .box_left,#case #case_ttl_02 .box_right{width:100%;display:block;}
  #case #case_ttl_02 .box_left{margin-bottom:20px;}

  /* Share */
  #share .box_under{display:block;}
  #share .box_under .box_left,#share .box_under .box_right{width:100%;display:block;}
  #share .box_under .box_left{margin-bottom:20px;}

  /* Land */
  #land .land-media-pair--book7-right{display:flex;flex-direction:column;gap:14px;margin:10px 0 36px;}
  #land .land-media-pair--book7-right .image_r{order:2;margin:0!important;}
  #land .land-media-pair--book7-right>p:not(.image_r){order:1;}
  #land .land-media-pair--book7-right .image_r img{max-width:320px;}
  #land .land-scheme-grid{grid-template-columns:1fr;gap:20px;margin:16px 0 48px;}
  #land .land-scheme-grid .land-scheme-section{padding:22px 16px 24px;}
  #land .land-scheme-grid .land-scheme-section h3{min-height:0;margin-bottom:14px!important;}
  #land #land_ttl_04 .box_under{display:block;}
  #land #land_ttl_04 .box_left,#land #land_ttl_04 .box_right{width:100%;display:block;}
  #land #land_ttl_04 .box_left{margin-bottom:20px;}

  /* Menu */
  #menu .roomie-route-card{display:flex;flex-direction:column;padding:20px 16px;gap:12px;}
  #menu .roomie-route-card h3{order:1;font-size:18px!important;margin:0!important;align-self:stretch;}
  #menu .roomie-route-card .roomie-route-card__img{order:2;width:100%;max-width:260px;margin:0 auto;align-self:auto;}
  #menu .roomie-route-card ul{order:3;margin:0;}
  #menu .roomie-feature-grid{grid-template-columns:1fr;gap:20px;}
  #menu .roomie-feature-card{padding:20px 16px 22px;}
  #menu .roomie-feature-card>h3{min-height:0;margin:0 0 12px!important;}
  #menu .roomie-feature-card>img{height:auto;max-height:280px;margin:0 auto 12px;}

  /* Strength */
  #strength .roomie-strength-card__img{max-width:300px;margin:4px auto 14px;}
  #strength .strength-funding-compare{display:block;}
  #strength .strength-funding-compare .box_left,#strength .strength-funding-compare .box_right{width:100%;display:block;}
  #strength .strength-funding-compare .box_left{margin-bottom:20px;}
  #strength .roomie-info-comparison__head{display:block;}
}


/* Book7 follow-up revision 2026-09-26 */
/* FLOW: tighten vertical whitespace around illustrations */
#menu .roomie-illustrated-steps .item,
#road .roomie-illustrated-steps .item,
#trouble .roomie-illustrated-steps .item{
  padding-top:18px!important;
  padding-bottom:20px!important;
}
#menu .roomie-illustrated-steps .step_name,
#road .roomie-illustrated-steps .step_name,
#trouble .roomie-illustrated-steps .step_name{
  min-height:0!important;
  margin:0 0 6px!important;
}
#menu .roomie-illustrated-steps .roomie-step-img,
#road .roomie-illustrated-steps .roomie-step-img,
#trouble .roomie-illustrated-steps .roomie-step-img{
  max-width:168px;
  margin:0 auto 6px!important;
}
#menu .roomie-illustrated-steps .step_desc,
#road .roomie-illustrated-steps .step_desc,
#trouble .roomie-illustrated-steps .step_desc{
  margin-top:0!important;
}

/* STRENGTH: cards 3-6 use white background with yellow / pink outlines */
#strength .roomie-strength-grid>section{
  background:#fff!important;
  border:2px solid #f0e546;
  box-shadow:none;
  padding:24px 24px 28px;
}
#strength .roomie-strength-grid>section:nth-child(even){border-color:var(--pink)!important;}
#strength .roomie-strength-card__img{margin:6px auto 14px;}
#strength .roomie-strength-grid>section h3{margin-bottom:14px!important;}
#strength .roomie-strength-grid>section p:last-child{margin-bottom:0;}

/* CASE: move the small direct-purchase illustration into the left compare box */
#case .case-direct-inline-illust{margin:18px 0 0;}
#case .case-direct-inline-illust img{display:block;width:min(100%,180px);height:auto;}

/* ROAD: remove framed look from the three problem explanation rows */
#road .roomie-media-row{
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0 0 26px;
  margin-bottom:34px;
  border-bottom:1px solid #ececec;
}

@media screen and (max-width:767px){
  #menu .roomie-illustrated-steps .item,
  #road .roomie-illustrated-steps .item,
  #trouble .roomie-illustrated-steps .item{
    padding-top:14px!important;
    padding-bottom:16px!important;
  }
  #menu .roomie-illustrated-steps .step_name,
  #road .roomie-illustrated-steps .step_name,
  #trouble .roomie-illustrated-steps .step_name{
    margin:0 0 4px!important;
  }
  #menu .roomie-illustrated-steps .roomie-step-img,
  #road .roomie-illustrated-steps .roomie-step-img,
  #trouble .roomie-illustrated-steps .roomie-step-img{
    max-width:140px;
    margin:0 auto 4px!important;
  }
  #strength .roomie-strength-grid>section{padding:18px 16px 22px;}
  #case .case-direct-inline-illust{margin-top:14px;text-align:center;}
  #case .case-direct-inline-illust img{width:min(100%,150px);margin:0 auto;}
  #road .roomie-media-row{padding:0 0 20px;margin-bottom:26px;gap:10px;}
}

/* ============================================================
   MENU revision 2026-09-28 - menuしゅうせい.xlsx
   ============================================================ */
#menu #menu_add_situation .roomie-intro-eyebrow{
  margin:0 0 6px!important;
  text-align:center;
  font-size:18px;
  line-height:1.6;
  font-weight:800;
  color:#333;
}
#menu #menu_add_situation>h2{
  margin:0 0 18px!important;
  padding:0!important;
  border:0!important;
  text-align:center;
  line-height:1.5;
}
#menu #menu_add_situation>h2::before,
#menu #menu_add_situation>h2::after{display:none!important;}
#menu #menu_add_situation .roomie-add__lead{
  max-width:980px;
  margin:0 auto 26px!important;
  padding:0!important;
  border:0!important;
  text-align:center;
}
#menu #menu_add_situation .roomie-add-card__head{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px;
}
#menu #menu_add_situation .roomie-add-card__num{
  flex:0 0 auto;
  margin:0!important;
}
#menu #menu_add_situation .roomie-add-card__head h3{
  flex:1 1 auto;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  font-size:20px;
  line-height:1.5;
}
#menu #menu_add_situation .roomie-add-card__head h3::before,
#menu #menu_add_situation .roomie-add-card__head h3::after{display:none!important;}

/* Route comparison: 1-2 compact side-by-side; 3-5 use horizontal wide cards. */
#menu #menu_ttl3 .roomie-route-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
#menu #menu_ttl3 .roomie-route-card{
  min-width:0;
  border:2px solid var(--pink)!important;
  border-radius:22px;
  background:#fff;
}
#menu #menu_ttl3 .roomie-route-card.route1,
#menu #menu_ttl3 .roomie-route-card.route2{
  display:flex;
  flex-direction:column;
  padding:24px 24px 26px;
  gap:14px;
}
#menu #menu_ttl3 .roomie-route-card.route1 h3,
#menu #menu_ttl3 .roomie-route-card.route2 h3{
  min-height:118px;
  margin:0!important;
  font-size:22px;
  line-height:1.5;
}
#menu #menu_ttl3 .roomie-route-card.route1 .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route2 .roomie-route-card__img{
  display:block;
  width:100%;
  max-width:300px;
  height:210px;
  object-fit:contain;
  margin:0 auto;
}
#menu #menu_ttl3 .roomie-route-card.route1 ul,
#menu #menu_ttl3 .roomie-route-card.route2 ul{margin:0;}
#menu #menu_ttl3 .roomie-route-card.route3,
#menu #menu_ttl3 .roomie-route-card.route4,
#menu #menu_ttl3 .roomie-route-card.route5{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  grid-template-areas:"title image" "body image";
  gap:10px 32px;
  align-items:center;
  padding:24px 28px 26px;
}
#menu #menu_ttl3 .roomie-route-card.route3 h3,
#menu #menu_ttl3 .roomie-route-card.route4 h3,
#menu #menu_ttl3 .roomie-route-card.route5 h3{
  grid-area:title;
  min-height:0;
  margin:0!important;
  align-self:end;
  font-size:23px;
  line-height:1.55;
}
#menu #menu_ttl3 .roomie-route-card.route3 .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route4 .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{
  grid-area:image;
  width:100%;
  max-width:330px;
  height:235px;
  margin:0 auto;
  object-fit:contain;
  align-self:center;
}
#menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{
  max-width:360px;
  height:270px;
}
#menu #menu_ttl3 .roomie-route-card.route3 ul,
#menu #menu_ttl3 .roomie-route-card.route4 ul,
#menu #menu_ttl3 .roomie-route-card.route5 ul{
  grid-area:body;
  margin:0;
  align-self:start;
}

/* Reasons: use the workbook infographics at a useful size and align all cards. */
#menu #menu_ttl4 .roomie-feature-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
#menu #menu_ttl4 .roomie-feature-card{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:24px 26px 28px;
}
#menu #menu_ttl4 .roomie-feature-card>h3{
  min-height:104px;
  margin:0 0 12px!important;
  line-height:1.55;
}
#menu #menu_ttl4 .roomie-feature-card>img{
  display:block;
  width:100%;
  max-width:390px;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain;
  margin:0 auto 16px;
  border-radius:0;
}
#menu #menu_ttl4 .roomie-feature-card>p{
  margin:0!important;
  flex:1 1 auto;
}

/* Shared lower-page FLOW alignment: heading lines, illustration and body start consistently. */
@media screen and (min-width:768px){
  .under main .roomie-illustrated-steps .step_name{
    min-height:64px!important;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    margin:0 0 4px!important;
    text-align:center!important;
  }
  .under main .roomie-illustrated-steps .roomie-step-img{
    display:block;
    width:150px!important;
    max-width:150px!important;
    height:100px!important;
    object-fit:contain!important;
    margin:0 auto 4px!important;
  }
  .under main .roomie-illustrated-steps .step_desc{
    margin-top:0!important;
  }
}

/* Public official links: provider name stays black; destination is pink/underlined. */
#menu .roomie-public-links{margin-top:20px;}
#menu .roomie-public-links li{margin-bottom:16px;line-height:1.75;}
#menu .roomie-public-links__provider{color:#222;font-weight:700;}
#menu .roomie-public-links a{
  color:var(--pink)!important;
  font-weight:800;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
#menu .roomie-public-links__desc{
  display:inline-block;
  margin-top:3px;
  color:#333;
  font-size:0.94em;
  font-weight:400;
}

@media screen and (max-width:767px){
  #menu #menu_add_situation .roomie-intro-eyebrow{font-size:14px;line-height:1.6;}
  #menu #menu_add_situation>h2{margin-bottom:14px!important;}
  #menu #menu_add_situation .roomie-add__lead{text-align:left;margin-bottom:20px!important;}
  #menu #menu_add_situation .roomie-add-card__head{gap:8px;align-items:flex-start;}
  #menu #menu_add_situation .roomie-add-card__head h3{font-size:17px!important;line-height:1.55!important;}
  #menu #menu_ttl3 .roomie-route-grid{grid-template-columns:1fr;gap:18px;}
  #menu #menu_ttl3 .roomie-route-card.route1,
  #menu #menu_ttl3 .roomie-route-card.route2,
  #menu #menu_ttl3 .roomie-route-card.route3,
  #menu #menu_ttl3 .roomie-route-card.route4,
  #menu #menu_ttl3 .roomie-route-card.route5{
    grid-column:auto;
    display:flex;
    flex-direction:column;
    padding:20px 16px 22px;
    gap:10px;
  }
  #menu #menu_ttl3 .roomie-route-card.route1 h3,
  #menu #menu_ttl3 .roomie-route-card.route2 h3,
  #menu #menu_ttl3 .roomie-route-card.route3 h3,
  #menu #menu_ttl3 .roomie-route-card.route4 h3,
  #menu #menu_ttl3 .roomie-route-card.route5 h3{
    min-height:0;
    margin:0!important;
    font-size:18px!important;
  }
  #menu #menu_ttl3 .roomie-route-card .roomie-route-card__img,
  #menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{
    width:100%;
    max-width:300px;
    height:auto;
    margin:0 auto;
  }
  #menu #menu_ttl4 .roomie-feature-grid{grid-template-columns:1fr;gap:18px;}
  #menu #menu_ttl4 .roomie-feature-card>h3{min-height:0;margin-bottom:10px!important;}
  #menu #menu_ttl4 .roomie-feature-card>img{max-width:340px;margin-bottom:12px;}
  #menu .roomie-public-links li{margin-bottom:14px;}
  #menu .roomie-public-links__desc{font-size:0.9em;}
}


/* ============================================================
   Excel re-check 2026-09-28: menu + strength
   ============================================================ */

/* Shared page eyebrow requested above the lower-page title. */
.under main #top_info .roomie-page-eyebrow{
  margin:0 0 4px!important;
  text-align:center;
  color:var(--pink);
  font-weight:800;
  font-size:18px;
  line-height:1.5;
}

/* MENU: remove the pink rule from the supervision block on all lower pages. */
.under main .roomie-supervision-note{border-left:0!important;}

/* MENU: exact situation-heading composition from the instruction sheet. */
#menu #menu_add_situation>h2{
  text-align:center!important;
  font-size:32px!important;
  line-height:1.45!important;
  margin:0 0 16px!important;
  border:0!important;
}
#menu #menu_add_situation .roomie-add__lead{
  max-width:1040px;
  text-align:center!important;
  line-height:1.9;
  margin:0 auto 26px!important;
}
#menu #menu_add_situation .roomie-add-card{border-top:0!important;}
#menu #menu_add_situation .roomie-add-card__head{display:flex;align-items:center;gap:10px;}
#menu #menu_add_situation .roomie-add-card__head h3{border:0!important;padding:0!important;margin:0!important;}
#menu #menu_add_situation .roomie-add-card__head h3::before,
#menu #menu_add_situation .roomie-add-card__head h3::after{display:none!important;}
#menu #menu_add_situation .roomie-image-slot__inner{
  height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;
}
#menu #menu_add_situation .roomie-image-slot__inner img{
  display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;
}

/* MENU: route 3-5 are wide, with illustration centered vertically in the body zone. */
#menu #menu_ttl3 .roomie-route-card.route3,
#menu #menu_ttl3 .roomie-route-card.route4,
#menu #menu_ttl3 .roomie-route-card.route5{
  grid-template-columns:minmax(0,1fr) 340px!important;
  grid-template-areas:"title title" "body image"!important;
  align-items:center!important;
}
#menu #menu_ttl3 .roomie-route-card.route3 h3,
#menu #menu_ttl3 .roomie-route-card.route4 h3,
#menu #menu_ttl3 .roomie-route-card.route5 h3{grid-area:title!important;}
#menu #menu_ttl3 .roomie-route-card.route3 ul,
#menu #menu_ttl3 .roomie-route-card.route4 ul,
#menu #menu_ttl3 .roomie-route-card.route5 ul{grid-area:body!important;align-self:center!important;}
#menu #menu_ttl3 .roomie-route-card.route3 .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route4 .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{
  grid-area:image!important;align-self:center!important;width:100%!important;height:auto!important;max-height:290px!important;object-fit:contain!important;
}
#menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{max-width:340px!important;}

/* MENU: workbook infographics should fill each card horizontally. */
#menu #menu_ttl4 .roomie-feature-card{overflow:hidden;}
#menu #menu_ttl4 .roomie-feature-card>img{
  width:calc(100% + 52px)!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  margin:0 -26px 16px!important;
}

/* Shared FLOW alignment requested for every lower page. */
@media screen and (min-width:768px){
  .under main .roomie-illustrated-steps .item{text-align:center!important;}
  .under main .roomie-illustrated-steps .step_name{
    min-height:66px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    text-align:center!important;
    margin:0 0 4px!important;
  }
  .under main .roomie-illustrated-steps .roomie-step-img{
    display:block!important;
    width:150px!important;
    max-width:150px!important;
    height:100px!important;
    object-fit:contain!important;
    margin:0 auto 4px!important;
  }
  .under main .roomie-illustrated-steps .step_desc{
    margin-top:0!important;
    text-align:left!important;
  }
}

/* Public links: only text after the colon is pink/underlined. */
.under main .roomie-public-links__provider{color:#222!important;font-weight:700!important;}
.under main .roomie-public-links a{color:var(--pink)!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:800!important;}
.under main .roomie-public-links__desc{display:inline-block;margin-top:3px;color:#333!important;font-weight:400;}

/* STRENGTH: opening structure from instruction sheet. */
#strength #strength_add_akiya{padding-top:0;}
#strength #strength_add_akiya>h2{margin-bottom:12px!important;}
#strength #strength_add_akiya>.roomie-add__lead{margin-bottom:24px!important;}
#strength .strength-targets{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin:0 0 28px;
}
#strength .strength-targets__item{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  text-align:center;
  padding:16px 10px;
  background:#fff;
  border:1px solid #eee;
  border-radius:16px;
  font-weight:800;
  line-height:1.55;
}
#strength .strength-targets__icon{
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#fff8bf;border:2px solid #fff04a;
  color:#222;font-size:26px;font-weight:900;line-height:1;
}
#strength .roomie-problem-pains{width:100%;margin:0 0 20px;}
#strength .roomie-problem-pains h3{margin:0 0 16px!important;}
#strength .strength-pains-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
  margin:0!important;
}
#strength .strength-pains-grid li{margin:0!important;}
#strength .roomie-add-emphasis{
  margin:20px 0 0!important;
  padding:18px 20px!important;
  background:#fff!important;
  border:0!important;
  border-left:5px solid var(--pink)!important;
  border-radius:10px!important;
  font-weight:800;
}

/* STRENGTH: comparison typography and reference colors. */
#strength .strength-reason>h3{font-size:calc(32px + 3px)!important;}
#strength .strength-reason .roomie-info-comparison__head{font-size:calc(16px + 5px)!important;line-height:1.5;}
#strength .strength-reason--2 .roomie-info-comparison__arrow{font-size:calc(22px + 4px)!important;margin:6px 0!important;}
#strength .strength-reason .roomie-info-comparison__item.pink{background:#fff0f7!important;}
#strength .strength-reason .roomie-info-comparison__item.gray{background:#f4f5f6!important;}

/* STRENGTH: cards 3-6 should keep headings compact (max about two lines). */
#strength .roomie-strength-grid>section h3{font-size:25px!important;line-height:1.5!important;min-height:76px;}

/* STRENGTH: after-purchase image must be fully visible. */
#strength #strength_add_afterpurchase .roomie-image-slot__inner{
  height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;
}
#strength #strength_add_afterpurchase .roomie-image-slot__inner img{
  display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;
}

/* STRENGTH: funding heading should stay on one line on desktop and sit closer to its rule/body. */
@media screen and (min-width:900px){
  #strength #strength_ttl_02>h2{font-size:30px!important;white-space:nowrap;margin-bottom:10px!important;}
}
#strength #strength_ttl_02>p{margin-top:0!important;}

/* STRENGTH: final consultation block - remove border/pink fill and rebalance. */
#strength #strength_add_consultation{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
#strength #strength_add_consultation .roomie-chip-list{justify-content:center;}

@media screen and (max-width:767px){
  .under main #top_info .roomie-page-eyebrow{font-size:14px;margin-bottom:2px!important;}
  #menu #menu_add_situation>h2{font-size:22px!important;}
  #menu #menu_add_situation .roomie-add__lead{text-align:left!important;}
  #menu #menu_ttl3 .roomie-route-card.route3,
  #menu #menu_ttl3 .roomie-route-card.route4,
  #menu #menu_ttl3 .roomie-route-card.route5{
    display:flex!important;flex-direction:column!important;
  }
  #menu #menu_ttl4 .roomie-feature-card>img{
    width:calc(100% + 32px)!important;
    margin:0 -16px 12px!important;
  }
  #strength .strength-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  #strength .strength-targets__item:last-child{grid-column:1/-1;}
  #strength .strength-pains-grid{grid-template-columns:1fr;}
  #strength .strength-reason>h3{font-size:21px!important;}
  #strength .strength-reason .roomie-info-comparison__head{font-size:18px!important;}
  #strength .strength-reason--2 .roomie-info-comparison__arrow{font-size:20px!important;}
  #strength .roomie-strength-grid>section h3{font-size:19px!important;min-height:0;}
  #strength #strength_ttl_02>h2{white-space:normal;}
}

/* ============================================================
   Book4 rework 2026-09-28 v2
   Source: Book4.xlsx instructions rechecked one by one
   ============================================================ */

/* ALL: official links - provider stays black, only destination is pink/underlined. */
.under main .roomie-public-links{margin-top:20px;}
.under main .roomie-public-links li{margin-bottom:16px;line-height:1.75;}
.under main .roomie-public-links__provider{color:#222!important;font-weight:700!important;}
.under main .roomie-public-links a{color:var(--pink)!important;text-decoration:underline!important;text-underline-offset:3px;font-weight:800!important;}
.under main .roomie-public-links__desc{display:inline-block;margin-top:3px;color:#333!important;font-weight:400!important;}

/* ALL: FLOW illustrations approx. 3x the former small icon size and align all starts. */
@media screen and (min-width:768px){
  .under main .roomie-illustrated-steps .item{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    text-align:center!important;
  }
  .under main .roomie-illustrated-steps .step_num{flex:0 0 auto;}
  .under main .roomie-illustrated-steps .step_name{
    min-height:72px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    margin:0 0 6px!important;
    text-align:center!important;
  }
  .under main .roomie-illustrated-steps .roomie-step-img{
    display:block!important;
    width:150px!important;
    max-width:150px!important;
    height:150px!important;
    object-fit:contain!important;
    margin:0 auto 6px!important;
    flex:0 0 150px!important;
  }
  .under main .roomie-illustrated-steps .step_desc{
    margin-top:0!important;
    text-align:left!important;
  }
}

/* TROUBLE: intro title must fit on one line on desktop. */
@media screen and (min-width:1000px){
  #trouble #trouble_add_intro>h2{font-size:28px!important;white-space:nowrap!important;}
}

/* TROUBLE: remove the yellow side rule from the four issue headings and add existing matching illustrations. */
#trouble #trouble_add_intro .roomie-add-grid--terms .roomie-add-card h3{
  border-left:0!important;
  padding-left:0!important;
  margin-bottom:8px!important;
}
#trouble #trouble_add_intro .roomie-add-grid--terms .roomie-add-card h3::before,
#trouble #trouble_add_intro .roomie-add-grid--terms .roomie-add-card h3::after{display:none!important;}
#trouble #trouble_add_intro .roomie-term-card__img{
  display:block;
  width:120px;
  height:105px;
  object-fit:contain;
  margin:4px auto 10px;
}

/* TROUBLE/SHARE: Book4 asks the explanatory note to be spoken by Uribou. */
.under main .roomie-book4-voice{margin-top:18px!important;margin-bottom:36px!important;}

/* TROUBLE: valuation block - no frame / pink fill, rebalance whitespace. */
#trouble #trouble_add_valuation{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
#trouble #trouble_add_valuation .roomie-chip-list{justify-content:center;}

/* SHARE: only the pink phrase in the first explanatory heading is +3px. */
#share #share_add_basics>h2 .c_pink{font-size:calc(1em + 3px)!important;}

/* SHARE: valuation block - remove frame and pink fill, rebalance. */
#share #share_add_valuation{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding-left:0!important;
  padding-right:0!important;
}
#share #share_add_valuation .roomie-chip-list{justify-content:center;}

/* LAND: the large worries illustration must show in full even if the section becomes taller. */
#land #land_add_worries .roomie-image-slot__inner{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
#land #land_add_worries .roomie-image-slot__inner img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
}

/* LAND: keep the 4-scheme heading on one line on desktop. */
@media screen and (min-width:1000px){
  #land #land_ttl_03>h2{font-size:26px!important;white-space:nowrap!important;}
}

/* LAND: 2x2 cards -> four horizontal contents stacked vertically; remove image/card framing. */
#land .land-scheme-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin-top:22px!important;
}
#land .land-scheme-grid .land-scheme-section{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,380px)!important;
  grid-template-areas:"title image" "body image"!important;
  column-gap:34px!important;
  row-gap:10px!important;
  align-items:center!important;
  padding:28px 0!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #ececec!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#land .land-scheme-grid .land-scheme-section:last-child{border-bottom:0!important;}
#land .land-scheme-grid .land-scheme-section h3{
  grid-area:title!important;
  min-height:0!important;
  margin:0!important;
}
#land .land-scheme-grid .land-scheme-image{
  grid-area:image!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
}
#land .land-scheme-grid .land-scheme-image img{
  display:block!important;
  width:100%!important;
  max-width:360px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:transparent!important;
  object-fit:contain!important;
}
#land .land-scheme-grid .land-scheme-body{grid-area:body!important;margin:0!important;}

/* MENU: all five solution routes use the same horizontal layout as route 3. */
#menu #menu_ttl3 .roomie-route-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:22px!important;
}
#menu #menu_ttl3 .roomie-route-card,
#menu #menu_ttl3 .roomie-route-card.route1,
#menu #menu_ttl3 .roomie-route-card.route2,
#menu #menu_ttl3 .roomie-route-card.route3,
#menu #menu_ttl3 .roomie-route-card.route4,
#menu #menu_ttl3 .roomie-route-card.route5{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  grid-template-rows:auto 1fr!important;
  grid-template-areas:"title image" "body image"!important;
  gap:10px 28px!important;
  align-items:start!important;
  padding:24px 26px!important;
}
#menu #menu_ttl3 .roomie-route-card h3{grid-area:title!important;margin:0!important;min-height:0!important;align-self:end!important;}
#menu #menu_ttl3 .roomie-route-card ul{grid-area:body!important;margin:0!important;align-self:start!important;}
#menu #menu_ttl3 .roomie-route-card .roomie-route-card__img,
#menu #menu_ttl3 .roomie-route-card.route5 .roomie-route-card__img{
  grid-area:image!important;
  width:100%!important;
  max-width:300px!important;
  height:auto!important;
  margin:0 auto!important;
  align-self:center!important;
  justify-self:center!important;
  object-fit:contain!important;
}

/* MENU: workbook infographics were being enlarged beyond source resolution; show slightly smaller and align text starts. */
#menu #menu_ttl4 .roomie-feature-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
#menu #menu_ttl4 .roomie-feature-card>img{
  display:block!important;
  width:auto!important;
  max-width:306px!important;
  height:310px!important;
  max-height:310px!important;
  object-fit:contain!important;
  margin:0 auto 16px!important;
}
#menu #menu_ttl4 .roomie-feature-card>p{margin:0!important;}

@media screen and (max-width:767px){
  .under main .roomie-illustrated-steps .step_name{min-height:0!important;}
  .under main .roomie-illustrated-steps .roomie-step-img{
    width:128px!important;max-width:128px!important;height:128px!important;flex-basis:128px!important;
  }
  #trouble #trouble_add_intro>h2,
  #land #land_ttl_03>h2{white-space:normal!important;}
  #trouble #trouble_add_intro .roomie-term-card__img{width:105px;height:92px;}
  #land .land-scheme-grid .land-scheme-section{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:12px!important;
    padding:22px 0!important;
  }
  #land .land-scheme-grid .land-scheme-section h3{order:1!important;}
  #land .land-scheme-grid .land-scheme-image{order:2!important;}
  #land .land-scheme-grid .land-scheme-body{order:3!important;}
  #land .land-scheme-grid .land-scheme-image img{max-width:300px!important;}
  #menu #menu_ttl3 .roomie-route-card,
  #menu #menu_ttl3 .roomie-route-card.route1,
  #menu #menu_ttl3 .roomie-route-card.route2,
  #menu #menu_ttl3 .roomie-route-card.route3,
  #menu #menu_ttl3 .roomie-route-card.route4,
  #menu #menu_ttl3 .roomie-route-card.route5{
    display:flex!important;
    flex-direction:column!important;
    padding:20px 16px!important;
    gap:12px!important;
  }
  #menu #menu_ttl3 .roomie-route-card h3{order:1!important;}
  #menu #menu_ttl3 .roomie-route-card .roomie-route-card__img{order:2!important;max-width:260px!important;}
  #menu #menu_ttl3 .roomie-route-card ul{order:3!important;}
  #menu #menu_ttl4 .roomie-feature-card>img{height:280px!important;max-height:280px!important;max-width:280px!important;}
}


/* ============================================================
   Client clarification 2026-09-29: supervision + land layout
   ============================================================ */
/* ALL: leave one text-line of space above the supervision block,
   center the heading, and remove the yellow vertical heading rule. */
.under main .roomie-supervision-note{
  margin-top:28px!important;
  border-left:0!important;
}
.under main .roomie-supervision-note h3{
  margin-top:0!important;
  padding-left:0!important;
  text-align:center!important;
  border-left:0!important;
  background:none!important;
}
.under main .roomie-supervision-note h3::before,
.under main .roomie-supervision-note h3::after{
  display:none!important;
  content:none!important;
}

/* LAND: place the main scheme illustration immediately below the heading. */
#land .land-book8-scheme-head .land-scheme-main-image{
  margin:18px auto 26px!important;
  text-align:center!important;
}
#land .land-book8-scheme-head .land-scheme-main-image img{
  display:block!important;
  width:100%!important;
  max-width:980px!important;
  height:auto!important;
  margin:0 auto!important;
}
/* LAND: no images are planned for the four scheme descriptions,
   so remove the former image column and use a single text column. */
#land .land-scheme-grid .land-scheme-section{
  grid-template-columns:1fr!important;
  grid-template-areas:"title" "body"!important;
  column-gap:0!important;
  align-items:start!important;
}
#land .land-scheme-grid .land-scheme-section h3{
  text-align:left!important;
}
#land .land-scheme-grid .land-scheme-image{
  display:none!important;
}
@media screen and (max-width:767px){
  .under main .roomie-supervision-note{margin-top:20px!important;}
  #land .land-book8-scheme-head .land-scheme-main-image{margin:14px auto 20px!important;}
}
