 @charset "utf-8";
  body, #container { background-color: #25213E !important; margin: 0; padding: 0; }
  .logo-invert { filter: brightness(0) invert(1); }
  .hinode-header { background-color: #25213E; position: sticky; top: 0; z-index: 1000; padding: 15px 40px; border-bottom: 1px solid #433D6B; font-family: 'Helvetica Neue', Arial, sans-serif; }
  .header-inner { display: flex; justify-content: space-between; align-items: center; max-width: 1200px; margin: 0 auto; }
  .header-logo-img { height: 28px; width: auto; }
  .header-nav { display: flex; align-items: center; gap: 20px; }
  .nav-lang { color: #FFFFFF; text-decoration: none; font-size: 0.9rem; font-weight: bold; transition: opacity 0.3s; }
  .nav-lang:hover { opacity: 0.7; }
  .header-contact-btn { background-color: #FFFFFF; color: #25213E; text-decoration: none; padding: 0 20px; font-size: 0.85rem; font-weight: bold; border-radius: 4px; transition: background 0.3s; display: inline-flex; align-items: center; justify-content: center; height: 38px; box-sizing: border-box; }
  .header-contact-btn:hover { background-color: #E0E0E0; }
  .protocol-section { padding: 60px 20px; background-color: #25213E; color: #FFFFFF; font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif; line-height: 1.6; }
  .protocol-container { max-width: 1000px; margin: 80px auto 0; }
  .protocol-hero.text-only { display: block; margin-bottom: 60px; text-align: left; }
  .hero-title-group { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
  .protocol-icon { width: 56px; height: auto; max-height: 50px; object-fit: contain; }
  .protocol-title { font-size: 2.5rem; font-weight: bold; margin: 0; color: #FFFFFF; }
  .protocol-lead { font-size: 1.1rem; color: #D1D1DF; margin: 0; line-height: 1.8; max-width: 800px; }
  .protocol-overview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background-color: #433D6B; border: 1px solid #433D6B; margin-bottom: 70px; border-radius: 8px; overflow: hidden; }
  .overview-item { background-color: #312D50; padding: 20px 15px; text-align: left; }
  .overview-label { display: block; font-size: 0.8rem; color: #A39DBF; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
  .overview-value { display: block; font-size: 1.2rem; font-weight: bold; color: #FFFFFF; }
  .section-block { margin-bottom: 90px; }
  .section-header-left { text-align: left; margin-bottom: 30px; }
  .section-subtitle { display: block; font-size: 0.85rem; color: #9C95B5; letter-spacing: 0.1em; margin-bottom: 8px; font-weight: bold; }
  .brand-title-group { display: flex; align-items: center; gap: 12px; }
  .hinode-brand-logo { height: 32px; width: auto; }
  .section-title { font-size: 1.8rem; font-weight: 600; margin: 0; color: #FFFFFF; }
  .chain-specific-info { border-top: 1px solid #433D6B; padding-top: 50px; }
  .detail-block { margin-bottom: 60px; }
  .detail-title { font-size: 1.4rem; font-weight: bold; color: #FFFFFF; background-color: #312D50; border-left: 6px solid #8B65D4; padding: 16px 20px; margin-bottom: 25px; border-radius: 0 4px 4px 0; }
  .vertical-text-item { margin-bottom: 35px; padding-left: 15px; border-left: 2px solid #5A538C; }
  .sub-heading { font-size: 1.15rem; margin-top: 0; margin-bottom: 12px; color: #FFFFFF; }
  .body-text { font-size: 1rem; color: #D1D1DF; line-height: 1.85; margin: 0; }
  .insights-carousel { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 20px; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; }
  .insights-carousel::-webkit-scrollbar { height: 8px; }
  .insights-carousel::-webkit-scrollbar-track { background: #25213E; border-radius: 4px; }
  .insights-carousel::-webkit-scrollbar-thumb { background: #433D6B; border-radius: 4px; }
  .insights-carousel::-webkit-scrollbar-thumb:hover { background: #5A538C; }
  .insight-card { flex: 0 0 320px; background: #312D50; border: 1px solid #433D6B; border-radius: 8px; text-decoration: none; overflow: hidden; scroll-snap-align: start; transition: transform 0.3s ease, box-shadow 0.3s ease; }
  a.insight-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); }
  .insight-card.no-link { cursor: default; pointer-events: none; }
  .insight-image, .insight-image-placeholder { width: 100%; height: 180px; object-fit: cover; display: block; }
  .insight-image-placeholder { background: linear-gradient(135deg, #433D6B 0%, #2D2A4A 100%); }
  .insight-content { padding: 20px; }
  .insight-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
  .insight-tag { font-size: 0.8rem; font-weight: bold; color: #8B65D4; background: rgba(139, 101, 212, 0.1); padding: 4px 8px; border-radius: 4px; text-transform: uppercase; }
  .insight-date { font-size: 0.85rem; color: #9C95B5; }
  .insight-title { font-size: 1.1rem; margin: 0; color: #FFFFFF; line-height: 1.5; }
  .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; margin-top: 30px; }
  .feature-card { background: #312D50; padding: 30px; border-radius: 6px; border: 1px solid #433D6B; }
  .feature-title { font-size: 1.1rem; font-weight: bold; margin-bottom: 15px; color: #FFFFFF; border-bottom: 2px solid #8B65D4; padding-bottom: 8px; display: inline-block; }
  .feature-desc { font-size: 0.95rem; color: #D1D1DF; line-height: 1.7; }
  .protocol-cta { text-align: center; background-color: #312D50; border: 1px solid #433D6B; border-radius: 8px; padding: 60px 20px; margin-top: 80px; }
  .cta-logo { height: 40px; margin-bottom: 15px; }
  .protocol-cta h2 { font-size: 1.6rem; margin-bottom: 15px; color: #FFFFFF; font-weight: bold; }
  .protocol-cta p { color: #D1D1DF; margin-bottom: 30px; line-height: 1.6; }
  .btn-solid-white { display: inline-block; background-color: #FFFFFF; color: #25213E; padding: 14px 40px; text-decoration: none; font-weight: bold; border-radius: 4px; transition: background 0.3s ease; }
  .btn-solid-white:hover { background-color: #E0E0E0; }
  .hinode-footer { background-color: #25213E; color: #FFFFFF; padding: 60px 40px 40px; border-top: 1px solid #433D6B; font-family: 'Helvetica Neue', Arial, sans-serif; }
  .footer-container { max-width: 1200px; margin: 0 auto; }
  .footer-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding-bottom: 30px; }
  .footer-logo-img { height: 32px; width: auto; }
  .footer-parents { display: flex; gap: 20px; font-size: 0.9rem; }
  .parent-link { color: #FFFFFF; text-decoration: none; transition: opacity 0.3s; }
  .parent-link:hover { opacity: 0.7; }
  .footer-middle { display: flex; justify-content: flex-end; margin-bottom: 40px; }
  .footer-socials { display: flex; gap: 15px; }
  .social-link-img { display: block; transition: opacity 0.3s; background: #fff; border-radius: 3px;}
  .social-link-img img { height: 35px; width: auto; padding: 5px;} 
  .social-link-img:hover { opacity: 0.7; }
  .footer-bottom { display: flex; flex-direction: column; gap:20px; justify-content: space-between; align-items: center; font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }
  .footer-legal { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center;}
  .footer-legal a { color: rgba(255, 255, 255, 0.5); text-decoration: none; transition: color 0.3s; width: 48%; }
  .footer-legal a:hover { color: #FFFFFF; }
  .footer-copyright {width: 20%; text-align: right; margin:20px auto; color: #fff; white-space: nowrap;}
  .footer-legal {width: 100%; }
  @media (max-width: 768px) {
    .hinode-header { padding: 15px 20px; }
    .hero-title-group { flex-direction: column; align-items: flex-start; gap: 10px; }
    .protocol-title { font-size: 1.8rem; }
    .section-title { font-size: 1.5rem; }
    .brand-title-group { flex-direction: column; align-items: flex-start; gap: 8px; }
    .protocol-overview { grid-template-columns: 1fr; }
    .overview-item { grid-column: span 1 !important; }
    .detail-title { font-size: 1.25rem; padding: 12px 15px; border-left: 4px solid #8B65D4; }
    .hinode-footer { padding: 40px 20px; }
    .footer-top { flex-direction: column; gap: 20px; align-items: flex-start; }
    .footer-middle { justify-content: flex-start; }
    .footer-bottom { flex-direction: column; gap: 15px; align-items: flex-start; }
    .footer-legal { flex-wrap: wrap; gap: 10px; flex-direction:column; align-items: center; width: 100%; text-align: center; line-height: 40px;}
    .footer-copyright {width: 100%; text-align: center; margin:20px auto; color: #fff;}
}
/*--------------------
追記
--------------------*/
 section h2 {display: block; padding-bottom: auto; border-bottom: none;}
.protocol-lead.noimg { font-size: 1.1rem; color: #D1D1DF; margin: 0; line-height: 1.8; max-width: 100%; }
  .protocol-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 60px;
}

  .hero-main-image {
    width: 100%;
    max-width: 450px;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
}
@media (max-width: 768px) {
  .protocol-container { margin: 20px auto 0; }  
}
@media (min-width: 960px) {
.footer-legal a {
 width: 30%;
 }
}
@media (min-width: 1200px) {
.footer-bottom {
  flex-direction: row;
}
.footer-legal {
  gap:20px;
  justify-content: flex-start;
}
.footer-legal a {
 width: auto;
 }
}