@media (max-width: 680px){
/* スマートフォン（≤680px・build.py が @media ラップ） */

:root{--header-h:64px;}
.wrap,.wrap-xl{padding:0 18px;}

/* ヘッダー */
.site-h__bar{height:64px;padding:0 0 0 18px;}
img.site-h__logo,.site-h__logo img{height:40px;}

/* オープニング */
.op__pct{right:22px;bottom:20px;font-size:40px;}
.op__core{gap:28px;}

/* ヒーロー（SPは vw でなく固定値に戻す） */
.hero{min-height:520px;}
.hero__title{font-size:32px;}
.hero__label{font-size:11px;letter-spacing:.22em;margin-bottom:20px;}
.hero__label::before{width:6px;height:6px;}
/* サブキャッチは左6割で折り返し（右側はグラデが薄く読みづらいため）・FB3 */
.hero__lead{font-size:13.5px;line-height:2;margin-top:18px;max-width:62%;}
.hero__lead br{display:none;}
.hero__inner{padding:0 18px 100px;}
.hero__giant{font-size:22vw;bottom:18vw;}
.hero__marquee{padding:14px 0 11px;}
.marquee__unit{gap:30px;padding-right:30px;}
.marquee__unit span{font-size:24px;}

/* 見出し */
.sec-head{margin-bottom:34px;}
.sec-head h2{font-size:24px;}

/* ABOUT */
.about{padding:70px 0 64px;}
.about__grid{grid-template-columns:1fr;gap:40px;}
.about__photo .sub{display:none;}
.about__photo .deco{right:-8px;top:-8px;width:44px;height:44px;}
.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:54px;}
.stat{padding:22px 16px 20px;}
.stat:nth-child(odd){border-left:0;}
.stat:nth-child(n+3){border-top:1px solid var(--line);}
.stat .v{font-size:38px;}
.stat .v span{font-size:38px;}
.stat .k{font-size:10px;letter-spacing:.16em;}

/* SERVICES：アコーディオン→縦積み */
.services{padding:70px 0;}
.services .sec-lead{margin:-16px auto 36px;}
.svc-acc{flex-direction:column;height:auto;gap:12px;}
.svc{min-height:120px;}
.svc:hover{flex:1;}
.svc__title{writing-mode:horizontal-tb;height:auto;font-size:18px;}
.svc__desc{max-height:none;opacity:1;margin-top:10px;}
.svc__body{position:relative;padding:64px 20px 20px;}
.svc__num{top:16px;left:20px;}
.services .center-btn{margin-top:38px;}

/* REASON：1列 */
.reasons{padding:70px 0 76px;}
.reasons__grid{grid-template-columns:1fr;}
.ritem{padding:34px 22px 32px;}
.ritem__bigno{font-size:64px;}

/* 採用バナー（FB3: 写真を背景に回しカラーオーバーレイ＋文字を上に） */
.recruit__inner{display:block;min-height:0;}
.recruit__photo{position:absolute;inset:0;min-height:0;}
.recruit__photo img{position:absolute;inset:0;width:100%;height:100%;}
.recruit__photo::before{display:none;}
.recruit__photo::after{content:"";position:absolute;inset:0;background:rgba(20,92,166,.82);} /* カラーオーバーレイ */
.recruit__txt{position:relative;z-index:3;flex:none;max-width:none;padding:52px 18px;}
.recruit__txt h2{font-size:22px;}
.recruit__giant{display:none;} /* SPは装飾デカ文字非表示 */

/* 施工実績（home） */
.works-sec{padding:70px 0;}
.aic-posts--grid .aic-posts__items{grid-template-columns:1fr;}
.archive-page__list{grid-template-columns:1fr;}
.aic-posts--simple .aic-posts__link{flex-direction:column;gap:4px;}

/* お問い合わせCTA */
.contact-cta{padding:80px 0 90px;}
.contact-cta h2{font-size:22px;}
.contact-cta__row{flex-direction:column;gap:26px;margin-top:34px;}
.tel{align-items:center;}
.tel__num{font-size:32px;}
.tel__hours{padding-left:0;}

/* ボタン全幅化（border-box前提） */
.btn-outline,.btn-fill,.btn-light{min-width:0;width:100%;max-width:360px;}
.center-btn{padding:0 4px;}

/* フッター：縦積み */
.site-f__top{grid-template-columns:1fr;gap:30px;padding:42px 18px 34px;}
.site-f__bottom-inner{flex-direction:column;gap:6px;height:auto;padding:14px 0;text-align:center;}
.site-f__copy{margin-left:0;}

/* ページヒーロー */
.page-hero__inner{padding:64px 18px 40px;}
.page-hero__title-jp{font-size:27px;}

/* 下層共通 */
.page-section{padding:56px 0;}
.lead-narrow{margin-bottom:40px;}

/* 事業内容 詳細：縦積み（偶数も・写真16:9） */
.service-detail,.service-detail:nth-child(even){flex-direction:column;gap:0;margin-bottom:48px;}
.service-detail__media{aspect-ratio:16/9;}
.service-detail__body,.service-detail:nth-child(even) .service-detail__body{padding:28px 18px 8px;}
.service-detail__body h3{font-size:23px;}
.service-detail__num{font-size:34px;top:14px;left:16px;}
.svc-details{padding-bottom:56px;}

/* スペック表：縦積み */
.spec-table th,.spec-table td{display:block;width:100%;border-right:0;}
.spec-table th{border-bottom:0;padding:10px 14px;}
.spec-table td{border-bottom:1px solid var(--line);padding:12px 14px 16px;}
.spec-table tr:last-child td{border-bottom:0;}

/* 代表挨拶（写真なしレイアウト） */
.greeting__sign strong{font-size:20px;}

/* お電話ブロック・リッチフォーム */
.contact-tel-top{padding:26px 16px;}
.contact-tel-top .num{font-size:36px;}
.contact-tel-top a i{font-size:24px;}
.contact-box{padding:30px 20px 36px;}
.wpcf7-submit{min-width:0;width:100%;}
.map-embed iframe{height:300px;}
.ritem__ic i{font-size:44px;}

/* 採用 募集メッセージ：縦積み */
.recruit-msg{flex-direction:column;gap:24px;}
.recruit-msg h2{font-size:21px;}
.recruit-msg__media img{height:220px;}

/* お問い合わせ情報 */
.contact-info{gap:28px;}

/* テーマテンプレート */
.archive-page,.single-post,.search-results{padding:48px 18px;}
.single-post__title{font-size:23px;}

}