/*
Theme Name: Asada Office
Description: Asada office 公式サイト用のオリジナルテーマ。
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: asada-office
*/

:root{--green:#123d32;--deep:#0a2d25;--gold:#c9af79;--paper:#fafaf7;--ink:#253c34;--muted:#68736e;--line:#dbe1db}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #bd9146;outline-offset:5px}.serif,h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN", "Noto Serif JP",serif;font-weight:400}.wrap{width:min(1180px,88%);margin:auto}.eyebrow{font:500 .8rem/1.5 Arial,sans-serif;letter-spacing:.2em;color:var(--muted)}.header{height:100px;background:var(--paper);display:flex;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:10}.navrow{display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:block;line-height:1.25}.brand strong{display:block;font:400 1.55rem Georgia,serif;letter-spacing:.12em}.brand small{display:block;font-size:.75rem;letter-spacing:.09em;margin-top:8px}.navlinks{display:flex;align-items:center;gap:28px;font-size:.875rem}.navlinks .navcontact{background:var(--green);color:white;padding:11px 21px}.menu{display:none;border:1px solid var(--line);background:none;padding:7px 12px;font-size:.875rem}.hero{background:var(--green);color:#fff;position:relative;overflow:hidden}.hero .wrap{padding:76px 0 54px;position:relative}.hero-top{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#c6d4c7;font-size:.8rem;letter-spacing:.15em}.languages{border:1px solid #ffffff35;padding:6px 14px;letter-spacing:.08em}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center;padding:55px 0 70px}h1{font-size:clamp(2.4rem,4.25vw,4rem);line-height:1.7;letter-spacing:.11em;margin:0 0 24px}.hero-copy{font-size:1rem;line-height:2.15;color:#d8e2d9;max-width:540px}.hero-mark{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:1px solid #ffffff25;position:relative}.monogram{font:400 clamp(9rem,19vw,18rem)/.9 Georgia,serif;color:var(--gold);letter-spacing:-.08em;padding-right:.08em}.mark-caption{font:400 .8rem Georgia,serif;letter-spacing:.3em;color:#d8c398;margin-top:30px}.hero-foot{border-top:1px solid #ffffff30;padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#d8e2d9;font-size:.875rem}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 27px;border:1px solid var(--green);background:var(--green);color:white;font-size:.9375rem;transition:background .2s,color .2s;min-height:52px}.button.light{background:#f5f5eb;color:var(--green);border-color:#f5f5eb}.button.outline{background:transparent;color:var(--green)}.button:hover{background:#28604c;color:#fff}.hero .button{margin-top:25px}.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding:100px 0}.intro h2{font-size:2rem;line-height:1.8;margin:18px 0}.intro p{margin:8px 0;color:#53625a;line-height:2.15}.section{padding:90px 0;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}.section-heading h2{font-size:2.4rem;letter-spacing:.07em;margin:13px 0 0}.section-heading p{color:var(--muted);font-size:.9375rem;margin:0}.service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{padding:38px 38px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.service-no{font:italic 1.25rem Georgia,serif;color:#8a7955}.service h3{font-size:1.7rem;margin:14px 0}.service p{color:var(--muted);font-size:.9375rem;min-height:57px;margin-bottom:22px}.tags{display:flex;flex-wrap:wrap;gap:9px}.tags span{font-size:.8125rem;padding:4px 11px;background:#f1f4ef;color:#4b6055}.service details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px;font-size:.875rem}.service summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:32px}.service summary::-webkit-details-marker{display:none}.service summary:after{content:'＋';font-size:1.15rem;color:#648173}.service details[open] summary:after{content:'−'}.service details p{min-height:0;font-size:.875rem;margin:15px 0 5px;line-height:1.9}.team{background:#eef2ec}.team-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:70px}.profile{border-top:1px solid #bfcbbf;padding-top:25px}.role{font-size:.875rem;color:var(--muted)}.profile h3{font-size:2.2rem;margin:10px 0 3px;letter-spacing:.2em}.roman{font:400 .8rem Arial,sans-serif;letter-spacing:.15em;color:#7b887f}.qualifications{font-size:.875rem;margin:25px 0 18px;color:#3d584b;line-height:2}.profile p{font-size:.9375rem;color:#53645b;line-height:2}.language-note{border-left:2px solid var(--gold);padding-left:18px;margin-top:25px;font-size:.875rem}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.step{border-top:1px solid var(--line);padding-top:25px}.step .num{font:italic 2.2rem Georgia,serif;color:#9d895f}.step h3{font-size:1.25rem;margin:15px 0 12px}.step p{font-size:.9375rem;color:var(--muted)}.fee-note{margin-top:40px;padding:24px 30px;background:#eef2ec;font-size:.875rem}.office-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.office-grid h2{font-size:2.4rem;margin:13px 0 24px}.office-title{font-size:1rem;line-height:1.8}.office dl{margin:0}.office dl>div{display:grid;grid-template-columns:85px 1fr;gap:22px;border-bottom:1px solid var(--line);padding:20px 0;font-size:.9375rem}.office dt{color:var(--muted)}.office dd{margin:0;overflow-wrap:anywhere}.textlink{border-bottom:1px solid #899e8f;padding-bottom:3px}.maplink{margin-top:28px;display:inline-flex}.contact{background:var(--deep);color:#fff;padding:80px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.contact .eyebrow{color:#bdcabb}.contact h2{font-size:2.2rem;line-height:1.7;margin:15px 0 20px}.contact p{font-size:.9375rem;color:#c1d0c4}.contact-actions{border-left:1px solid #ffffff30;padding-left:60px}.phone{font:400 clamp(1.6rem,3vw,2.5rem) Georgia,serif;letter-spacing:.03em}.contact-actions small{display:block;color:#b8cbbd;font-size:.8125rem}.contact-actions .button{display:flex;margin:24px 0 12px}.email-address{font-size:.8125rem;overflow-wrap:anywhere;color:#c1d0c4}.footer{padding:38px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer .brand strong{font-size:1.25rem}.footer small{font-size:.75rem;color:var(--muted)}.mobile-contact{display:none}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:50}.skip:focus{top:5px}
@media(max-width:900px){.navlinks{gap:16px}.navlinks a{font-size:.8125rem}.brand strong{font-size:1.3rem}.hero-grid{gap:30px}.intro,.team-grid,.office-grid{gap:40px}.contact-actions{padding-left:30px}.service{padding:28px}.steps{gap:25px}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:86px}.wrap{width:88%}.brand strong{font-size:1.25rem}.brand small{font-size:.7rem;letter-spacing:.025em}.menu{display:block}.navlinks{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:20px 6%;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #00000010}.navlinks.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navlinks a{font-size:1rem;padding:12px}.hero .wrap{padding:36px 0 27px}.hero-top{font-size:.7rem;letter-spacing:.05em;align-items:flex-start}.languages{padding:4px 8px;white-space:nowrap}.hero-grid{grid-template-columns:1fr;padding:40px 0 35px;gap:0}.hero-mark{display:none}h1{font-size:clamp(2rem,7.8vw,3rem);letter-spacing:.075em;line-height:1.85}.hero-copy{font-size:.9375rem}.hero .button{margin-top:20px}.hero-foot{font-size:.75rem;align-items:flex-start;line-height:1.8}.hero-foot span:last-child{max-width:110px;text-align:right}.intro{grid-template-columns:1fr;padding:60px 0;gap:15px}.intro h2{font-size:1.75rem}.intro p{font-size:.9375rem}.section{padding:60px 0}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.office-grid h2{font-size:2rem}.section-heading p{margin-top:15px}.service-grid,.team-grid,.office-grid,.contact-grid{grid-template-columns:1fr}.service{padding:28px 24px}.service h3{font-size:1.5rem}.service p{min-height:0}.team-grid{gap:40px}.steps{grid-template-columns:1fr;gap:24px}.step{display:grid;grid-template-columns:45px 1fr;column-gap:15px}.step .num{grid-row:1/3;font-size:1.8rem}.step h3{margin:3px 0 7px}.step p{margin:0}.fee-note{padding:20px}.office-grid{gap:12px}.office dl>div{grid-template-columns:65px 1fr;gap:10px}.contact{padding:58px 0}.contact-grid{gap:25px}.contact h2{font-size:1.85rem}.contact-actions{padding:25px 0 0;border-left:none;border-top:1px solid #ffffff30}.phone{font-size:2.15rem}.footer-row{flex-direction:column;align-items:flex-start}.footer{padding:32px 0 100px}.mobile-contact{display:grid;grid-template-columns:1fr 1.3fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 12px #00000012}.mobile-contact a{text-align:center;font-size:.875rem;padding:13px 4px;line-height:1.7}.mobile-contact a:last-child{background:var(--green);color:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.content-page{padding:60px 0;min-height:50vh}.content-page a{text-decoration:underline}.content-page img{max-width:100%;height:auto}

/* Business-card identity, version 1.1.0 */
.hero-wordmark{display:block;width:100%;max-width:410px;height:auto;margin:auto;padding-left:24px}
.office-brush{display:block;width:170px;max-width:50%;height:auto;margin:0 0 18px}
.office-title{font-size:.9375rem;letter-spacing:.015em}
@media(max-width:700px){.hero-mark{display:flex;border-left:0;align-items:flex-start;margin-top:32px}.hero-wordmark{width:210px;max-width:65%;padding:0;margin:0}.hero-grid{padding-bottom:16px}.office-brush{width:130px;margin-top:20px}.office-title{font-size:.875rem}}
