/*
Theme Name: AD Planning Art Direction V21
Theme URI: https://ad-planning.com/
Author: AD Planning
Description: 株式会社アドプランニング専用テーマ
Version: 2.1.0
Text Domain: adplanning-art
*/
.ai-tool-lp .alp-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.ai-tool-lp .alp-reveal.alp-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.ai-tool-lp .alp-reveal{opacity:1;transform:none}}

/* Column: live archive and restrained article imagery */
.column-live-grid .card a{display:block;color:inherit;text-decoration:none}
.column-live-grid .column-read{display:inline-block;margin-top:14px;color:var(--red);font-size:12px;font-weight:700;letter-spacing:.06em}
.column-article{max-width:880px}
.column-featured{width:min(100%,760px);margin:0 auto 64px}
.column-featured img{display:block;width:100%;height:auto;max-height:510px;object-fit:cover}
.column-content{max-width:760px;margin:0 auto}
.column-content h2{margin:72px 0 24px;color:var(--blue);font-family:var(--serif);font-size:clamp(27px,4vw,38px);font-weight:500;line-height:1.45}
.column-content h3{margin:46px 0 18px;color:var(--blue)}
.column-content p{margin:0 0 1.8em;line-height:2}
.column-content .wp-block-image{width:min(100%,680px);margin:52px auto}
.column-content .wp-block-image img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.column-content figcaption{margin-top:10px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:850px){.column-featured{margin-bottom:42px}.column-content .wp-block-image{margin:38px auto}.column-content h2{margin-top:54px}}

.home-hero{min-height:690px;position:relative;overflow:hidden}.home-hero-inner{width:min(1360px,calc(100% - 48px));min-height:690px;margin:auto;display:grid;grid-template-columns:45% 55%;align-items:center}.home-copy{position:relative;z-index:3;padding:50px 20px}.home-copy h1{margin:.35em 0;color:var(--blue);font-family:var(--serif);font-size:clamp(46px,5.3vw,72px);font-weight:500;line-height:1.18}.home-copy h1 em{color:var(--red);font-style:normal}.home-visual{align-self:stretch;position:relative}.home-visual>img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.line-draw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:multiply}.line-draw path{fill:none;stroke-linecap:round;stroke-dasharray:1800;stroke-dashoffset:1800;animation:drawLine 6.8s cubic-bezier(.65,0,.35,1) infinite alternate}.line-draw path:nth-child(2){animation-delay:.7s}@keyframes drawLine{0%,12%{stroke-dashoffset:1800;opacity:0}24%{opacity:.46}76%,100%{stroke-dashoffset:0;opacity:.32}}.pillar-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillar{padding:34px 24px;border-right:1px solid var(--line)}.pillar:last-child{border:0}.pillar b{color:var(--red);font-size:11px}.pillar h3{color:var(--blue);font-family:var(--serif);font-size:24px;font-weight:500}.support-duo{display:grid;grid-template-columns:1fr 1fr}.support-panel{min-height:430px;padding:70px 7%;display:flex;flex-direction:column;justify-content:center}.support-panel.blue{background:#173f78;color:#fff}.support-panel.white{background:#fff;color:var(--blue);border:1px solid var(--line)}.support-panel h2{margin:22px 0;color:inherit;font-size:clamp(32px,4vw,54px);line-height:1.3}.support-panel .kicker{color:#f01d42}.support-panel .button{align-self:flex-start;margin-top:16px}.case-links{border-top:1px solid var(--line)}.case-link{display:grid;grid-template-columns:140px 1fr auto;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.case-link span{color:var(--red);font-size:11px}.case-link h3{margin:0;color:var(--blue);font-family:var(--serif);font-size:24px;font-weight:500}.case-link b{color:var(--red)}
@media(max-width:850px){.home-hero-inner{width:100%;grid-template-columns:1fr}.home-copy{padding:48px 22px 10px}.home-copy h1{font-size:clamp(40px,12vw,54px)}.home-visual{height:330px}.pillar-list{grid-template-columns:1fr 1fr}.pillar:nth-child(2){border-right:0}.pillar:nth-child(-n+2){border-bottom:1px solid var(--line)}.support-duo{grid-template-columns:1fr}.support-panel{min-height:350px;padding:54px 24px}.case-link{grid-template-columns:70px 1fr}.case-link b{display:none}}
.home-copy>.coords,.home-copy>.kicker,.home-copy>h1,.home-copy>p,.home-copy>.button{opacity:0;animation:copyRise .9s cubic-bezier(.2,.75,.2,1) forwards}.home-copy>.coords{animation-delay:.12s}.home-copy>.kicker{animation-delay:.24s}.home-copy>h1{animation-delay:.38s}.home-copy>p{animation-delay:.68s}.home-copy>.button{animation-delay:.88s}@keyframes copyRise{from{opacity:0;transform:translate3d(0,16px,0);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.home-visual>img{animation:heroImageBreath 14s ease-in-out infinite alternate}.home-visual:before,.home-visual:after{content:"";position:absolute;z-index:1;left:-12%;width:128%;height:48%;border-radius:50%;pointer-events:none;transform-origin:center}.home-visual:before{top:17%;border:1px solid rgba(22,62,122,.28);transform:rotate(-8deg);animation:arcBlue 12s ease-in-out infinite alternate}.home-visual:after{top:29%;border:1px solid rgba(200,16,46,.30);transform:rotate(9deg);animation:arcRed 15s ease-in-out -3s infinite alternate}@keyframes heroImageBreath{0%{transform:translate3d(-2px,2px,0) scale(1)}100%{transform:translate3d(3px,-3px,0) scale(1.006)}}@keyframes arcBlue{0%{transform:translate3d(-5px,3px,0) rotate(-8deg) scaleX(.99)}100%{transform:translate3d(8px,-5px,0) rotate(-6.8deg) scaleX(1.015)}}@keyframes arcRed{0%{transform:translate3d(6px,-3px,0) rotate(9deg) scaleX(1.01)}100%{transform:translate3d(-8px,6px,0) rotate(7.7deg) scaleX(.985)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.home-copy>*{opacity:1!important;transform:none!important;filter:none!important}}

@media(max-width:768px){.page-hero h1{font-size:38px}}
.service-detail>div:last-child:before{display:none}.service-detail{grid-template-columns:150px minmax(0,1fr) minmax(280px,.75fr);align-items:center}.service-detail>img{width:100%;aspect-ratio:1.55;object-fit:cover;border:1px solid var(--line)}@media(max-width:768px){.page-hero h1{font-size:38px}.service-detail{grid-template-columns:1fr}.service-detail>img{order:-1}}
@media(max-width:768px){.page-hero h1{font-size:38px}}
.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 48px}.category-nav a{padding:10px 16px;border:1px solid var(--line);background:#fff;color:var(--blue);font-size:13px}.category-nav a:first-child,.category-nav a:hover{background:var(--blue);color:#fff}@media(max-width:768px){.page-hero h1{font-size:38px}.category-nav{margin-bottom:32px}}
@media(max-width:768px){.page-hero h1{font-size:38px}}
.service-detail>div:last-child:before{display:none}@media(max-width:768px){.page-hero h1{font-size:38px}}
.product-strip{grid-template-columns:1fr 1fr}.product-strip div:nth-child(even){border-right:0}@media(max-width:768px){.page-hero h1{font-size:38px}}
@media(max-width:768px){.page-hero h1{font-size:38px}}
.wpcf7{padding:34px;background:#fff;border:1px solid var(--line)}
.wpcf7 .ap-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.wpcf7 .ap-form-row{margin-bottom:20px}.wpcf7 label{display:block;margin-bottom:7px;color:var(--blue);font-weight:700}
.wpcf7 input,.wpcf7 select,.wpcf7 textarea{width:100%;padding:14px 15px;border:1px solid var(--line);background:#fbfbfa;font:inherit}
.wpcf7 textarea{min-height:170px}.wpcf7 input[type=submit]{width:auto;border:0;background:var(--red);color:#fff;font-weight:700;cursor:pointer}
.case-managed-grid .card a{display:block;height:100%}.case-managed-grid .card img{width:100%;aspect-ratio:1.5;object-fit:cover}
.case-facts{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#fff}.case-fact{padding:28px;border-right:1px solid var(--line)}.case-fact:last-child{border:0}.case-fact small{display:block;color:var(--red);font-weight:700;letter-spacing:.12em}.case-fact strong{display:block;margin-top:8px;color:var(--blue);font-family:var(--serif);font-size:22px}.case-story{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:60px}.case-story h2{color:var(--blue);font-family:var(--serif);font-size:30px;font-weight:500}
@media(max-width:850px){.wpcf7 .ap-form-grid-2{grid-template-columns:1fr}.wpcf7{padding:22px}}
@media(max-width:850px){.case-facts,.case-story{grid-template-columns:1fr}.case-fact{border-right:0;border-bottom:1px solid var(--line)}.case-story{gap:25px}}
