/* Homepage presentation. Single-owner stylesheet preserving the approved 0.13.57 layout. */
body.home{overflow-x:clip;}
body.home .site-body{padding-top:0!important;}
body.home .entry-header{display:none;}

.msc-home-design{
  width:100vw;max-width:none;margin-left:calc(50% - 50vw);
  background:#fff;color:var(--msc-ink,#0b2b3e);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
.msc-home-design,.msc-home-design *{box-sizing:border-box;}
body.home .msc-home-design :where(h1,h2,h3){
  margin:0!important;padding:0!important;border:0!important;background:none!important;
  box-shadow:none!important;color:inherit!important;letter-spacing:0!important;
}
body.home .msc-home-design :is(h1,h2,h3)::before,
body.home .msc-home-design :is(h1,h2,h3)::after{content:none!important;display:none!important;}

.msc-home-design .msc-home-inner{
  width:min(100%,1120px);max-width:1100px;margin:0 auto;padding:0 13px;position:relative;
}
.msc-home-design .msc-home-hero{
  position:relative;isolation:isolate;padding:28px 0 6px;background:#f2f8f8;
}
.msc-home-design .msc-home-hero::before{
  content:"";position:absolute;inset:0 0 auto;top:0;right:0;bottom:auto;left:0;width:100%;
  height:clamp(290px,65vw,560px);z-index:-1;
  background:linear-gradient(0deg,#f2f8f8 0%,rgba(242,248,248,.85) 10%,transparent 34%),
             linear-gradient(90deg,rgba(245,251,251,.85),rgba(245,251,251,.30) 53%,transparent 74%),
             url("assets/home-hero.webp") center 43%/cover no-repeat;
  background-position:center,right center,62% 40%;
}
.msc-home-design .msc-home-copy{
  position:relative;z-index:1;display:grid;
  grid-template-columns:minmax(0,1.85fr) minmax(0,1fr);column-gap:12px;row-gap:16px;margin-bottom:18px;
}
.msc-home-design #msc-home-title{
  grid-column:1 / -1;grid-row:1;font-size:clamp(25px,6.4vw,44px);line-height:1.25;font-weight:800;
}
.msc-home-design #msc-home-title em{font-style:normal;color:#06a367;}
.msc-home-design .msc-home-copy>p{
  grid-column:1 / -1;grid-row:2;max-width:49%;font-size:clamp(11px,2vw,15px);line-height:1.65;margin:0;
}
.msc-home-design .msc-home-search-area{position:relative;z-index:2;min-width:0;scroll-margin-top:90px;}
.msc-home-design .msc-home-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.msc-home-design .msc-home-benefit{
  text-align:center;border:1px solid #e0edf0;border-radius:10px;background:#fffdfb;padding:8px 3px 10px;
}
.msc-home-design .msc-home-icon{display:flex;align-items:center;justify-content:center;width:39px;height:39px;border-radius:50%;margin:0 auto 4px;}
.msc-home-design .msc-home-icon svg{width:23px;height:23px;}
.msc-home-design .msc-home-icon.green{background:#dcf6e9;color:#00aa70;}
.msc-home-design .msc-home-icon.blue{background:#deeff8;color:#1598dc;}
.msc-home-design .msc-home-icon.red{background:#ffe5e5;color:#fa4046;}
.msc-home-design .msc-home-benefit h2{font-size:clamp(12px,2.65vw,18px);line-height:1.35;font-weight:800;}
.msc-home-design .msc-home-search-note{margin:6px 8px 0;color:#526b7a;font-size:12px;line-height:1.55;}
.msc-home-design :is(a,button):focus-visible{outline:3px solid #0c82b9;outline-offset:4px;}

@media (min-width:1001px){
  .msc-home-design .msc-home-inner{max-width:1120px;padding-left:24px;padding-right:24px;}
  .msc-home-design .msc-home-hero{padding:36px 0 20px;}
  .msc-home-design .msc-home-hero::before{height:100%;background-position:center,center,right center;}
  .msc-home-design .msc-home-hero>.msc-home-inner{
    display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr);column-gap:48px;row-gap:18px;
  }
  .msc-home-design .msc-home-copy{display:contents;}
  .msc-home-design #msc-home-title{grid-column:1;grid-row:1;font-size:40px;line-height:1.25;}
  .msc-home-design .msc-home-copy>p{grid-column:1;grid-row:2;font-size:16px;line-height:1.85;max-width:550px;}
  .msc-home-design .msc-home-search-area{grid-column:1;grid-row:3;}
  .msc-home-design .msc-home-benefits{grid-column:1 / -1;gap:14px;}
  .msc-home-design .msc-home-benefit{
    display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-content:center;align-items:center;
    padding:15px 18px;text-align:left;border-width:2px;border-radius:12px;
  }
  .msc-home-design .msc-home-icon{width:44px;height:44px;margin:0;}
  .msc-home-design .msc-home-icon svg{width:26px;height:26px;}
  .msc-home-design .msc-home-benefit h2{font-size:15px;line-height:1.5;}
  .msc-home-design .msc-home-benefit h2 br{display:none;}
}

@media (max-width:1000px){
  /* Keep the benefit cards evenly spaced above and below on mobile/tablet. */
  .msc-home-design .msc-home-hero{padding-bottom:12px;}
  .msc-home-design .msc-home-benefits{margin-top:12px;}
}

@media (prefers-reduced-motion:reduce){.msc-home-design *{scroll-behavior:auto!important;}}


/* 0.15.225: トップ「最近の声」— コンパクト表示を維持し、次セクションとの余白を均等化 */
.msc-home-design .msc-recent-voices{margin:16px 0 16px;border:1px solid #d7e3e9;border-radius:14px;background:#fff;padding:10px 12px 11px;}
.msc-home-design .msc-recent-voices h2{margin:0 0 5px;font-size:20px;line-height:1.35;font-weight:800;color:#0b2b3e;}
.msc-home-design .msc-recent-voices-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:#fff;}
.msc-home-design .msc-recent-voice{display:flex;align-items:baseline;gap:6px;min-width:0;min-height:30px;padding:3px 12px;color:#0b2b3e!important;background:#fff;border-bottom:1px solid #edf2f4;text-decoration:none!important;cursor:pointer;}
.msc-home-design .msc-recent-voice:nth-last-child(-n+2){border-bottom:0;}
.msc-home-design .msc-recent-voice-pref{display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;box-sizing:border-box;padding:2px 4px;border:1px solid #d7e3e9;border-radius:6px;background:#f5f8fa;font-size:10px;line-height:1.2;font-weight:600;color:#607785;white-space:nowrap;text-decoration:none!important;}
.msc-home-design .msc-recent-voice-name{display:block;min-width:0;font-size:14px;line-height:1.3;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msc-home-design .msc-recent-voice:hover{background:#fbfdfe;}
.msc-home-design .msc-recent-voice:focus-visible{position:relative;z-index:1;outline:2px solid #0c82b9;outline-offset:-2px;}
@media (min-width:1001px){.msc-home-design .msc-recent-voices{margin-top:20px;margin-bottom:20px;padding:12px 18px 13px}.msc-home-design .msc-recent-voices h2{font-size:22px}.msc-home-design .msc-recent-voice{min-height:32px;padding:3px 16px}.msc-home-design .msc-recent-voice-pref{font-size:11px}.msc-home-design .msc-recent-voice-name{font-size:15px}}
