/*
Theme Name: A-Tune Corporate
Theme URI: https://a-tune.jp/
Author: 株式会社A-Tune
Author URI: https://a-tune.jp/
Description: Technology × Businessを掲げる株式会社A-Tuneのオリジナルコーポレートテーマです。
Version: 1.0.6
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: a-tune
*/

:root { --ink:#161a1b; --muted:#697172; --line:#dce1df; --paper:#f7f8f6; --accent:#0d5c56; --accent-light:#d9e9e5; --font-en:"Helvetica Neue",Helvetica,Arial,sans-serif; --font-jp:"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font-jp), sans-serif; letter-spacing:0; }
.siteIntro { display:none; }
.has-js .siteIntro { position:fixed; z-index:9999; inset:0; display:grid; grid-template-rows:1fr auto 1fr; place-items:center; overflow:hidden; background:#fff; opacity:1; visibility:visible; transition:opacity .42s cubic-bezier(.4,0,.2,1),visibility .42s; }
.intro-seen .siteIntro,.siteIntro.is-leaving { opacity:0; visibility:hidden; pointer-events:none; }
body.intro-active { overflow:hidden; }
.siteIntro__grid { grid-row:2; position:relative; width:clamp(184px,24vw,288px); aspect-ratio:1; display:grid; grid-template:1fr 1fr/1fr 1fr; overflow:hidden; }
.siteIntro__cell { display:flex; align-items:flex-end; padding:13px; color:rgba(22,26,27,.55); border:1px solid rgba(22,26,27,.18); font:600 10px var(--font-en),sans-serif; opacity:0; animation:introCellIn .72s cubic-bezier(.22,1,.36,1) forwards; }
.siteIntro__cell--it { background:#edf0ed; --intro-x:-55%; --intro-y:-55%; }
.siteIntro__cell--re { background:var(--accent-light); --intro-x:55%; --intro-y:-55%; animation-delay:.06s; }
.siteIntro__cell--cm { background:var(--ink); color:#9ca4a3; --intro-x:-55%; --intro-y:55%; animation-delay:.12s; }
.siteIntro__cell--bd { background:#fff; --intro-x:55%; --intro-y:55%; animation-delay:.18s; }
.siteIntro__mark { position:absolute; left:50%; top:50%; width:31%; aspect-ratio:1; display:grid; place-items:center; background:var(--accent); color:#fff; font:500 clamp(38px,5vw,60px) var(--font-en),sans-serif; opacity:0; transform:translate(-50%,-50%) scale(.62); animation:introMarkIn .6s .58s cubic-bezier(.22,1,.36,1) forwards; }
.siteIntro__brand { grid-row:3; align-self:start; display:grid; justify-items:center; gap:7px; padding-top:27px; opacity:0; transform:translateY(12px); animation:introBrandIn .48s .82s ease forwards; }
.siteIntro__brand strong { font:600 16px var(--font-en),sans-serif; }
.siteIntro__brand span { color:var(--muted); font:500 10px var(--font-en),sans-serif; }
@keyframes introCellIn { from { opacity:0; transform:translate(var(--intro-x),var(--intro-y)) scale(.92); } to { opacity:1; transform:translate(0,0) scale(1); } }
@keyframes introMarkIn { to { opacity:1; transform:translate(-50%,-50%) scale(1); } }
@keyframes introBrandIn { to { opacity:1; transform:translateY(0); } }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
body.admin-bar .siteHeader { top:32px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.siteMain { min-height:60vh; }
.noticeSuccess,.noticeError { margin:0 0 32px; padding:18px 20px; border-left:3px solid var(--accent); background:var(--paper); line-height:1.8; }
.noticeError { border-color:#9f3a38; }
.hpField { position:absolute!important; left:-9999px!important; }
.siteHeader { position:fixed; z-index:20; top:0; left:0; width:100%; height:82px; display:flex; align-items:center; justify-content:space-between; padding:0 4.5vw; background:rgba(255,255,255,.92); border-bottom:1px solid rgba(22,26,27,.1); backdrop-filter:blur(12px); }
.logo,.footerLogo { display:flex; align-items:center; gap:11px; font:600 15px var(--font-en),sans-serif; letter-spacing:0; }
.logoMark { display:grid; place-items:center; width:30px; height:30px; background:var(--ink); color:#fff; font-size:14px; }
.desktopNav { height:100%; display:flex; align-items:center; gap:34px; font:500 13px var(--font-en),sans-serif; }
.desktopNav a:not(.contactNav):hover { color:var(--accent); }
.contactNav { height:100%; display:flex; align-items:center; gap:30px; padding:0 30px; margin-right:-4.5vw; background:var(--ink); color:#fff; }
.mobileNav { display:none; }
.hero { min-height:760px; height:100vh; position:relative; overflow:hidden; display:flex; align-items:center; padding:120px 4.5vw 62px; border-bottom:1px solid var(--line); }
.heroContent { position:relative; z-index:2; width:min(760px,70%); }
.eyebrow,.sectionLabel { margin:0 0 26px; color:var(--accent); font:600 12px var(--font-en),sans-serif; text-transform:uppercase; letter-spacing:0; }
.hero h1 { max-width:780px; margin:0; font-size:clamp(56px,7.2vw,112px); line-height:1.04; font-weight:520; letter-spacing:0; }
.heroLead { margin:38px 0 28px; color:#3f4647; font-size:16px; line-height:2; }
.textLink { display:inline-flex; align-items:center; gap:16px; padding-bottom:7px; border-bottom:1px solid currentColor; font:600 13px var(--font-en),sans-serif; }
.textLink span { transition:transform .25s ease; }.textLink:hover span { transform:translate(3px,-3px); }
.heroGrid { position:absolute; right:-5vw; top:18%; width:min(45vw,650px); aspect-ratio:1; display:grid; grid-template:1fr 1fr/1fr 1fr; transform:rotate(-8deg); opacity:.92; }
.heroCell { display:flex; align-items:flex-end; padding:22px; border:1px solid #c8cecc; color:rgba(22,26,27,.32); font:500 13px var(--font-en),sans-serif; }
.cellA { background:#edf0ed; }.cellB { background:var(--accent-light); transform:translateY(12%); }.cellC { background:#252b2c; color:#9ca4a3; }.cellD { background:#fff; transform:translateY(12%); }
.heroFoot { position:absolute; z-index:2; left:4.5vw; right:4.5vw; bottom:30px; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
.scrollLabel { font-family:var(--font-en),sans-serif; }
.sectionBand { border-bottom:1px solid var(--line); }
.sectionInner { width:min(1180px,91vw); margin:0 auto; }
.statement { padding:150px 0; }.statementGrid { display:grid; grid-template-columns:1fr 2.2fr; gap:70px; }
.statement h2,.sectionHead h2,.approach h2,.pageHero h1,.aboutIntro h2,.contactBand h2 { margin:0; font-weight:520; letter-spacing:0; }
.statement h2,.sectionHead h2,.approach h2,.aboutIntro h2 { font-size:clamp(35px,4.2vw,62px); line-height:1.3; }
.statementGrid > div > p,.approachCopy > p,.aboutIntro > div > p { max-width:680px; margin:35px 0 0; color:var(--muted); font-size:15px; line-height:2.15; }
.businessSection { padding:150px 0 130px; background:var(--paper); }
.sectionHead { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:76px; }
.businessList { border-top:1px solid #bdc4c2; }
.businessItem { min-height:170px; display:grid; grid-template-columns:75px minmax(260px,1.1fr) 1.5fr 30px; gap:30px; align-items:center; border-bottom:1px solid #bdc4c2; transition:background .25s,padding .25s; }
.businessItem:hover { background:#fff; padding:0 20px; }
.businessNumber { color:var(--accent); font:500 12px var(--font-en),sans-serif; }.businessTitle h3 { margin:0 0 7px; font:500 clamp(22px,2.2vw,32px) var(--font-en),sans-serif; }.businessTitle p,.businessBody { margin:0; }.businessTitle p { color:var(--muted); font-size:12px; }.businessBody { color:var(--muted); font-size:13px; line-height:1.9; }.businessArrow { color:var(--accent); font-size:20px; }
.approach { padding:150px 0; }.approachGrid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }
.approachVisual { position:relative; aspect-ratio:1; background:var(--ink); overflow:hidden; }
.axis { position:absolute; color:#c8d0ce; font:500 11px var(--font-en),sans-serif; }.axis::after { content:""; position:absolute; background:#596261; }.axisX { left:8%; right:8%; top:50%; border-top:1px solid #596261; }.axisX span { position:absolute; right:0; top:12px; }.axisY { top:8%; bottom:8%; left:50%; border-left:1px solid #596261; }.axisY span { position:absolute; left:12px; top:0; writing-mode:vertical-rl; }.axisCenter { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:32%; aspect-ratio:1; background:var(--accent); color:#fff; font:500 clamp(48px,7vw,88px) var(--font-en),sans-serif; }
.approachCopy > p { margin-bottom:34px; }
.newsSection { padding:130px 0; background:var(--paper); }.newsGrid { display:grid; grid-template-columns:1fr 2.3fr; gap:70px; }.newsGrid h2 { margin:0; font-size:40px; font-weight:520; }.newsItem { min-height:105px; display:grid; grid-template-columns:100px 90px 1fr 20px; gap:20px; align-items:center; border-top:1px solid #bdc4c2; border-bottom:1px solid #bdc4c2; }.newsItem time { color:var(--muted); font:500 12px var(--font-en),sans-serif; }.newsTag { color:var(--accent); font:500 10px var(--font-en),sans-serif; text-transform:uppercase; }.newsItem strong { font-size:14px; font-weight:500; }.newsMore { margin-top:30px; }
.columnSection { padding:140px 0; }
.homeColumns,.columnList { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.columnVisual { position:relative; overflow:hidden; aspect-ratio:16/10; margin-bottom:25px; background:#edf0ed; border:1px solid var(--line); }
.columnVisual span { position:absolute; z-index:2; left:18px; bottom:14px; color:var(--muted); font:500 11px var(--font-en),sans-serif; }
.columnVisual i { position:absolute; display:block; background:var(--accent); }
.columnVisual1 i { width:30%;height:100%;right:20%;top:0; }.columnVisual1::after { content:""; position:absolute; left:0;top:50%;width:100%;height:1px;background:#89918f; }
.columnVisual2 { background:var(--ink); }.columnVisual2 i { width:46%;aspect-ratio:1;right:10%;top:13%;background:var(--accent-light);transform:rotate(10deg); }.columnVisual2::after { content:""; position:absolute; left:34%;top:0;width:1px;height:100%;background:#65706e; }
.columnVisual3 { background:var(--accent-light); }.columnVisual3 i { width:34%;aspect-ratio:1;left:33%;top:20%;background:var(--ink); }.columnVisual3::after { content:""; position:absolute; inset:14%;border:1px solid rgba(13,92,86,.45); }
.columnCardMeta { display:flex; align-items:center; gap:16px; color:var(--muted); font:500 10px var(--font-en),sans-serif; }
.columnCardMeta span { color:var(--accent); text-transform:uppercase; }
.homeColumn h3,.columnCard h2 { margin:17px 0 13px; font-size:21px; line-height:1.55; font-weight:520; }
.homeColumn > p,.columnCard > p { margin:0;color:var(--muted);font-size:13px;line-height:1.85; }
.homeColumn { transition:transform .25s ease; }.homeColumn:hover { transform:translateY(-5px); }
.columnList { row-gap:75px; }.columnCard { display:block; }.columnCard strong { display:inline-flex;gap:12px;margin-top:25px;padding-bottom:6px;border-bottom:1px solid currentColor;font:600 11px var(--font-en),sans-serif; }
.columnArticle { padding-top:82px; }.columnArticleHeader { padding:100px 4.5vw 105px;background:var(--paper);border-bottom:1px solid var(--line); }
.columnBack { display:inline-block;margin-bottom:75px;color:var(--muted);font:500 12px var(--font-en),sans-serif; }
.columnArticleHeader h1 { max-width:950px;margin:28px 0 45px;font-size:clamp(42px,6.2vw,84px);line-height:1.25;font-weight:520; }
.columnArticleHeader > p { max-width:720px;margin:0 0 0 auto;color:var(--muted);font-size:15px;line-height:2.1; }
.columnArticleBody { width:min(780px,calc(100% - 40px));margin:0 auto;padding:110px 0 130px; }.columnArticleBody section { margin-bottom:95px; }
.articleNumber { color:var(--accent);font:600 11px var(--font-en),sans-serif; }.columnArticleBody h2 { margin:16px 0 32px;font-size:clamp(26px,3vw,38px);line-height:1.5;font-weight:520; }
.columnArticleBody section p,.columnArticleBody > p { margin:0 0 24px;color:#495051;font-size:15px;line-height:2.2; }
.articleAuthor { padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.articleAuthor span { color:var(--muted);font:500 10px var(--font-en),sans-serif; }.articleAuthor strong { display:block;margin:12px 0 5px;font-size:14px; }.articleAuthor p { margin:0;color:var(--muted);font:500 11px var(--font-en),sans-serif; }
.contactBand { background:var(--accent); color:#fff; }.contactInner { min-height:420px; width:min(1180px,91vw); margin:auto; display:flex; align-items:center; justify-content:space-between; }.contactBand .sectionLabel { color:#bcd6d2; }.contactBand h2 { font-size:clamp(36px,5vw,70px); line-height:1.3; }.contactCircle { display:grid; place-items:center; width:110px; height:110px; border:1px solid rgba(255,255,255,.6); border-radius:50%; font-size:30px; transition:background .25s,color .25s,transform .25s; }.contactInner:hover .contactCircle { background:#fff;color:var(--accent);transform:translate(4px,-4px); }
.siteFooter { padding:80px 4.5vw 30px; background:var(--ink); color:#fff; }.footerTop,.footerBottom { display:flex; justify-content:space-between; }.footerTop { min-height:170px; }.footerLogo { align-self:flex-start; }.footerLogo .logoMark { background:#fff;color:var(--ink); }.footerNav { display:grid; grid-template-columns:repeat(2,130px); gap:20px 40px; font:500 12px var(--font-en),sans-serif; }.footerNav a:hover { color:#90bdb7; }.footerBottom { padding-top:25px; border-top:1px solid #424849; color:#919898; font-size:10px; }
.pageHero { min-height:550px; padding:180px 4.5vw 90px; background:var(--paper); border-bottom:1px solid var(--line); }.pageHero h1 { font:520 clamp(58px,8vw,112px)/1 var(--font-en),sans-serif; }.pageHero > p:last-child { max-width:620px; margin:52px 0 0 auto; color:var(--muted); line-height:2; }
.subSection { padding:120px 0; border-bottom:1px solid var(--line); }.detailList { border-top:1px solid var(--line); }.detailItem { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding:65px 0; border-bottom:1px solid var(--line); }.detailItem span { color:var(--accent); font:500 11px var(--font-en),sans-serif; }.detailItem h2 { margin:14px 0 6px; font:500 clamp(30px,4vw,52px) var(--font-en),sans-serif; }.detailItem p { color:var(--muted); font-size:14px; line-height:2; }.detailItem .detailJp { margin:0; font-size:12px; }.aboutIntro { display:grid; grid-template-columns:1fr 2fr; gap:70px; }.profileSection { background:var(--paper); }.profileTable { max-width:850px; margin:50px 0 0 auto; }.profileTable div { display:grid; grid-template-columns:180px 1fr; padding:24px 0; border-top:1px solid #c9cecc; }.profileTable div:last-child { border-bottom:1px solid #c9cecc; }.profileTable dt { color:var(--muted); font-size:12px; }.profileTable dd { margin:0; font-size:14px; }
.newsDetail { max-width:850px; margin:0 auto; }.newsDetail time { margin-right:20px; color:var(--muted); font:500 12px var(--font-en),sans-serif; }.newsDetail h2 { margin:35px 0; font-size:clamp(28px,4vw,46px); font-weight:520; }.newsDetail p,.legal p { color:var(--muted); line-height:2; }.formWrap { display:grid; grid-template-columns:1fr 2fr; gap:8vw; }.formNotice { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }.formNotice p { margin:0 0 18px; }.formNotice small { color:var(--muted); line-height:1.8; }.contactEmail { max-width:100%; margin-bottom:18px; padding-bottom:5px; border-bottom:1px solid currentColor; color:var(--accent); font:500 14px var(--font-en),sans-serif; overflow-wrap:anywhere; }.contactForm { display:grid; gap:30px; }.contactForm label { display:grid; gap:10px; font-size:13px; }.contactForm label > span { color:var(--accent); font-size:10px; }.contactForm input,.contactForm select,.contactForm textarea { width:100%; border:1px solid #c9cecc; border-radius:0; background:#fff; padding:15px; outline:none; }.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus { border-color:var(--accent); }.contactForm .checkLabel { display:flex; grid-template-columns:20px 1fr; align-items:center; }.checkLabel input { width:18px;height:18px; }.contactForm button { width:100%; display:flex; justify-content:space-between; border:0; padding:21px 25px; background:var(--ink); color:#fff; cursor:pointer; }.legal { max-width:850px; }.legal h2 { margin:55px 0 10px; font-size:22px; }.draftNote { padding:20px; border-left:3px solid var(--accent); background:var(--paper); }
@media (max-width:800px) {
  .siteIntro__grid { width:min(58vw,224px); }
  .siteIntro__cell { padding:10px; }
  body.admin-bar .siteHeader { top:46px; }
  .siteHeader { height:68px; padding:0 20px; }.desktopNav { display:none; }.mobileNav { display:block; }.mobileNav summary { position:relative; width:38px;height:38px; list-style:none; cursor:pointer; }.mobileNav summary::-webkit-details-marker { display:none; }.mobileNav summary span { position:absolute; left:8px; width:22px; height:1px; background:var(--ink); }.mobileNav summary span:first-child { top:14px; }.mobileNav summary span:last-child { top:23px; }.mobileNav nav { position:fixed; top:68px; left:0; width:100%; display:grid; background:#fff; border-bottom:1px solid var(--line); }.mobileNav nav a { padding:19px 20px; border-top:1px solid var(--line); font:500 14px var(--font-en),sans-serif; }
  .hero { min-height:700px; height:100svh; padding:110px 20px 70px; align-items:flex-start; }.heroContent { width:100%; }.hero h1 { font-size:clamp(48px,15vw,72px); }.heroLead { margin-top:28px; font-size:14px; }.desktopOnly { display:none; }.heroGrid { width:76vw; right:-24vw; top:auto; bottom:62px; opacity:.62; }.heroFoot { left:20px;right:20px;bottom:20px; }.heroFoot span:first-child { display:none; }
  .sectionInner { width:calc(100% - 40px); }.statement,.businessSection,.approach,.newsSection,.columnSection,.subSection { padding:90px 0; }.statementGrid,.approachGrid,.newsGrid,.aboutIntro,.formWrap { grid-template-columns:1fr; gap:50px; }.statement h2,.sectionHead h2,.approach h2,.aboutIntro h2 { font-size:36px; }.sectionHead { display:block;margin-bottom:45px; }.sectionHead .textLink { margin-top:28px; }.businessItem { min-height:0; padding:28px 0; grid-template-columns:45px 1fr 20px; gap:12px; }.businessItem:hover { padding:28px 8px; }.businessBody { grid-column:2/4; }.approachGrid { gap:60px; }.approachVisual { width:100%; }.newsGrid { gap:35px; }.newsItem { grid-template-columns:90px 1fr 20px; gap:10px; padding:20px 0; }.newsTag { display:none; }.homeColumns,.columnList { grid-template-columns:1fr;gap:55px; }.homeColumn h3,.columnCard h2 { font-size:20px; }.columnArticle { padding-top:68px; }.columnArticleHeader { padding:65px 20px 75px; }.columnBack { margin-bottom:50px; }.columnArticleHeader h1 { font-size:40px; }.columnArticleHeader > p { margin-top:38px; }.columnArticleBody { padding:80px 0 95px; }.columnArticleBody section { margin-bottom:70px; }.contactInner { min-height:360px; }.contactCircle { width:70px;height:70px; flex:0 0 70px; }.contactBand h2 { font-size:34px; }.siteFooter { padding:60px 20px 25px; }.footerTop { display:block; }.footerNav { margin:55px 0;grid-template-columns:1fr 1fr; }.footerBottom span { display:none; }
  .pageHero { min-height:470px; padding:150px 20px 70px; }.pageHero h1 { font-size:54px; overflow-wrap:anywhere; }.pageHero > p:last-child { margin-top:48px; }.detailItem { grid-template-columns:1fr; gap:20px;padding:45px 0; }.profileTable { margin-top:20px; }.profileTable div { grid-template-columns:100px 1fr;gap:15px; }.contactBand h2 { font-size:30px; }.contactInner { gap:20px; }
}
@media (max-width:800px) {
  .contactInner { position:relative; display:block; min-height:360px; padding:78px 0 42px; }
  .contactCircle { position:absolute; right:0; bottom:42px; width:70px; height:70px; }
  .contactBand h2 { font-size:clamp(26px,8vw,30px); white-space:nowrap; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } .siteIntro { display:none!important; } }
