.template-page{background:var(--paper)}
.template-page .site-header{position:sticky}
.subpage-hero{padding:72px clamp(28px,7vw,112px) 64px;background:var(--indigo);color:#fff}
.subpage-hero-inner{max-width:1180px;margin:0 auto}
.subpage-kicker{margin:0 0 18px;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.22em;color:#c77864}
.subpage-hero h1{max-width:1000px;margin:0;font-family:var(--serif);font-size:clamp(34px,4.2vw,58px);font-weight:500;line-height:1.45;letter-spacing:0}
.breadcrumb{display:flex;align-items:center;gap:10px;max-width:1180px;margin:0 auto;padding:18px clamp(28px,7vw,112px);font-size:10px;color:var(--slate)}
.breadcrumb span{color:#a84936}
.page-shell{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,300px);gap:clamp(48px,7vw,96px);max-width:1220px;margin:0 auto;padding:80px clamp(28px,5vw,64px) 120px}
.page-shell.no-sidebar{display:block;max-width:960px}
.content-main{min-width:0}
.content-prose{font-size:14px;line-height:2.05;color:#303940}
.content-prose>h1:first-child,.content-prose>#single_title{margin:0 0 32px;font-family:var(--serif);font-size:clamp(27px,3vw,40px);line-height:1.55;font-weight:500;color:var(--indigo);letter-spacing:0}
.content-prose h2{margin:70px 0 24px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--serif);font-size:clamp(24px,2.5vw,34px);line-height:1.65;font-weight:500;color:var(--indigo);letter-spacing:0}
.content-prose h3{margin:38px 0 14px;font-family:var(--serif);font-size:21px;line-height:1.65;font-weight:600;color:var(--indigo);letter-spacing:0}
.content-prose p{margin:0 0 24px}
.content-prose strong{color:var(--indigo)}
.content-prose hr{height:1px;margin:58px 0;border:0;background:var(--line)}
.content-prose ul,.content-prose ol{margin:24px 0 34px;padding-left:1.5em}
.content-prose li{margin:0 0 14px;padding-left:5px}
.content-prose table{width:100%;margin:30px 0 44px;border-collapse:collapse;font-size:12px;line-height:1.65}
.content-prose th{padding:16px 14px;background:var(--indigo);color:#fff;text-align:left}
.content-prose td{padding:16px 14px;border:1px solid var(--line);vertical-align:top}
.content-prose tbody tr:nth-child(even){background:#eceae4}
.content-prose .wp-block-group.has-background{margin:64px 0 0;padding:44px clamp(22px,5vw,56px);background:var(--indigo)!important;color:#fff!important;text-align:center}
.content-prose .wp-block-group.has-background h2{margin:12px 0 20px;padding:0;border:0;color:#fff}
.content-prose .wp-block-group.has-background p{color:#d7dfe6}
.content-prose .wp-block-group.has-background strong{color:#fff}
.content-prose .wp-block-buttons{display:flex;justify-content:center}
.content-prose .wp-block-button__link{display:inline-flex;padding:16px 24px;background:#fff!important;color:var(--indigo)!important;font-weight:700}
.content-prose .wp-block-button__link strong{color:inherit!important}
.content-prose .wp-block-spacer{display:none}
.page-aside{align-self:start;position:sticky;top:190px}
.aside-panel{border-top:3px solid var(--accent);padding:24px 0;border-bottom:1px solid var(--line)}
.aside-panel+.aside-panel{margin-top:38px}
.aside-panel p{margin:0 0 10px;font:700 9px/1.5 Arial,sans-serif;letter-spacing:.18em;color:var(--slate)}
.aside-panel h2{margin:0 0 18px;font-family:var(--serif);font-size:22px;line-height:1.55;color:var(--indigo)}
.aside-panel a{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-top:1px solid var(--line);font-size:11px;line-height:1.7}
.aside-panel a span{color:var(--accent)}
.aside-contact{padding:26px;background:var(--indigo);color:#fff}
.aside-contact h2{color:#fff}
.aside-contact p{font:inherit;font-size:11px;line-height:1.8;color:#c8d0d8}
.aside-contact a{justify-content:center;margin-top:18px;padding:14px;background:#fff;color:var(--indigo);font-weight:700}
.about-template .content-prose .wp-block-image{float:right;width:min(42%,330px);margin:0 0 36px 46px}
.about-template .content-prose .wp-block-image img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 12%;border:1px solid var(--line)}
.about-template .content-prose h1+p{font-family:var(--serif);font-size:18px;color:var(--indigo)}
.cases-template .content-prose>h2{margin-top:54px;padding:32px;background:#eceae4;border-top:3px solid var(--accent)}
.cases-template .content-prose>h2+ul{margin-top:0;padding:28px 32px 20px;border:1px solid var(--line);border-top:0;list-style:none}
.cases-template .content-prose>h2+ul li{padding:18px 0;border-bottom:1px solid var(--line)}
.cases-template .content-prose>h2+ul li:last-child{border-bottom:0}
.contact-template .contact-page{display:block;max-width:1180px;margin:0 auto;padding:82px 32px 120px}
.contact-form-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,110px);align-items:start}
.contact-form-intro h2{margin:18px 0 0;font-family:var(--serif);font-size:clamp(38px,4vw,56px);font-weight:500;line-height:1.5;color:var(--indigo)}
.contact-form-intro h2 span{display:block;white-space:nowrap}
.contact-form-intro-copy>p{margin:4px 0 34px;font-size:14px;line-height:2.1;color:var(--slate)}
.contact-form-intro-copy dl{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-form-intro-copy dl>div{padding:20px 22px}.contact-form-intro-copy dl>div+div{border-left:1px solid var(--line)}
.contact-form-intro-copy dt{margin-bottom:7px;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.16em;color:var(--slate)}
.contact-form-intro-copy dd{margin:0;font-family:var(--serif);font-size:18px;color:var(--indigo)}
.professional-contact-form{margin-top:70px;background:#fff;border-top:4px solid var(--indigo);box-shadow:0 18px 50px rgba(17,37,61,.08)}
.professional-contact-form .form-section{display:grid;grid-template-columns:200px minmax(0,1fr);gap:54px;padding:54px 58px;border-bottom:1px solid var(--line)}
.form-section-heading{display:flex;gap:18px;align-items:flex-start}
.form-section-heading>span{padding-top:3px;font:500 13px/1 Arial,sans-serif;color:var(--accent)}
.form-section-heading p{margin:0 0 8px;font:700 9px/1.4 Arial,sans-serif;letter-spacing:.18em;color:var(--slate)}
.form-section-heading h2{margin:0;font-family:var(--serif);font-size:25px;font-weight:600;color:var(--indigo)}
.professional-contact-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}
.professional-contact-form .form-field{min-width:0}
.professional-contact-form .form-field-full{grid-column:1/-1}
.professional-contact-form label:not(.privacy-consent){display:flex;align-items:center;gap:9px;margin-bottom:10px;font-size:12px;font-weight:700;color:var(--indigo)}
.professional-contact-form label em{padding:3px 6px;background:#a74b3b;color:#fff;font:700 8px/1 Arial,sans-serif;font-style:normal}
.professional-contact-form input[type=text],.professional-contact-form input[type=email],.professional-contact-form input[type=tel],.professional-contact-form select,.professional-contact-form textarea{width:100%;min-height:54px;padding:14px 16px;border:1px solid #c4cbd0;border-radius:0;background:#fff;font:400 14px/1.6 Arial,'Noto Sans JP',sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.professional-contact-form textarea{display:block;min-height:120px;resize:vertical}
.professional-contact-form input::placeholder,.professional-contact-form textarea::placeholder{color:#98a1a8}
.professional-contact-form input:focus,.professional-contact-form select:focus,.professional-contact-form textarea:focus{outline:0;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(17,37,61,.1)}
.professional-contact-form input[readonly]{background:#f1f3f4;color:#526474}
.postal-input{display:flex;align-items:center}.postal-input>span{display:grid;place-items:center;width:48px;min-height:54px;background:var(--indigo);color:#fff;font-family:var(--serif);font-size:18px}.postal-input input{flex:1}
.form-field-postal small{display:block;margin-top:8px;font-size:10px;color:var(--slate)}
.form-submit-area{padding:42px 58px 50px;text-align:center;background:#f1f2ef}
.privacy-consent{display:inline-flex;align-items:flex-start;gap:10px;max-width:680px;font-size:12px;line-height:1.8;color:var(--slate);text-align:left}
.privacy-consent input{width:17px;height:17px;margin-top:2px;accent-color:var(--indigo)}
.privacy-consent a{color:var(--indigo);text-decoration:underline}
.form-submit-area button{display:flex;align-items:center;justify-content:space-between;width:min(100%,440px);margin:30px auto 0;padding:21px 26px;border:0;background:var(--indigo);color:#fff;font:700 14px/1.4 Arial,'Noto Sans JP',sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.form-submit-area button:hover{background:#183753;transform:translateY(-2px)}.form-submit-area button b{font-size:22px}
.form-submit-area>p{margin:12px 0 0;font-size:10px;color:var(--slate)}
.privacy-template .content-prose{max-width:820px;margin:0 auto}
.privacy-template .content-prose h2:first-child{margin-top:0}
.archive-template .page-shell{max-width:1180px}
.archive-template .content-main>#page-title{display:none}
.archive-template .date_headline{margin:0 0 24px;padding:0 0 12px;border-top:0;border-bottom:1px solid var(--line);font:700 11px/1.5 Arial,sans-serif;letter-spacing:.16em;color:var(--accent)}
.archive-template .post_list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:0 0 68px;padding:0;background:transparent;list-style:none}
.archive-template .post_list>li{display:flex;min-width:0;flex-direction:column;margin:0;padding:0;overflow:hidden;background:#fff;border:1px solid var(--line);transition:border-color .2s,box-shadow .2s,transform .2s}
.archive-template .post_list>li:hover{border-color:#aeb8bf;box-shadow:0 16px 34px rgba(17,37,61,.1);transform:translateY(-3px)}
.archive-template .post-thumbnail{display:block;position:relative;aspect-ratio:7/4;overflow:hidden;background:#e8eef2;border-bottom:1px solid var(--line)}
.archive-template .post-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.archive-template .post_list>li:hover .post-thumbnail img{transform:scale(1.025)}
.archive-template .post_list .meta{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:22px 24px 0;list-style:none;font-size:9px;line-height:1.65;color:var(--slate)}
.archive-template .post_list .post_date{font-weight:700;color:var(--accent)}
.archive-template .post_list .title{flex:1;margin:0;padding:15px 24px 30px;font-family:var(--serif);font-size:18px;line-height:1.65;font-weight:500}
.archive-template .post_list .title a{color:var(--indigo)}
.archive-template .post_list .title a::after{content:"  →";color:var(--accent);font-family:Arial,sans-serif;font-size:13px}
.archive-template .page_navi ul.page-numbers{display:flex;width:auto;height:auto;gap:8px;margin:0;padding:0;border:0;list-style:none}
.archive-template .page_navi ul.page-numbers>li{margin:0;padding:0}
.archive-template .page_navi a.page-numbers,.archive-template .page_navi span.page-numbers{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);font-size:11px}
.archive-template .page_navi span.page-numbers.current{background:var(--indigo);color:#fff}
.article-template .content-prose #single_title{margin-bottom:20px}
.article-template #single_meta{display:flex;flex-wrap:wrap;gap:15px;margin:0 0 34px;padding:0;list-style:none;font-size:10px;color:var(--slate)}
.article-template .post_image{margin:0 0 46px}
.article-template .post_image img{display:block;width:100%;height:auto}
.article-template .content-prose .post>p,.article-template .content-prose .post>h2,.article-template .content-prose .post>h3,.article-template .content-prose .post>hr{max-width:760px;margin-left:auto;margin-right:auto}
.not-found{min-height:620px;display:grid;place-items:center;padding:100px 28px;text-align:center}
.not-found-inner{max-width:760px}
.not-found-number{margin:0;font:500 clamp(100px,20vw,240px)/.8 var(--serif);color:rgba(17,37,61,.12)}
.not-found h1{margin:34px 0 20px;font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:500;color:var(--indigo)}
.not-found p{margin:0 auto 36px;max-width:620px;font-size:13px;line-height:2;color:var(--slate)}
.not-found-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
.not-found-actions a{padding:16px 22px;border:1px solid var(--indigo);font-size:12px;font-weight:700}
.not-found-actions a:first-child{background:var(--indigo);color:#fff}
@media(max-width:1080px){.page-shell{grid-template-columns:1fr}.page-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:28px}.aside-panel+.aside-panel{margin-top:0}.contact-form-intro{grid-template-columns:1fr;gap:34px}.professional-contact-form .form-section{grid-template-columns:170px minmax(0,1fr);gap:34px;padding-left:42px;padding-right:42px}}
@media(max-width:800px){.contact-form-intro{gap:28px}.professional-contact-form .form-section{grid-template-columns:1fr;gap:30px}.form-section-heading{padding-bottom:22px;border-bottom:1px solid var(--line)}}
@media(max-width:720px){.subpage-hero{padding:52px 24px 45px}.subpage-hero h1{font-size:31px}.breadcrumb{padding:15px 24px}.page-shell{padding:55px 24px 82px}.content-prose{font-size:13px}.noguchi-page-finance .content-prose{font-size:12px}.content-prose h2{margin-top:52px;font-size:25px}.content-prose h3{font-size:19px}.content-prose table{display:block;overflow-x:auto;white-space:nowrap}.page-aside{grid-template-columns:1fr}.about-template .content-prose .wp-block-image{float:none;width:min(100%,300px);margin:0 auto 34px}.archive-template .post_list{grid-template-columns:1fr}.content-prose .wp-block-group.has-background{margin-left:-24px;margin-right:-24px}.not-found{min-height:520px;padding:70px 24px}.contact-template .contact-page{padding:58px 20px 84px}.contact-form-intro h2{font-size:clamp(32px,10vw,38px)}.contact-form-intro-copy dl{grid-template-columns:1fr}.contact-form-intro-copy dl>div+div{border-left:0;border-top:1px solid var(--line)}.professional-contact-form{margin-top:48px}.professional-contact-form .form-section{padding:38px 22px}.professional-contact-form .form-grid{grid-template-columns:1fr;gap:24px}.professional-contact-form .form-field-full{grid-column:auto}.form-submit-area{padding:34px 22px 40px}.privacy-consent{font-size:11px}.form-submit-area button{padding:18px 20px}}

@media(max-width:720px){.archive-template .post_list{gap:20px;margin-bottom:52px}.archive-template .post_list .meta{padding:18px 18px 0}.archive-template .post_list .title{padding:12px 18px 24px;font-size:17px}}

/* Prevent isolated one- or two-character lines in responsive headings. */
.subpage-hero h1,.content-prose>h1:first-child,.content-prose>#single_title,.content-prose h2,.content-prose h3,.aside-panel h2,.archive-template .post_list .title{text-wrap:balance;word-break:auto-phrase}
.form-section-heading h2{white-space:nowrap}
.content-prose .registration-link{color:var(--indigo)}
.content-prose .registration-note{color:var(--slate)!important;white-space:normal}
@media(max-width:390px){.subpage-hero h1{font-size:28px}}
@media(max-width:340px){.subpage-hero h1{font-size:24px}}
@media(max-width:390px){
  .subsidy-template .content-prose>h1:first-child{font-size:24px;text-wrap:balance;word-break:normal}
  .cases-template .content-prose>h2{font-size:23px;text-wrap:balance;word-break:normal}
}
