:root{--navy:#14357a;--blue:#2e52a0;--pale:#f4f6f9;--text:#536978;--line:#dce1e6;--white:#fff;--black:#111}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{width:min(1200px,calc(100% - 72px));margin:0 auto}
header{height:90px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}
.head{height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{display:block;color:var(--navy);font-weight:800;font-size:30px;line-height:1.05;letter-spacing:.02em}
.logo small{display:block;margin-top:5px;color:#6d879c;font-size:13px;font-weight:700;letter-spacing:.03em}
.nav{display:flex;gap:30px;font-size:15px;color:#40576a}
.header-social{display:none}
.header-right{display:none}
.menu-toggle{display:none}
.menu-button{display:none;border:0;background:none;padding:0;width:42px;height:42px;cursor:pointer}
.menu-button span{display:block;width:30px;height:3px;background:var(--navy);margin:6px auto}
.hero{background:var(--pale);overflow:hidden}
.hero-inner{position:relative;width:100%;height:560px}
.hero-copy{position:absolute;left:0;top:0;width:53%;height:560px;padding:82px 34px 30px 0;z-index:2}
.hero h1{margin:0 0 34px;color:var(--navy);font-size:48px;line-height:1.35;font-weight:800;letter-spacing:0}
.hero-secondary-copy{margin:-18px 0 0;color:var(--navy);font-size:20px;line-height:1.4;font-weight:700;letter-spacing:0}
.hero-meta-boxes{display:flex;gap:9px;margin:0 0 20px}
.hero-meta-boxes span{height:52px;min-width:108px;padding:0 18px;border:2px solid var(--black);display:flex;align-items:center;justify-content:center;color:var(--black);background:#fff;font-size:20px;font-weight:800}
.hero-meta-boxes .active{background:var(--black);color:#fff}
.hero-name{margin:0;color:var(--navy);font-size:64px;line-height:.98;font-weight:900;letter-spacing:-.045em}
.hero-sub{margin-top:11px;color:#536a7b;font-size:17px;font-weight:700;white-space:nowrap}
.hero-photo{position:absolute;right:0;top:0;width:47%;height:560px;overflow:hidden}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 18%}
.section{padding:66px 0}
.eyebrow{font-size:13px;color:var(--blue);font-weight:900;letter-spacing:.22em;line-height:1.2}
h1,h2,h3{font-family:inherit;color:var(--navy)}
h2{margin:8px 0 24px;font-size:44px;line-height:1.25;font-weight:900;letter-spacing:-.03em}
.profile-teaser{background:#fff}
.profile-lead{margin:0 0 28px;font-size:18px;line-height:1.8;color:#536978}
.wide-button{height:58px;display:flex;align-items:center;justify-content:center;gap:14px;background:var(--navy);color:#fff;padding:0 27px;font-size:18px;font-weight:700}
.wide-button span{font-size:30px;font-weight:400}
.why-home{background:var(--pale)}
.why-home h2{font-size:43px}
.why-lead-box{padding:0;margin:0 0 26px;color:var(--navy);font-size:18px;line-height:1.75;font-weight:700;background:none}
.why-home .button{display:inline-block;margin-top:4px;background:var(--navy);color:#fff;padding:14px 33px;font-size:17px;font-weight:700}
.policy-home{background:var(--pale)}
.policy-list{border-top:1px solid var(--line)}
.policy-home-item{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}
.policy-num{font-size:58px;line-height:1;color:var(--navy);font-weight:700}
.policy-category{color:var(--blue);font-size:16px;font-weight:800}
.policy-home-item h3{font-size:25px;line-height:1.4;margin:4px 0 10px;font-weight:800}
.policy-home-item p{font-size:16px;line-height:1.75;margin:0 0 8px}
.policy-home-item a{font-size:16px;font-weight:800;color:var(--navy)}
.activity-home{background:var(--pale)}
.activity-head{display:flex;justify-content:space-between;align-items:flex-start}
.activity-head h2,.contact-home h2{font-size:43px}
.activity-head p,.contact-home p{font-size:17px;margin:0;color:#536978}
.activity-head>a{font-size:16px;font-weight:800;color:var(--navy);margin-top:18px}
.news-row{display:grid;grid-template-columns:140px 70px 1fr 20px;gap:14px;margin-top:42px;padding:17px 0;border-bottom:1px solid var(--line);font-size:15px;align-items:center}
.tag{background:#e2e8f2;padding:4px 10px;border-radius:0;font-weight:700;color:var(--navy);text-align:center;display:flex;align-items:center;justify-content:center}
.contact-home{background:var(--pale)}
.contact-home .wide-button{margin-top:30px}
footer{background:#fff;color:var(--design-navy);padding:34px 0}
.footer-inner{max-width:1200px;margin:0 auto;text-align:center}
.footer-brand{text-align:center}.footer-name{font-size:28px;font-weight:800;letter-spacing:.02em;color:var(--design-navy)}.footer-meta{margin-top:6px;font-size:13px;font-weight:700;color:#6d879c}.footer-slogan{margin-top:14px;font-size:14px;color:#6d879c}.footer-divider{height:1px;background:#dbe3ea;margin:25px auto 20px;max-width:520px}.footer-social{display:flex;justify-content:center;gap:28px;margin:0}.footer-social a{display:flex;align-items:center;justify-content:center;color:var(--social-base,var(--design-navy))}.brand-icon{width:22px;height:22px;display:block}.footer-copy{margin-top:20px;font-size:11px;color:#6d879c;text-align:center}
.profile-page,.why-page,.policy-page{padding:48px 0 70px}.profile-page h1,.why-page h1,.policy-page h1{font-size:44px;margin:8px 0 30px;line-height:1.25}.profile-block{margin-bottom:34px}.profile-label{background:var(--navy);color:#fff;padding:10px 15px;font-size:17px;font-weight:800;letter-spacing:.08em;margin-bottom:19px}.timeline{border-left:3px solid var(--navy);padding-left:24px}.timeline .row{display:grid;grid-template-columns:180px 1fr;gap:20px;position:relative;padding:8px 0;font-size:18px;line-height:1.75}.timeline .row b{position:relative;color:var(--navy);white-space:nowrap}.timeline .row:before{content:"";position:absolute;left:-30px;top:50%;transform:translateY(-50%);width:9px;height:9px;border-radius:50%;background:var(--navy)}.profile-summary{margin-top:12px;padding:2px 0 2px 22px;background:none;border:0;border-left:3px solid var(--navy);color:#536978;font-size:18px;line-height:1.95}.profile-summary p{margin:0 0 22px}.profile-summary p:last-child{margin-bottom:0}.life-profile{margin-top:52px;padding-top:41px;border-top:1px solid var(--line)}.life-profile h2{font-size:43px;font-weight:500;margin:9px 0 25px}.life-profile p{font-size:18px;line-height:1.9}.life-lead{font-size:20px!important;font-weight:700}
.why-intro{border:2px solid var(--black);padding:18px 22px;margin-bottom:38px;background:#fff}.why-intro .quote{font-size:19px;line-height:1.75;font-weight:700;color:var(--black);margin:0}.why-block{max-width:850px;padding:30px 0;border-top:1px solid var(--line)}.why-block h3{font-size:27px;line-height:1.45;margin:0 0 18px;font-weight:800}.why-block p{font-size:17px;line-height:1.9;margin:0 0 17px}.why-block strong{font-weight:800;color:#222}.final-quote{font-size:22px!important;color:var(--navy);font-weight:800!important;margin-top:48px!important}
.policy-detail{background:var(--pale)}.policy-card{padding:32px 0;border-top:1px solid var(--line)}.policy-card .num{font-size:52px;color:var(--navy);font-weight:700}.policy-card .category{color:var(--blue);font-weight:800;font-size:17px}.policy-card h2{font-size:30px;margin:6px 0 17px;font-weight:800}.policy-card p,.policy-card li{font-size:17px;line-height:1.9}.policy-card strong,.detail strong{font-weight:800;color:#222}.policy-card ul{padding-left:1.2em}.detail{max-width:860px}.detail p,.detail li{font-size:17px;line-height:1.9}.detail h2{font-size:32px;font-weight:800}.detail h3{font-size:22px;font-weight:800}.detail input,.detail textarea{width:100%;padding:13px;border:1px solid #cbdbe5;font:inherit}.detail button{background:var(--navy);color:#fff;border:0;padding:15px 30px;font-weight:700}
@media screen and (max-width:900px){.wrap{width:calc(100% - 48px)}.nav{display:none}.menu-button{display:block}.logo{font-size:28px}.logo small{font-size:12px}.hero-inner{height:520px}.hero-copy{height:520px;padding:58px 10px 30px 0}.hero h1{font-size:38px}.hero-meta-boxes span{height:46px;font-size:18px;min-width:0;flex:1;padding:0 7px}.hero-name{font-size:55px}.hero-sub{font-size:14px}.hero-photo{height:520px}.section{padding:56px 0}.profile-page h1,.why-page h1,.policy-page h1{font-size:40px}.timeline .row{grid-template-columns:130px 1fr;font-size:16px}.profile-summary{font-size:16px;padding:28px 25px}.policy-home-item{grid-template-columns:72px 1fr;gap:16px}.policy-num{font-size:50px}.policy-home-item h3{font-size:19px}.policy-home-item p{font-size:15px}.activity-head h2,.contact-home h2{font-size:39px}
  .head{position:relative;align-items:flex-start}
  .menu-button{margin-top:2px}
  .menu-toggle:checked ~ .header-right .nav{display:flex;flex-direction:column;gap:0;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.12);z-index:50;font-size:16px}
  .menu-toggle:checked ~ .header-right .nav a{padding:16px 20px;border-bottom:1px solid #eee;color:var(--navy)}
}
@media screen and (max-width:800px){.why-title-one-line{font-size:22px;line-height:1.25;white-space:nowrap;letter-spacing:-.03em;margin-right:-4px}}

/* Mobile: faithful reconstruction of the supplied FIX reference. */
@media screen and (max-width:800px){
  :root{--hero-bg:#f4f6f9;--navy:#14357a;--blue:#2e52a0}
  .wrap{width:calc(100% - 42px)}
  header{height:100px;background:#fff;border-bottom:1px solid #dbe3ea}
  .head{width:calc(100% - 42px);height:100%;display:flex;align-items:center;justify-content:space-between}
  .logo{font-size:30px;line-height:1.05;letter-spacing:.01em}
  .logo small{font-size:13px;margin-top:5px;letter-spacing:.02em}
  .menu-button{display:block!important;width:48px;height:48px;padding:0;position:relative}
  .menu-button span{position:absolute;left:8px;width:32px;height:3px;margin:0;background:var(--navy);transform-origin:center;transition:transform .2s ease, opacity .2s ease}
  .menu-button span:nth-child(1){top:13px}
  .menu-button span:nth-child(2){top:23px}
  .menu-button span:nth-child(3){top:33px}
  .menu-toggle:checked ~ .menu-button span:nth-child(1){top:23px;transform:rotate(45deg)}
  .menu-toggle:checked ~ .menu-button span:nth-child(2){opacity:0}
  .menu-toggle:checked ~ .menu-button span:nth-child(3){top:23px;transform:rotate(-45deg)}

  .hero{background:var(--hero-bg);overflow:hidden}
  .hero-inner{height:325px;width:100%;position:relative}
  .hero-copy{position:absolute;left:0;top:0;width:100%;height:325px;padding:23px 20px 12px 21px;z-index:2;pointer-events:none}
  .hero h1{margin:0 0 17px;color:var(--navy);font-size:22px;line-height:1.22;font-weight:800;letter-spacing:0;max-width:190px}
  .hero-meta-boxes{display:flex;gap:5px;margin:0 0 10px;position:relative;z-index:3}
  .hero-meta-boxes span{height:29px;width:61px;min-width:0;flex:0 0 61px;padding:0 3px;border:2px solid var(--navy);display:flex;align-items:center;justify-content:center;color:var(--navy);background:#fff;font-size:12px;font-weight:800;line-height:1;white-space:nowrap}
  .hero-meta-boxes .active{background:var(--navy);color:#fff;border-color:var(--navy)}

  .hero-meta-boxes span:not(.active){width:48px;flex:0 0 48px;min-width:0}
  .hero-name{margin:0;color:var(--navy);font-size:52px;line-height:.96;font-weight:900;letter-spacing:-.06em;position:relative;z-index:3;max-width:220px}
  .hero-sub{margin-top:8px;color:var(--navy);font-size:12px;font-weight:700;white-space:nowrap;position:relative;z-index:3}
  .hero-photo{position:absolute;right:0;top:0;width:auto;height:100%;overflow:visible;z-index:1}
  .hero-photo img{position:absolute;right:-25px;top:14px;width:auto;height:300px;max-width:none;display:block;object-fit:contain;object-position:center;filter:none}

  .section{padding:35px 0}
  .profile-section{padding:35px 0 45px;background:#fff}
  .profile-section .wrap{width:calc(100% - 42px)}
  .profile-section .eyebrow{font-size:13px;letter-spacing:.22em}
  .profile-section h2{font-size:42px;line-height:1.15;margin:8px 0 28px;letter-spacing:-.04em}
  .profile-block{margin-bottom:30px}
  .profile-label{background:var(--navy);color:#fff;padding:10px 12px;font-size:13px;font-weight:800;letter-spacing:.08em;margin-bottom:17px}
  .timeline{border-left:2px solid var(--navy);padding-left:8px}
  .timeline .row{grid-template-columns:78px 1fr;gap:8px;font-size:15px!important;line-height:1.6!important;padding:8px 0}
  .timeline .row:before{left:-21px;top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--navy)}
  .profile-summary{font-size:16px;line-height:1.6;padding:2px 0 2px 18px}
  .why-home .why-lead-text{font-size:16px!important;line-height:1.6!important}
  .policy-home .policy-home-item p{font-size:16px!important;line-height:1.6!important}
  .why-home{padding:40px 0}.why-home h2{font-size:31px}.why-lead-box{font-size:12px}
  .policy-home,.activity-home,.contact-home{padding:42px 0}
  footer{padding:32px 0 28px}
  .footer-name{font-size:24px}
  .footer-meta{margin-top:4px;font-size:12px}
  .footer-slogan{margin-top:10px;font-size:12px}
  .footer-divider{margin:17px auto 14px}
  .footer-social{gap:24px}
  .brand-icon{width:28px;height:28px}
  .footer-copy{margin-top:14px;font-size:10px}
}

/* Final layer adjustment: candidate photo is intentionally in the foreground. */
@media screen and (max-width:800px){
  .hero-copy{z-index:2;}
  .hero-photo{z-index:1;}
  .hero-photo img{z-index:1;}
}
/* 2026-09-14 final mobile fixes: only requested sections. */
.profile-summary-black{background:#f7fafc;border:0;color:#536978}
@media screen and (max-width:800px){
  .profile-summary-black{padding:26px 15px}
  .profile-summary-black p{margin:0 0 16px}
  .profile-summary-black p:last-child{margin-bottom:0}
  .activity-home{padding:32px 0 30px}
  .contact-home{padding:30px 0 34px}
  .activity-head h2{font-size:31px;line-height:1.2;margin-bottom:10px}
  .activity-head p,.contact-home p{font-size:12px;line-height:1.7}
  .contact-home h2{font-size:25px;line-height:1.25;white-space:nowrap;letter-spacing:-.055em;margin-bottom:10px}
  .contact-home .wide-button{margin-top:18px}
}

/* CLEAN1: centralized replacements for former inline styles. */
.hero-meta-boxes .hero-status-fixed{width:54px;flex:0 0 54px}
.detail-subhead{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700}
.detail-lead{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:700}
@media screen and (max-width:800px){.why-title-one-line{white-space:nowrap!important;font-size:22px!important;line-height:1.25!important;letter-spacing:-.03em!important;margin-right:-4px!important}}

/* CLEAN2: top-page adjustments moved from index.html. */
/* FINAL6: top-page-only micro adjustments requested by the owner.
   Keep every other page and all unrelated design untouched. */
@media screen and (max-width:800px){
  .home-page .hero h1{
    color:var(--navy);
    font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    font-weight:800;
  }
  .home-page .hero-meta-boxes{
    gap:5px;
    width:198px;
  }
  .home-page .hero-meta-boxes span{
    width:54px;
    min-width:54px;
    flex:0 0 54px;
    border-color:var(--navy);
    color:var(--navy);
    font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    font-weight:800;
  }
  .home-page .hero-meta-boxes span:first-child{width:66px;min-width:66px;flex:0 0 66px;}
  .home-page .hero-meta-boxes .active{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
  .home-page .hero-name{
    font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    font-size:56px;
    letter-spacing:-.06em;
    color:var(--navy);
    max-width:235px;
    /* White keyline keeps the final 「り」 legible where it crosses the suit. */
    text-shadow:
      1px 0 0 rgba(255,255,255,.92),
      -1px 0 0 rgba(255,255,255,.92),
      0 1px 0 rgba(255,255,255,.92),
      0 -1px 0 rgba(255,255,255,.92);
  }
  .home-page .hero-sub{
    color:var(--navy);
    font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
    font-weight:700;
  }
  .home-page .logo{
    color:var(--navy);
    font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;
  }
  .home-page .logo small{
    color:#6d879c;
  }
  .home-page .menu-button span{
    background:var(--navy);
  }
}

.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* WHY lead text: remove the boxed treatment on the homepage */
.why-lead-text{background:none;border:0;padding:0;margin:0 0 28px;color:#536978;line-height:1.9;}
@media(max-width:768px){.why-lead-text{margin-bottom:28px;line-height:1.9;}}


/* 2026-09-15 MASTER: mobile title sizing approved by owner. */
@media screen and (max-width:800px){
  .profile-page h1, .why-page h1, .policy-page h1,
  .why-home h2, .policy-home h2, .activity-head h2, .contact-home h2{
    font-size:26px !important;
    line-height:1.3 !important;
    font-weight:800 !important;
  }
  .why-home h2{
    white-space:nowrap !important;
    letter-spacing:-.055em !important;
  }
  .policy-num{font-size:44px !important;line-height:1 !important;}
}

/* 2026-09-15 DESIGN1: blue/white redesign from PROFILE onward. Hero remains untouched. */
:root{--design-pale:#f4f6f9;--design-blue:#2e52a0;--design-navy:#14357a;--design-line:#dce1e6}

/* Profile */
.profile-section{background:var(--design-pale)}
.profile-section .profile-block{background:#fff;padding:0 18px 18px;margin-bottom:26px}
.profile-section .profile-label{margin-left:-18px;margin-right:-18px;background:var(--navy);color:#fff;padding:12px 18px;margin-bottom:16px}
.profile-section .timeline{padding-left:16px}
.profile-section .profile-summary{background:none;border:0;border-left:3px solid var(--navy);color:#536978;margin-top:8px}

/* WHY */
.why-home{background:var(--design-pale)}
.why-home .why-lead-text{background:transparent;border:0;padding:0;color:#536978;margin:0 0 24px;line-height:1.9}
.why-home .button{background:var(--design-navy);color:#fff;padding:14px 28px;display:inline-block}

/* Policy cards */
.policy-home{background:var(--design-pale)}
.policy-home .policy-list{border-top:0}
.policy-home .policy-home-item{background:#fff;border:0;border-top:4px solid var(--design-navy);border-radius:0;margin:0 0 12px;padding:22px 18px;grid-template-columns:60px 1fr;gap:14px}
.policy-home .policy-home-item:last-child{margin-bottom:0}
.policy-home .policy-num{font-size:44px;line-height:1;color:var(--design-navy);font-weight:700}
.policy-home .policy-category{color:var(--design-blue)}
.policy-home .policy-home-item h3{color:var(--design-navy)}
.policy-home .policy-home-item p{color:#536978}
.policy-home .policy-home-item a{color:var(--design-navy)}

/* Activity */
.activity-home{background:#fff}
.activity-home .activity-head{background:var(--design-pale);margin:-32px -21px 0;padding:32px 21px 24px}
.activity-home .news-row{margin-top:0;padding:20px 0;border-bottom:1px solid var(--design-line);background:#fff}

/* Contact: homepage shows the form button only; explanatory copy remains in source but is hidden. */
.contact-home{background:var(--design-pale)}
.contact-home p{display:none}
.contact-home .wide-button{margin-top:18px;background:var(--design-navy)}

/* Footer */
footer{background:#fff;color:var(--design-navy)}

/* Inner pages: same blue/white visual language; content is unchanged. */
.profile-page,.why-page,.policy-page{background:var(--design-pale)}
.profile-page .profile-block{background:#fff;padding:0 18px 18px;margin-bottom:26px}
.profile-page .profile-label{margin-left:-18px;margin-right:-18px;background:var(--navy);color:#fff;padding:12px 18px;margin-bottom:16px}
.profile-page .profile-summary{background:none;border:0;border-left:3px solid var(--navy);color:#536978}
.life-profile{background:#fff;padding:24px 18px 28px;border-top:0}
.life-profile .profile-label{margin-left:-18px;margin-right:-18px;margin-top:-24px}
.why-page{background:#fff}
.why-page .why-intro{background:transparent;border:0;padding:0;margin-bottom:34px}
.why-page .why-block{background:#fff;padding:24px 18px;margin-bottom:12px;border-top:0;border:1px solid #dfe7ed;border-radius:16px}
.why-timeline{position:relative;margin-left:8px}
.why-timeline:before{content:"";position:absolute;top:0;bottom:0;left:88px;width:2px;background:var(--navy)}
.why-item{position:relative;display:grid;grid-template-columns:76px 1fr;column-gap:44px;align-items:start;padding:36px 0;border-top:1px solid #e5eaef}
.why-item:first-child{border-top:0;padding-top:0}
.why-item:last-child{padding-bottom:0}
.why-item:before{content:"";position:absolute;left:84px;top:46px;width:10px;height:10px;border-radius:50%;background:var(--navy)}
.why-item:first-child:before{top:9px}
.why-item-number{grid-column:1;grid-row:1;font-size:40px;font-weight:800;color:var(--navy);line-height:1;letter-spacing:-0.02em;text-align:right;padding-right:18px;position:relative;top:-6px}
.why-item-title{grid-column:2;grid-row:1;color:var(--navy);font-size:22px;font-weight:800;line-height:1.3;margin:0}
.why-item p{grid-column:2;font-size:17px;line-height:1.85;margin:14px 0 0;color:#536978}
.why-item p:first-of-type{margin-top:18px}
.why-item strong{font-weight:800;color:#222}
.policy-page{background:var(--design-pale)}
.policy-page .detail{background:transparent}
.policy-page .policy-card{background:#fff;padding:24px 18px;margin-bottom:12px;border-top:0}

@media screen and (max-width:800px){
  .profile-section{padding:42px 0 48px}
  .profile-section .profile-block{padding:0 15px 14px;margin-bottom:18px}
  .profile-section .profile-label{margin-left:-15px;margin-right:-15px;padding:10px 15px}
  .profile-section .profile-summary{margin-top:12px;padding:2px 0 2px 18px}
  .why-home{padding:42px 0}
  .policy-home{padding:42px 0}
  .policy-home .policy-home-item{grid-template-columns:48px 1fr;padding:18px 14px;margin-bottom:10px;gap:12px}
  .policy-home .policy-num{font-size:38px!important}
  .activity-home{padding:0 0 34px}
  .activity-home .activity-head{margin:0 -21px;padding:42px 21px 24px}
  .activity-home .news-row{padding:18px 0;grid-template-columns:92px 58px 1fr 12px;gap:8px}
  .contact-home{padding:42px 0 46px}
  .contact-home .wide-button{margin-top:0}
  .profile-page,.why-page,.policy-page{padding:42px 0 50px}
  .profile-page .profile-block{padding:0 10px 14px;margin-bottom:18px}
  .profile-page .profile-label{margin-left:-10px;margin-right:-10px;padding:10px 15px}
  .life-profile{padding:22px 15px 26px}
  .life-profile .profile-label{margin-left:-15px;margin-right:-15px;margin-top:-22px}
  .why-page .why-block{padding:20px 15px;margin-bottom:10px}
  .policy-page .policy-card{padding:20px 15px;margin-bottom:10px}
}

/* Policy detail readability refinement: design only; text/content unchanged. */
.policy-page .detail h1{font-size:36px;line-height:1.45;color:var(--design-navy);margin:22px 0 34px;letter-spacing:-.02em;font-weight:800}
.policy-page .detail .eyebrow{font-size:17px;letter-spacing:.16em;color:var(--design-blue);font-weight:800}
.policy-page .detail .policy-eyebrow{display:block}
.policy-page .detail .eyebrow-label{display:block;font-size:15px;letter-spacing:.16em;color:var(--design-blue);font-weight:800}
.policy-page .detail .eyebrow-category{display:inline-block;margin-top:6px;padding-bottom:10px;border-bottom:3px solid var(--design-blue);font-size:20px;letter-spacing:.02em;color:var(--design-navy);font-weight:800}
.policy-page .detail-subhead{font-size:25px!important;line-height:1.55;color:#222;margin:0 0 28px!important}
.policy-page .detail p{font-size:17px;line-height:1.85;color:#536978;margin:0 0 8px}
.policy-page .detail p strong{color:#222;font-weight:800}
.policy-page .detail>p:last-of-type{margin-bottom:40px}
.policy-page .detail h3{font-size:22px;line-height:1.55;color:var(--design-navy);background:#fff;border-left:4px solid var(--design-blue);padding:16px 16px;margin:38px 0 18px;letter-spacing:-.015em}
.policy-page .detail h3 + p{margin-top:0}
.policy-page .detail .button{display:inline-block;margin-top:16px;padding:15px 24px;background:#fff;color:var(--design-navy);border:1px solid var(--design-blue);font-weight:800}
@media screen and (max-width:800px){
  .policy-page .detail h1{font-size:30px;line-height:1.45;margin:18px 0 28px}
  .policy-page .detail .eyebrow{font-size:14px;letter-spacing:.13em;margin-bottom:12px}
  .policy-page .detail .eyebrow-label{font-size:13px;letter-spacing:.13em}
  .policy-page .detail .eyebrow-category{font-size:17px;margin-top:5px;padding-bottom:8px;border-bottom-width:2px}
  .policy-page .detail-subhead{font-size:21px!important;line-height:1.45!important;margin-bottom:16px!important}
  .policy-page .detail p{font-size:16px;line-height:1.6!important;margin-bottom:14px!important;letter-spacing:.01em}
  .policy-page .detail>p:last-of-type{margin-bottom:16px!important}
  .policy-page .detail h3{font-size:20px;line-height:1.55;padding:13px 14px;margin:32px 0 16px;border-left-width:4px}
  .policy-page .detail .button{width:100%;box-sizing:border-box;text-align:center;margin-top:10px;padding:14px 18px}
  .why-block p{font-size:16px;line-height:1.6!important;margin-bottom:14px!important;letter-spacing:.01em}
  .why-block>p:last-of-type{margin-bottom:16px!important}
  .why-timeline{margin-left:2px}
  .why-timeline:before{left:60px}
  .why-item{grid-template-columns:50px 1fr;column-gap:30px;padding:26px 0}
  .why-item:before{left:56.5px;top:33.5px;width:9px;height:9px}
  .why-item:first-child:before{top:7.5px}
  .why-item-number{font-size:32px;padding-right:12px;top:-4px}
  .why-item-title{font-size:19px}
  .why-item p{font-size:16px;line-height:1.6;margin-top:12px}
  .why-item p:first-of-type{margin-top:12px}
}


/* Policy detail: clear numbered cards for mobile readability. Existing text is preserved exactly. */
.policy-page .initiative-card{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:18px;
  align-items:start;
  background:#fff;
  border-radius:0;
  padding:22px 20px;
  margin:0 0 14px;
  box-sizing:border-box;
  box-shadow:0 1px 0 rgba(23,74,120,.04);
}
.policy-page .initiative-number{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#e2e8f2;
  color:var(--design-navy);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:800;
  line-height:1;
}
.policy-page .initiative-body{min-width:0}
.policy-page .initiative-title{
  margin:0 0 9px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:var(--design-navy)!important;
  font-size:21px!important;
  line-height:1.5!important;
  letter-spacing:-.015em;
}
.policy-page .initiative-card p{
  margin:0 0 10px!important;
  font-family:inherit!important;
  font-size:17px!important;
  line-height:1.85!important;
  font-weight:400!important;
  color:#536978;
}
.policy-page .initiative-card p:last-child{margin-bottom:0!important}
.policy-page .initiative-card p strong{color:#222}
@media screen and (max-width:800px){
  .policy-page .initiative-card{
    grid-template-columns:auto 1fr;
    column-gap:12px;
    row-gap:0;
    align-items:baseline;
    padding:17px 14px;
    margin-bottom:10px;
    border-radius:0;
  }
  /* number + title share the first row; every paragraph then spans the full card width */
  .policy-page .initiative-body{display:contents}
  .policy-page .initiative-number{grid-column:1;grid-row:1}
  .policy-page .initiative-title{grid-column:2;grid-row:1}
  .policy-page .initiative-card p,
  .policy-page .initiative-card .policy-table-title,
  .policy-page .initiative-card .policy-table-wrap,
  .policy-page .initiative-card .policy-table-note{grid-column:1 / -1}
  .policy-page .initiative-number{
    width:46px;
    height:46px;
    font-size:18px;
  }
  .policy-page .initiative-title{
    font-size:19px!important;
    line-height:1.5!important;
    margin-bottom:6px!important;
  }
  .policy-page .initiative-card p{
    font-family:inherit!important;
    font-size:16px!important;
    line-height:1.6!important;
    font-weight:400!important;
    margin-bottom:14px!important;
  }
}
.policy-page .initiative-separator{display:none}

@media screen and (max-width:800px){
  .detail h1{font-size:28px!important;line-height:1.4!important;font-weight:900!important;margin:0 0 18px!important;letter-spacing:-.01em!important;color:var(--navy)!important;border:0!important;background:none!important;padding:0!important}
  .detail h2{font-size:19px!important;font-weight:800!important;color:#222!important;line-height:1.7!important;margin:0 0 30px!important;letter-spacing:.01em!important;border:0!important;background:none!important;padding:0!important}
  .detail h2 strong{color:inherit!important;font-weight:inherit!important}
  .detail h3{font-size:21px!important;font-weight:800!important;margin:0 0 16px!important;padding-top:32px!important;padding-left:0!important;border:0!important;border-top:3px solid var(--pale)!important;background:none!important;color:var(--navy)!important}
  .detail p,.detail li{font-size:16px!important;line-height:1.95!important;margin:0 0 20px!important;color:#536978!important}
}

@media screen and (max-width:800px){
  .why-home h2{
    font-size:32px!important;
    line-height:1.3!important;
    letter-spacing:-.02em!important;
    white-space:normal!important;
    font-weight:900!important;
    margin:8px 0 20px!important;
  }
  .profile-section h2,.policy-home h2,.activity-head h2,.contact-home h2{
    font-size:32px!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    white-space:normal!important;
    font-weight:900!important;
    margin:8px 0 20px!important;
  }
}

/* DESIGN7: WHY lead card — white card, no border; natural mobile wrapping. */
.why-home .why-lead-text{background:none;border:0;border-left:3px solid var(--blue);padding:2px 0 2px 20px;color:#536978;margin:0 0 24px;line-height:1.9}
.why-home .why-lead-text p{margin:0}
.why-home .why-lead-text p + p{margin-top:12px}
@media screen and (max-width:800px){
  .why-home .why-title-one-line{white-space:nowrap!important;font-size:24px!important;line-height:1.3!important;letter-spacing:-.045em!important;margin:0 0 22px!important}
  .why-home .why-lead-text{padding:2px 0 2px 16px;margin-bottom:24px;font-size:15px;line-height:1.85}
  .why-home .why-lead-text p + p{margin-top:10px}
}

/* Mobile title wrapping for policy initiative headings: deliberate, readable line breaks. */
.mobile-title-break{display:none}
@media screen and (max-width:800px){.mobile-title-break{display:block}}

@media screen and (max-width:800px){
  body.home-page .policy-home h2,
  body.home-page .activity-head h2,
  body.home-page .contact-home h2,
  body.home-page .profile-section h2{
    font-size:32px!important;
    line-height:1.3!important;
    letter-spacing:0!important;
    white-space:normal!important;
    font-weight:900!important;
    margin:8px 0 20px!important;
  }
  body.home-page .why-home h2{
    font-size:31px!important;
    line-height:1.3!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
    font-weight:900!important;
    margin:8px 0 20px!important;
  }
}

@media screen and (max-width:800px){
  .life-profile h2{display:none}
  .story-label{display:none}
  .life-lead{font-size:16px!important;font-weight:400!important;color:var(--navy)!important;margin-bottom:14px!important}
  .life-profile p{font-size:16px!important;line-height:1.6!important;margin:0 0 12px!important;color:#536978}
  .life-profile p.life-lead{font-size:16px!important;line-height:1.6!important;font-weight:700!important;color:var(--navy)!important}
}

/* 2026-09-16 PC MASTER: desktop layout based on the approved mobile design.
   Mobile rules above remain unchanged; this block applies only from 801px upward. */
/* 2026-09-16 MOBILE FOOTER RESTORE: keep the approved smartphone footer layout.
   Desktop D footer remains controlled by the min-width:801px rules below. */
@media screen and (max-width:800px){
  footer{background:#fff;color:var(--design-navy);padding:32px 0 28px;}
  .footer-inner{width:calc(100% - 42px);max-width:none;margin:0 auto;text-align:center;display:block;}
  .footer-brand{text-align:center;padding:0;}
  .footer-name{font-size:24px;font-weight:800;letter-spacing:.02em;color:var(--design-navy);line-height:1.1;}
  .footer-meta{margin-top:4px;font-size:12px;font-weight:700;color:#6d879c;}
  .footer-slogan{margin-top:10px;font-size:12px;color:#6d879c;}
  .footer-divider{display:block;height:1px;background:#dbe3ea;margin:17px auto 14px;max-width:520px;}
  .footer-social-block{display:block;padding:0;text-align:center;}
  .footer-social-title{display:none;}
  .footer-social{display:flex;justify-content:center;align-items:center;gap:24px;margin:0;}
  .footer-social a{display:flex;align-items:center;justify-content:center;color:var(--social-base,var(--design-navy));}
  .footer-social .brand-icon{width:28px;height:28px;display:block;color:var(--social-base,var(--design-navy));}
  .footer-nav{display:none;}
  .footer-bottom{background:transparent;margin:0;padding:0;}
  .footer-copy{margin-top:14px;text-align:center;font-size:10px;color:#6d879c;}
}

@media screen and (min-width:801px){
  :root{
    --pc-navy:var(--navy);
    --pc-blue:var(--blue);
    --pc-pale:var(--pale);
    --pc-text:var(--text);
    --pc-line:var(--line);
  }

  .wrap{width:min(1200px,calc(100% - 96px));}
  header{height:82px;}
  .logo{font-size:30px;color:var(--pc-navy);}
  .logo small{font-size:12px;color:#6d879c;}
  .nav{gap:28px;font-size:14px;color:var(--pc-navy);font-weight:700;}
  .header-right{display:flex;align-items:center;gap:28px;}
  .header-social{display:flex;align-items:center;gap:14px;}
  .header-social .brand-icon{width:18px;height:18px;color:var(--pc-navy);display:block;}

  /* Hero: keep the mobile visual language, use the desktop width for a balanced split. */
  .hero-inner{height:500px;}
  .hero-copy{width:52%;height:500px;padding:72px 30px 30px 0;}
  .hero h1{font-size:48px;line-height:1.34;margin-bottom:28px;color:var(--pc-navy);}
  .hero-meta-boxes{gap:9px;margin-bottom:18px;}
  .hero-meta-boxes span{height:44px;min-width:86px;padding:0 16px;border:1px solid var(--pc-navy);color:var(--pc-navy);font-size:16px;}
  .hero-meta-boxes .active{background:var(--pc-navy);border-color:var(--pc-navy);color:#fff;}
  .hero-name{font-size:64px;line-height:.98;letter-spacing:-.055em;color:var(--pc-navy);}
  .hero-sub{font-size:17px;color:var(--pc-navy);margin-top:12px;}
  .hero-photo{width:48%;height:500px;}

  .section{padding:58px 0;}

  /* Profile: three columns on desktop; same source text, no additions. */
  .profile-section .wrap{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    column-gap:18px;
    align-items:stretch;
  }
  .profile-section .eyebrow{grid-column:1 / -1;}
  .profile-section > .wrap > h2{grid-column:1 / -1;font-size:38px;margin:6px 0 22px;}
  .profile-section .profile-block{
    background:#fff;
    border-radius:0;
    box-shadow:0 2px 8px rgba(20,53,122,.08);
    overflow:hidden;
    padding:0 20px 22px;
    margin:0;
    min-width:0;
  }
  .profile-section .profile-label{
    margin-left:-20px;
    margin-right:-20px;
    margin-bottom:16px;
    padding:14px 20px;
    background:var(--navy);
    color:#fff;
    font-size:14px;
  }
  .profile-section .timeline{padding-left:15px;border-left-width:2px;}
  .profile-section .timeline .row{
    grid-template-columns:96px 1fr;
    gap:10px;
    padding:6px 0;
    font-size:14px;
    line-height:1.55;
  }
  .profile-section .timeline .row:before{left:-19.5px;top:50%;transform:translateY(-50%);width:7px;height:7px;}
  .profile-section .timeline .row b{font-size:14px;}
  .profile-section .profile-summary{
    margin:0;
    padding:0 20px 20px;
    border-left:0;
    background:#fff;
    border-radius:0;
    box-shadow:0 2px 8px rgba(20,53,122,.08);
    overflow:hidden;
    font-size:14px;
    line-height:1.85;
  }
  .profile-section .profile-summary p{margin-bottom:13px;}
  .profile-section .life-profile{
    grid-column:1 / -1;
    margin-top:40px;
    background:#fff;
    border-radius:0;
    box-shadow:0 2px 8px rgba(20,53,122,.08);
    overflow:hidden;
    padding:0 20px 26px;
  }
  .profile-section .life-profile .profile-label{margin-top:0;margin-bottom:18px;}
  .profile-section .life-profile h2{display:none;}
  .profile-section .life-profile h2{font-size:30px;margin:8px 0 18px;}
  .profile-section .life-profile .life-lead{font-size:16px!important;font-weight:400!important;color:var(--navy)!important;margin-bottom:12px!important;}
  .profile-section .life-profile p{max-width:820px;font-size:15px;line-height:1.6;margin:0 0 12px;}

  /* WHY: same content, horizontal desktop composition. */
  .why-home .wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    column-gap:48px;
    align-items:center;
  }
  .why-home .eyebrow{grid-column:1 / -1;margin-bottom:6px;}
  .why-home h2{font-size:36px;margin:0 0 18px;}
  .why-home .why-lead-text{font-size:16px;line-height:1.85;margin:0;}
  .why-home .why-lead-text p{margin:0;}
  .why-home .why-lead-text p + p{margin-top:2px;}
  .why-home .button{grid-column:2;grid-row:2 / span 2;justify-self:stretch;text-align:center;padding:15px 18px;font-size:15px;background:var(--pc-navy);}

  /* Policy: three equal cards, matching the mobile card styling. */
  .policy-home .wrap{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;}
  .policy-home .eyebrow{grid-column:1 / -1;}
  .policy-home > .wrap > h2{grid-column:1 / -1;font-size:38px;margin:6px 0 16px;}
  .policy-home .policy-list{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;}
  .policy-home .policy-home-item{
    display:block;
    min-height:300px;
    margin:0;
    padding:24px 24px 22px;
    background:#fff;
    border:1px solid #e1e8ef;
    border-top:4px solid var(--pc-navy);
    box-shadow:0 8px 22px rgba(20,53,122,.07);
  }
  .policy-home .policy-num{font-size:62px;line-height:.95;color:var(--pc-navy);margin-bottom:14px;font-weight:800;letter-spacing:-.04em;}
  .policy-home .policy-category{font-size:16px;color:var(--pc-blue);font-weight:800;}
  .policy-home .policy-home-item h3{font-size:19px;line-height:1.42;margin:7px 0 14px;color:var(--pc-navy);font-weight:900;letter-spacing:-.02em;}
  .policy-home .policy-home-item p{font-size:15px;line-height:1.8;margin-bottom:15px;}
  .policy-home .policy-home-item a{font-size:15px;color:var(--pc-navy);font-weight:800;}

  /* Activity: compact desktop row. */
  .activity-home{background:#fff;}
  .activity-home .activity-head{align-items:end;}
  .activity-home .activity-head h2{font-size:38px;margin:6px 0 8px;}
  .activity-home .activity-head p{font-size:15px;}
  .activity-home .news-row{grid-template-columns:120px 64px 1fr 16px;gap:14px;margin-top:28px;padding:15px 0;font-size:14px;background:#fff;}

  /* Contact: preserve the existing wording and button, only arrange them horizontally. */
  .contact-home .wrap{display:grid;grid-template-columns:1fr 320px;column-gap:48px;align-items:center;}
  .contact-home .eyebrow{grid-column:1 / -1;}
  .contact-home h2{font-size:36px;margin:6px 0 0;}
  .contact-home p{display:none;}
  .contact-home .wide-button{margin:0;background:var(--pc-navy);height:54px;font-size:15px;}

  /* Footer D: navy brand band + white navigation band. Mobile footer remains untouched. */
  footer{background:var(--pc-navy);color:#fff;padding:0;}
  .footer-inner{width:min(1200px,calc(100% - 96px));max-width:none;margin:0 auto;text-align:left;display:flex;flex-wrap:wrap;column-gap:64px;align-items:center;}
  .footer-brand{padding:38px 0 34px;text-align:left;flex:1 1 auto;order:1;}
  .footer-name{font-size:32px;font-weight:900;letter-spacing:.02em;color:#fff;line-height:1.1;}
  .footer-meta{margin-top:7px;font-size:13px;font-weight:700;color:rgba(255,255,255,.86);}
  .footer-slogan{margin-top:14px;font-size:14px;color:rgba(255,255,255,.82);}
  .footer-social-block{align-self:center;text-align:right;padding:30px 0;flex:0 0 auto;order:2;}
  .footer-social-title{font-size:12px;font-weight:700;letter-spacing:.12em;color:rgba(255,255,255,.78);margin-bottom:10px;}
  .footer-social{display:flex;justify-content:flex-end;align-items:center;gap:22px;margin:0;}
  .footer-social a{display:flex;align-items:center;justify-content:center;color:#fff;--social-base:#fff;--social-cutout:var(--design-navy);}
  .footer-social .brand-icon{width:27px;height:27px;display:block;}
  .footer-divider{display:none;}
  .footer-nav{flex:1 1 100%;order:3;display:flex;align-items:center;justify-content:flex-start;gap:0;background:#fff;color:var(--pc-navy);border-top:1px solid rgba(20,53,122,.12);margin:0 -48px;padding:16px 48px;}
  .footer-nav a{font-size:13px;font-weight:700;padding:0 20px;border-left:1px solid var(--pc-line);white-space:nowrap;}
  .footer-nav a:first-child{border-left:0;}
  .footer-copy{margin:0 0 0 auto;padding-left:20px;text-align:right;font-size:11px;color:#6d879c;white-space:nowrap;}
}


/* 2026-09-16 PC final adjustments: policy title wrapping + lead weight. Mobile unchanged. */
@media screen and (min-width:801px){
  .policy-page h1 br{display:none;}
  .policy-page h1{white-space:nowrap;}
  .policy-page .detail-lead{font-weight:400;}

}

/* 2026-09-16 PC HERO FINAL: approved large-name composition. Mobile is untouched. */
@media screen and (min-width:801px){
  .home-page .hero-secondary-copy{order:1;}
  .home-page .hero-inner{height:680px;}
  .home-page .hero-copy{
    width:60%;
    height:680px;
    padding:130px 0 40px 0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    overflow:visible;
  }
  .home-page .hero h1{
    order:1;
    margin:0 0 20px;
    font-size:49px;
    line-height:1.15;
    font-weight:800;
    letter-spacing:-.03em;
    white-space:nowrap;
    color:var(--pc-navy);
  }
  .home-page .hero-name{
    order:3;
    margin-top:20px;
    font-size:clamp(59px,calc((100vw - 96px) * 0.0842),101px);
    line-height:.9;
    letter-spacing:-.065em;
    white-space:nowrap;
    color:var(--pc-navy);
  }
  .home-page .hero-name br{display:none;}
  .home-page .hero-name-sei{margin-right:.08em;}
  .home-page .hero-meta-boxes{
    order:2;
    gap:20px;
    margin:16px 0 0;
  }
  .home-page .hero-meta-boxes span{
    height:70px;
    min-width:185px;
    padding:0 24px;
    border:2px solid var(--pc-navy);
    font-size:24px;
  }
  .home-page .hero-meta-boxes .hero-status-fixed{
    width:150px;
    min-width:150px;
    flex:0 0 150px;
  }
  .home-page .hero-sub{
    order:4;
    margin-top:24px;
    font-size:24px;
    line-height:1.2;
    color:var(--pc-navy);
  }
  .home-page .hero-photo{
    width:50%;
    height:680px;
    top:0;
    right:0;
    overflow:hidden;
  }
  .home-page .hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:75% top;
    display:block;
  }
}
@media screen and (min-width:801px){
  /* Line break restored: hiding it caused the tagline to overflow into the photo. */
}

/* FIX: mobile hamburger menu must reveal the header-right container without disrupting header layout. */
@media screen and (max-width:800px){
  .menu-toggle:checked ~ .header-right{display:contents;}
}

/* 2026-09-18 POLICY LEAD SPACING: keep mobile lead paragraphs compact and consistent. */
.policy-page .detail .detail-lead{margin:0 0 28px;color:#536978;line-height:1.85;}
.policy-page .detail .detail-lead p{margin:0 0 14px!important;line-height:1.85;}
.policy-page .detail .detail-lead p:last-child{margin-bottom:0!important;}
@media screen and (max-width:800px){
  .policy-page .detail .detail-lead{margin-bottom:28px;line-height:1.85;}
  .policy-page .detail .detail-lead p{margin-bottom:14px!important;line-height:1.85;}
}

/* Policy detail: keep the return-to-list button in one consistent place on every policy page. */
/* 2026-09-18 POLICY COMPARISON TABLE */
.policy-table-title{font-size:16px;font-weight:800;color:var(--design-blue);margin:24px 0 8px;text-indent:-0.5em;}
.policy-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 8px;border:1px solid #dde6ee;border-radius:8px;}
.policy-table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px;}
.policy-table th{background:var(--design-navy);color:#fff;padding:8px 14px;text-align:center;font-weight:700;white-space:nowrap;border-left:1px solid rgba(255,255,255,.25);}
.policy-table th:first-child{text-align:center;border-left:0;}
.policy-table td{padding:7px 14px;border-bottom:1px solid #e7eef4;border-left:1px solid #e7eef4;color:#536978;white-space:nowrap;text-align:right;}
.policy-table td:first-child{text-align:left;border-left:0;}
.policy-table tr:last-child td{border-bottom:0}
.policy-table tr.is-current td{background:#f4f7fa;color:#40576a;}
.policy-table tr.is-discussed td{background:#fdf8ec;color:#8a6a2f;font-weight:700;}
.policy-table tr.is-proposal td{background:#fbe6e6;color:#a83a3a;font-weight:800;}
.policy-table-note{font-size:12px;line-height:1.7;color:#8a9aa8;margin:10px 0 0;}
  .policy-table-note{margin-bottom:26px;}
@media screen and (max-width:800px){
  .policy-table-wrap{margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;border-radius:0;border-top:1px solid #dde6ee;border-bottom:1px solid #dde6ee;overflow-x:hidden;}
  .policy-table{min-width:0;width:100%;table-layout:fixed;font-size:11.5px;}
  .policy-table th,.policy-table td{padding:6px 5px;white-space:normal;word-break:keep-all;overflow-wrap:break-word;}
  .policy-table th:nth-child(1),.policy-table td:nth-child(1){width:40%;white-space:nowrap;}
  .policy-table th:nth-child(2),.policy-table td:nth-child(2){width:19%;}
  .policy-table th:nth-child(3),.policy-table td:nth-child(3){width:11%;}
  .policy-table th:nth-child(4),.policy-table td:nth-child(4){width:30%;}
}

.policy-list-back{margin-top:34px;text-align:left}
.policy-list-back .button{display:inline-block}
@media screen and (max-width:900px){
  .policy-list-back{margin-top:28px}
  .policy-list-back .button{width:100%;box-sizing:border-box;text-align:center}
}

/* 2026-09-22 POLICY DETAIL: badge + card design on all screen sizes (desktop matches mobile). */
.policy-page .initiative-card{
  background:#fff;
  border:1px solid #dfe7ed;
  border-radius:0;
  box-shadow:0 1px 3px rgba(23,74,120,.08);
  border-top:0;
  padding:28px 26px;
  margin:0 0 18px;
}
.policy-page .initiative-card:last-of-type{border-bottom:0;}
.policy-page .initiative-number{
  width:56px; height:56px; border-radius:50%; background:var(--navy);
  color:#fff; font-size:22px; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  justify-content:center;
}
.policy-page .initiative-title{font-size:22px!important;}
.policy-list-back{margin:52px 0 6px;text-align:center;}
.policy-list-back .button{
  display:flex;
  width:min(263px,100%);
  height:65px;
  margin:0 auto;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:0 22px;
  background:var(--design-navy);
  color:#fff;
  border:0;
  border-radius:0;
  font-size:18px;
  font-weight:800;
  line-height:1;
}
@media screen and (max-width:800px){
  /* Mobile: white square cards with a round number badge. Badge + title share one row, body text spans the full card width.
     The card sticks out 12px on each side so the text keeps the same width as the rest of the page. */
  .policy-page .initiative-card{
    background:#fff;
    border:1px solid #dfe7ed;
    border-radius:0;
    box-shadow:0 1px 3px rgba(23,74,120,.08);
    padding:18px 16px;
    margin:0 0 14px;
    align-items:center;
  }
  .policy-page .initiative-card:last-of-type{border-bottom:0}
  .policy-page .initiative-number{
    width:40px;
    height:40px;
    border-radius:50%;
    background:var(--navy);
    color:#fff;
    font-size:17px;
    font-weight:800;
    line-height:1;
    justify-content:center;
    align-self:center;
  }
  .policy-page .initiative-title{
    font-size:19px!important;
    margin-bottom:0!important;
    align-self:center;
  }
  .policy-page .initiative-title + p{margin-top:12px}
  .policy-list-back{margin:38px 0 0;}
  .policy-list-back .button{width:min(263px,100%);height:60px;font-size:17px;}
}


/* 2026-09-18 POLICY LIST BUTTON FINAL: centered inside detail wrapper */
.policy-page .policy-list-back{
  width:100%;
  margin:52px 0 8px;
  text-align:center;
}
.policy-page .policy-list-back .button{
  display:flex;
  width:263px;
  height:65px;
  margin:0 auto;
  padding:0 22px;
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:var(--design-navy);
  color:#fff;
  border:0;
  border-radius:0;
  font-size:18px;
  font-weight:800;
  line-height:1;
  text-decoration:none;
}
@media screen and (max-width:800px){
  .policy-page .policy-list-back{margin:38px 0 0;}
  .policy-page .policy-list-back .button{width:263px;max-width:100%;height:60px;font-size:17px;}
}


/* 2026-09-18 SNS FOOTER FINAL: superseded by the unified header-social/footer-social theming above. */


/* 2026-09-18 POLICY LIST BUTTON — AUTHORITATIVE FINAL OVERRIDE v67 */
.policy-page .policy-list-back{
  width:100% !important;
  margin:52px 0 8px !important;
  padding:0 !important;
  text-align:center !important;
}
.policy-page .policy-list-back .button,
.policy-page .policy-list-back a.button{
  display:flex !important;
  width:263px !important;
  max-width:263px !important;
  height:65px !important;
  min-height:65px !important;
  margin:0 auto !important;
  padding:0 22px !important;
  box-sizing:border-box !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  background:#14357a !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
}
.policy-page .policy-list-back .button span,
.policy-page .policy-list-back a.button span{
  color:#fff !important;
  margin:0 !important;
  padding:0 !important;
}
@media screen and (max-width:800px){
  .policy-page .policy-list-back{
    margin:38px 0 0 !important;
  }
  .policy-page .policy-list-back .button,
  .policy-page .policy-list-back a.button{
    width:263px !important;
    max-width:calc(100vw - 48px) !important;
    height:60px !important;
    min-height:60px !important;
    font-size:17px !important;
  }
}

/* 2026-10-04 SNS BADGE ICONS (X, Instagram, Facebook — two-tone badge+mark SVGs)
   White background (header, mobile footer): navy badge + white mark.
   Navy background (desktop footer): white badge + navy mark. */
.sns-badge{overflow:visible;}
.sns-badge .badge{fill:#14357a;}
.sns-badge .glyph{fill:#fff;}
@media screen and (min-width:801px){
  footer .footer-social .sns-badge .badge{fill:#fff;}
  footer .footer-social .sns-badge .glyph{fill:#14357a;}
}

/* 2026-09-21 POLICY 02 intro: selected lines in black (color only; size/spacing unchanged) */
.policy-page .detail p .text-black{color:#111;}

/* SUBCOPY ADJUSTMENT: copy placement/size only. Existing hero design and name sizing remain unchanged. */
@media screen and (max-width:800px){
  .home-page .hero-secondary-copy{
    order:1;
    margin:-5px 0 10px;
    font-size:15px;
    line-height:1.35;
    font-weight:700;
    color:var(--navy);
    white-space:nowrap;
  }
}
@media screen and (min-width:801px){
  .home-page .hero-secondary-copy{
    order:1;
    margin:4px 0 14px;
    font-size:28px;
    line-height:1.35;
    font-weight:700;
    color:var(--pc-navy);
    white-space:nowrap;
  }
}

/* 2026-10-02 PC TOP: maximize name without entering the photo/suit area.
   Mobile remains unchanged. */
@media screen and (min-width:801px){
  .home-page .hero-name{
    /* 6 Japanese characters: size is calculated from the clear left-half width,
       so the final character stays just before the photo begins. */
    font-size:clamp(76px, calc((50vw - 20px) / 6), 116px);
    white-space:nowrap;
    max-width:calc(50vw - 12px);
    overflow:visible;
  }
}
