@charset "UTF-8";
/* ============================================================
   株式会社オオシロ 採用LP — style.css（シアン基調）
   ============================================================ */
:root{
  --accent:#09c4ea;
  --accent-d:#0a9fc4;
  --accent-dd:#0a8fb4;
  --navy:#14283f;
  --ink:#2a3b4d;
  --sub:#5d6e7e;
  --sky:#eaf7fa;
  --sky2:#dff1f7;
  --paper:#fff;
  --line:#dbe7ee;
  --warm:#f29a4e;
  --hdr-h:86px;
  --max:1140px;
  --pad:clamp(1.1rem,4vw,2rem);
  --radius:16px; --radius-sm:10px;
  --shadow:0 14px 40px rgba(15,60,80,.13);
  --shadow-sm:0 5px 16px rgba(15,60,80,.09);
  --sans:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr-h) + 12px);}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.85;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#ffffff 0%,#f2fbfc 30%,#e9f7fa 52%,#f2fbfc 72%,#ffffff 100%);pointer-events:none;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad);}
.section{position:relative;padding:clamp(2.4rem,5.5vw,4.4rem) 0;overflow:hidden;}
.section--sky{background:transparent;}
.cy{color:var(--accent-d);}

/* 斜めあしらい */
.deco{position:absolute;z-index:0;pointer-events:none;opacity:.5;}
.deco--tl{top:-40px;left:-60px;width:240px;height:240px;background:linear-gradient(135deg,var(--accent),transparent);transform:rotate(20deg);border-radius:40px;opacity:.10;}
.deco--br{right:-70px;bottom:-50px;width:260px;height:260px;background:linear-gradient(135deg,var(--accent),transparent);transform:rotate(-15deg);border-radius:40px;opacity:.10;}

/* 見出し */
.sec-head{text-align:center;max-width:760px;margin:0 auto clamp(1.6rem,4vw,2.6rem);position:relative;z-index:1;}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.18em;color:var(--accent-d);margin-bottom:.7rem;}
.sec-title{font-size:clamp(1.6rem,4.2vw,2.2rem);font-weight:900;line-height:1.4;color:var(--navy);}
.sec-lead{margin-top:1rem;color:var(--sub);font-size:clamp(.95rem,2.4vw,1.05rem);}

/* ボタン */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-weight:800;border-radius:999px;padding:.85em 1.9em;transition:transform .25s var(--ease),background .25s,color .25s;white-space:nowrap;cursor:pointer;border:2px solid transparent;font-size:1rem;}
.btn--apply{background:linear-gradient(135deg,var(--accent),var(--accent-d));color:#fff;box-shadow:0 8px 20px rgba(9,196,234,.4);}
.btn--apply:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(9,196,234,.5);}
.btn--ghost{background:#fff;color:var(--accent-d);border-color:var(--accent);}
.btn--ghost:hover{background:var(--sky);transform:translateY(-2px);}
.btn--lg{padding:1em 2.3em;font-size:1.05rem;}
.btn--block{width:100%;}
input.btn[type="submit"]{display:inline-block;text-align:center;line-height:1.4;}
input.btn--block[type="submit"]{display:block;width:100%;}

/* SVGアイコン */
.ic{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}

/* ============================== HEADER ============================== */
.hdr{position:sticky;top:0;z-index:100;height:var(--hdr-h);background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);}
.hdr__in{display:flex;align-items:center;gap:1rem;height:100%;}
.hdr__logo{margin-right:auto;display:flex;align-items:center;}
.hdr__logo img{height:38px;width:auto;}
.hdr__nav{display:none;gap:1.45rem;}
.hdr__nav a{font-size:.93rem;font-weight:600;color:var(--ink);transition:color .2s;}
.hdr__nav a:hover{color:var(--accent-d);}
.hdr__right{display:none;align-items:stretch;gap:.9rem;height:100%;}
.hdr__tel{display:flex;flex-direction:column;justify-content:center;line-height:1.15;text-align:right;}
.hdr__tel small{font-size:.62rem;color:var(--sub);}
.hdr__tel b{font-size:1.28rem;font-weight:800;color:var(--navy);letter-spacing:.01em;}
.hdr__apply{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-d));color:#fff;font-weight:800;font-size:1rem;padding:0 1.7rem;line-height:1.2;}
.hdr__apply small{font-weight:500;font-size:.6rem;opacity:.92;}
.hdr__ig{display:flex;align-items:center;justify-content:center;padding:0 .2rem 0 .85rem;transition:opacity .2s;}
.hdr__ig:hover{opacity:.8;}
.hdr__ig-ic{width:25px;height:25px;}
.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:0;margin-left:auto;}
.hamburger span{display:block;height:2px;width:24px;margin-inline:auto;background:var(--navy);transition:.3s;}
.hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.is-open span:nth-child(2){opacity:0;}
.hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.drawer{position:fixed;inset:var(--hdr-h) 0 auto 0;background:#fff;display:flex;flex-direction:column;padding:1rem var(--pad) 1.6rem;gap:.1rem;transform:translateY(-130%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s .35s;box-shadow:var(--shadow);z-index:99;border-bottom:1px solid var(--line);}
.drawer.is-open{transform:translateY(0);visibility:visible;transition:transform .35s var(--ease);}
.drawer a{padding:.9rem .4rem;border-bottom:1px solid var(--line);font-weight:600;color:var(--navy);}
.drawer__tel{color:var(--accent-d)!important;font-weight:800!important;}
.drawer__ig{display:flex;align-items:center;gap:.5em;}
.drawer__ig-ic{width:20px;height:20px;flex:0 0 auto;fill:currentColor;}
.drawer .btn{border:0;justify-content:center;margin-top:.9rem;color:#fff;}

/* ============================== HERO ============================== */
.hero{position:relative;min-height:84vh;display:flex;overflow:hidden;background:transparent;}
.hero::after{content:"";position:absolute;z-index:1;top:-18%;right:-6%;width:34%;height:62%;background:linear-gradient(135deg,var(--accent),var(--accent-d));transform:rotate(-18deg) skewX(-8deg);border-radius:30px;opacity:.14;pointer-events:none;}
.hero__bg,.hero__wash{-webkit-mask-image:linear-gradient(180deg,#000 52%,rgba(0,0,0,.55) 78%,rgba(0,0,0,0) 98%);mask-image:linear-gradient(180deg,#000 52%,rgba(0,0,0,.55) 78%,rgba(0,0,0,0) 98%);}
.hero__bg{position:absolute;inset:0;z-index:0;background:var(--sky2);}
.hero__bg picture{display:block;width:100%;height:100%;}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:72% center;}
.hero__wash{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(245,251,253,.99) 0%,rgba(245,251,253,.97) 38%,rgba(245,251,253,.62) 56%,rgba(245,251,253,.1) 76%,rgba(245,251,253,0) 100%);}
.hero__in{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:clamp(1.4rem,3.4vw,2.2rem);min-height:84vh;padding-top:clamp(1.4rem,3.5vw,2.2rem);padding-bottom:clamp(1.4rem,3.5vw,2.2rem);}
.hero__copy{max-width:880px;}
.hero__title{font-size:clamp(2.4rem,8.4vw,6rem);font-weight:900;line-height:1.12;color:var(--navy);letter-spacing:.003em;text-shadow:0 2px 18px rgba(255,255,255,.75);white-space:nowrap;}
.hero__sub{margin-top:1.3rem;color:var(--ink);font-weight:500;font-size:clamp(.95rem,2.2vw,1.05rem);line-height:1.9;max-width:680px;}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem;max-width:480px;}
.hero__cta .btn{flex:1 1 0;min-width:150px;text-align:center;}
.hero__card{position:relative;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(1.1rem,2.6vw,1.5rem) clamp(1.2rem,3vw,2rem);display:flex;align-items:center;gap:clamp(.9rem,2.4vw,1.8rem);flex-wrap:wrap;width:fit-content;max-width:100%;}
.paycol__lab{display:block;font-size:.78rem;font-weight:700;color:var(--sub);}
.paycol__val{font-weight:800;color:var(--navy);font-size:1rem;line-height:1.1;}
.paycol__val strong{font-family:"Arial Black",var(--sans);font-size:clamp(2.4rem,6.2vw,4.4rem);color:var(--accent-d);margin:0 .05em;}
.paycol__sub{display:inline-block;margin-left:.3em;font-size:.62rem;font-weight:800;color:#fff;background:var(--warm);border-radius:999px;padding:.15em .6em;vertical-align:middle;}
.hero__vline{width:1px;align-self:stretch;min-height:48px;background:var(--line);}
.feats{display:flex;gap:clamp(.7rem,1.8vw,1.4rem);flex-wrap:wrap;}
.feats li{display:flex;align-items:center;gap:.45rem;font-size:.8rem;font-weight:700;color:var(--navy);line-height:1.25;}
.feats .ic{color:var(--accent-d);}
.hero__stamp{position:absolute;right:-18px;top:-52px;width:88px;height:88px;border-radius:50%;background:var(--warm);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.72rem;font-weight:800;line-height:1.25;box-shadow:0 8px 18px rgba(242,154,78,.45);transform:rotate(-8deg);}
.hero__stamp strong{font-size:1.7rem;font-weight:900;}
.hero__stamp small{font-size:.62rem;}

/* ============================== WORKS ============================== */
.works .container{position:relative;z-index:1;}
.works__layout{display:grid;gap:clamp(2rem,5vw,3.2rem);align-items:center;}
.works__title{text-align:left;}
.works__lead{margin-top:1.1rem;color:var(--ink);}
.works__tasks{margin:1.4rem 0;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1rem;}
.works__tasks li{position:relative;padding-left:1.4rem;font-weight:700;color:var(--navy);font-size:.93rem;}
.works__tasks li::before{content:"";position:absolute;left:0;top:.42em;width:8px;height:8px;border-radius:2px;background:var(--accent);transform:rotate(45deg);}
.works__note2{font-size:.88rem;color:var(--sub);line-height:1.8;}
.works__collage{position:relative;min-height:330px;}
.works__diag{position:absolute;right:-7%;top:2%;width:82%;height:90%;background:linear-gradient(135deg,var(--accent),var(--accent-d));border-radius:28px;transform:rotate(-9deg);opacity:.96;z-index:0;box-shadow:0 18px 40px rgba(9,196,234,.28);}
.works__photo{position:absolute;height:auto;border-radius:12px;box-shadow:0 16px 38px rgba(15,60,80,.26);object-fit:cover;border:5px solid #fff;z-index:1;}
.works__photo--1{width:55%;aspect-ratio:4/3;top:2%;left:2%;transform:rotate(-5deg);z-index:2;}
.works__photo--2{width:47%;aspect-ratio:4/3;top:30%;right:-1%;transform:rotate(4deg);z-index:3;}
.works__photo--3{width:42%;aspect-ratio:4/3;bottom:0;left:16%;transform:rotate(-2deg);z-index:1;}

/* ============================== BENEFITS ============================== */
.benefits .container{position:relative;z-index:1;}
.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2.4vw,1.4rem);}
.benefit-card{background:#fff;border-radius:var(--radius);padding:clamp(1.4rem,3vw,1.8rem) clamp(1rem,3vw,1.3rem);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease);text-align:center;}
.benefit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.bic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#e3f6fc;color:var(--accent);margin:0 auto .9rem;box-shadow:0 6px 16px rgba(9,196,234,.18);}
.bic svg{width:38px;height:38px;fill:currentColor;}
.benefit-card h3{font-size:1.18rem;font-weight:800;color:var(--navy);margin-bottom:.4rem;}
.benefit-card p{font-size:.84rem;color:var(--sub);line-height:1.7;}

/* ============================== MESSAGE ============================== */
.message{position:relative;color:#fff;}
.message__photos{position:relative;height:clamp(170px,24vw,290px);overflow:hidden;}
.message__photos img{width:100%;height:100%;object-fit:cover;object-position:center;}
.message__photos::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,36,55,.12),rgba(11,140,160,.32));}
.message__band{background:linear-gradient(120deg,var(--accent) 0%,var(--accent-d) 100%);padding:clamp(2.6rem,6vw,4.2rem) 0;position:relative;overflow:hidden;}
.message__band::before{content:"";position:absolute;top:-30%;left:-4%;width:30%;height:160%;background:rgba(255,255,255,.08);transform:rotate(-16deg);pointer-events:none;}
.message__inner{position:relative;z-index:2;}
.message__lead{max-width:820px;margin:0 auto;text-align:center;}
.eyebrow--light{color:rgba(255,255,255,.85);}
.message__title{font-size:clamp(1.85rem,4.8vw,3rem);font-weight:900;line-height:1.42;letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,70,85,.3);}
.message__text{margin-top:1.2rem;color:rgba(255,255,255,.96);font-weight:500;font-size:clamp(.97rem,2.2vw,1.08rem);}
.message__sign{margin-top:1.6rem;font-weight:800;font-size:1.06rem;letter-spacing:.02em;}

/* ============================== NUMBERS ============================== */
.numbers{background:transparent;}
.num-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,1.6rem);}
.num{text-align:center;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,3vw,1.9rem) .6rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;}
.num__lab{display:block;order:-1;font-size:.78rem;color:var(--sub);font-weight:700;margin-bottom:.6rem;}
.num__val{display:block;font-size:clamp(1rem,2.1vw,1.2rem);font-weight:800;color:var(--accent-d);line-height:1;}
.num__val b{font-family:"Arial Black",var(--sans);font-size:clamp(2.4rem,6.5vw,3.6rem);color:var(--accent);}
.num__val--t{color:var(--accent);font-size:clamp(2rem,5.6vw,2.7rem);font-weight:900;}
.num__note{text-align:center;font-size:.74rem;color:var(--sub);margin-top:clamp(1rem,3vw,1.6rem);}

/* ============================== NEWS ============================== */
.news__layout{display:grid;gap:clamp(1.6rem,4vw,2.4rem);align-items:start;}
.news-list{display:flex;flex-direction:column;}
.news-row{border-bottom:1px solid var(--line);}
.news-row:first-child{border-top:1px solid var(--line);}
.news-row a{display:grid;grid-template-columns:118px 1fr;gap:1.1rem;align-items:center;padding:1.05rem .3rem;transition:background .2s,transform .2s;}
.news-list--no-img .news-row a{grid-template-columns:1fr;}
.news-row a[href]:hover{background:rgba(9,196,234,.06);transform:translateX(3px);}
.news-more{margin-top:1rem;text-align:right;}
.news-more a{font-size:.92rem;font-weight:700;color:var(--accent-d);}
.news-more a:hover{text-decoration:underline;}
.news-row__img{aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;}
.news-row__img img{width:100%;height:100%;object-fit:cover;}
.news-row__meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem;}
.news-row__meta time{font-size:.78rem;color:var(--sub);font-weight:700;}
.news-cat{font-size:.66rem;font-weight:700;color:var(--accent-d);background:rgba(9,196,234,.12);border:1px solid var(--accent);border-radius:999px;padding:.15em .8em;}
.news-row__title{font-size:1.06rem;color:var(--navy);font-weight:700;line-height:1.5;}
/* news-cta の背景画像は assets/images/hero.webp — assets/css/ からの相対パス */
.news-cta{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--accent),var(--accent-d));color:#fff;border-radius:var(--radius);padding:clamp(1.6rem,4vw,2.3rem);box-shadow:0 16px 36px rgba(9,196,234,.32);}
.news-cta::after{content:"";position:absolute;right:-12%;bottom:-8%;width:62%;height:96%;background:url(../images/hero.webp) center 30%/cover;opacity:.16;border-radius:46% 0 0 0;pointer-events:none;}
.news-cta>*{position:relative;z-index:1;}
.news-cta__head{font-size:clamp(1.2rem,3vw,1.55rem);font-weight:900;line-height:1.5;}
.news-cta__list{margin:1.2rem 0 1.6rem;display:flex;flex-direction:column;gap:.7rem;}
.news-cta__list li{position:relative;padding-left:1.9rem;font-weight:600;font-size:.96rem;}
.news-cta__list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;}
.news-cta__list li::after{content:"";position:absolute;left:.42rem;top:50%;width:.32rem;height:.6rem;border:solid var(--accent-d);border-width:0 .16rem .16rem 0;transform:translateY(-60%) rotate(45deg);}
.news-cta__btn{display:block;background:#fff;color:var(--accent-d);text-align:center;font-weight:800;border-radius:999px;padding:.95em 1.2em;box-shadow:0 6px 16px rgba(0,0,0,.14);transition:transform .2s;}
.news-cta__btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2);}

/* ============================== CONTACT ============================== */
.contact .container{position:relative;z-index:1;}
.contact__grid{display:grid;gap:clamp(1.4rem,4vw,2.2rem);align-items:start;}
.cform{background:#fff;border-radius:var(--radius);padding:clamp(1.3rem,4vw,2.2rem);box-shadow:var(--shadow);}
.cform__row{margin-bottom:1.1rem;}
.cform__row--2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.cform label{display:block;font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;}
.req{display:inline-block;font-size:.65rem;color:#fff;background:var(--warm);border-radius:4px;padding:.1em .5em;margin-left:.4em;vertical-align:middle;}
.cform input:not([type="submit"]),.cform select,.cform textarea{width:100%;font-family:inherit;font-size:1rem;color:var(--ink);background:var(--sky);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75em .9em;transition:border-color .2s,box-shadow .2s,background .2s;}
.cform input:not([type="submit"]):focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px rgba(9,196,234,.2);background:#fff;}
.cform .wpcf7-submit.btn,.contact .wpcf7-submit.btn{-webkit-appearance:none;appearance:none;box-sizing:border-box;}
.cform p:has(> .wpcf7-submit),.contact .wpcf7 p:has(> .wpcf7-submit){margin:0;}
.cform__hp{position:absolute;left:-9999px;}
.cform__note{font-size:.75rem;color:var(--sub);margin-top:.8rem;text-align:center;}
.cform__agree{font-size:.85rem;color:var(--ink);margin:1rem 0 .9rem;text-align:center;}
.cform__agree a{color:var(--accent-d);text-decoration:underline;}
.contact__alt{background:#fff;border-radius:var(--radius);padding:clamp(1.3rem,4vw,1.8rem);box-shadow:var(--shadow-sm);}
.contact__alt-head{font-weight:800;color:var(--navy);margin-bottom:1rem;}
.contact__alt-item{display:flex;align-items:center;gap:.9rem;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:.8rem;transition:background .2s,transform .2s;}
.contact__alt-item:hover{background:var(--sky);transform:translateX(3px);}
.contact__alt-ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#e3f6fc;color:var(--accent);flex:0 0 auto;}
.contact__alt-ic svg{width:26px;height:26px;fill:currentColor;}
.contact__alt-ig{width:46px;height:46px;flex:0 0 auto;}
.contact__alt-item strong{display:block;color:var(--navy);font-size:.95rem;}
.contact__alt-item small{color:var(--sub);font-size:.8rem;}

/* ============================== FOOTER ============================== */
.ftr{background:var(--navy);color:#c4d4e2;padding:clamp(2.6rem,7vw,3.6rem) 0 1.5rem;}
.ftr__in{display:grid;gap:1.6rem;}
.ftr__logo{height:30px;width:auto;margin-bottom:.5rem;}
.ftr__brand p{font-size:.85rem;color:#92a8bc;}
.ftr__info{display:grid;gap:.9rem;}
.ftr__info div{display:grid;grid-template-columns:5.5em 1fr;gap:.6rem;font-size:.85rem;}
.ftr__info dt{color:var(--accent);font-weight:700;}
.ftr__info a{text-decoration:underline;}
.ftr__sns a{display:inline-flex;align-items:center;gap:.45em;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.4em 1.2em;font-size:.85rem;transition:background .2s,border-color .2s;}
.ftr__sns a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.5);}
.ftr__sns-ic{width:1.15em;height:1.15em;flex:0 0 auto;}
.ftr__sns .ftr__policy{margin-left:.6rem;border:0;text-decoration:underline;opacity:.85;padding-inline:.2em;}
.ftr__copy{text-align:center;font-size:.72rem;color:#7c93a8;margin-top:2rem;border-top:1px solid rgba(255,255,255,.1);padding-top:1.4rem;}

/* ============================== reveal ============================== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}

/* ============================== お知らせ 一覧/記事 ============================== */
.bcrumb{display:flex;flex-wrap:wrap;gap:.5em;font-size:.82rem;color:var(--sub);margin-bottom:1.6rem;}
.bcrumb a{color:var(--accent-d);}
.bcrumb a::after{content:"›";margin-left:.5em;color:var(--sub);}
.news-archive__in,.post__in{max-width:820px;}
.news-archive .sec-head{text-align:left;margin-bottom:1.4rem;}
.news-archive h1{text-align:left;}
.news-archive__back{margin-top:2.4rem;text-align:center;}
.post__meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.5rem;}
.post__meta time{font-size:.85rem;color:var(--sub);font-weight:700;}
.post__title{font-size:clamp(1.4rem,4.4vw,1.9rem);font-weight:800;color:var(--navy);line-height:1.5;margin-bottom:1.4rem;}
.post__thumb{border-radius:var(--radius);overflow:hidden;margin-bottom:1.8rem;}
.post__thumb img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;}
.post__body p{font-size:.97rem;color:var(--ink);line-height:2;margin-bottom:1.1em;}
.post__body h2{font-size:1.12rem;font-weight:800;color:var(--navy);margin:1.8rem 0 .7rem;padding-left:.8rem;border-left:4px solid var(--accent);}
.post__body ul{padding-left:1.4em;list-style:disc;margin-bottom:1.2em;}
.post__body li{font-size:.95rem;color:var(--ink);line-height:1.9;margin-bottom:.3em;}
.post__cta{text-align:center;margin:2.2rem 0 1.4rem;}
.post__nav{display:flex;justify-content:center;border-top:1px solid var(--line);padding-top:1.6rem;}
.post__back-link{color:var(--accent-d);font-weight:700;font-size:.95rem;transition:color .2s;}
.post__back-link:hover{color:var(--accent-dd);text-decoration:underline;}

/* ページネーション */
.nav-links{display:flex;justify-content:center;gap:.5rem;margin-top:2rem;flex-wrap:wrap;}
.nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.4em;height:2.4em;border-radius:999px;border:1px solid var(--line);font-size:.9rem;font-weight:700;color:var(--ink);transition:background .2s,color .2s;}
.nav-links .page-numbers.current{background:var(--accent);color:#fff;border-color:var(--accent);}
.nav-links .page-numbers:hover:not(.current){background:var(--sky);}

/* ============================== プライバシーポリシー ============================== */
.policy__in{max-width:820px;}
.policy h1{text-align:left;}
.policy h2{font-size:1.12rem;font-weight:800;color:var(--navy);margin:2.2rem 0 .6rem;padding-left:.8rem;border-left:4px solid var(--accent);}
.policy p,.policy li{font-size:.95rem;color:var(--ink);line-height:1.9;}
.policy ul{padding-left:1.4em;list-style:disc;}
.policy__lead{margin-top:1.2rem;}
.policy__date{margin-top:2.4rem;color:var(--sub);font-size:.88rem;}
.policy__back{margin-top:2.2rem;}

/* ============================== notice (thanks/404) ============================== */
.notice{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(160deg,var(--sky),var(--sky2));padding:3rem var(--pad);}
.notice__box{max-width:560px;}
.notice__code{font-size:clamp(3rem,14vw,6rem);font-weight:900;color:var(--accent-d);line-height:1;}
.notice__title{font-size:clamp(1.4rem,4.5vw,2rem);font-weight:800;color:var(--navy);margin:.6rem 0 1rem;}
.notice__text{color:var(--ink);margin-bottom:1.8rem;}

/* ============================== レスポンシブ ============================== */
@media(min-width:860px){
  .hdr__nav,.hdr__right{display:flex;}
  .hamburger,.drawer{display:none;}
  .hero__in{display:flex;}
  .works__layout{grid-template-columns:1fr 1.02fr;}
  .works__collage{min-height:440px;}
  .benefit-grid{grid-template-columns:repeat(4,1fr);}
  .num-grid{grid-template-columns:repeat(6,1fr);}
  .news__layout{grid-template-columns:1.6fr .92fr;}
  .contact__grid{grid-template-columns:1.4fr .9fr;}
  .ftr__in{grid-template-columns:1.2fr 1.5fr auto;align-items:start;}
}
@media(min-width:600px) and (max-width:859px){
  .num-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:859px){
  .hero__bg img{object-position:center;}
  .hero__wash{background:linear-gradient(180deg,rgba(245,251,253,.97) 0%,rgba(245,251,253,.9) 36%,rgba(245,251,253,.5) 58%,rgba(245,251,253,0) 80%);}
}
@media(max-width:600px){
  .hero__card{gap:.8rem 1.2rem;margin-top:clamp(110px,20vh,170px);}
  .hero__vline{display:none;}
  .hero__cta{flex-direction:column;max-width:none;}
}
@media(max-width:374px){
  .hero__title{font-size:2.1rem;}
}

/* ============================== モーション低減 ============================== */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .reveal{opacity:1!important;transform:none!important;}
}
