/* ===== Hero Section ===== */
.page-index__hero-section{padding-top:0;margin-top:0;width:100%;background:#fff;overflow:hidden}
.page-index__hero-link{display:block;width:100%;color:inherit}
.page-index__hero-image{width:100%;height:auto;display:block;object-fit:cover;aspect-ratio:17/5}

/* ===== Logo Grid Section (4+2 layout) ===== */
.page-index__logo-grid-section{max-width:1200px;margin:16px auto 28px;padding:0 16px}
.page-index__logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 16px;justify-items:center}
.page-index__logo-item{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:280px;border-radius:8px;padding:10px;text-align:center}
.page-index__logo-image{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;display:block}
.page-index__logo-cta{display:inline-block;padding:10px 22px;border-radius:999px;background:#0477db;color:#fff;font-weight:700;text-decoration:none;font-size:1rem;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(4,119,219,0.35);transition:all 0.3s ease}
.page-index__logo-cta:hover{background:#0056a1;transform:scale(1.05);box-shadow:0 6px 18px rgba(0,86,161,0.4)}
.page-index__logo-item:nth-child(5){grid-column:2 / 3;grid-row:2}
.page-index__logo-item:nth-child(6){grid-column:3 / 4;grid-row:2}

/* ===== Guide Section ===== */
.page-index__guide-section{background:#fff}
.page-index__guide-inner{max-width:1000px;margin:0 auto;padding:16px 16px 48px}
.page-index__guide-title{text-align:center;color:#017439;margin:12px 0 20px;font-weight:700;line-height:1.4;font-size:clamp(1.5rem, 2vw + 1rem, 2.25rem)}
.page-index__guide-inner p{font-size:1.05rem;line-height:1.6;color:#333;margin-bottom:16px;max-width:100%}
.page-index__guide-blockquote, .page-index__guide-note{border-left:6px solid #0477db;background:#f8faff;padding:16px 20px;font-size:.95rem;color:#023b6d;border-radius:0 8px 8px 0;margin:24px 0;font-style:italic}
.page-index__guide-note{quotes:none}
.page-index__guide-note::before{content:''}
.page-index__guide-note::after{content:''}
.page-index__inline-link{color:#ffffff}
.page-index__guide-link{color:#ffffff}
.page-index__guide-inner a:not(.page-index__logo-cta){color:#0477db;text-decoration:underline;font-weight:500}
.page-index__guide-inner a:not(.page-index__logo-cta):hover{color:#017439}
.page-index__guide-inner .page-index__guide-link{color:#0477db}

/* Titles */
.page-index__guide-inner h2{color:#017439;font-weight:700;margin:40px 0 16px;font-size:1.7rem;line-height:1.3;position:relative;padding-bottom:10px}
.page-index__guide-inner h2:after{content:'';position:absolute;left:0;bottom:0;width:70px;height:4px;background:#0477db;border-radius:3px}
.page-index__guide-inner h3{color:#023f5a;margin:28px 0 12px;font-size:1.3rem;font-weight:600}
.page-index__guide-inner h4{color:#333;margin:0 0 10px;font-size:1rem;font-weight:700}

/* Lists */
.page-index__guide-inner ol, .page-index__guide-inner ul{margin:0 0 20px;padding-left:36px}
.page-index__guide-list li{margin-bottom:14px;line-height:1.5}
.page-index__guide-inner strong{color:#333}

/* Figure */
.page-index__guide-figure{margin:30px auto;text-align:center;max-width:820px}
.page-index__guide-figure img{width:100%;max-width:820px;height:auto;aspect-ratio:2/1;object-fit:cover;display:block;border:1px solid #eee;border-radius:8px;box-shadow:0 5px 20px rgba(0,0,0,0.08)}
.page-index__guide-figure figcaption{font-size:.9rem;color:#666;margin-top:10px;font-style:normal;line-height:1.4}

/* FAQ */
.page-index__faq-item{background:#f9f9f9;border:1px solid #eaeaea;border-radius:10px;padding:18px 24px;margin:14px 0;transition:box-shadow 0.4s ease}
.page-index__faq-item[open]{box-shadow:0 7px 20px rgba(0,0,0,0.08);border-color:#0477db}
.page-index__faq-item summary{list-style:none;display:flex;align-items:center;flex-direction:row;justify-content:flex-start;align-items:flex-start;gap:0;cursor:pointer;font-weight:600;text-align:left;display:flex;}
.page-index__faq-item summary::-webkit-details-marker{display:none}
.page-index__faq-toggle{width:30px;height:30px;min-width:30px;min-height:30px;border:none;border-radius:50%;background:#0477db;color:#fff;font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;margin-right:12px;cursor:pointer;transition:background 0.3s ease;box-sizing:border-box;padding:0;font-size:1rem}
.page-index__faq-toggle:hover{background:#017439}
.page-index__faq-trigger-content{flex:1;text-align:left}

/* Media Queries 768px-1024px */
@media (max-width: 1024px){ .page-index__logo-grid{grid-template-columns:repeat(4,1fr);gap:16px} .page-index__guide-inner h2{font-size:1.5rem} }

/* ===== Media Queries <= 768px ===== */
@media (max-width: 768px){
    .page-index__hero-section{padding-top:0;margin-top:0;width:100%}
    .page-index__hero-image{aspect-ratio:2/1}
    .page-index__logo-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:8px 0}
    .page-index__logo-item:nth-child(5), .page-index__logo-item:nth-child(6){grid-column:auto;grid-row:auto}
    .page-index__logo-item{max-width:150px}
    .page-index__logo-cta{padding:8px 14px;font-size:.85rem;max-width:100%;box-sizing:border-box;white-space:normal;word-wrap:break-word}
    .page-index__guide-title{font-size:1.35rem}
    .page-index__guide-inner h2{font-size:1.35rem;padding-bottom:6px}
    .page-index__guide-inner h3{font-size:1.1rem}
    .page-index__guide-inner{padding:10px 12px 40px}
    .page-index__guide-inner p{font-size:1rem;padding:0 4px}
    .page-index__guide-figure{margin:20px auto}
    .page-index__guide-figure img{width:100%;max-width:100%;height:auto}
    .page-index img{max-width:100%;height:auto}
    .page-index__logo-image{max-width:100%;height:auto}
    .page-index__guide-figure{max-width:100%}
    .page-index__guide-blockquote, .page-index__guide-note{padding:14px 16px;font-size:.85rem}
    .page-index__faq-item{padding:14px 16px}
    .page-index__guide-list li{margin-bottom:12px;font-size:.95rem}
    .page-index__logo-grid, .page-index__logo-grid-section{max-width:100%}
    .page-index__guide-inner a{word-break:break-word}
}

/* Small Phones */
@media (max-width: 480px){
    .page-index__logo-grid{grid-template-columns:repeat(2,1fr);gap:10px}
    .page-index__logo-item{max-width:160px;width:100%}
    .page-index__guide-figure img{width:100%}
    .page-index__hero-image{width:100%;max-width:100%}
}