/*
Theme Name: FREEEEEDOM Corporate
Author: FREEEEEDOM
Description: 採用支援・DX推進・まちづくりのコーポレートサイト。お知らせとお問い合わせフォームを備えた専用テーマ。
Version: 1.1.2
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: freeeeedom
*/
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#153641;--paper:#f6f5f1;--white:#fff;--muted:#52676c;--line:#ccd4d3;--accent:#9d603a;--ease:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:#dac5ae;color:var(--ink)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:#87999a}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.25;flex-shrink:0}h1,h2,h3,h4,h5,p{margin:0}h1,h2,h3,h4{font-weight:500;letter-spacing:.015em;text-wrap:balance}p{line-height:2.1}.skip{position:fixed;top:-90px;left:16px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}.site-header{height:112px;display:flex;justify-content:space-between;align-items:center;padding:0 5.5%;border-bottom:1px solid var(--line)}.logo{font-family:'Manrope','Noto Sans JP',sans-serif;font-weight:700;font-size:26px;letter-spacing:.02em;display:inline-block;line-height:1.2;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:500}.site-header nav>a:not(.nav-contact){padding:12px 0;position:relative}.site-header nav>a:not(.nav-contact):after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.site-header nav>a:hover:after{transform:scaleX(1)}.nav-contact{display:flex;gap:30px;align-items:center;padding:13px 19px;border:1px solid var(--ink);transition:color .25s,background .25s}.nav-contact:hover{background:var(--ink);color:white}.menu-toggle{display:none}.reading-progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);width:100%;transform:scaleX(0);transform-origin:left;z-index:50}.hero{padding:73px 5.5% 0}.hero-top{display:grid;grid-template-columns:1.45fr 1fr;gap:9%;padding:0 3.4% 72px;align-items:end}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(36px,4.3vw,64px);line-height:1.75;font-weight:500;letter-spacing:.025em}.hero h1>span{display:block;animation:enter 1s var(--ease) both}.hero h1>span+span{animation-delay:.1s}.hero-copy{padding-bottom:10px;animation:enter 1s .2s var(--ease) both}.hero-copy>p:first-child{font-size:17px;font-weight:600;margin-bottom:22px}.hero-copy>p+p{font-size:14px;color:var(--muted);line-height:2.2}.text-link{display:flex;justify-content:space-between;align-items:center;gap:32px;border-bottom:1px solid var(--ink);font-size:13px;font-weight:500;padding:16px 0;transition:color .25s}.text-link svg,.service-inquiry svg{transition:transform .35s var(--ease)}.text-link:hover svg,.service-inquiry:hover svg{transform:translateX(5px)}.text-link:hover{color:var(--accent)}.hero-copy .text-link{max-width:300px;margin-top:28px}.business-index{display:grid;grid-template-columns:1fr 1fr 1.2fr;background:var(--ink);color:white;animation:reveal-band 1.05s .25s var(--ease) both}.business-index>a{position:relative;padding:30px 34px 27px;display:flex;flex-direction:column;justify-content:space-between;min-height:165px;transition:background .4s}.business-index>a+a{border-left:1px solid #547078}.business-index>a:hover{background:#254854}.business-index>a>span:first-child{font-size:21px;line-height:1.7;font-weight:500}.index-sub{font-size:12px;color:#ced9db;padding-top:20px;padding-right:30px}.business-index svg{position:absolute;right:28px;bottom:28px;width:21px;transition:transform .4s var(--ease)}.business-index a:hover svg{transform:translateX(5px)}.hero-foot{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);padding:19px 0}.hero-foot a{display:flex;align-items:center;gap:17px;min-height:44px}.hero-foot svg{width:17px;transform:rotate(90deg)}.section{padding:105px 8.5%}.purpose{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;margin-top:28px}.section-heading h2{font-size:22px;font-weight:500;letter-spacing:.035em}.section-heading>p{font-size:12px;color:var(--muted);margin-top:10px}.purpose-copy h3{font-family:'Noto Serif JP',serif;font-size:38px;line-height:1.8;margin-top:-12px;margin-bottom:35px}.purpose-copy p{font-size:15px;color:var(--muted);margin-top:23px}.services{background:white;padding-bottom:35px}.services-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:44px;border-bottom:1px solid var(--ink)}.services-heading h2{font-size:30px}.services-heading p{font-size:13px;color:var(--muted)}.service{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;padding:62px 0 65px;border-bottom:1px solid var(--line);scroll-margin-top:30px}.service:last-child{border-bottom:0}.service-title h3{font-size:29px;line-height:1.8;font-weight:500}.service-inquiry{display:flex;align-items:center;gap:20px;font-size:12px;min-height:44px;margin-top:32px}.service-inquiry svg{width:18px}.service-content h4{font-size:24px;line-height:1.8;margin-bottom:20px}.service-content>p{font-size:14px;color:var(--muted)}.service-content h5{font-size:12px;font-weight:500;margin-top:30px;margin-bottom:12px}.service-content ul{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);column-gap:24px}.service-content li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}.service-content .long-list{grid-template-columns:1fr}.service-content .service-note{font-size:12px;margin-top:20px;line-height:1.9}.questions{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;padding-top:90px;padding-bottom:100px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;position:relative;padding:23px 35px 23px 0;font-size:14px;font-weight:500;cursor:pointer}summary::-webkit-details-marker{display:none}summary:before,summary:after{content:'';position:absolute;background:var(--ink);right:2px;top:35px;width:12px;height:1px;transition:transform .25s}summary:after{transform:rotate(90deg)}details[open] summary:after{transform:rotate(0)}details p{font-size:13px;color:var(--muted);padding:0 25px 25px 0;animation:enter .4s var(--ease)}.contact{display:grid;grid-template-columns:1.25fr 1fr;gap:12%;align-items:center;background:var(--ink);color:white;padding-top:85px;padding-bottom:75px}.contact h2{font-family:'Noto Serif JP',serif;font-size:36px;line-height:1.8;letter-spacing:.025em}.contact p{font-size:13px;color:#c7d6d9;margin-top:22px}.contact-button{background:var(--paper);color:var(--ink);padding:23px 25px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:500;transition:background .3s}.contact-button:hover{background:#dfd7ca}.contact-button svg{transition:transform .35s}.contact-button:hover svg{transform:translateX(5px)}.email{display:block;font-family:'Manrope',sans-serif;font-size:22px;font-weight:500;margin-top:27px;letter-spacing:.01em}.copy-email{background:none;border:0;border-bottom:1px solid #789095;color:#d0dcdf;font-size:11px;min-height:44px;padding:5px 0;cursor:pointer}.contact .contact-help{font-size:11px;margin-top:12px}.copy-status{display:block;font-size:12px;min-height:24px;color:#e6c9a9}.company-strip{padding:48px 8.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.company-strip>div{display:flex;align-items:start;gap:70px}.company-strip h2{font-size:20px;line-height:1.8}.company-strip p{font-size:13px;color:var(--muted)}.company-strip .text-link{min-width:240px}.site-footer{padding:50px 5.5% 26px;display:grid;grid-template-columns:1fr 1fr;gap:35px 25px}.site-footer p{font-size:11px;color:var(--muted);margin-top:20px}.site-footer nav{display:flex;gap:32px;justify-content:end;font-size:12px;align-items:start;padding-top:7px}.site-footer nav a{padding:10px 0}.site-footer small,.footer-location{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px}.footer-location{text-align:right}.reveal.is-visible{animation:enter .8s var(--ease) both}.company-main{max-width:1200px;margin:auto;padding-top:45px}.breadcrumb{padding:30px 8.5%;font-size:12px;display:flex;gap:18px;color:var(--muted)}.company-main h1{font-family:'Noto Serif JP',serif;font-size:48px}.company-lead{font-family:'Noto Serif JP',serif;font-size:23px;line-height:1.9;margin-top:24px}.company-main dl{margin:65px 0 40px;border-bottom:1px solid var(--line)}.company-main dl>div{display:grid;grid-template-columns:28% 72%;padding:25px 0;border-top:1px solid var(--line);font-size:14px}dt{font-weight:500}dd{margin:0}dd a{border-bottom:1px solid var(--line)}.map-link{display:inline-flex;align-items:center;gap:12px;font-size:12px;margin-top:10px;min-height:36px}.map-link svg{width:15px;transform:rotate(-45deg)}.company-main .text-link{max-width:320px}.mobile-break{display:none}@keyframes enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes reveal-band{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
@media(min-width:1600px){body{max-width:1920px;margin:auto}.hero-top{padding-block:20px 90px}.hero h1{font-size:68px}}
@media(max-width:1100px){.site-header{height:96px;padding-inline:5%}.logo{font-size:23px}.site-header nav{gap:22px;font-size:12px}.nav-contact{gap:18px;padding:12px 15px}.hero{padding-top:55px}.hero-top{gap:6%;padding-inline:0;grid-template-columns:1.2fr 1fr}.hero h1{font-size:4.5vw}.hero-copy>p:first-child{font-size:15px}.hero-copy>p+p{font-size:13px}.business-index>a{padding:27px 23px;min-height:170px}.business-index>a>span:first-child{font-size:19px}.index-sub{font-size:11px}.business-index svg{right:18px;bottom:29px}.section{padding:80px 7%}.purpose,.service,.questions{gap:6%;grid-template-columns:1fr 1.4fr}.purpose-copy h3{font-size:33px}.service-title h3{font-size:25px}.service-content h4{font-size:22px}.contact{gap:8%}.contact h2{font-size:30px}.services{padding-bottom:20px}.company-strip>div{gap:35px}.company-strip .text-link{min-width:200px}}
@media(max-width:760px){html{scroll-padding-top:25px}.site-header{height:85px;padding:0 6%}.logo{font-size:clamp(17px,4.8vw,22px)}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--ink);font-size:11px;padding:14px 0 14px 14px;min-height:44px}.menu-toggle span{width:20px;height:7px;border-block:1px solid currentColor}.menu-toggle[aria-expanded=true] span{height:0;transform:rotate(45deg)}.site-header nav{display:none;position:absolute;top:85px;left:0;right:0;z-index:30;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.site-header nav>a:not(.nav-contact){padding:14px 0}.nav-contact{justify-content:space-between}.hero{padding:39px 6% 0}.hero-top{display:block;padding:0 0 35px}.hero h1{font-size:clamp(27px,7.6vw,50px);line-height:1.85;letter-spacing:0}.desktop-break{display:none}.hero-copy{margin-top:27px;padding:0}.hero-copy>p:first-child{font-size:14px;margin-bottom:13px}.hero-copy>p+p{font-size:12px;line-height:2.1}.hero-copy .text-link{font-size:12px;max-width:100%;margin-top:17px;padding-block:13px}.business-index{grid-template-columns:1fr;margin-inline:-6.82%}.business-index>a{min-height:0;padding:20px 7%;display:grid;grid-template-columns:1fr auto;gap:5px 25px}.business-index>a+a{border-left:0;border-top:1px solid #547078}.business-index>a>span:first-child{font-size:17px;line-height:1.65}.business-index>a>span:first-child br{display:none}.index-sub{font-size:11px;padding:0;grid-column:1}.business-index svg{position:static;grid-column:2;grid-row:1/3;align-self:center;width:21px}.hero-foot{padding-top:13px;font-size:11px;display:block}.hero-foot a{display:none}.section{padding:64px 7%}.purpose{display:block;margin-top:0}.section-heading h2{font-size:20px}.section-heading>p{font-size:11px;margin-top:7px}.purpose-copy{margin-top:33px}.purpose-copy h3{font-size:29px;line-height:1.8;margin:0 0 25px}.purpose-copy p{font-size:13px;margin-top:20px}.services-heading{display:block;padding-bottom:28px}.services-heading h2{font-size:26px}.services-heading p{font-size:12px;margin-top:15px}.service{display:block;padding:37px 0 40px;position:relative}.service-title h3{font-size:25px;line-height:1.65}.service-title h3 br{display:none}.service-title{display:contents}.service-inquiry{position:absolute;bottom:31px;left:0;right:0;justify-content:space-between;border-bottom:1px solid var(--ink);padding:12px 0;margin:0;font-size:12px}.service-content{margin-top:24px;padding-bottom:70px}.service-content h4{font-size:19px;line-height:1.9;margin-bottom:17px}.service-content>p{font-size:13px}.service-content h5{font-size:12px;margin-top:25px}.service-content li{font-size:12px;padding:12px 0}.service-content ul{column-gap:15px}.service-content .service-note{font-size:12px;margin-top:18px}.services{padding-bottom:10px}.questions{display:block}.faq-list{margin-top:25px}summary{font-size:13px;padding-block:22px}details p{font-size:12px}.contact{display:block;padding-top:57px;padding-bottom:48px}.contact h2{font-size:28px;line-height:1.9}.contact p{font-size:12px;margin-top:20px}.contact-actions{margin-top:31px}.contact-button{font-size:14px;padding:21px}.email{font-size:21px;margin-top:24px}.company-strip{padding:35px 7%;display:block}.company-strip>div{display:block}.company-strip h2{font-size:20px}.company-strip p{font-size:12px;margin-top:15px}.company-strip .text-link{margin-top:18px;min-width:0;font-size:12px}.site-footer{padding:35px 7% 24px;display:block}.site-footer p{font-size:11px;line-height:1.9;margin-top:20px}.site-footer nav{justify-content:start;gap:25px;margin:18px 0 26px;font-size:12px}.site-footer small{display:block;padding-top:20px}.footer-location{display:none}.breadcrumb{font-size:11px;padding:25px 7%}.company-main{padding-top:25px}.company-main h1{font-size:34px}.company-lead{font-size:20px;margin-top:20px}.company-main dl{margin-top:40px}.company-main dl>div{grid-template-columns:1fr;gap:9px;padding:22px 0;font-size:13px}.company-main dt{font-size:12px;color:var(--muted)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reading-progress{display:none}}
@media(max-width:760px){.desktop-break{display:initial}}
/* Editorial photography: real-world context, explicitly illustrative. */
.hero{padding-top:45px}.hero-top{grid-template-columns:1.06fr 1fr;gap:5.5%;padding:0 0 42px;align-items:center}.hero h1{font-size:clamp(36px,3.65vw,56px);line-height:1.8;letter-spacing:.01em}.hero-copy{margin-top:25px;padding:0}.hero-copy>p:first-child{font-size:15px;margin-bottom:12px}.hero-copy>p+p{font-size:13px;line-height:2.1}.hero-copy .text-link{margin-top:20px}.hero-photo,.service-photo{margin:0}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:52% center;animation:photo-reveal 1.2s var(--ease) both}.hero-photo figcaption,.service-photo figcaption{font-size:11px;line-height:1.7;color:var(--muted);margin-top:8px}.service-photo{margin-top:25px}.service-photo img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}.service-title:has(.service-photo) .service-inquiry{margin-top:20px}.hero-foot{padding-bottom:10px}.purpose{margin-top:0}
@keyframes photo-reveal{from{clip-path:inset(0 0 7% 0);opacity:.6}to{clip-path:inset(0);opacity:1}}
@media(max-width:1100px) and (min-width:761px){.hero-top{grid-template-columns:1.1fr 1fr;gap:4%}.hero h1{font-size:3.7vw}.hero-photo img{aspect-ratio:.8}.hero-copy>p+p{font-size:12px}.hero-copy>p:first-child{font-size:14px}}
@media(max-width:760px){.hero{padding-top:35px}.hero-top{display:flex;flex-direction:column;gap:28px;padding-bottom:28px}.hero-text{width:100%}.hero h1{font-size:clamp(27px,7.6vw,50px);line-height:1.85;letter-spacing:0}.hero-copy{margin-top:24px}.hero-copy>p:first-child{font-size:14px}.hero-copy>p+p{font-size:12px}.hero-copy .text-link{max-width:none;margin-top:17px}.hero-photo{width:100%}.hero-photo img{aspect-ratio:1.55;object-position:center}.hero-photo figcaption,.service-photo figcaption{font-size:11px}.service-title{display:block}.service-photo{margin-top:21px}.service-photo img{aspect-ratio:1.5}.service-title:has(.service-photo) .service-inquiry{margin-top:0}.service-content{margin-top:24px}}
.message{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr 1.55fr;column-gap:9%;padding-top:90px;padding-bottom:100px}.message:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('assets/message-handshake.webp') no-repeat -25% 85%;background-size:82% auto;opacity:.14;mask-image:linear-gradient(90deg,#000 32%,transparent 78%)}.message>h2{font-size:22px;letter-spacing:.035em;margin-bottom:0}.message-layout{display:block}.message-copy h3{font-family:'Noto Serif JP',serif;font-size:35px;line-height:1.8;margin-bottom:28px}.message-copy>p{font-size:14px;color:var(--muted);line-height:2.2;margin-top:20px;max-width:40em}.message-signature{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.message-signature>span{font-size:12px}.message-signature p{font-family:'Noto Serif JP',serif;font-size:26px;margin-top:5px;letter-spacing:.08em}.message-signature small{font-family:'Noto Sans JP',sans-serif;font-size:12px;margin-right:22px;letter-spacing:.04em}
@media(max-width:760px){.message{display:block;padding-top:60px;padding-bottom:65px}.message:before{background-size:175% auto;background-position:45% 75%;opacity:.08;mask-image:linear-gradient(180deg,transparent 5%,#000 35%,#000 70%,transparent 100%)}.message>h2{font-size:20px;margin-bottom:25px}.message-layout{display:block}.message-copy h3{font-size:28px;margin-bottom:20px}.message-copy>p{font-size:13px;margin-top:18px}.message-signature{margin-top:25px}}

.service-content>p+p{margin-top:16px}#community .service-photo img{aspect-ratio:1.12;object-position:50% 61%}.message-copy h3{font-size:clamp(24px,2.3vw,35px)}
@media(max-width:760px){#community .service-photo img{aspect-ratio:1.12}.message-copy h3{font-size:clamp(18px,5.8vw,26px)}}

/* The single-line mission is the sole hero headline. */
.hero h1{display:inline-block;max-width:100%;padding:.68em .6em .72em;background:var(--ink);color:var(--white);font-family:'Noto Sans JP',sans-serif;font-size:clamp(18px,2.35vw,36px);font-weight:700;line-height:1.6;letter-spacing:0;white-space:nowrap}.hero-copy>p:first-child{font-size:14px;font-weight:400;line-height:2.1;color:var(--muted);margin-bottom:0}
@media(max-width:760px){.hero h1{font-size:clamp(16px,5.1vw,32px)}.hero-copy>p:first-child{font-size:13px}}
