/* 日本語と、過去の制作物を中心にした編集版。外部フォント・画像配信なし。 */
:root{--blue:#075da3;--blue-dark:#064777;--navy:#062e50;--ink:#183445;--muted:#566b78;--light:#f2f6f8;--line:#d7e1e7;--orange:#ec7139;--gutter:clamp(24px,5.6vw,88px);--rail:0px;--display:var(--sans)}
body{padding-right:0;font-size:15px;line-height:1.95;background:#fff}
html{scroll-padding-top:110px}
.display{font-family:var(--sans);font-stretch:normal;font-style:normal!important;letter-spacing:0;line-height:1.45}
h1,h2,h3{font-feature-settings:'palt';overflow-wrap:break-word;word-break:normal}
.small-en,.section-no{font-family:var(--sans);letter-spacing:.04em;line-height:1.8}
.jp-header{height:100px;padding:0 clamp(22px,3.3vw,55px);display:flex;align-items:center;gap:32px;position:relative;z-index:20;background:white;border-bottom:1px solid #e4eaed}
.jp-brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.jp-brand>span:last-child{font:700 16px/1.25 Arial,sans-serif;letter-spacing:-.055em}
.jp-brand small{display:block;font:500 10px/1.6 var(--sans);letter-spacing:.09em;margin-top:7px;color:#58707e}
.jp-brand-symbol{display:flex;align-items:center;justify-content:center;background:var(--blue);color:white;font:800 29px/1 Arial,sans-serif;width:39px;height:44px;position:relative}
.jp-brand-symbol:after{content:'';position:absolute;right:0;bottom:0;width:9px;height:9px;background:var(--orange)}
.jp-nav{display:flex;align-items:center;gap:24px;margin-left:auto;white-space:nowrap;font-size:12px;font-weight:700}
.jp-nav a{padding:16px 0;position:relative}
.jp-nav a:hover,.jp-nav .is-current{color:var(--blue)}
.jp-nav .is-current:after{content:'';position:absolute;bottom:8px;left:0;width:100%;height:2px;background:var(--blue)}
.jp-header-contact{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:14px 18px;white-space:nowrap;background:var(--blue);color:white;font-size:12px;font-weight:700}
.jp-header-contact:hover,.jp-button:hover{background:var(--navy)}
.jp-menu-button{display:none;width:50px;min-height:50px;background:transparent;border:0;align-items:center;flex-direction:column;justify-content:center;gap:6px}
.jp-menu-button small{font-size:9px;line-height:1.5}
.jp-menu-lines{display:block;width:25px;height:13px;border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}
.jp-menu-dialog{border:0;padding:34px 40px;width:520px;max-width:94vw;max-height:91dvh;background:white;color:var(--ink);overflow-y:auto}
.jp-menu-dialog::backdrop{background:#062e50c9}
.jp-menu-dialog>.dialog-close{position:absolute;right:20px;top:19px;color:var(--ink)}
.jp-menu-dialog h2{font-size:24px;margin-bottom:25px}
.jp-menu-dialog nav{display:flex;flex-direction:column}
.jp-menu-dialog nav>a{font-size:15px;width:100%;padding:15px 0;border-bottom:1px solid var(--line);margin:0}
.jp-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;color:var(--blue);font-size:13px;font-weight:700;line-height:1.8;padding:11px 0;border-bottom:1px solid #8caec5;max-width:100%}
.jp-link:hover{color:var(--navy);border-color:var(--navy)}
.jp-link>span{font:22px/1 Arial,sans-serif}
.jp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:18px 23px;background:var(--blue);color:white;font-size:13px;font-weight:700;min-height:60px;line-height:1.6;transition:background .18s}
.jp-button>span{font:24px/1 Arial,sans-serif}
.jp-kicker{display:block;font-size:12px;font-weight:700;color:var(--blue);letter-spacing:.07em;line-height:1.7}
.jp-home-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:45px;align-items:center;padding:69px 0 60px;position:relative}
.jp-home-copy{padding:10px 0 24px;min-width:0}
.jp-home-copy h1{font-size:clamp(36px,3.85vw,56px);font-weight:900;line-height:1.63;letter-spacing:-.055em;color:var(--ink);margin-top:21px}
.jp-home-copy h1 em{font-style:normal;color:var(--blue);white-space:nowrap;font-size:.87em;letter-spacing:-.055em}
.jp-home-lead{font-size:14px;line-height:2.1;color:#455e6e;margin-top:24px}
.jp-home-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:29px}
.jp-home-actions .jp-button{font-size:12px;min-height:55px;padding:15px 20px;gap:26px}
.jp-home-actions .jp-link{font-size:12px;gap:18px}
.jp-hero-montage{display:grid;grid-template-columns:1fr .95fr;grid-template-rows:auto auto;gap:18px;position:relative;padding:26px 0 0 8px;align-items:end}
.jp-hero-montage:before{content:'';position:absolute;inset:0 -19px 10% 19%;background:#edf3f7;z-index:-1}
.jp-hero-montage figure{margin:0;background:white;border:1px solid #e0e7eb;box-shadow:0 10px 27px #173a5012}
.jp-hero-montage img{display:block;width:100%;height:auto}
.jp-hero-montage figcaption{font-size:10px;line-height:1.8;padding:9px 12px;background:#fff;color:#4b6779;border-top:1px solid #e6ecef}
.jp-montage-main{grid-column:1/3;margin-right:8%!important}
.jp-montage-recruit{grid-column:1;width:92%;margin-left:10%!important;align-self:start}
.jp-montage-sheet{grid-column:2;align-self:center;margin-left:4%!important}
.jp-montage-sheet img{aspect-ratio:1.48;object-fit:cover;object-position:left center}
.jp-platform-strip{display:flex;align-items:center;gap:38px;border-top:1px solid #c7d8e3;border-bottom:1px solid #c7d8e3;padding:20px 0;margin:0}
.jp-platform-strip>span{font-size:12px;font-weight:700;color:var(--blue);white-space:nowrap}
.jp-platform-strip>div{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
.jp-platform-strip a{display:flex;align-items:baseline;justify-content:center;gap:12px;border-left:1px solid var(--line);line-height:1.7;padding:8px 12px}
.jp-platform-strip b{font:700 18px/1.5 Arial,sans-serif;letter-spacing:-.025em}
.jp-platform-strip small{font-size:10px;color:#627886;white-space:nowrap}
.jp-platform-strip a:hover{background:#f0f6fa;color:var(--blue)}
.jp-introduction{padding:75px 0 77px;margin-top:60px;background:#f3f6f7}
.jp-introduction>.section{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}
.jp-introduction h2{font-size:28px;font-weight:800;line-height:1.85}
.jp-introduction p{font-size:14px;line-height:2.15;color:var(--muted)}
.jp-introduction p+p{margin-top:17px}.jp-introduction .jp-link{margin-top:15px}
.jp-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}
.jp-section-heading h2{font-size:clamp(24px,2.4vw,32px);line-height:1.65;font-weight:800;letter-spacing:-.025em}
.jp-section-heading .jp-kicker{margin-bottom:13px}
.jp-section-heading>p{font-size:12px;color:var(--muted);line-height:2;max-width:420px}
.jp-section-heading>.jp-link{white-space:nowrap;margin-bottom:3px}
.jp-home-services{padding:85px 0 90px}
.jp-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 32px}
.jp-service-card{display:block;min-width:0}
.jp-service-image{position:relative;height:270px;display:flex;align-items:center;justify-content:center;background:#edf1f3;overflow:hidden;border:1px solid #e1e7eb}
.jp-service-image img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.jp-service-card:hover img{transform:scale(1.025)}
.jp-service-image>span{position:absolute;bottom:11px;right:11px;font-size:10px;line-height:1.7;padding:4px 9px;background:#ffffffed;color:#345973}
.jp-service-text{padding:20px 0 19px;border-bottom:1px solid #cbd9e1}
.jp-service-text>small{font-size:11px;color:#56758a;line-height:1.8}
.jp-service-text h3{font-size:24px;font-weight:800;line-height:1.7;margin:6px 0 10px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.jp-service-text h3>span{font:27px/1 Arial;color:var(--blue)}
.jp-service-text p{font-size:13px;line-height:2;color:var(--muted);max-width:500px}
.jp-home-records{padding:80px 0 84px;background:#f3f6f8}
.jp-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.jp-evidence-grid>article{min-width:0}
.jp-threads-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;height:290px;background:#e4edf3;padding:20px}
.jp-threads-compact .jp-visual{padding:0;background:transparent;border:0}
.jp-threads-compact img{height:100%;width:100%;object-fit:contain}
.jp-threads-compact .jp-zoom-hint{font-size:8px;padding:2px 5px;bottom:4px;right:4px}
.jp-recruit-evidence{height:290px;background:white;border:1px solid var(--line)}
.jp-recruit-evidence>.jp-visual{height:100%;width:100%;padding:8px;background:white;border:0}
.jp-recruit-evidence img{width:100%;height:100%;object-fit:contain}
.jp-caption-tag{display:inline-block;font-size:10px;color:var(--blue);border-left:2px solid var(--blue);padding-left:9px;margin-top:24px}
.jp-evidence-grid h3{font-size:22px;line-height:1.8;margin:8px 0 11px}
.jp-evidence-grid p{font-size:13px;color:var(--muted);line-height:2.05}
.jp-evidence-grid .jp-link{margin-top:13px}
.jp-home-gallery{padding:84px 0 80px}
.jp-gallery-bottom{text-align:right;margin-top:30px}
.jp-gallery-section{padding-top:58px;padding-bottom:63px}
.jp-gallery{display:grid;gap:27px;align-items:start}
.jp-cols-1{grid-template-columns:1fr;max-width:1120px;margin:auto}
.jp-cols-2{grid-template-columns:repeat(2,1fr)}
.jp-cols-3{grid-template-columns:repeat(3,1fr)}
.jp-figure{margin:0;min-width:0}
.jp-visual{display:block;width:100%;position:relative;border:1px solid #d5e0e7;overflow:hidden;background:#edf2f5;padding:0;cursor:zoom-in;min-width:0}
.jp-visual img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%}
.jp-gallery .jp-visual{height:290px;padding:9px}
.jp-cols-3 .jp-visual{height:267px}
.jp-cols-1 .jp-visual{height:auto;max-height:630px;padding:16px}
.jp-cols-1 .jp-visual img{height:auto;max-height:595px}
.jp-zoom-hint{position:absolute;bottom:10px;right:10px;background:#fffefa;border:1px solid #d2dce3;padding:4px 8px;font-size:10px;line-height:1.6;color:var(--blue);box-shadow:0 2px 6px #1239570c}
.jp-visual:hover{border-color:#5990b8}
.jp-figure figcaption{padding-top:13px}
.jp-figure figcaption strong{display:block;font-size:14px;line-height:1.75;font-weight:700;margin-bottom:6px}
.jp-figure figcaption span{display:block;font-size:11px;line-height:1.95;color:var(--muted)}
.jp-masthead{background:var(--blue);padding:56px 0 55px;color:white;position:relative}
.jp-masthead>.section{display:grid;grid-template-columns:1.2fr 1fr;gap:75px;align-items:center}
.jp-overline{font:600 11px/1.8 Arial,sans-serif;letter-spacing:.04em;color:#bed8ea}
.jp-masthead h1{font-size:clamp(28px,3.05vw,43px);line-height:1.65;margin-top:12px;font-weight:800;letter-spacing:-.025em}
.jp-masthead p{font-size:14px;line-height:2.15;color:#e6f1f8;max-width:440px;margin-left:auto}
.breadcrumbs{padding-block:15px}
.breadcrumbs ol{font-size:10px}
.jp-platform-section{padding:56px 0 36px}
.jp-platform-section>.jp-platform-strip{margin-bottom:4px}
.jp-platform-section .jp-platform-strip>span{display:none}
.jp-platform-section .jp-platform-strip a:first-child{border-left:0}
.jp-platform-row{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center;padding:53px 0;border-bottom:1px solid var(--line);scroll-margin-top:35px}
.jp-platform-name{display:inline-block;font:700 29px/1.5 Arial,sans-serif;letter-spacing:-.03em;color:var(--blue);margin-bottom:11px}
.jp-platform-row:nth-of-type(odd) .jp-platform-name{color:var(--ink)}
.jp-platform-copy h3{font-size:24px;line-height:1.75;letter-spacing:-.025em;margin-bottom:18px}
.jp-platform-copy p{font-size:14px;line-height:2.1;color:var(--muted)}
.jp-platform-copy dl{border-top:1px solid var(--line);margin:24px 0 0;padding-top:15px}
.jp-platform-copy dt{font-size:11px;font-weight:700;color:var(--blue);line-height:1.8}
.jp-platform-copy dd{font-size:12px;line-height:2;margin:7px 0 0}
.jp-platform-row .jp-visual{height:337px;padding:12px}
.jp-platform-row .jp-figure figcaption strong{font-size:13px}
.jp-invitation{background:var(--blue);color:white;padding:55px 0 59px}
.jp-invitation>.section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.jp-invitation>.section>div:last-child{max-width:450px;width:100%;margin-left:auto}
.jp-invitation span:not(.jp-button span){font-size:12px;line-height:1.8;color:#d7e9f5}
.jp-invitation h2{font-size:31px;font-weight:800;line-height:1.8;margin-top:15px}
.jp-invitation p{font-size:13px;color:#e0edf5;line-height:2.05;margin-bottom:21px}
.jp-white-button{background:white;color:var(--blue);width:100%;padding:18px 23px}
.jp-white-button:hover{background:#dceefb;color:var(--navy)}
.jp-footer{padding:49px 0 25px;background:#082d4b;color:white}
.jp-footer-top{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;border-bottom:1px solid #355166;padding-bottom:28px}
.jp-footer-top strong{font:700 20px/1.7 Arial;letter-spacing:-.04em}
.jp-footer-top p{font-size:11px;line-height:1.9;color:#b8cad6;margin-top:9px}
.jp-footer nav{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px 29px}
.jp-footer nav a{font-size:12px;line-height:1.8;display:inline-flex;align-items:center;gap:8px;padding:7px 0}
.jp-footer nav a>span{color:#89adca}
.jp-footer-note{font-size:10px;line-height:2.1;color:#b0c6d5;margin:20px 0}
.jp-footer-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:10px;line-height:1.9;color:#b0c6d5}
.jp-footer-bottom small{font:10px/1.9 Arial}
.jp-footer-bottom a{color:#fff;padding:7px 0;white-space:nowrap}
/* Retained detailed content: Japanese heading sizes, ordinary photos and diagrams. */
.section-header h2.display{font-size:36px;line-height:1.6;letter-spacing:0;margin-top:17px}
.about-photo{clip-path:none!important}.about-photo:after,.about-photo:before{display:none!important}
.feature-work .feature-copy h3,.feature-work .feature-copy h2{font-size:30px;line-height:1.8}
.thread-gallery .thread-shot{transform:none!important;border-radius:0!important;box-shadow:none}
.threads-board,.recruit-board{clip-path:none;border-radius:0;background:#edf3f7}
.inner-page .feature-work{padding-block:58px}
.feature-work .section-no{font-size:11px}
.feature-copy .big-stat .display{font-family:Arial,sans-serif}
.section-no,.small-en{letter-spacing:.015em}
.service-overview{padding-block:56px;gap:65px}
.service-overview h2{font-size:29px;line-height:1.9;margin-top:18px}
.listing-section{padding-top:55px;padding-bottom:64px}
.support-note{padding-bottom:65px}
.scope-section{padding:53px 0}
.scope-num{font-family:Arial,sans-serif;font-size:38px}
.scope-row{grid-template-columns:48px .95fr 1.3fr;padding-block:27px;gap:24px}
.scope-row h3{font-size:19px}
.related-block{padding:53px 0}
.sibling-block{padding-bottom:54px}
.work-route .journal-main>strong{font-size:21px}
.case-flow{padding:45px 0}
.case-flow li small{font-family:var(--sans)}
.case-story{gap:75px;padding-bottom:61px}
.case-body .detail-content h2{font-size:23px}
.case-body .detail-content>p{font-size:14px;line-height:2.2}
.case-pagination{padding-bottom:50px}
.faq-heading h2.display{font-size:32px;line-height:1.65}
.process-steps .step-num{font-family:Arial,sans-serif;font-size:39px}
.iv-heading h2{font-size:30px;line-height:1.8}
.iv-case-top .small-en{font-size:9px}
.iv-service-hero{padding-block:53px!important}
.iv-scope-zone{padding-block:55px!important}
.iv-scope h3{font-size:18px}
.iv-scope p{font-size:13px}
.iv-scope-grid{gap:25px}
.iv-results{padding-block:55px!important}
.iv-flow{padding-block:55px!important}
.iv-case-values strong{font-family:Arial,sans-serif}
.iv-faq{padding-block:54px!important}
.iv-home-band{padding-block:54px!important}
.image-dialog .dialog-bar{background:#fff;color:var(--ink)}
.image-dialog::backdrop{background:#052943cf}
@media(min-width:1500px){.jp-home-copy h1{font-size:58px}.jp-home-hero{gap:60px}.jp-hero-montage{padding-top:16px}}
@media(max-width:1240px){.jp-header{gap:22px}.jp-nav{gap:17px;font-size:11px}.jp-brand>span:last-child{font-size:14px}.jp-brand small{font-size:8px}.jp-header-contact{padding:13px 14px;font-size:11px;gap:15px}.jp-home-hero{gap:28px}.jp-platform-strip{gap:22px}.jp-platform-strip a{flex-direction:column;align-items:center;gap:2px}.jp-service-image{height:238px}.jp-gallery .jp-visual{height:255px}.jp-cols-1 .jp-visual{height:auto}.jp-platform-row{gap:42px}.jp-platform-row .jp-visual{height:286px}.jp-introduction>.section{gap:58px}}
@media(max-width:1000px){.jp-nav{display:none}.jp-header{height:82px}.jp-header-contact{margin-left:auto}.jp-menu-button{display:flex}.jp-home-copy h1{font-size:34px}.jp-home-copy h1 em{font-size:.86em}.jp-home-lead{font-size:12px}.jp-home-hero{padding-top:40px}.jp-home-actions{gap:14px}.jp-home-actions .jp-button{font-size:11px;gap:18px;padding:14px}.jp-home-actions .jp-link{font-size:11px}.jp-hero-montage{gap:11px}.jp-montage-main{margin-right:3%!important}.jp-hero-montage figcaption{font-size:8px;padding:7px 9px}.jp-service-image{height:215px}.jp-service-text h3{font-size:21px}.jp-introduction h2{font-size:24px}.jp-introduction p{font-size:13px}.jp-section-heading h2{font-size:27px}.jp-section-heading>.jp-link{font-size:11px}.jp-evidence-grid{gap:25px}.jp-threads-compact,.jp-recruit-evidence{height:248px}.jp-threads-compact{gap:8px;padding:12px}.jp-evidence-grid h3{font-size:19px}.jp-gallery .jp-visual{height:215px}.jp-cols-1 .jp-visual{height:auto}.jp-cols-3{gap:19px}.jp-masthead>.section{gap:35px}.jp-masthead h1{font-size:32px}.jp-masthead p{font-size:12px}.jp-platform-copy h3{font-size:21px}.jp-platform-copy p{font-size:13px}.jp-invitation h2{font-size:28px}.jp-invitation>.section{gap:45px}.jp-footer-top{grid-template-columns:1fr 1fr;gap:40px}.jp-footer-top strong{font-size:17px}.case-story{grid-template-columns:200px 1fr;gap:40px}.iv-heading h2{font-size:27px}.scope-row h3{font-size:17px}}
@media(max-width:700px){
 :root{--gutter:22px}body{font-size:14px}html{scroll-padding-top:25px}
 .jp-header{height:76px;padding:0 20px;gap:12px}.jp-brand{gap:9px}.jp-brand-symbol{width:30px;height:35px;font-size:23px}.jp-brand>span:last-child{font-size:12px;letter-spacing:-.045em}.jp-brand small{font-size:7px;letter-spacing:.06em;margin-top:5px}.jp-header-contact{display:none}.jp-menu-button{margin-left:auto;min-width:41px;width:41px}
 .jp-home-hero{grid-template-columns:1fr;gap:20px;padding:34px 0 37px}.jp-home-copy{padding:0}.jp-kicker{font-size:10px;letter-spacing:.04em}.jp-home-copy h1{font-size:clamp(32px,8.4vw,48px);line-height:1.55;margin-top:17px;letter-spacing:-.05em}.jp-home-copy h1 em{font-size:.87em}.jp-home-lead{font-size:13px;line-height:2;margin-top:20px}.jp-home-actions{gap:20px;margin-top:23px}.jp-home-actions .jp-button{font-size:11px;padding:15px 16px;min-height:50px}.jp-home-actions .jp-link{font-size:11px;gap:14px}
 .jp-hero-montage{padding:17px 0 0;gap:12px;grid-template-columns:1fr 1.2fr;align-items:start}.jp-hero-montage:before{right:-8px;left:20%;bottom:15%}.jp-montage-main{grid-column:1/3;margin-right:8%!important}.jp-montage-recruit{width:84%;margin-left:15%!important}.jp-montage-sheet{margin-top:14px;align-self:start}.jp-hero-montage figcaption{font-size:9px;padding:6px 9px;line-height:1.5}
 .jp-platform-strip{display:block;padding:15px 0 10px}.jp-platform-strip>span{display:block;margin-bottom:12px;font-size:11px}.jp-platform-strip>div{grid-template-columns:repeat(2,1fr);gap:8px 0}.jp-platform-strip a{display:flex;flex-direction:row;align-items:baseline;justify-content:flex-start;padding:8px 12px;gap:10px;border-left:0}.jp-platform-strip a:nth-child(even){border-left:1px solid var(--line)}.jp-platform-strip a:nth-child(odd){padding-left:0}.jp-platform-strip b{font-size:16px}.jp-platform-strip small{font-size:9px}
 .jp-introduction{margin-top:38px;padding:41px 0 44px}.jp-introduction>.section{grid-template-columns:1fr;gap:21px}.jp-introduction h2{font-size:25px;line-height:1.75}.jp-introduction p{font-size:13px;line-height:2}.jp-introduction p+p{margin-top:14px}.jp-introduction .jp-link{font-size:12px}
 .jp-home-services{padding:48px 0 52px}.jp-section-heading{display:block;margin-bottom:25px}.jp-section-heading h2{font-size:26px;line-height:1.7}.jp-section-heading .jp-kicker{margin-bottom:10px}.jp-section-heading>.jp-link{font-size:12px;margin-top:12px}.jp-section-heading>p{font-size:12px;margin-top:12px;max-width:none;line-height:1.95}
 .jp-service-grid{grid-template-columns:1fr;gap:31px}.jp-service-image{height:250px}.jp-service-text{padding-top:16px;padding-bottom:20px}.jp-service-text h3{font-size:23px;margin-top:4px;margin-bottom:8px}.jp-service-text p{font-size:13px;line-height:2}.jp-service-text>small{font-size:11px}.jp-service-image>span{font-size:9px}
 .jp-home-records{padding:46px 0 49px}.jp-evidence-grid{grid-template-columns:1fr;gap:32px}.jp-threads-compact,.jp-recruit-evidence{height:254px}.jp-threads-compact{padding:15px 12px;gap:10px}.jp-recruit-evidence{height:243px}.jp-caption-tag{margin-top:17px}.jp-evidence-grid h3{font-size:21px;margin-top:6px;margin-bottom:9px}.jp-evidence-grid p{font-size:12px;line-height:2}.jp-evidence-grid .jp-link{font-size:12px}
 .jp-home-gallery{padding:49px 0}.jp-gallery-section{padding:39px 0 44px}.jp-gallery{grid-template-columns:1fr;gap:28px}.jp-gallery .jp-visual{height:auto;min-height:160px;padding:8px}.jp-gallery .jp-visual img{height:auto;max-height:380px;object-fit:contain}.jp-cols-1 .jp-visual{padding:6px}.jp-figure figcaption{padding-top:12px}.jp-figure figcaption strong{font-size:14px;line-height:1.8}.jp-figure figcaption span{font-size:11px;line-height:1.95}.jp-zoom-hint{font-size:9px;bottom:8px;right:8px}.jp-gallery-bottom{margin-top:18px}
 .jp-masthead{padding:30px 0 33px}.jp-masthead>.section{grid-template-columns:1fr;gap:17px}.jp-overline{font-size:9px}.jp-masthead h1{font-size:clamp(26px,7vw,34px);line-height:1.7;margin-top:10px}.jp-masthead p{font-size:12px;line-height:2;margin:0;max-width:none}.breadcrumbs{padding:12px 0}.breadcrumbs ol{font-size:9px;gap:4px 8px}
 .jp-platform-section{padding:37px 0 27px}.jp-platform-row{grid-template-columns:1fr;gap:21px;padding:33px 0 32px}.jp-platform-name{font-size:27px;margin-bottom:8px}.jp-platform-copy h3{font-size:22px;line-height:1.75;margin-bottom:14px}.jp-platform-copy p{font-size:13px}.jp-platform-copy dl{margin-top:17px;padding-top:12px}.jp-platform-copy dt{font-size:10px}.jp-platform-copy dd{font-size:12px;line-height:1.9}.jp-platform-row .jp-visual{height:auto;min-height:150px;padding:8px}.jp-platform-row .jp-visual img{max-height:340px;object-fit:contain;height:auto}.jp-platform-row .jp-figure figcaption strong{font-size:13px}.jp-platform-section .jp-platform-strip a{font-size:11px}
 .jp-invitation{padding:39px 0 41px}.jp-invitation>.section{grid-template-columns:1fr;gap:23px}.jp-invitation h2{font-size:27px;line-height:1.7;margin-top:11px}.jp-invitation p{font-size:12px;line-height:2;margin-bottom:18px}.jp-invitation>.section>div:last-child{max-width:none}.jp-white-button{font-size:13px;min-height:57px;padding:17px 20px}
 .jp-footer{padding:34px 0 21px}.jp-footer-top{grid-template-columns:1fr;gap:24px;padding-bottom:24px}.jp-footer-top strong{font-size:17px}.jp-footer-top p{font-size:10px;margin-top:6px}.jp-footer nav{gap:3px 19px}.jp-footer nav a{font-size:11px}.jp-footer-note{font-size:9px;line-height:2.05;margin:18px 0}.jp-footer-bottom{flex-wrap:wrap;gap:8px 20px;font-size:9px}.jp-footer-bottom small{font-size:9px}.jp-footer-bottom>a{margin-left:auto}.jp-footer-bottom>span{width:100%;order:3}
 .jp-menu-dialog{padding:29px 26px}.jp-menu-dialog h2{font-size:23px;margin-bottom:17px}.jp-menu-dialog nav>a{font-size:13px;padding:13px 0}.jp-menu-dialog .dialog-close{top:14px;right:13px}
 .section-header{gap:20px}.section-header h2.display{font-size:29px}.feature-work .feature-copy h3,.feature-work .feature-copy h2{font-size:25px}.inner-page .feature-work{padding-block:38px}.service-overview{padding-block:35px;gap:24px}.service-overview h2{font-size:25px;margin-top:12px}.scope-section{padding:39px 0}.scope-row{grid-template-columns:40px 1fr;gap:13px 17px;padding:23px 0}.scope-num{font-size:30px}.scope-row>div{grid-column:2}.scope-row>p{grid-column:2}.scope-row h3{font-size:18px}.scope-row p{font-size:12px}.scope-row dt{font-size:10px}.scope-row dd{font-size:11px}.scope-row dl{margin-top:12px}.related-block{padding:35px 0}.sibling-block{padding-bottom:36px}.work-route .journal-main>strong{font-size:19px}.listing-section{padding-block:38px}.support-note{padding-bottom:42px}.case-story{grid-template-columns:1fr;gap:30px;padding-bottom:39px}.case-sidebar{position:static}.case-body .detail-content h2{font-size:23px}.case-body .detail-content>p{font-size:13px;line-height:2.15}.case-flow{padding-block:33px}.case-pagination{padding-bottom:35px}.iv-heading h2{font-size:25px}.iv-service-hero{padding-block:35px!important}.iv-scope-zone{padding-block:37px!important}.iv-scope h3{font-size:19px}.iv-scope p{font-size:12px}.iv-results{padding-block:37px!important}.iv-faq{padding-block:35px!important}.iv-flow{padding-block:36px!important}.faq-heading h2.display{font-size:27px}.process-steps .step-num{font-size:33px}.about-content h2{font-size:27px}.about-page-profile .about-content{padding-top:30px;padding-bottom:35px}
}
@media(max-width:360px){:root{--gutter:18px}.jp-header{padding-inline:16px}.jp-brand>span:last-child{font-size:11px}.jp-brand small{font-size:6px}.jp-home-copy h1{font-size:29px}.jp-home-copy h1 em{font-size:.84em}.jp-home-actions{gap:15px}.jp-home-actions .jp-button{font-size:10px;padding-inline:13px;gap:15px}.jp-home-actions .jp-link{font-size:10px;gap:10px}.jp-platform-strip b{font-size:14px}.jp-platform-strip small{font-size:8px}.jp-platform-strip a{gap:7px;padding-right:4px}.jp-service-image{height:220px}.jp-service-text h3{font-size:21px}.jp-home-lead{font-size:12px}.jp-home-hero{padding-top:26px}.jp-brand-symbol{width:28px;height:33px}.jp-hero-montage figcaption{font-size:8px}.jp-masthead h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.jp-header,.jp-menu-button,.jp-invitation,.jp-footer nav,.jp-zoom-hint{display:none!important}.jp-home-hero{padding-block:20px}.jp-home-services,.jp-home-gallery,.jp-home-records,.jp-gallery-section{padding-block:20px}.jp-masthead{padding-block:20px}.jp-figure,.jp-service-card{break-inside:avoid}}
/* メニューボタンの日本語を途中で折り返さない。 */
.jp-menu-button{padding:0}.jp-menu-button small{white-space:nowrap;word-break:keep-all;display:block}
