/*
Theme Name: AD Planning Art Direction V23
Theme URI: https://ad-planning.com/
Author: AD Planning
Description: 株式会社アドプランニング専用テーマ
Version: 2.3.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}}

/* V22 top-page information architecture: problem -> support -> proof -> contact */
.home-copy .hero-definition{max-width:590px;margin:24px 0 0;color:var(--blue);font-size:clamp(16px,1.25vw,19px);font-weight:700;line-height:1.85;word-break:auto-phrase;text-wrap:pretty}
.home-copy .hero-execution{max-width:560px;margin:8px 0 0;color:var(--text);font-size:14px;line-height:1.8;word-break:auto-phrase;text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px 18px;margin-top:26px}
.hero-actions .button{min-height:56px}
.hero-actions p{flex-basis:100%;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.home-copy h1,.home-solutions h2,.home-solutions h3,.home-cases h2,.home-cases h3,.cta-band h2,.button{word-break:auto-phrase;text-wrap:balance}

.home-solutions{padding-top:clamp(92px,10vw,140px)}
.solutions-lead,.cases-lead{max-width:720px;margin:18px 0 52px}
.challenge-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.challenge-service{display:flex;min-width:0;min-height:510px;flex-direction:column;padding:38px clamp(24px,3vw,42px) 32px;border-right:1px solid var(--line);background:#fff}
.challenge-service:last-child{border-right:0}
.challenge-index{display:block;margin-bottom:30px;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.16em}
.challenge-service h3{min-height:2.5em;margin:0 0 22px;color:var(--blue);font-family:var(--serif);font-size:clamp(29px,3vw,42px);font-weight:500;line-height:1.26;letter-spacing:-.025em}
.challenge-service>p{margin:0 0 28px;line-height:1.9}
.solution-links{padding:0;margin:auto 0 0;border-top:1px solid var(--line);list-style:none}
.solution-links li{margin:0;border-bottom:1px solid var(--line)}
.solution-links a{display:flex;min-height:56px;align-items:center;justify-content:space-between;gap:18px;color:var(--blue);font-weight:700;text-decoration:none;transition:color .25s,background .25s,padding .25s}
.solution-links a b{color:var(--red);font-size:17px}
.solution-links a:hover{padding-left:8px;background:var(--ivory)}
.solution-links a:focus-visible,.case-link--detailed:focus-visible{outline:3px solid rgba(200,16,46,.35);outline-offset:4px}
.solutions-all,.cases-all{margin:34px 0 0}

.home-cases{padding-top:clamp(92px,10vw,140px);background:var(--ivory)!important}
.case-links--detailed{border-top:1px solid var(--line)}
.case-link--detailed{position:relative;display:grid;grid-template-columns:105px minmax(190px,.62fr) minmax(0,1.38fr) 34px;gap:clamp(20px,3vw,44px);min-height:0;padding:36px 20px 36px 0;align-items:start;color:inherit;text-decoration:none}
.case-link--detailed:nth-child(2){margin-left:0}
.case-link--detailed .case-industry{padding-top:5px;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.case-heading h3{margin:0;color:var(--blue);font-family:var(--serif);font-size:clamp(23px,2.7vw,34px);font-weight:500;line-height:1.45}
.case-preview{margin:0}
.case-preview>div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;padding:0 0 12px;margin:0 0 12px;border-bottom:1px solid rgba(22,62,122,.12)}
.case-preview>div:last-child{margin-bottom:0}
.case-preview dt{color:var(--red);font-size:11px;font-weight:700;letter-spacing:.08em}
.case-preview dd{margin:0;color:var(--text);font-size:14px;line-height:1.75}
.case-preview .case-result dd{color:var(--blue);font-weight:700}
.case-arrow{align-self:center;color:var(--red);font-size:22px}
.case-link--detailed:hover{background:#fff;color:inherit}
.case-link--detailed:hover h3{color:var(--blue)}
.case-link--detailed:hover .case-arrow{transform:translateX(5px)}
.case-arrow{transition:transform .25s}
.cta-band p{max-width:440px;line-height:1.9}

@media(max-width:1100px) and (min-width:851px){
  .home-copy h1{font-size:clamp(48px,6vw,72px)}
  .home-copy{padding-right:4vw}
  .challenge-service{padding-inline:26px}
  .case-link--detailed{grid-template-columns:85px minmax(170px,.62fr) minmax(0,1.38fr) 26px;gap:22px}
}

@media(max-width:850px){
  .home-hero,.home-hero-inner{min-height:0}
  .home-copy{padding:44px 24px 28px}
  .home-copy h1{margin:.28em 0;font-size:clamp(42px,12.5vw,54px);line-height:1.08;letter-spacing:-.055em}
  .home-copy .hero-definition{margin-top:22px;font-size:16px;line-height:1.8}
  .home-copy .hero-execution{margin-top:8px;font-size:14px;line-height:1.75}
  .hero-actions{display:block;margin-top:24px}
  .hero-actions .button{width:100%;min-height:58px;padding-inline:18px}
  .hero-actions p{margin-top:11px;font-size:13px}
  .home-visual{height:310px}
  .home-solutions,.home-cases{padding:72px 0}
  .solutions-lead,.cases-lead{margin:16px 0 36px;font-size:16px;line-height:1.85}
  .challenge-services{grid-template-columns:1fr;border:1px solid var(--line)}
  .challenge-service{min-height:0;padding:30px 22px 26px;border-right:0;border-bottom:1px solid var(--line)}
  .challenge-service:last-child{border-bottom:0}
  .challenge-index{margin-bottom:20px}
  .challenge-service h3{min-height:0;margin-bottom:16px;font-size:32px}
  .challenge-service>p{font-size:16px;line-height:1.8}
  .solution-links a{min-height:54px;touch-action:manipulation}
  .solutions-all,.cases-all{margin-top:26px}
  .solutions-all .button,.cases-all .button{width:100%;min-height:56px}
  .case-link--detailed{display:block;padding:28px 42px 30px 0}
  .case-link--detailed .case-industry{display:block;margin-bottom:12px}
  .case-heading h3{margin-bottom:22px;font-size:25px;line-height:1.45}
  .case-preview>div{grid-template-columns:48px minmax(0,1fr);gap:10px;padding-bottom:11px;margin-bottom:11px}
  .case-preview dd{font-size:14px;line-height:1.7}
  .case-arrow{position:absolute;right:4px;top:31px}
  .cta-band p{font-size:16px}
  .cta-band p br{display:none}
}

/* V23 top-page trust path: stance -> proof -> editorial insight */
.home-reasons{background:var(--ivory)}
.home-reasons .wrap{display:grid;grid-template-columns:minmax(240px,.382fr) minmax(0,.618fr);gap:clamp(48px,8vw,112px);align-items:start}
.reasons-intro .title{font-size:clamp(34px,4.1vw,52px)}
.reasons-intro .title span{display:block;white-space:nowrap}
.reason-list{padding:0;margin:0;border-top:1px solid var(--line);list-style:none;counter-reset:reason}
.reason-list li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:clamp(24px,4vw,58px);padding:34px 0;border-bottom:1px solid var(--line)}
.reason-list li>span{padding-top:8px;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.15em}
.reason-list h3{margin:0 0 11px;color:var(--blue);font-family:var(--serif);font-size:clamp(24px,2.5vw,32px);font-weight:500;line-height:1.45}
.reason-list p{max-width:610px;margin:0;font-size:15px;line-height:1.9}

.case-preview .case-challenge dd{color:var(--muted);font-size:13px}
.case-preview .case-solution dd{color:var(--text);font-size:14px}
.case-preview .case-result{grid-template-columns:54px minmax(0,1fr);padding:5px 0 0;border-bottom:0}
.case-preview .case-result dt{padding-top:7px}
.case-preview .case-result dd{color:var(--blue);font-family:var(--serif);font-size:clamp(20px,2.2vw,29px);font-weight:700;line-height:1.45;letter-spacing:-.02em}

.home-columns{padding-top:clamp(86px,9vw,126px)}
.columns-lead{max-width:700px;margin:18px 0 46px}
.home-column-list{border-top:1px solid var(--line)}
.home-column-item{border-bottom:1px solid var(--line)}
.home-column-item>a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:clamp(24px,4vw,56px);min-height:154px;padding:28px 10px 28px 0;align-items:center;color:inherit;text-decoration:none;transition:background .3s,padding .3s}
.home-column-item.has-image>a{grid-template-columns:150px minmax(0,1fr) 38px}
.home-column-item figure{width:150px;height:96px;margin:0;overflow:hidden}
.home-column-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.72)}
.home-column-copy{display:grid;grid-template-columns:185px minmax(0,1fr);gap:12px clamp(22px,4vw,54px);align-items:start}
.column-meta{grid-row:1/3;display:flex;flex-direction:column;gap:7px;padding-top:5px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.column-meta span{color:var(--red);font-weight:700;text-transform:uppercase}
.home-column-item h3{margin:0;color:var(--blue);font-family:var(--serif);font-size:clamp(21px,2.4vw,29px);font-weight:500;line-height:1.5}
.home-column-item p{max-width:680px;margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.home-column-item>a>b{color:var(--red);font-size:20px;transition:transform .25s}
.home-column-item>a:hover{padding-left:14px;background:var(--ivory)}
.home-column-item>a:hover>b{transform:translateX(5px)}
.home-column-item>a:focus-visible{outline:3px solid rgba(200,16,46,.35);outline-offset:4px}
.columns-all{margin:32px 0 0}

@media(max-width:850px){
  .home-reasons .wrap{display:block}
  .reasons-intro{margin-bottom:36px}
  .reasons-intro .title{font-size:36px}
  .reason-list li{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:27px 0}
  .reason-list h3{font-size:24px}
  .reason-list p{font-size:16px;line-height:1.8}
  .case-preview .case-result{grid-template-columns:48px minmax(0,1fr)}
  .case-preview .case-result dd{font-size:22px}
  .home-columns{padding:72px 0}
  .columns-lead{margin:16px 0 34px;font-size:16px;line-height:1.85}
  .home-column-item>a,.home-column-item.has-image>a{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:14px;min-height:0;padding:25px 0}
  .home-column-item figure{grid-column:1/-1;width:100%;height:auto;aspect-ratio:1.75;margin-bottom:5px}
  .home-column-copy{display:block}
  .column-meta{display:flex;flex-direction:row;justify-content:space-between;gap:15px;margin-bottom:10px;padding:0}
  .home-column-item h3{font-size:23px;line-height:1.5}
  .home-column-item p{display:none}
  .home-column-item>a>b{align-self:end;padding-bottom:5px}
  .columns-all{margin-top:26px}
  .columns-all .button{width:100%;min-height:56px}
  .cta-band .button{min-height:58px}
}
