/* Japanese typeface bundled locally under the SIL Open Font License. */
@font-face{font-family:'Zen Kaku Gothic New';src:url('../fonts/zen/regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Zen Kaku Gothic New';src:url('../fonts/zen/bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
body.use-site{--use-font:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic',Meiryo,sans-serif;--use-ink:#142f46;--use-paper:#fffcf8;--use-warm:#e4a77f;font-family:var(--use-font);font-feature-settings:'palt';color:var(--use-ink)}
body.use-site :is(h1,h2,h3,h4,h5,h6,p,li,button,input,textarea,select){font-family:var(--use-font)}
body.use-site :is(h1,h2,h3,h4){font-weight:700;letter-spacing:.02em;line-break:strict}
body.use-site .global-nav a,body.use-site .footer__nav a{font-family:var(--use-font);font-weight:700}
body.use-front .top-mv .catch-copy,body.use-front .top-prof .sec-ttl,body.use-front .top-prof__ttl{font-family:var(--use-font);font-weight:700}
body.use-front .top-mv .catch-copy{font-size:clamp(64px,8.7vw,126px);letter-spacing:-.06em}
body.use-front .top-prof .sec-ttl{font-size:clamp(42px,5vw,68px);letter-spacing:.01em;line-height:1.55}
body.use-front .top-blog .sec-ttl,body.use-front .top-contact .sec-ttl,body.use-front .top-editor .sec-ttl,body.use-site .ft-related .sec-ttl{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.055em}
body.use-front .top-blog .sec-ttl{font-size:clamp(72px,8vw,110px)}
body.use-site .top-page .btn,body.use-site .header-upper__btns a,body.use-site .contact-btn{font-family:var(--use-font);font-weight:700}
body.use-inner .rich-head__ttl,body.use-inner .title-head .sec-ttl,body.use-inner .use-journal-heading h1,body.use-inner .use-story-head h1{font-family:var(--use-font);font-weight:700;letter-spacing:.02em}
body.use-inner .rich-head:has(>.rich-head__eyecatch) .rich-head__eyecatch{height:clamp(410px,42vw,620px)}
body.use-inner .rich-head:has(>.rich-head__eyecatch) .rich-head__inner{width:min(80%,930px);margin-top:-68px;padding:28px 45px 10px 0;border-top-right-radius:20px}
body.use-inner .rich-head__ttl{font-size:clamp(42px,5.2vw,76px);line-height:1.35}
body.use-inner .rich-head__en{font-size:11px;letter-spacing:.16em;font-weight:700}
body.use-inner .pageTemplate .entry-content,body.use-inner .use-article .entry-content{font-family:var(--use-font);font-size:16px;line-height:2.25;color:#253f51}
body.use-inner .pageTemplate>.inner{max-width:1200px;width:calc(100% - 112px)}
body.use-inner .pageTemplate .entry-content figure img{border-radius:20px}
/* Composition for the existing about-page blocks. */
body.use-inner .use-page--about[data-use-composed=true]{max-width:none}
body.use-inner .use-page--about .use-about-lead{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0 7%;align-items:center;margin:4px 0 90px}
body.use-inner .use-page--about .use-about-lead>figure{grid-column:2;grid-row:1/4;width:100%;margin:0;overflow:hidden;border-radius:22px 86px 22px 22px}
body.use-inner .use-page--about .use-about-lead>figure img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border-radius:0}
body.use-inner .use-page--about .use-about-lead>p{grid-column:1;max-width:none;margin:0 0 24px;font-size:14px;line-height:2.15}
body.use-inner .use-page--about .use-about-lead>p.has-x-large-font-size{font-size:clamp(34px,3.7vw,54px)!important;line-height:1.65;letter-spacing:.01em;color:#073e8c}
body.use-inner .use-page--about .use-about-lead>p.has-small-font-size{font-size:13px!important;line-height:2;color:#667583}
body.use-inner .use-page--about .use-about-details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 8%;align-items:start;padding:56px 0 75px;border-top:1px solid #d7dfe2}
body.use-inner .use-page--about .use-about-details>p{max-width:none;margin:0;line-height:2.2;font-size:15px}
body.use-inner .use-page--about .use-about-details>p:has(>br:only-child),body.use-inner .use-page--about .use-about-details>p:empty{display:none}
body.use-inner .use-page--about .use-about-details>.wp-block-media-text{grid-column:1/-1;grid-template-columns:38% minmax(0,1fr)!important;gap:7%;margin:40px 0 0;align-items:center}
body.use-inner .use-page--about .use-about-details .wp-block-media-text__media{border-radius:22px 70px 22px 22px}
body.use-inner .use-page--about .use-page-section{display:grid;grid-template-columns:28% minmax(0,1fr);gap:0 8%;padding:80px 0;border-top:1px solid #d7dfe2}
body.use-inner .use-page--about .use-page-section>h2{grid-column:1;font-size:clamp(28px,3vw,42px);line-height:1.5;margin:0;padding:0;border:0;text-align:left;color:#073f94}
body.use-inner .use-page--about .use-page-section__body{grid-column:2;min-width:0}
body.use-inner .use-page--about .use-page-section__body>figure{width:100%;margin:0 0 36px}
body.use-inner .use-page--about .use-page-section__body>figure img{width:100%;height:auto;border-radius:18px 18px 60px 18px}
body.use-inner .use-page--about .use-page-section__body>p{max-width:none;margin:0 0 24px;line-height:2.2}
body.use-inner .use-page--about .use-page-section__body>p strong{font-size:18px;color:#174776}
/* Works: keep each original block and give each project its own visual rhythm. */
body.use-inner .use-page--works .use-page-opening{max-width:1200px;margin:0 auto 100px}
body.use-inner .use-page--works .use-page-opening>p:empty{display:none}
body.use-inner .use-page--works .use-page-opening>figure.wp-block-image:first-of-type{max-width:760px;margin:0 auto 45px}
body.use-inner .use-page--works .use-page-opening>figure.wp-block-image:first-of-type img{width:100%;height:auto;border-radius:22px 80px 22px 22px}
body.use-inner .use-page--works .use-page-opening>p.has-text-align-center{max-width:850px;margin:0 auto 32px;font-size:16px;line-height:2.25}
body.use-inner .use-page--works .use-page-opening>p.has-text-align-center strong{font-size:clamp(26px,3.4vw,44px);line-height:1.6;color:#073f94}
body.use-inner .use-page--works .use-page-opening>.wp-block-gallery{margin:55px 0;gap:16px}
body.use-inner .use-page--works .use-page-opening>.wp-block-gallery figure{border-radius:16px;overflow:hidden}
body.use-inner .use-page--works .use-page-section{padding:80px 0 30px;border-top:1px solid #cddbe2}
body.use-inner .use-page--works .use-page-section>h2{font-size:clamp(32px,3.8vw,52px);line-height:1.5;letter-spacing:.01em;margin:0 0 60px;padding:0;border:0;color:#073f94}
body.use-inner .use-page--works .use-page-section__body{min-width:0}
body.use-inner .use-page--works .use-works-items{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
body.use-inner .use-page--works .use-works-item{min-width:0;padding:0 0 48px;border-bottom:1px solid #dce4e6}
body.use-inner .use-page--works .use-works-item>h3{font-size:clamp(23px,2.4vw,32px);line-height:1.6;margin:0 0 20px;padding:0;color:#153d64}
body.use-inner .use-page--works .use-works-item>p{max-width:none;margin:18px 0 0;line-height:2.15;font-size:15px}
body.use-inner .use-page--works .use-works-item>p:empty,body.use-inner .use-page--works .use-works-item>p:has(>br:only-child){display:none}
body.use-inner .use-page--works .use-works-item>figure.wp-block-image{margin:0;overflow:hidden;border-radius:18px 18px 60px 18px}
body.use-inner .use-page--works .use-works-item>figure.wp-block-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;object-position:center;background:#f4eee5;border-radius:0}
body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 7%;align-items:start}
body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>h3,body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>p{grid-column:1}
body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>figure.wp-block-image{grid-column:2;grid-row:1/span 5}
body.use-inner .use-page--works .use-works-item:nth-child(even):has(>figure.wp-block-image)>h3,body.use-inner .use-page--works .use-works-item:nth-child(even):has(>figure.wp-block-image)>p{grid-column:2}
body.use-inner .use-page--works .use-works-item:nth-child(even):has(>figure.wp-block-image)>figure.wp-block-image{grid-column:1}
body.use-inner .use-page--works .use-works-item>.wp-block-media-text{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:7%;align-items:center;margin:20px 0 0}
body.use-inner .use-page--works .use-works-item>.wp-block-media-text .wp-block-media-text__media{border-radius:18px 18px 60px 18px}
body.use-inner .use-page--works .use-works-item>.wp-block-media-text .wp-block-media-text__media img{width:100%;height:auto;max-height:540px;object-fit:contain;background:#f4eee5}
body.use-inner .use-page--works .use-works-item>.wp-block-media-text .wp-block-media-text__content{font-size:15px;line-height:2.15}
body.use-inner .use-page--works .use-works-item>.wp-block-group{padding:28px;background:#f5ede1;border-radius:24px}
body.use-inner .use-page--works .use-works-item>.wp-block-group h3{font-size:24px;line-height:1.6;color:#174675}
/* Contact and article pages retain their existing form and blocks. */
@media(min-width:900px){body.use-inner .use-page--contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:0 8%;align-items:center}body.use-inner .use-page--contact>figure:first-child{grid-column:1;grid-row:1/3;width:100%;margin:0}body.use-inner .use-page--contact>figure:first-child img{width:100%;height:auto;border-radius:22px 80px 22px 22px}body.use-inner .use-page--contact>p{grid-column:2;max-width:none;margin:0 0 30px;font-size:16px;line-height:2.25}body.use-inner .use-page--contact>.snow-monkey-form{grid-column:1/-1;width:100%;margin-top:70px}}
body.use-inner .use-story-head{max-width:1000px;padding:58px 0 48px}
body.use-inner .use-story-head h1{font-size:clamp(32px,3.8vw,52px);line-height:1.55}
body.use-inner .use-story-hero{border-radius:22px 22px 80px 22px}
body.use-inner .use-article .entry-content :is(h2,h3){font-family:var(--use-font);font-weight:700}
body.use-inner .use-journal-heading h1{font-family:var(--use-font);font-size:clamp(43px,5.3vw,72px);line-height:1.4}
body.use-inner .use-card-title,body.use-inner .use-side-panel h2,body.use-inner .use-side-post-text{font-family:var(--use-font)}
@media(max-width:900px){body.use-inner .use-page--about .use-about-lead{gap:0 5%}body.use-inner .use-page--about .use-page-section{grid-template-columns:1fr;gap:28px}body.use-inner .use-page--about .use-page-section>h2,body.use-inner .use-page--about .use-page-section__body{grid-column:1}body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image){gap:0 5%}}
@media(max-width:767px){
 body.use-front .top-mv .catch-copy{font-size:clamp(39px,9.8vw,64px)}
 body.use-front .top-prof .sec-ttl{font-size:clamp(30px,7.2vw,42px)}
 body.use-front .top-blog .sec-ttl{font-size:64px}
 body.use-inner .rich-head:has(>.rich-head__eyecatch) .rich-head__eyecatch{height:clamp(245px,68vw,390px)}
 body.use-inner .rich-head:has(>.rich-head__eyecatch) .rich-head__inner{width:calc(100% - 36px);margin-top:-30px;padding:16px 20px 0 0}
 body.use-inner .rich-head__ttl{font-size:clamp(31px,7.5vw,42px)}
 body.use-inner .pageTemplate>.inner{width:calc(100% - 44px)}
 body.use-inner .pageTemplate .entry-content,body.use-inner .use-article .entry-content{font-size:15px;line-height:2.15}
 body.use-inner .use-page--about .use-about-lead{display:flex;flex-direction:column;align-items:stretch;gap:0;margin:0 0 55px}
 body.use-inner .use-page--about .use-about-lead>figure{order:0;width:100%;border-radius:18px 56px 18px 18px;margin:0 0 26px}
 body.use-inner .use-page--about .use-about-lead>p{order:1;margin:0 0 20px}
 body.use-inner .use-page--about .use-about-lead>p.has-x-large-font-size{font-size:clamp(29px,7.5vw,38px)!important}
 body.use-inner .use-page--about .use-about-details{display:block;padding:36px 0 48px}
 body.use-inner .use-page--about .use-about-details>p{font-size:14px;margin:0 0 24px}
 body.use-inner .use-page--about .use-about-details>.wp-block-media-text{grid-template-columns:1fr!important;gap:24px;margin:30px 0 0}
 body.use-inner .use-page--about .use-page-section{padding:52px 0;gap:24px}
 body.use-inner .use-page--about .use-page-section>h2{font-size:30px}
 body.use-inner .use-page--about .use-page-section__body>figure{margin:0 0 24px}
 body.use-inner .use-page--about .use-page-section__body>p{font-size:14px}
 body.use-inner .use-page--works .use-page-opening{margin-bottom:60px}
 body.use-inner .use-page--works .use-page-opening>.wp-block-gallery{margin:35px 0;gap:10px}
 body.use-inner .use-page--works .use-page-section{padding:52px 0 20px}
 body.use-inner .use-page--works .use-page-section>h2{font-size:30px;margin-bottom:32px}
 body.use-inner .use-page--works .use-works-items{gap:34px}
 body.use-inner .use-page--works .use-works-item{padding-bottom:34px}
 body.use-inner .use-page--works .use-works-item>h3{font-size:23px;margin-bottom:16px}
 body.use-inner .use-page--works .use-works-item>p{font-size:14px}
 body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image){display:flex;flex-direction:column;gap:0}
 body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>h3{order:0}
 body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>figure.wp-block-image{order:1;width:100%;margin:0 0 20px;border-radius:16px 16px 38px 16px}
 body.use-inner .use-page--works .use-works-item:has(>figure.wp-block-image)>p{order:2;margin:0 0 16px}
 body.use-inner .use-page--works .use-works-item>.wp-block-media-text{grid-template-columns:1fr!important;gap:24px}
 body.use-inner .use-page--works .use-works-item>.wp-block-group{padding:20px;border-radius:18px}
 body.use-inner .use-story-head h1{font-size:28px}
 body.use-inner .use-story-hero{border-radius:18px 18px 48px 18px}
}
/* Clear inherited theme ornaments so the new editorial hierarchy stays legible. */
body.use-inner .use-page-content .use-page-section>h2:before,body.use-inner .use-page-content .use-page-section>h2:after,body.use-inner .use-page--works .use-works-item>h3:before,body.use-inner .use-page--works .use-works-item>h3:after{content:none!important;display:none!important}
body.use-inner .use-page--works .use-page-section>h2,body.use-inner .use-page--works .use-works-item>h3{text-align:left}
body.use-inner .use-page--works .use-works-item h3 .sme-highlighter{background-image:none!important}
body.use-inner .use-page--about .use-about-details .sme-highlighter{background-image:linear-gradient(transparent 65%,#f3d2bb 65%)!important}

/* A quiet, borderless header shared by the home and inner pages. */
body.use-site .header,body.use-site .header-upper,body.use-site .header-lower{border:0;box-shadow:none;background:#fffcf8}
body.use-site .global-nav a{color:#18374e;text-decoration:none;letter-spacing:.035em;transition:color .2s ease}
body.use-site .global-nav a:hover,body.use-site .global-nav .current-menu-item>a{color:#0046b0;text-decoration:none}
body.use-site .global-nav>ul>li>a{position:relative}
body.use-site .global-nav>ul>li>a:after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:#c77e5c;transition:right .25s ease}
body.use-site .global-nav>ul>li>a:hover:after,body.use-site .global-nav>ul>li.current-menu-item>a:after{right:0}
body.use-site .header-upper__tel-num{color:#0046b0;font-size:15px;letter-spacing:.035em}
body.use-site .header-upper__btns a{border:0;border-radius:999px;background:#0046b0;color:#fff;padding:14px 27px;min-height:46px}
body.use-site .header-upper__btns a:hover{background:#073b86;color:#fff}
body.use-site .header a:focus-visible{outline:2px solid #c77e5c;outline-offset:4px}
@media(min-width:1201px){body.use-site .header{padding:16px clamp(30px,3.3vw,52px);grid-template-columns:minmax(160px,1fr) auto minmax(264px,1fr);gap:clamp(20px,2.5vw,40px)}body.use-site .global-nav>ul{gap:clamp(22px,2.3vw,36px)}body.use-site .header .logo img{width:160px}}
@media(max-width:1200px){body.use-site .header-upper{background:#fffcf8}}

/* Brand, navigation and contact form three distinct, balanced header zones. */
@media(min-width:1201px){
 body.use-site .header{grid-template-columns:minmax(165px,1fr) auto minmax(280px,1fr);gap:clamp(18px,2.3vw,36px);padding:17px clamp(28px,3.3vw,52px);min-height:94px}
 body.use-site .global-nav>ul{gap:clamp(20px,2vw,30px);padding:8px 23px;background:#f4ece2;border-radius:999px}
 body.use-site .global-nav li a{padding:10px 0;font-size:12px}
 body.use-site .header-upper__right{gap:20px}
 body.use-site .header-upper__btns a{padding:15px 26px;min-height:48px}
}
@media(max-width:1200px){body.use-site .header .hamburger-button,body.use-site .header .hamburger-button.active{top:12px;right:18px;width:52px;height:52px;background:#0046b0;border-radius:50%;box-shadow:none}body.use-site .header .hamburger-button span{width:23px;background:#fff}body.use-site .header .hamburger-button.active span:nth-child(2){background:transparent}}
@media(max-width:767px){body.use-site .header .hamburger-button,body.use-site .header .hamburger-button.active{top:9px;right:14px;width:48px;height:48px}}
body.use-site .ft-related{background:#f1f7fb}
body.use-site .footer{background:#faf1e5}
body.use-front .top-mv .catch-txt{max-width:1060px;font-size:clamp(18px,1.6vw,23px);line-height:2.2}
@media(max-width:767px){body.use-front .top-mv .catch-txt{font-size:15px}}
/* A soft vault recalls the roofline of a shopping arcade. */
body.use-front .top-mv__img{border-radius:50% 50% 28px 28px / 22% 22% 28px 28px}
body.use-front .use-album,body.use-front .use-album-stage{border-radius:inherit}
@media(max-width:767px){body.use-front .top-mv__img{border-radius:50% 50% 22px 22px / 17% 17% 22px 22px}}
