/*
Theme Name: IvyLeap Next
Theme URI: https://ivyleap.co.jp/
Author: IvyLeap
Description: IvyLeap公式サイトのNext.js版を再現したWordPressテーマです。
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ivyleap-next
*/

:root{--navy:#152642;--navy2:#1c3054;--gold:#c4a265;--ink:#1a1a1a;--muted:#8a8578;--warm:#faf8f5;--gray:#f0ede8;--line:#e2dfd6;--white:#fff;--max:1040px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(100% - 40px,var(--max));margin-inline:auto}.section{padding:84px 0}.section--gray{background:var(--gray)}.section--navy{background:var(--navy);color:#fff}.section--warm{background:var(--warm)}.eyebrow{margin:0 0 16px;color:var(--muted);font:300 13px/1.4 Poppins,sans-serif;letter-spacing:.2em}.section--navy .eyebrow{color:rgba(255,255,255,.7)}.eyebrow--gold{color:var(--gold)!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:300;line-height:1.45}.title-lg{font-size:clamp(34px,6vw,70px);line-height:1.18}.title-md{font-size:clamp(28px,4.2vw,48px)}.title-sm{font-size:clamp(24px,3vw,32px)}.muted{color:var(--muted)}.lead{font-size:15px;line-height:2}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 30px;border:1px solid var(--gold);color:var(--gold);font-size:14px;letter-spacing:.12em;transition:.25s}.button:hover,.button:focus-visible{background:var(--gold);color:var(--navy)}.button--line{border-color:transparent;background:#06c755;color:#fff}.button--line:hover{background:#05b04c;color:#fff}.text-link{display:inline-flex;gap:8px;font-size:14px;transition:opacity .2s}.text-link:hover{opacity:.55}.split{display:flex;gap:64px;align-items:center}.split>*{flex:1}.media{overflow:hidden}.media img{width:100%;height:100%;object-fit:cover}.ratio-4-3{aspect-ratio:4/3}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}

.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:82px;color:#fff;transition:background .3s,box-shadow .3s}.site-header.is-scrolled,.site-header.is-solid{background:rgba(21,38,66,.97);box-shadow:0 1px 0 rgba(255,255,255,.08)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font:500 21px/1 Poppins,sans-serif;letter-spacing:.04em}.brand img{width:31px;height:31px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:13px}.desktop-nav a{position:relative}.desktop-nav a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--gold);transition:right .2s}.desktop-nav a:hover:after,.desktop-nav .current-menu-item a:after{right:0}.header-cta{padding:8px 18px;min-height:38px}.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;color:#fff;padding:11px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:currentColor;margin:6px 0;transition:.25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.mobile-panel{position:fixed;z-index:990;inset:0;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:.25s}.mobile-panel.is-open{visibility:visible;opacity:1}.mobile-panel nav{display:flex;flex-direction:column;text-align:center;gap:28px;font-size:20px}.mobile-panel small{display:block;color:rgba(255,255,255,.5);font:300 11px Poppins,sans-serif;letter-spacing:.18em;margin-bottom:5px}

.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:150px 0 110px;color:#fff;background:var(--navy);overflow:hidden}.hero-bg,.page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:rgba(21,38,66,.75)}.hero-content{position:relative;z-index:1}.hero .eyebrow{margin-bottom:30px}.hero-copy{color:rgba(255,255,255,.7);max-width:540px;margin:0 0 38px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-links{display:flex;gap:26px}.page-hero{position:relative;min-height:52vh;display:flex;align-items:center;background:var(--navy);color:#fff;overflow:hidden;padding:130px 0 70px}.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,38,66,.95),rgba(21,38,66,.75),rgba(21,38,66,.55))}.page-hero .container{position:relative;z-index:1}.services-hero{min-height:70vh}.services-hero-inner{position:relative;z-index:1;display:flex;min-height:70vh;align-items:center}.services-hero-copy{flex:1}.services-hero-image{align-self:stretch;width:46%;min-height:520px}.services-hero-image img{width:100%;height:100%;object-fit:cover}

.home-philosophy{position:relative;text-align:center;max-width:820px;margin:auto;padding:60px 25px;overflow:hidden}.home-philosophy>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-philosophy:after{content:"";position:absolute;inset:0;background:rgba(250,248,245,.9)}.home-philosophy-content{position:relative;z-index:1}.philosophy-title{display:flex;align-items:center;justify-content:center;gap:18px}.philosophy-title:before,.philosophy-title:after{content:"";width:48px;height:1px;background:rgba(196,162,101,.6)}.pickup-grid,.clients-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.pickup-card{background:#fff;padding:38px;height:100%;transition:.25s}.pickup-card:hover{background:var(--warm)}.pickup-card .category{font:300 12px Poppins,sans-serif;letter-spacing:.15em;color:var(--muted)}.pickup-card h3{white-space:pre-line;font-size:18px}.pickup-card p{font-size:14px;color:var(--muted)}

.philosophy-list{display:grid;gap:76px}.philosophy-block{max-width:780px}.philosophy-block p:last-child{font-size:clamp(19px,2.6vw,25px)}.info-table{margin:0;background:#fff}.info-row{display:flex;border-bottom:1px solid var(--line)}.info-row:last-child{border:0}.info-row dt{width:170px;flex:none;color:var(--muted);padding:18px 24px}.info-row dd{margin:0;padding:18px 24px}.timeline{position:relative;margin-left:8px;padding-left:45px}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--line)}.timeline-item{position:relative;display:grid;grid-template-columns:120px 1fr;gap:25px;margin-bottom:36px}.timeline-item:before{content:"";position:absolute;left:-50px;top:8px;width:8px;height:8px;border:2px solid var(--gold);border-radius:50%;background:#fff}.timeline time{font:300 14px Poppins,sans-serif;letter-spacing:.1em;color:var(--muted)}.timeline ul{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:13px}.clients-grid div{background:var(--warm);padding:22px 28px;font-size:14px}.partner{border-bottom:1px solid var(--line);padding-bottom:28px}.partner a{font-size:18px;color:var(--gold)}

.service-row{display:flex;align-items:center;gap:58px;padding:70px 0}.service-row:nth-child(even){flex-direction:row-reverse;background:var(--warm);margin-inline:-40px;padding-inline:40px}.service-copy{flex:1}.service-image{width:40%;aspect-ratio:4/3;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover}.service-kicker{display:flex;align-items:center;gap:13px;color:var(--muted);font:300 12px Poppins,sans-serif;letter-spacing:.12em}.service-icon{width:34px;height:34px;color:var(--ink)}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.flow-num{font:600 42px Poppins,sans-serif;color:rgba(196,162,101,.22)}.flow-grid p{color:rgba(255,255,255,.6);font-size:14px}.faq{max-width:780px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:none;padding:20px 0;text-align:left;cursor:pointer;font-weight:300}.faq-question:after{content:"+";font-size:22px;color:var(--gold)}.faq-question[aria-expanded=true]:after{content:"−"}.faq-answer{display:none;color:var(--muted);font-size:14px;padding:0 0 20px}.faq-answer.is-open{display:block}.cta{text-align:center}

.contact-form-wrap{max-width:700px;margin:auto}.form-grid{display:grid;gap:25px}.field label{display:block;color:rgba(255,255,255,.62);font-size:14px;margin-bottom:3px}.field input,.field textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;padding:10px 2px;outline:0;border-radius:0}.field input:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{resize:vertical}.field .optional{font-size:11px;color:rgba(255,255,255,.45);margin-left:8px}.form-notice{padding:14px 18px;margin-bottom:28px;border:1px solid rgba(255,255,255,.2)}.form-notice--success{border-color:#06c755}.form-notice--error{border-color:#ef7777}.honeypot{position:absolute;left:-9999px}.image-band{height:320px;position:relative}.image-band img{width:100%;height:100%;object-fit:cover}.image-band:after{content:"";position:absolute;inset:0;background:rgba(21,38,66,.3)}.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact-card{border:1px solid var(--line);padding:30px}.contact-card .icon{font-size:25px}.contact-card a{display:block;font-size:clamp(17px,2.4vw,25px);letter-spacing:.06em}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.access-row{display:flex;gap:13px;margin-bottom:25px}.access-row .pin{color:var(--gold)}.map{height:320px}.map iframe{border:0;width:100%;height:100%}

.policy{max-width:780px;margin:auto}.policy h2{font-size:23px;color:var(--navy);border-bottom:1px solid rgba(196,162,101,.35);padding-bottom:14px;margin:65px 0 28px}.policy h2:first-child{margin-top:0}.policy h3{font-size:16px}.policy p{color:var(--muted);font-size:14px}.policy-list{display:grid;gap:30px}.policy-item{display:grid;grid-template-columns:42px 1fr;gap:15px}.policy-num{font-size:24px;color:rgba(196,162,101,.5)}.policy-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.policy-card{background:var(--gray);padding:24px}.policy-contact{background:var(--navy);color:#fff;padding:38px;margin-top:55px}.policy-contact p{color:rgba(255,255,255,.72)}

.site-footer{background:var(--navy);color:#fff;padding:70px 0 28px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}.footer-description{color:rgba(255,255,255,.58);font-size:13px;max-width:390px;margin-top:20px}.footer-nav{display:grid;gap:12px;font-size:13px}.footer-contact{font-size:13px;color:rgba(255,255,255,.72)}.footer-contact a{display:block;margin-bottom:10px}.footer-social{display:flex;gap:15px;margin-top:20px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;margin-top:60px;color:rgba(255,255,255,.45);font-size:11px}.content-default{padding:140px 0 90px;min-height:60vh}.not-found{text-align:center;background:var(--navy);color:#fff;min-height:100vh;display:flex;align-items:center}.not-found .code{font:600 clamp(80px,16vw,160px) Poppins,sans-serif;color:rgba(196,162,101,.22)}

@media(max-width:780px){.section{padding:70px 0}.desktop-nav{display:none}.menu-toggle{display:block}.split,.service-row,.service-row:nth-child(even),.services-hero-inner{flex-direction:column}.split{gap:34px}.split>*{width:100%}.hero{padding-bottom:75px}.hero-actions{align-items:flex-start;flex-direction:column}.services-hero-copy{padding-top:130px;width:100%}.services-hero-image{width:100%;min-height:340px}.pickup-grid,.clients-grid,.flow-grid{grid-template-columns:1fr}.service-row:nth-child(even){margin-inline:-20px;padding-inline:20px}.service-image{width:100%}.info-row{flex-direction:column}.info-row dt{width:100%;padding-bottom:2px}.info-row dd{padding-top:2px}.timeline{padding-left:30px}.timeline-item{grid-template-columns:1fr;gap:2px}.timeline-item:before{left:-35px}.contact-cards,.access-grid,.policy-card-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column}.image-band{height:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.policy-revision{border-block:1px solid var(--line);padding:24px 0;margin-top:50px}.policy-subtitle{margin-top:40px}.privacy-custom-content>:first-child{margin-top:0}.privacy-custom-content a,.policy-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
