.blue{--c:#007bdd}
.lime{--c:#7cb518}
.orange{--c:#f29a00}
.navy{--c:#0b2447}
.sky{--c:#1598d6}

.pv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:center}
.pv-txt .no{display:block;font-family:var(--font-pt);font-size:17px;font-weight:800;color:var(--blue);letter-spacing:.04em}
.pv-txt h2{margin-top:22px;font-family:var(--font-pt);font-size:clamp(38px,4.2vw,66px);font-weight:800;line-height:1.24;letter-spacing:-.05em}
.pv-txt h2 em{font-style:normal;position:relative;z-index:0;color:var(--blue);white-space:nowrap}
.pv-txt h2 em::after{content:'';position:absolute;left:-2px;right:-2px;bottom:.08em;height:.2em;background:var(--lime);opacity:.85;z-index:-1;border-radius:3px}
.pv-ph{border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#dfe6ee}
.pv-ph img{width:100%;height:100%;object-fit:cover}

.w3{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px;margin:0 auto;padding:10px 0}
.w3-c{position:relative;aspect-ratio:1/1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;color:#fff;
  border:8px solid var(--bg)}
.w3-c.c1{background:var(--blue);transform:translateX(34px);z-index:1}
.w3-c.c2{background:var(--lime);z-index:2}
.w3-c.c3{background:var(--orange);transform:translateX(-34px);z-index:1}
.w3-c b{font-family:var(--font-pt);font-size:clamp(26px,2.6vw,38px);font-weight:800;letter-spacing:-.02em}
.w3-c span{font-size:clamp(17px,1.5vw,21px);font-weight:700}
.w3-hub{position:absolute;left:50%;bottom:-6px;transform:translate(-50%,50%);z-index:3;width:92px;height:92px;border-radius:50%;background:var(--ink);color:#fff;
  display:grid;place-items:center;border:6px solid var(--bg)}
.w3-hub strong{font-family:var(--font-pt);font-size:28px;font-weight:800}
.pol-dir .sc-h{margin-bottom:48px}
.pol-dir .sc-h p{font-size:20px;font-weight:700;color:var(--ink)}
.pol-dir{padding-bottom:150px}

.happy{display:flex;justify-content:center;gap:clamp(8px,2vw,28px);margin-bottom:46px}
.happy .hl{font-family:var(--font-pt);font-size:clamp(64px,9vw,140px);font-weight:800;line-height:1;color:var(--c);letter-spacing:-.02em}
.pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:stretch}
.pil{display:flex;flex-direction:column;border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:box-shadow .3s,transform .3s var(--ease)}
.pil:hover{transform:translateY(-4px)}
.pil-h{display:flex;align-items:center;gap:14px;padding:22px 20px;background:var(--c);color:#fff}
.pil-l{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:#fff;color:var(--c);display:grid;place-items:center;font-family:var(--font-pt);font-size:30px;font-weight:800}
.pil-h b{display:block;font-size:14.5px;font-weight:700;opacity:.95;letter-spacing:.02em}
.pil-h h3{font-family:var(--font-pt);font-size:22px;font-weight:800;line-height:1.25}
.pil ul{flex:1 1 auto;padding:18px 20px 8px;display:grid;align-content:start;gap:0}
.pil li{position:relative;padding:10px 0 10px 16px;border-bottom:1px dashed var(--line);font-size:15.5px;font-weight:500;line-height:1.5;color:var(--ink)}
.pil li:last-child{border-bottom:0}
.pil-h .pil-g{display:block;margin-top:4px;font-size:14.5px;font-weight:600;line-height:1.4;opacity:.95}
.pil li a{display:block;color:inherit;transition:color .2s}
.pil li a .more{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--c)}
.pil li a .more::after{content:'';width:6px;height:6px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}
.pil li a:hover{color:var(--c)}
.pil li a:hover .more{text-decoration:underline;text-underline-offset:3px}
.pil li::before{content:'';position:absolute;left:0;top:18px;width:6px;height:6px;border-radius:50%;background:var(--c)}
.pil-go{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 20px 20px;padding:12px 16px;border-radius:10px;background:var(--bg);font-size:15.5px;font-weight:700;color:var(--c);transition:.2s}
.pil-go svg{width:18px;height:18px}
.pil-go:hover{background:var(--c);color:#fff}
.navy .pil-go{color:var(--ink)}
.navy .pil-go:hover{color:#fff}

.pol-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:28px}
.pcd{position:relative;display:flex;flex-direction:column;height:100%;padding:26px 26px 22px;border-radius:18px;background:#fff;border:1px solid var(--line);transition:border-color .25s,box-shadow .25s,transform .25s var(--ease)}
.pcd:hover{border-color:var(--c);transform:translateY(-3px)}
.pcd-ph{display:none!important;margin:-26px -26px 20px;aspect-ratio:16/10;overflow:hidden;background:#eef2f7;border-radius:17px 17px 0 0}
.pcd-ph img{width:100%;height:100%;object-fit:cover}
.pcd-top{display:flex;align-items:center;gap:8px;min-height:28px}
.pcd-l{display:none!important;margin-left:auto;font-family:var(--font-pt);font-size:34px;font-weight:800;line-height:1;color:var(--c)}
.pcd-cat{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:var(--c);color:#fff;font-size:13.5px;font-weight:800}
.pcd-t{margin-top:14px;font-size:20px;font-weight:800;line-height:1.45;letter-spacing:-.03em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pcd:hover .pcd-t{color:var(--c)}
.navy:hover .pcd-t{color:var(--blue)}
.pcd-tag{margin-top:10px;font-size:15px;color:var(--blue);font-weight:600;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcd-f{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.pcd-f .tel{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--ink-2);min-width:0}
.pcd-f .tel svg{flex:0 0 auto;width:17px;height:17px;color:var(--ink-3)}
.pcd-f .go{flex:0 0 auto;margin-left:auto;width:40px;height:40px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--ink-2);transition:.25s}
.pcd-f .go svg{width:18px;height:18px}
.pcd:hover .go{background:var(--c);color:#fff}

.pol-info{margin-top:0}
.pol-tel,.pol-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--blue);overflow-wrap:anywhere}
.pol-tel svg,.pol-link svg{flex:0 0 auto;width:17px;height:17px}
.pol-link{font-weight:600}
.pol-img{margin-top:36px;text-align:center}
.pol-img img{border-radius:14px;border:1px solid var(--line)}
.pol-cont *{font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;max-width:100%}
.pol-cont strong,.pol-cont b{font-weight:800;color:var(--ink)}
.pol-cont div[style*="background"]{padding:22px 24px!important;border-radius:14px;border:0!important;background:var(--bg)!important}
.pol-ask{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px;padding:22px 26px;border-radius:16px;background:var(--ink);color:#fff}
.pol-ask span{display:inline-flex;align-items:center;gap:8px;font-size:16.5px;font-weight:700;opacity:.9}
.pol-ask span svg{width:22px;height:22px;color:var(--lime)}
.pol-ask a{font-family:var(--font-pt);font-size:24px;font-weight:800;letter-spacing:.01em}

.sr-form{display:flex;gap:10px;max-width:820px;margin:0 auto;padding:8px;border-radius:999px;border:2px solid var(--blue);background:#fff}
.sr-form input{flex:1 1 auto;min-width:0;border:0;padding:0 22px;font-size:18px;background:none}
.sr-form input:focus{outline:none}
.sr-form .btn{flex:0 0 auto;padding:14px 28px}
.sr-sum{margin-top:30px;text-align:center;font-size:19px;color:var(--ink-2)}
.sr-sum b{color:var(--ink)}
.sr-sum em{font-style:normal;color:var(--blue);font-weight:800}
.sr-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:36px 0 10px}
.sr-jump a{display:flex;align-items:center;gap:10px;padding:18px 20px;border-radius:14px;background:var(--bg);font-size:16.5px;font-weight:700;transition:.2s}
.sr-jump a:hover{background:var(--blue);color:#fff}
.sr-jump svg{flex:0 0 auto;width:22px;height:22px;color:var(--blue)}
.sr-jump a:hover svg{color:#fff}
.sr-jump em{margin-left:auto;font-style:normal;font-family:var(--font-pt);font-size:20px;font-weight:800;color:var(--blue)}
.sr-jump a:hover em{color:#fff}
.sr-sec{margin-top:60px;scroll-margin-top:calc(var(--head-h) + 20px)}
.sr-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--ink)}
.sr-h h2{font-family:var(--font-pt);font-size:26px;font-weight:800}
.sr-h h2 em{font-style:normal;color:var(--blue)}
.sr-more{display:inline-flex;align-items:center;gap:6px;font-size:15.5px;font-weight:700;color:var(--blue);white-space:nowrap}
.sr-more svg{width:16px;height:16px}
.sr-list li{border-bottom:1px solid var(--line)}
.sr-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 6px;transition:background .2s}
.sr-list a:hover{background:#f7fafd}
.sr-list b{min-width:0;font-size:17.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-list a:hover b{color:var(--blue)}
.sr-list span{flex:0 0 auto;max-width:40%;font-size:15px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-none{padding:36px 0;text-align:center;color:var(--ink-3);border-bottom:1px solid var(--line)}

@media (max-width:1280px){
  .pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1080px){
  .pv-grid{gap:36px}
  .pol-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .pv-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .pv-txt h2{margin-top:14px}
  .pv-ph{border-radius:18px;aspect-ratio:16/10}
  .pillars{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .happy{margin-bottom:30px}
}
@media (max-width:560px){
  .pv-txt h2{font-size:34px}
  .w3{padding:0 4px}
  .w3-c{border-width:4px;gap:3px;padding:0 4px}
  .w3-c.c1{transform:translateX(12px)}
  .w3-c.c3{transform:translateX(-12px)}
  .w3-c b{font-size:17px;letter-spacing:-.03em}
  .w3-c span{font-size:12.5px;line-height:1.3}
  .w3-hub{width:60px;height:60px;border-width:4px;bottom:-2px}
  .w3-hub strong{font-size:19px}
  .pol-dir{padding-bottom:68px}
  .pol-dir .sc-h{margin-bottom:32px}
  .happy .hl{font-size:56px}
  .pillars{grid-template-columns:minmax(0,1fr)}
  .pil-h{padding:16px 18px}
  .pil-l{width:46px;height:46px;font-size:25px}
  .pil-h h3{font-size:20px}
  .pil ul{padding:12px 18px 4px}
  .pil li{font-size:15px;padding:9px 0 9px 15px}
  .pil li::before{top:17px}
  .pil-go{margin:6px 18px 18px}
  .pol-list{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:20px}
  .pcd{padding:20px 18px 16px;border-radius:14px}
  .pcd-ph{margin:-20px -18px 16px;border-radius:13px 13px 0 0}
  .pcd-t{margin-top:10px;font-size:17.5px}
  .pcd-tag{font-size:14px}
  .pcd-f{padding-top:14px}
  .pcd-f .tel{font-size:14px}
  .pcd-f .go{width:34px;height:34px}
  .pol-cont div[style*="background"]{padding:16px!important}
  .pol-ask{padding:18px;border-radius:14px}
  .pol-ask a{font-size:21px}
  .sr-form{border-radius:14px;padding:6px;flex-wrap:nowrap}
  .sr-form input{padding:0 10px;font-size:16px}
  .sr-form .btn{padding:12px 16px;font-size:15px}
  .sr-sum{font-size:16.5px;margin-top:22px}
  .sr-jump{gap:8px;margin-top:24px}
  .sr-jump a{padding:13px 12px;font-size:14.5px;gap:7px}
  .sr-jump svg{width:19px;height:19px}
  .sr-jump em{font-size:17px}
  .sr-sec{margin-top:44px}
  .sr-h h2{font-size:21px}
  .sr-list a{flex-direction:column;align-items:flex-start;gap:4px;padding:15px 2px}
  .sr-list b{white-space:normal;font-size:16px;line-height:1.5}
  .sr-list span{max-width:100%;font-size:13.5px}
}
