/* ssaw Stage 11.10 / Home content module
 * Scope: JOURNAL and mobile ssaw concept section.
 * Original order of the four source blocks is preserved.
 */

/* ========================================================================
   01. JOURNAL base and responsive layout
   Source: #ssaw-note-journal-v1 (Stage 10.43)
   Behavior-preserving extraction: declarations are unchanged.
======================================================================== */
body#pageIndex .ssaw-note-journal{
  box-sizing:border-box;
  width:100%;
  margin:64px 0 84px;
  padding:34px 0 0;
  border-top:1px solid #e1e5eb;
  color:#00236d;
}

body#pageIndex .ssaw-note-journal-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin:0 0 22px;
}

body#pageIndex .ssaw-note-journal-heading{
  min-width:0;
}

body#pageIndex .ssaw-note-journal .ttl-h2{
  margin:0;
}

body#pageIndex .ssaw-note-journal-lead{
  max-width:560px;
  margin:10px 0 0;
  color:#596273;
  font-size:12px;
  line-height:1.8;
}

body#pageIndex .ssaw-note-journal-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:0;
}

body#pageIndex .ssaw-note-journal-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  border:1px solid transparent;
  background:#fff;
  color:#00236d;
  text-decoration:none;
  overflow:hidden;
  transition:border-color .2s ease,transform .2s ease;
}

body#pageIndex .ssaw-note-journal-card:hover,
body#pageIndex .ssaw-note-journal-card:focus-visible{
  border-color:#00236d;
  transform:translateY(-2px);
}

body#pageIndex .ssaw-note-journal-card:focus-visible{
  outline:2px solid rgba(0,35,109,.18);
  outline-offset:3px;
}

body#pageIndex .ssaw-note-journal-image{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:1.91/1;
  overflow:hidden;
  background:#f3f5f8;
}

body#pageIndex .ssaw-note-journal-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}

body#pageIndex .ssaw-note-journal-card:hover
.ssaw-note-journal-image img{
  transform:scale(1.025);
}

body#pageIndex .ssaw-note-journal-placeholder{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:100%;
  height:100%;
  padding:18px;
  background:
    linear-gradient(135deg,rgba(0,35,109,.035),rgba(0,35,109,.09));
  color:#00236d;
  text-align:center;
}

body#pageIndex .ssaw-note-journal-placeholder b{
  font-size:25px;
  font-weight:500;
  letter-spacing:.06em;
}

body#pageIndex .ssaw-note-journal-placeholder small{
  margin-top:5px;
  font-size:8px;
  font-weight:600;
  letter-spacing:.18em;
  opacity:.58;
}

body#pageIndex .ssaw-note-journal-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  box-sizing:border-box;
  padding:18px 18px 20px;
}

body#pageIndex .ssaw-note-journal-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:18px;
  margin:0 0 10px;
}

body#pageIndex .ssaw-note-journal-category{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 7px;
  background:#00236d;
  color:#fff;
  font-size:8px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1.4;
}

body#pageIndex .ssaw-note-journal-date{
  color:#838b98;
  font-size:9px;
  line-height:1.4;
  white-space:nowrap;
}

body#pageIndex .ssaw-note-journal-title{
  display:-webkit-box;
  min-height:3.2em;
  margin:0;
  overflow:hidden;
  color:#121b32;
  font-size:15px;
  font-weight:700;
  line-height:1.6;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body#pageIndex .ssaw-note-journal-summary{
  display:-webkit-box;
  min-height:3.5em;
  margin:10px 0 0;
  overflow:hidden;
  color:#5d6676;
  font-size:11px;
  line-height:1.75;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

body#pageIndex .ssaw-note-journal-read{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  align-self:stretch;
  gap:6px;
  width:100%;
  text-align:right;
  margin-top:auto;
  padding-top:18px;
  color:#00236d;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}

body#pageIndex .ssaw-note-journal-read::after{
  content:"→";
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
}

body#pageIndex .ssaw-note-journal-dots{
  display:none;
}

body#pageIndex .ssaw-note-journal-all{
  margin:22px 0 0;
  text-align:center;
}

body#pageIndex .ssaw-note-journal-all a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:250px;
  min-height:48px;
  padding:11px 22px;
  border:1px solid transparent;
  background:#fff;
  color:#00236d;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease;
}

body#pageIndex .ssaw-note-journal-all a::after{
  content:"→";
  margin-left:10px;
  font-size:12px;
}

body#pageIndex .ssaw-note-journal-all a:hover,
body#pageIndex .ssaw-note-journal-all a:focus-visible{
  border-color:#00236d;
  background:#00236d;
  color:#fff;
}

@media screen and (max-width:767px){
  body#pageIndex .ssaw-note-journal{
    margin:24px 0 56px;
    padding-top:18px;
  }

  body#pageIndex .ssaw-note-journal-head{
    display:block;
    margin-bottom:12px;
    padding:0 14px;
  }

  body#pageIndex .ssaw-note-journal-lead{
    margin-top:8px;
    font-size:11px;
    line-height:1.75;
  }

  body#pageIndex .ssaw-note-journal-cards{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:72%;
    gap:8px;
    margin-right:-14px;
    padding:0 14px 2px 14px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    -webkit-overflow-scrolling:touch;
  }

  body#pageIndex .ssaw-note-journal-cards::-webkit-scrollbar{
    display:none;
  }

  body#pageIndex .ssaw-note-journal-card{
    scroll-snap-align:start;
  }

  body#pageIndex .ssaw-note-journal-image{
    aspect-ratio:2.45/1;
  }

  body#pageIndex .ssaw-note-journal-placeholder b{
    font-size:19px;
  }

  body#pageIndex .ssaw-note-journal-body{
    padding:9px 10px 10px;
  }

  body#pageIndex .ssaw-note-journal-meta{
    min-height:15px;
    margin-bottom:5px;
  }

  body#pageIndex .ssaw-note-journal-title{
    min-height:2.8em;
    font-size:12px;
    line-height:1.4;
  }

  body#pageIndex .ssaw-note-journal-summary{
    min-height:2.8em;
    margin-top:6px;
    font-size:9px;
    line-height:1.5;
  }

  body#pageIndex .ssaw-note-journal-read{
    padding-top:8px;
    font-size:9px;
  }

  body#pageIndex .ssaw-note-journal-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:10px 0 0;
    padding:0 14px;
  }

  body#pageIndex .ssaw-note-journal-dot{
    width:7px;
    height:7px;
    padding:0;
    border:1px solid #00236d;
    border-radius:999px;
    background:#fff;
    opacity:.55;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    transition:background-color .18s ease,border-color .18s ease,opacity .18s ease,transform .18s ease;
  }

  body#pageIndex .ssaw-note-journal-dot.is-active{
    background:#00236d;
    border-color:#00236d;
    opacity:1;
    transform:scale(1.08);
  }

  body#pageIndex .ssaw-note-journal-all{
    margin-top:12px;
    padding:0 14px;
  }

  body#pageIndex .ssaw-note-journal-all a{
    width:100%;
    min-width:0;
    min-height:42px;
  }
}

@media (prefers-reduced-motion:reduce){
  body#pageIndex .ssaw-note-journal-card,
  body#pageIndex .ssaw-note-journal-image img,
  body#pageIndex .ssaw-note-journal-all a{
    transition:none!important;
  }
}

/* ========================================================================
   02. Mobile concept compact layout
   Source: #ssaw-mobile-concept-compact-v2 (Stage 10.43)
   Behavior-preserving extraction: declarations are unchanged.
======================================================================== */
/*
 * PC版の「ssawの取り組み」は初期状態に戻す。
 * モバイル版だけ文字量を詰めて、縦スクロールを減らす。
 * 背景画像・PC側のサイズ・配置には触れない。
 */
@media screen and (max-width:767px){
  body#pageIndex .top-concept{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    background-position:center center!important;
  }

  body#pageIndex .top-concept .top-concept-inner{
    box-sizing:border-box!important;
    min-height:0!important;
    padding:34px 16px 32px!important;
  }

  body#pageIndex .top-concept .ttl{
    margin:0 0 13px!important;
    font-size:17px!important;
    line-height:1.35!important;
    letter-spacing:.01em!important;
  }

  body#pageIndex .top-concept .txt{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    font-size:10px!important;
    line-height:1.6!important;
    letter-spacing:0!important;
    line-break:strict!important;
    word-break:auto-phrase!important;
    text-wrap:pretty!important;
  }

  body#pageIndex .top-concept .txt.is-ssaw-mobile-formatted .ssaw-concept-line{
    display:block;
  }

  body#pageIndex .top-concept .txt.is-ssaw-mobile-formatted .ssaw-concept-line.is-paragraph-start{
    margin-top:8px;
  }

  body#pageIndex .top-concept .btn{
    margin-top:16px!important;
  }

  body#pageIndex .top-concept .btn a{
    min-height:40px!important;
    padding:9px 16px!important;
    font-size:10px!important;
  }
}

/* ========================================================================
   03. JOURNAL native horizontal swipe
   Source: #ssaw-note-journal-native-swipe-v1 (Stage 10.43)
   Behavior-preserving extraction: declarations are unchanged.
======================================================================== */
@media screen and (max-width:767px){
  body#pageIndex .ssaw-note-journal-cards{
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:14px!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
  }

  body#pageIndex .ssaw-note-journal-card{
    scroll-snap-align:start!important;
    scroll-snap-stop:always;
  }
}

/* ========================================================================
   04. Disable JOURNAL hover treatment on mobile
   Source: #ssaw-mobile-journal-no-hover-v1 (Stage 10.43)
   Behavior-preserving extraction: declarations are unchanged.
======================================================================== */
@media screen and (max-width:767px){
  body#pageIndex .ssaw-note-journal-card:hover,
  body#pageIndex .ssaw-note-journal-card:focus,
  body#pageIndex .ssaw-note-journal-card:focus-visible,
  body#pageIndex .ssaw-note-journal-card:active{
    border-color:transparent!important;
    outline:none!important;
    outline-offset:0!important;
    transform:none!important;
  }

  body#pageIndex .ssaw-note-journal-card:hover .ssaw-note-journal-image img,
  body#pageIndex .ssaw-note-journal-card:focus .ssaw-note-journal-image img,
  body#pageIndex .ssaw-note-journal-card:focus-visible .ssaw-note-journal-image img,
  body#pageIndex .ssaw-note-journal-card:active .ssaw-note-journal-image img{
    transform:none!important;
  }
}
