:root {
  --pbc2-primary: #0060c6;
  --pbc2-title: #002064;
  --pbc2-text: #383b42;
  --pbc2-text-muted: #6a6c71;
  --pbc2-bg: #f6f6f6;
  --pbc2-surface: #ffffff;
  --pbc2-border: #e3e8f0;
}

.pbc2 { background:var(--pbc2-bg); color:var(--pbc2-text); font-family:"Noto Sans JP","Hiragino Sans",sans-serif; letter-spacing:0; }
.pbc2 h1,.pbc2 h2,.pbc2 h3,.pbc2 .pbc2-eyebrow,.pbc2 .pbc2-compare__duration,.pbc2 .pbc2-band { font-family:"Koburina Gothic StdN","Noto Sans JP","Hiragino Sans",sans-serif; font-weight:600; }
.pbc2 * { box-sizing:border-box; }
a.pbc2-button,a.pbc2-header__cta { text-decoration:none; }
.pbc2-container { width:100%; max-width:1104px; margin:0 auto; padding:0 12px; }
.pbc2-header {
  background:var(--pbc2-surface);
  border-bottom:1px solid var(--pbc2-border);
  position:relative;
  top:auto;
  left:auto;
  z-index:10;
}
.pbc2-header__inner { 
  max-width:1728px; 
  width: 100%;
  padding:0; 
  margin:0 auto; display:flex; 
  align-items:center; justify-content:space-between; 
}
.pbc2-header__logo { display:inline-flex; align-items:center; line-height:0; }
.pbc2-header__logo img { width:136.95px; height:36px; object-fit:contain; }
.pbc2-header__cta { 
  width:auto; 
  padding:0; 
  border-radius:12px; 
  font-size:15px; 
  line-height:1.4; 
  font-weight:600; 
  letter-spacing:0; 
}
.pbc2-header__cta,.pbc2-button { 
  background:#004289; 
  color:var(--pbc2-surface); 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  height:41px; 
  padding: 0 16px;
}

.pbc2-button { border-radius:12px; padding:0 32px; font-size:15px; line-height:1.4; font-weight:600; }

.pbc2-hero { background:var(--pbc2-primary); padding:0; overflow:hidden; }
.pbc2-hero__inner { min-height:445px; display:grid; grid-template-columns:520px 1fr; align-items:center; gap:32px; position:relative; }
.pbc2-hero__content { z-index:2; }
.pbc2-eyebrow--light { display:inline-flex; align-items:center; height:27px; padding:0 20px; font-size:11px; font-weight:600; color:#0060c6 !important; background:var(--pbc2-surface); margin-bottom:16px; }
.pbc2-hero h1 { margin:0 0 16px; color:var(--pbc2-surface); font-size:48px; line-height:1.25; font-weight:600; }
.pbc2-hero__desc { margin:0 0 16px; color:var(--pbc2-surface); font-size:16px; line-height:1.5; font-weight:600; }
.pbc2-hero__visual { position:absolute; right:-118px; top:0; width:830px; height:429px; }
.pbc2-hero__visual img { width:100%; height:100%; object-fit:cover; object-position:center; border-bottom-left-radius:280px; }

.pbc2-stats { background:#fff; padding:40px 0 48px; }
.pbc2-stats__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:22px; }
.pbc2-stat {
  position:relative;
  min-height:80px;
  padding:0 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.pbc2-stat::before,
.pbc2-stat::after {
  content:"";
  position:absolute;
  top:0;
  width:38px;
  height:80px;
  background:url("https://www.figma.com/api/mcp/asset/0337cd9c-9339-4737-9745-69b3dba72356") center/contain no-repeat;
  opacity:.95;
}
.pbc2-stat::before { left:0; }
.pbc2-stat::after { right:0; transform:scaleX(-1); }
.pbc2-stat span {
  color:var(--pbc2-title);
  font-size:16px;
  line-height:1.1;
  font-weight:600;
  display:block;
  margin:0;
}
.pbc2-stat strong {
  color:var(--pbc2-title);
  display:block;
  margin-top:10px;
  font-size:0;
  line-height:1;
  font-weight:600;
  letter-spacing:0;
}
.pbc2-stat strong em,
.pbc2-stat strong small {
  font-style:normal;
  font-size:20px;
  vertical-align:baseline;
  font-weight:600;
  line-height:1;
}
.pbc2-stat strong b {
  font-size:33px;
  margin:0 1px;
  vertical-align:baseline;
  line-height:1;
}

.pbc2-section { padding:60px 0; }
.pbc2-section--problems { background:#fff; }
.pbc2-section--fullsupport { background:#f6f6f6; }
.pbc2-section--patterns { background:#fff; }
.pbc2-section--cases { background:#f6f6f6; }
.pbc2-title { text-align:center; margin:0 auto 30px; max-width:930px; }
.pbc2-eyebrow { margin:0 0 12px; color:#0060c6 !important; font-size:16px; font-weight:600; line-height:1; }
.pbc2-title h2 { margin:0 0 10px; color:var(--pbc2-title); font-size:36px; line-height:1.5; font-weight:600; }
.pbc2-title p { margin:0; color:var(--pbc2-text); font-size:16px; line-height:1.5; font-weight:600; }

.pbc2-problems { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:30px; }
.pbc2-problems article { min-height:74px; border:1px solid var(--pbc2-border); border-radius:16px; background:var(--pbc2-bg); display:flex; align-items:center; gap:14px; padding:16px 20px; }
.pbc2-problems span { width:42px; height:42px; border-radius:6px; background:#f0f0f0; display:inline-flex; align-items:center; justify-content:center; font-size:22px; }
.pbc2-problems p { margin:0; font-size:18px; font-weight:600; color:var(--pbc2-text); line-height:1.5; }

.pbc2-gap { border:1px solid var(--pbc2-border); border-radius:20px; background:var(--pbc2-title); padding:24px 38px 40px; color:var(--pbc2-surface); }
.pbc2-gap > p { margin:0 0 16px; text-align:center; font-size:18px; font-weight:600; line-height:1.5; color:#fff; }
.pbc2-gap__cards { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pbc2-gap__cards article { background:var(--pbc2-surface); border:1px solid var(--pbc2-border); border-radius:14px; padding:16px; text-align:center; min-height:111px; display:flex; flex-direction:column; justify-content:flex-start; }
.pbc2-gap__cards h3 { margin:0 0 4px; color:var(--pbc2-primary); font-size:18px; line-height:1.5; font-weight:600; }
.pbc2-gap__cards p { margin:0; color:var(--pbc2-text-muted); font-size:16px; line-height:1.5; font-weight:600; }

.pbc2-arrow-wrap { text-align:center; margin:24px 0 20px; }
.pbc2-arrow-wrap img { width:64px; height:96px; object-fit:contain; }

.pbc2-title--solution { margin-top:0; }
.pbc2-solution-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pbc2-solution-list article { min-height:75px; border:1px solid var(--pbc2-border); border-radius:18px; background:var(--pbc2-surface); padding:24px; display:flex; align-items:center; gap:20px; }
.pbc2-solution-list strong { color:var(--pbc2-primary); font-size:24px; line-height:1; font-family:"Figtree","Noto Sans JP",sans-serif; font-weight:600; }
.pbc2-solution-list p { margin:0; font-size:18px; line-height:1.5; color:var(--pbc2-text); font-weight:600; }

.pbc2-band { margin:30px 0 0; border-radius:18px; padding:30px 24px; background:linear-gradient(100deg,#1497e8 0%,#0060c6 100%); color:var(--pbc2-surface); text-align:center; font-size:20px; font-weight:600; line-height:1.5; }
.pbc2-band__accent { color:#fee968; }

.pbc2-section--fullsupport { padding-top:70px; }
.pbc2-compare { border-radius:20px; padding:20px 30px 30px; margin-bottom:20px; }
.pbc2-compare--normal { background:rgba(0,0,0,.04); }
.pbc2-compare__header { text-align:center; margin-bottom:12px; }
.pbc2-compare__label { margin:0; color:var(--pbc2-text-muted); font-size:20px; line-height:1.5; font-weight:600; }
.pbc2-compare__duration { margin:6px 0 0; color:var(--pbc2-text-muted); font-size:32px; line-height:1.5; font-weight:600; }
.pbc2-compare__steps { display:grid; grid-template-columns:1fr 25px 1fr 25px 1fr 25px 1fr 25px 1fr 25px 1fr 25px 1fr; gap:0; align-items:center; }
.pbc2-compare__step { min-height:80px; border-radius:12px; background:rgba(0,0,0,.04); color:var(--pbc2-text-muted); display:flex; align-items:center; justify-content:center; text-align:center; font-size:14px; line-height:1.45; font-weight:600; padding:8px; }
.pbc2-compare__chevron { width:25px; height:22px; object-fit:contain; margin:0 5px; justify-self:center; }

.pbc2-compare--pbc { background:#dfe8f5; }
.pbc2-compare__label--pbc { color:var(--pbc2-title); opacity:1; }
.pbc2-compare__duration--pbc { color:var(--pbc2-primary); }
.pbc2-compare__steps--pbc { grid-template-columns:144px 25px 1fr 25px 144px; gap:5px; }
.pbc2-compare__side { min-height:350px; border-radius:12px; background:var(--pbc2-primary); color:var(--pbc2-surface); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:600; }
.pbc2-compare__center { min-height:350px; border-radius:12px; background:var(--pbc2-surface); padding:18px 26px; text-align:center; }
.pbc2-compare__center-logo img { width:137px; height:36px; object-fit:contain; opacity:.95; }
.pbc2-compare__center-lead { margin:8px 0 10px; color:var(--pbc2-primary); font-size:18px; font-weight:600; line-height:1.5; }
.pbc2-compare__center-green { background:#dbeee7; border-radius:4px; padding:12px; font-size:18px; color:#003723; font-weight:600; line-height:1.3; margin-bottom:10px; }
.pbc2-compare__green-accent { color:#008857; }
.pbc2-compare__center-box { background:#dfe8f5; border-radius:5px; padding:12px 20px 20px; }
.pbc2-compare__center-box-title { margin:0 0 10px; color:var(--pbc2-title); font-size:18px; font-weight:600; }
.pbc2-compare__center-tags { display:grid; gap:6px; grid-template-columns:repeat(3,1fr); }
.pbc2-compare__center-tags span { display:flex; align-items:center; justify-content:center; min-height:36px; border-radius:11px; background:var(--pbc2-surface); color:var(--pbc2-primary); font-size:15px; font-weight:600; padding:4px; }

.pbc2-support-title { margin:24px auto 16px; text-align:center; color:var(--pbc2-title); font-size:24px; line-height:1.5; font-weight:600; }
.pbc2-support-icons { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.pbc2-support-icons li { border-radius:16px; background:var(--pbc2-surface); min-height:134px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; }
.pbc2-support-icon__img { width:64px; height:64px; border-radius:14px; background:var(--pbc2-bg); display:flex; align-items:center; justify-content:center; }
.pbc2-support-icon__img img { width:40px; height:40px; object-fit:contain; }
.pbc2-support-icons span { color:var(--pbc2-text); font-size:16px; font-weight:600; text-align:center; }

.pbc2-patterns { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.pbc2-patterns article { border-radius:16px; border:1px solid #dfe6f3; padding:20px; min-height:288px; }
.pbc2-patterns .is-blue { background:#f2f5fd; }
.pbc2-patterns .is-green { background:#f2faf3; border-color:#d9efe0; }
.pbc2-patterns__label { margin:0 0 8px; font-size:12px; color:#8a96a6; line-height:1; }
.pbc2-patterns h3 { margin:0 0 8px; color:var(--pbc2-title); font-size:24px; line-height:1.5; font-weight:600; }
.pbc2-patterns .is-green h3 { color:#003723; }
.pbc2-patterns article > p { margin:0; color:var(--pbc2-text-muted); font-size:15px; line-height:1.8; font-weight:500; }
.pbc2-patterns__tags { margin-top:14px; display:flex; flex-wrap:wrap; gap:6px; }
.pbc2-patterns__tags span { background:#fff; border-radius:2px; color:#4c5568; font-size:14px; line-height:1; padding:6px 16px; font-weight:500; }

.pbc2-cases { display:grid; gap:16px; }
.pbc2-cases article { background:var(--pbc2-surface); border-radius:18px; padding:24px; }
.pbc2-cases .tag { display:inline-flex; align-items:center; min-height:27px; padding:0 20px; border-radius:30px; font-size:14px; font-weight:600; }
.pbc2-cases h3 { margin:16px 0 8px; color:var(--pbc2-text); font-size:20px; line-height:1.5; font-weight:600; }
.pbc2-cases p { margin:0; color:var(--pbc2-text-muted); font-size:15px; line-height:1.75; font-weight:500; }
.pbc2-cases .is-blue { background:#bad4fb; color:#062a60; }
.pbc2-cases .is-orange { background:#f2cab9; color:#6c3118; }
.pbc2-cases .is-green { background:#b6decf; color:#003723; }
.pbc2-cases .is-purple { background:#eadbff; color:#3c1c66; }

.pbc2-contact { background:#002a5c; padding:30px 12px 20px; }
.pbc2-contact__card { width:100%; max-width:475px; margin:0 auto; border-radius:16px; background:var(--pbc2-surface); padding:24px; }
.pbc2-contact__card h2 { margin:0; text-align:center; color:var(--pbc2-title); font-size:20px; line-height:1.45; font-weight:600; font-family:"Noto Sans JP","Hiragino Sans",sans-serif; }
.pbc2-contact__card > p { margin:4px 0 20px; text-align:center; color:#1a1a1a; font-size:12px; line-height:1.4; }
.pbc2-contact .form_inner { display:grid; gap:12px; }
.pbc2-contact .form_title { margin:0 0 6px; color:#616161; font-size:12px; line-height:1; font-weight:600; }
.pbc2-contact .required { margin-left:6px; background:#ddeafd; color:#083f91; font-size:10px; border-radius:6px; padding:1px 6px; }
.pbc2-contact input.form,
.pbc2-contact .select { width:100%; height:40px; border:1px solid #e6e6e6; border-radius:4px; background:#f8f8f8; color:var(--pbc2-text); font-size:13px; padding:0 10px; }
.pbc2-contact .form_textarea { width:100%; min-height:96px; border:1px solid #e6e6e6; border-radius:4px; background:#f8f8f8; color:var(--pbc2-text); font-size:13px; padding:10px; resize:vertical; font-family:inherit; }
.pbc2-contact .checkboxes { display:grid; gap:6px; }
.pbc2-contact .checkboxes label,
.pbc2-contact .check_consent_label { color:#1a1a1a; font-size:12px; line-height:1.4; display:flex; align-items:flex-start; gap:8px; }
.pbc2-contact .check_consent { margin-top:2px; width:14px; height:14px; }
.pbc2-contact .c_link { color:var(--pbc2-primary); text-decoration:none; }
.pbc2-contact .form_note_list { margin:0; padding-left:18px; color:#616161; font-size:11px; line-height:1.6; }
.pbc2-contact .form_note_title { margin:0 0 6px; list-style:none; margin-left:-18px; color:var(--pbc2-text); font-size:12px; font-weight:600; }
.pbc2-contact .form_note_title img { width:12px; vertical-align:middle; margin-right:4px; }
.pbc2-contact .submit { width:320px; max-width:100%; margin:0 auto; height:48px; border:0; border-radius:60px; background:var(--pbc2-primary); color:var(--pbc2-surface); font-size:16px; font-weight:600; cursor:pointer; }
.pbc2-contact__copy { margin:16px 0 0; text-align:center; color:var(--pbc2-surface); font-size:12px; line-height:1.5; }

@media (max-width: 1200px) {
  .pbc2-title h2 { font-size:28px; }
  .pbc2-hero h1 { font-size:46px; }
  .pbc2-problems p { font-size:17px; }
}

@media (max-width: 960px) {
  .pbc2-header__inner { 
    padding:0; }
  .pbc2-hero__inner { grid-template-columns:1fr; min-height:auto; padding:0; gap:20px; }
  .pbc2-hero__content { order:2; padding:0 12px 20px; }
  .pbc2-hero__visual { order:1; position:relative; right:auto; top:auto; width:100%; height:240px; }
  .pbc2-hero__visual img { border-radius:20px; }
  .pbc2-stats__inner,
  .pbc2-problems,
  .pbc2-solution-list,
  .pbc2-patterns { grid-template-columns:1fr; }
  .pbc2-stats { padding:20px 0; }
  .pbc2-stat { min-height:80px; padding:0 40px; }
  .pbc2-stat::before,
  .pbc2-stat::after { width:38px; height:80px; }
  .pbc2-gap__cards { grid-template-columns:1fr; }
  .pbc2-compare__steps { grid-template-columns:1fr; gap:8px; }
  .pbc2-compare__chevron { width:18px; height:16px; transform:rotate(90deg); margin:0 auto; }
  .pbc2-compare__steps--pbc { grid-template-columns:1fr; }
  .pbc2-compare__side { min-height:56px; }
  .pbc2-support-icons { grid-template-columns:repeat(2,1fr); }
  .pbc2-support-title { font-size:28px; }
}

@media (max-width: 640px) {
  .pbc2-header__logo img { width:136.95px; height:36px; }
  .pbc2-header__cta { width:auto; min-width:130px; height:41px; font-size:14px; padding:0 16px; border-radius:8px; background:#0060c6; }

  .pbc2-hero { padding-bottom:20px; }
  .pbc2-hero__visual { height:240px; margin-bottom:0; }
  .pbc2-hero__visual img { width:100%; height:100%; border-radius:0 0 120px 0; object-position:center; }
  .pbc2-hero__content { padding:0 12px 0; }
  .pbc2-eyebrow--light { height:24px; padding:0 15px; font-size:10.5px; margin-bottom:12px; }
  .pbc2-hero h1 { font-size:36px; line-height:1.25; margin-bottom:12px; }
  .pbc2-hero__desc { font-size:12px; line-height:1.7; margin-bottom:12px; }
  .pbc2-button { height:45px; border-radius:9px; padding:0 24px; font-size:11.25px; }

  .pbc2-stats { background:#f6f6f6; padding:20px 0; }
  .pbc2-stats__inner { gap:20px; }
  .pbc2-stat { min-height:80px; padding:0 40px; }
  .pbc2-stat span { font-size:16px; }
  .pbc2-stat strong { margin-top:8px; }
  .pbc2-stat strong em,
  .pbc2-stat strong small { font-size:20px; }
  .pbc2-stat strong b { font-size:33px; }

  .pbc2-problems p,
  .pbc2-solution-list p { font-size:16px; }
  .pbc2-band { font-size:18px; padding:20px 12px; }
  .pbc2-patterns h3 { font-size:22px; }
  .pbc2-cases h3 { font-size:18px; }
  .pbc2-cases .tag { font-size:11px; padding:0 12px; }
  .pbc2-compare__duration { font-size:34px; }
}
