
/* Lightningなどのテーマ側ヘッダー・ページタイトル・フッターをトップページだけ非表示 */
.home .site-header,
.home .page-header,
.home .entry-header,
.home .entry-title,
.home .site-footer,
.home .breadcrumb,
.home .veu_socialSet,
.home .vk-mobile-nav-menu-btn,
.home .site-body-container > .row > aside {display:none!important}
.home .site-body,
.home .site-body-container,
.home main,
.home .main-section,
.home .entry-body,
.home .container {max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.home body, body.home {margin:0!important}

.ys-site{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#0c234d;background:#fff;line-height:1.65;overflow:hidden}
.ys-site *{box-sizing:border-box}
.ys-hero{position:relative;min-height:640px;display:flex;align-items:center;background:#dfeaf5}
.ys-slides,.ys-slide{position:absolute;inset:0}
.ys-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.03);transition:opacity 1s ease,transform 5s ease}
.ys-slide.is-active{opacity:1;transform:scale(1)}
.ys-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.87) 43%,rgba(255,255,255,.12) 75%)}
.ys-hero-inner{position:relative;z-index:2;max-width:1180px;width:100%;margin:auto;padding:64px 28px}
.ys-brand{font-size:48px;font-weight:900;color:#09285c;margin-bottom:4px}
.ys-kicker{font-weight:800;font-size:20px}
.ys-hero h1{font-size:52px;line-height:1.22;margin:12px 0 18px;color:#111}
.ys-tagline{display:inline-block;background:#0b2c61;color:#fff;padding:10px 18px;font-size:23px;font-weight:800;margin:0 0 16px}
.ys-lead{font-size:18px;font-weight:650;color:#172033}
.ys-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.ys-btn{display:inline-block;background:#0b2c61;color:#fff!important;text-decoration:none!important;padding:15px 22px;border-radius:10px;font-weight:850;box-shadow:0 5px 14px rgba(4,31,75,.18)}
.ys-btn span{font-size:20px}
.ys-btn-light{background:#fff;color:#0b2c61!important;border:2px solid #0b2c61}
.ys-dots{display:flex;gap:9px;margin-top:24px}
.ys-dots button{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:#aab6c5}
.ys-dots button.is-active{background:#0b2c61}
.ys-section{max-width:1180px;margin:auto;padding:58px 22px}
.ys-section h2{text-align:center;font-size:36px;margin:0 0 30px;color:#0b2c61}
.ys-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ys-card{border:1px solid #dbe2ea;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 15px rgba(0,0,0,.07)}
.ys-card img{width:100%;height:176px;object-fit:cover;display:block}
.ys-card h3{font-size:20px;text-align:center;margin:16px 12px 8px}
.ys-card p{padding:0 16px 20px;margin:0;color:#333}
.ys-any{text-align:center;font-weight:850;font-size:21px;margin-top:28px}
.ys-price{background:#f4f7fb;border-radius:16px}
.ys-price-summary{font-size:21px;margin-bottom:22px}
.ys-red{color:#e02519;font-weight:900}
.ys-table-wrap{overflow-x:auto}
.ys-table-wrap table{width:100%;border-collapse:collapse;background:#fff}
.ys-table-wrap th,.ys-table-wrap td{border:1px solid #d6dce4;padding:14px;text-align:left}
.ys-table-wrap th{background:#eaf0f7}
.ys-note{font-size:14px;color:#555}
.ys-info{max-width:1180px;margin:0 auto 54px;padding:0 22px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ys-info>div{background:#f4f7fb;padding:26px;border-radius:14px;text-align:center;font-size:18px}
.ys-info strong{font-size:23px}
.ys-info span{color:#d40000;font-weight:800}
.ys-contact{background:#082858;color:#fff;text-align:center;padding:52px 22px 30px}
.ys-contact h2{font-size:36px;margin:0 0 8px;color:#fff}
.ys-contact .ys-cta-row{justify-content:center}
.ys-copy{margin-top:28px;opacity:.78;font-size:13px}

@media(max-width:900px){
 .ys-grid{grid-template-columns:repeat(2,1fr)}
 .ys-info{grid-template-columns:1fr}
 .ys-hero{min-height:620px}
 .ys-overlay{background:rgba(255,255,255,.84)}
 .ys-hero h1{font-size:39px}
 .ys-brand{font-size:38px}
}
@media(max-width:560px){
 .ys-grid{grid-template-columns:1fr}
 .ys-hero{min-height:700px;align-items:flex-end}
 .ys-hero-inner{padding:50px 20px 44px}
 .ys-slide{background-position:58% center}
 .ys-overlay{background:linear-gradient(180deg,rgba(255,255,255,.46),rgba(255,255,255,.95) 55%)}
 .ys-hero h1{font-size:35px}
 .ys-brand{font-size:38px}
 .ys-kicker{font-size:18px}
 .ys-tagline{font-size:19px}
 .ys-lead{font-size:16px}
 .ys-cta-row{display:grid;grid-template-columns:1fr;width:100%}
 .ys-btn{text-align:center;width:100%}
 .ys-section h2,.ys-contact h2{font-size:29px}
 .ys-card img{height:220px}
 .ys-section{padding:46px 16px}
 .ys-price{border-radius:0}
 .ys-info{padding:0 16px}
}
