/* ===== ヒーロー（既存CSSをほぼ流用） ===== */
.hero{position:relative;height:90vh;display:flex;align-items:center;overflow:hidden;margin-top:23px;margin-bottom:-56px;}
.hero .container{display:flex;align-items:center;width:100%;}
.hero-layout{display:flex;justify-content:flex-start;align-items:center;width:100%;max-width:800px;}
.hero-left{display:flex;flex-direction:column;}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;}
.hero-bg img{width:100%;height:90%;object-fit:cover;object-position:center;filter:none;opacity:1;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%);}
.hero-content{position:relative;z-index:2;color:#111;text-align:left;padding-top:80px;padding-bottom: 40px;margin:0;}

.hero-lead{font-size:24px;font-weight:bold;color:#198fce;margin-bottom:20px;letter-spacing:1px;line-height:1.4;}
.hero-title,.hero-title_02{font-size:40px;font-weight:bold;margin-bottom:10px;line-height:1.5;color:#111;background:#fff;}
.hero-title{width:537px;} .hero-title_02{width:580px;}
.hero-title-line{display:block;letter-spacing:.07em;padding-left:23px;}
.hero-title-highlight{color:#198fce;}
.hero-subtitle{font-size:19px;color:#333;line-height:1.6;margin-bottom:35px;font-weight:bold;letter-spacing:.5px;}

/* カード */
.hero-cards{display:flex;gap:15px;margin-bottom: clamp(10px, 3.5vw, 40px);position:relative;z-index:2;font-weight:600;font-size:17px;min-height:180px;}
.hero-card{min-width:220px;transition:transform .12s ease,box-shadow .12s ease;}
.hero-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(0,0,0,.12);}
.hero-card-header{padding:12px 10px;text-align:center;}
.hero-card-header h3{color:#fff;margin:0;line-height:1.2;font-size:17px;}
.hero-card-left .hero-card-header{background:#c36a75;}
.hero-card-center .hero-card-header{background:#d16b5e;}
.hero-card-right .hero-card-header{background:#48719e;}

.hero-card-content{padding:12px 0;min-height:148px;display:flex;flex-direction:column;justify-content:center;align-items:center;}
.hero-card-content.red{background:#F7E9EB;}
.hero-card-content.orange{background:#F6DEDB;}
.hero-card-content.blue{background:#C7D9E7;}

.hero-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:15px;height:70px;gap:10px;}
.hero-card-icon.red img{width:69px;object-fit:contain;}
.hero-card-icon.orange img{width:61px;object-fit:contain;}
.hero-card-icon.blue img{width:74px;object-fit:contain;}

.hero-card-content h4{margin:0;line-height:1.2;}
.hero-card-left .hero-card-content h4{color:#c36a75;font-size:28px;}
.hero-card-center .hero-card-content h4{color:#d16b5e;}
.hero-card-center .hero-card-content h4 .h4-large{font-size:27px;font-weight:600;letter-spacing:.9px;}
.hero-card-center .hero-card-content h4 .h4-small{font-size:16px;font-weight:500;}
.hero-card-right .hero-card-content h4{color:#48719e;font-size:28px;}

.hero-card-button{background:#fff;padding:5px 0;border-radius:20px;width:200px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;}
.hero-card-left .hero-card-button{color:#c36a75;border-color:#c36a75;}
.hero-card-center .hero-card-button{color:#d16b5e;border-color:#d16b5e;}
.hero-card-right .hero-card-button{color:#48719e;border-color:#48719e;}
.hero-card-left:hover .hero-card-button,
.hero-card-center:hover .hero-card-button,
.hero-card-right:hover .hero-card-button{background:currentColor;color:#fff;}
.hero-card-button .wp-element-button,.hero-card-button a{color:inherit;text-decoration:none;}

.hero-tags{display:flex;gap:15px;margin-top:0;background:#fff;padding:10px 20px;border-radius:25px;border:1px solid #c1d9f0;width:557px;}
.hero-tag{color:#1b1b1b;font-size:14px;font-weight:600;letter-spacing:.5px;}

.hero-features{display:flex;justify-content:center;gap:12px;margin-top:30px;}
.hero-features .feature-item{background:#009fe8;color:#fff;text-align:center;padding:18px 20px;border-radius:4px;flex:1;}
.hero-features .feature-item p{margin:0;font-size:1.3rem;line-height:1.4;font-weight:bold;}
.hero-features .highlight{color:#ffeb00;font-size:1.7rem;font-weight:700;line-height:1.3;display:inline-block;margin-top:4px;}

@media (max-width: 1024px){
    .hero-content {
        max-width: unset;
        padding-top: 52px;
    }

    .hero-title-line {
        font-weight: 800;
        padding-left: unset;
    }

    .hero-title_02 {
        margin-bottom: unset;
    }
    .hero-title, .hero-title_02 {
        margin-bottom: unset;
    }
    .stk-block-columns.stk-block-columns--has-single-block-polyfill, body:not(.wp-admin) .stk-block-columns:has(>.stk-block-content>.stk-block-column:first-child:last-child) {
        margin-top: unset;
    }

}