@charset "UTF-8";
/*ヘッダー*/
.g-nav .g-nav__list .nav-link{color: #333333;}
.u-font-ac{color: #253692;}
.g-nav{background-color: #ffffff;}
/* レスポンシブビデオスタイル */
#video-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%; /* 16:9のアスペクト比を維持 */
}

#video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ヘッダーメニューの高さを考慮して、動画部分の表示位置を調整 */
#g-header + #visual {
  padding-top: 80px; /* ヘッダーメニューの高さに応じて適切な値を設定 */
}
#g-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000; /* 必要に応じて適切な値に調整 */
}
.c-visual{background-image: none;}
/*スマホヘッダー*/
.g-header .g-header__nav-sp-btn+.lower .ttl.--tel{background-color: ;}
.g-header .g-header__nav-sp-btn+.lower .ttl.--mail{background-color: ;}
.g-header .g-header__nav-sp-btn{background-color: ;}

/*セクション*/
.p-common-recruit .p-common-recruit__list {width: 100%;display:block;}
.c-after__white.--5{background-color: #ffffffc7;}
.c-section.--right-radius-bg:before{background: #38B6FF;opacity: 1;}
/*フッター*/
.g-fixarea .contact--1{background-color: #FF3131}
.g-fixarea .contact--1:hover{background-color: #CD2525;}
.g-fixarea .contact--2{background-color: #38B6FF}
.g-fixarea .contact--2:hover{background-color: #2F97D4;}
.preloader .preloader-after, .preloader .preloader-before{background: linear-gradient(to right, #FEE101, #38B6FF, #FF3131);}
.g-hamburger{background-color: #ff3131cf;}
.c-after__black{background-color: #f5f5f5;}
.g-fixarea .g-fixarea-footer__item{background: #ff3131cf;}
.g-fixarea .g-fixarea-footer{border-top: 1px solid #ff3131cf;}
.g-pagetop a{background: #FEE101;}
/*下層ページ*/
.c-sitemap .nav-item a{background-color: ;}
.post-content h2{background-color: ;}
.u-font-kc{color: ;}
.c-headline__type:before{background: ;}
.c-headline__type2-ttl:after{color: ;}
.c-section:nth-child(odd){background-color: ;}
.p-contact .g-form{background-color: ;}
.c-after__bc{background-color: ;}
.c-box{--bc: ;}
.table {
  border-collapse: collapse; /* ボーダーを重ねないように設定 */
  width: 100%;
  margin-bottom: 1rem;
  color: var(--bs-table-color);
  vertical-align: top;
  border: 1px solid var(--bs-table-border-color); /* テーブル全体にボーダーを追加 */
}

.table th,
.table td {
  border: 1px solid var(--bs-table-border-color); /* セルにボーダーを追加 */
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
}



/* ===== 2026-10-09 お知らせ・施工事例 詳細の前後ナビ（function/kaisei.php kaisei_post_pager） ===== */
.k-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin:56px 0 8px;padding-top:28px;border-top:1px solid #ddd}
.k-pager__cell a{display:block;color:inherit;text-decoration:none;line-height:1.6;font-weight:700;font-size:14px}
.k-pager__cell a:hover{color:var(--kc)}
.k-pager__cell small{display:block;font-size:12px;font-weight:700;color:var(--kc);margin-bottom:4px;letter-spacing:.04em}
.k-pager__cell span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.k-pager__cell--next{text-align:right}
.k-pager__list{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1px solid var(--kc);color:var(--kc);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;border-radius:3px;transition:.2s}
.k-pager__list:hover{background:var(--kc);color:#fff}
@media(max-width:640px){.k-pager{grid-template-columns:1fr 1fr}.k-pager__list{grid-column:1/-1;grid-row:2;justify-content:center}}
.k-post-ttl{font-size:clamp(22px,3vw,30px);line-height:1.5;margin:0 0 24px}


/* ===== 2026-10-09 お知らせの行リスト（include/k-news-list.php） ===== */
.k-news{list-style:none;margin:0;padding:0;border-top:1px solid #dfe4ea}
.k-news__link{display:flex;align-items:center;gap:20px;padding:22px 10px;border-bottom:1px solid #dfe4ea;color:inherit;text-decoration:none;transition:background .2s}
.k-news__link:hover{background:#f4f8fc;color:inherit}
.k-news__meta{display:flex;align-items:center;gap:10px;flex:none;min-width:8.5em}
.k-news__date{font-weight:700;font-size:14px;letter-spacing:.04em;color:#555;font-variant-numeric:tabular-nums}
.k-news__cat{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--kc);color:#fff;white-space:nowrap}
.k-news__new{font-size:10px;font-weight:800;letter-spacing:.08em;color:#e5332a}
.k-news__ttl{flex:1;font-weight:700;font-size:15px;line-height:1.7}
.k-news__arrow{flex:none;color:var(--kc);transition:transform .2s}
.k-news__link:hover .k-news__arrow{transform:translateX(4px)}
.k-news__link:hover .k-news__ttl{text-decoration:underline;text-underline-offset:3px}
.k-news__empty{padding:28px 0;color:#777}
.k-news-more{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border:1px solid #333;border-radius:999px;color:#333;font-weight:700;font-size:14px;text-decoration:none;transition:.2s}
.k-news-more:hover{background:#333;color:#fff}
.k-news-more-wrap{text-align:center;margin-top:28px}
.k-news-period{font-weight:700;font-size:18px;margin:0 0 16px}
.k-pagination{margin-top:40px}
.k-pagination ul.page-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;margin:0;padding:0}
.k-pagination .page-numbers li{margin:0}
.k-pagination a.page-numbers,.k-pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1px solid #dfe4ea;border-radius:4px;font-weight:700;color:#333;text-decoration:none;transition:.2s}
.k-pagination a.page-numbers:hover{border-color:var(--kc);color:var(--kc)}
.k-pagination span.page-numbers.current{background:var(--kc);border-color:var(--kc);color:#fff}
.k-pagination span.page-numbers.dots{border-color:transparent}
@media(max-width:767px){
  .k-news__link{flex-wrap:wrap;gap:6px 12px;padding:18px 4px}
  .k-news__meta{width:100%}
  .k-news__ttl{font-size:14.5px}
  .k-news__arrow{display:none}
}


/* ===== 2026-10-09 セクション見出し：英字を大きく、日本語を下に（body.k-hd2 のときだけ／function/kaisei.php） ===== */
.k-hd2 .c-headline-leftbig{border-top:0;padding-top:0}
.k-hd2 .c-headline-compact{display:block}
.k-hd2 .c-headline-compact .c-headline-compact__ttl{font-size:clamp(30px,4.2vw,50px);line-height:1.1;letter-spacing:.04em;color:#1f2a37}
.k-hd2 .c-headline-compact .c-headline-compact__ttl:after{content:none}
.k-hd2 .c-headline-compact .c-headline-compact__sttl{display:flex;align-items:center;gap:12px;margin:12px 0 0;font-size:14px;font-size:1.4rem;letter-spacing:.12em;color:#555}
.k-hd2 .c-headline-compact .c-headline-compact__sttl:before{content:"";flex:none;width:28px;height:2px;background:var(--kc)}
.k-hd2 .k-news-more-wrap{text-align:center;margin-top:8px}

/* 2026-10-09 見出しの頭文字・線をサイトカラー（ロゴ・ボタンの青）に。色を変えるときは --k-hd-accent だけ書き換える */
.k-hd2{--k-hd-accent:#38B6FF}
.k-hd2 .c-headline-compact .c-headline-compact__ttl:first-letter{color:var(--k-hd-accent)}
.k-hd2 .c-headline-compact .c-headline-compact__sttl:before{background:var(--k-hd-accent)}


/* ===== 2026-10-09 会社概要 許可証・登録証 ===== */
.k-certs .k-cert{display:block;color:inherit;text-decoration:none}
.k-certs .k-cert figure{border:1px solid #e3e6ea;background:#fff;padding:8px;box-shadow:0 6px 18px rgba(0,0,0,.06);transition:transform .25s}
.k-certs .k-cert:hover figure{transform:translateY(-4px)}
.k-certs .k-cert__cap{margin:12px 0 0;text-align:center;font-weight:700;font-size:14px;line-height:1.5}
.k-certs .k-cert__cap small{display:block;font-weight:500;font-size:12px;color:#666}

/* 2026-10-09 CONTACT帯(c-section--wide)の左右-30pxでサイドバー系ページに横スクロールが出ていた。clip は sticky を壊さない（hidden は壊す） */
body{overflow-x:clip}


/* ===== 2026-10-22 パンフレット（2026年版）に合わせた部品（トップ・事業内容・会社概要） ===== */
/* 「塗装一筋」キャッチ（トップ ABOUT・会社概要 企業理念） */
.k-about-catch{margin:0 0 20px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.2;letter-spacing:.12em;color:#1f2a37}
.k-about-catch span{display:block;margin-top:10px;font-family:inherit;font-size:clamp(14px,1.5vw,17px);letter-spacing:.08em;line-height:1.8;color:#444}
.k-philo-catch{margin:0 0 12px;text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(40px,6vw,72px);letter-spacing:.2em;line-height:1.1;color:#fee101;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.k-philo-sub{margin:0 0 36px;text-align:center;font-weight:700;font-size:clamp(15px,1.8vw,20px);letter-spacing:.1em;line-height:1.9}
/* 建物を守る インフラを守る 環境を守る */
.k-about-protect{display:flex;flex-wrap:wrap;gap:8px 10px;margin:8px 0 20px}
.k-about-protect.--center{justify-content:center}
.k-about-protect span{display:inline-block;padding:6px 14px;border:2px solid var(--k-hd-accent,#38B6FF);border-radius:999px;font-weight:700;font-size:15px;color:#224498;background:#fff}
/* 事業内容カードの「法人様向け」「一般オーナー様」 */
.k-biz-label{display:inline-block;margin:0 0 6px;padding:2px 10px;border-radius:3px;background:#224498;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1.7}
.p-common-recruit__btn .k-biz-label{display:table}
.k-biz-label.--hero{display:table;margin:0 auto 12px;font-size:14px;padding:4px 16px}
/* 開成PAINTEX（社名の由来・事業内容） */
.k-paintex{padding:clamp(24px,4vw,48px) clamp(16px,4vw,56px);background:#fff;border:1px solid #e3e6ea;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.k-paintex__logo{margin:0 0 18px;padding-bottom:14px;border-bottom:4px solid;border-image:linear-gradient(90deg,#38B6FF,#fee101,#e60012) 1;font-weight:900;font-size:clamp(34px,6vw,68px);letter-spacing:.02em;line-height:1;color:#111}
.k-paintex__logo span,.k-paintex__list b span{color:#e60012}
.k-paintex__list{list-style:none;margin:0;padding:0}
.k-paintex__list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:10px 0;border-bottom:1px solid #e3e6ea}
.k-paintex__list b{flex:0 0 auto;min-width:11em;font-size:clamp(20px,3vw,32px);letter-spacing:.08em;font-weight:800;color:#111}
.k-paintex__list small{color:#e60012;font-size:12px;font-weight:700}
.k-paintex__list em{margin-left:auto;font-style:normal;font-weight:800;font-size:clamp(18px,2.4vw,26px);letter-spacing:.2em}
.k-paintex__copy{margin:22px 0 0;text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(20px,2.6vw,28px);letter-spacing:.2em;color:#224498}
@media(max-width:575px){.k-paintex__list b{min-width:0}.k-paintex__list em{margin-left:0;width:100%}}
/* 代表挨拶の署名 */
.k-greet-sign{margin:0 0 24px;text-align:right;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;line-height:1.8}
.k-greet-sign span{margin-left:1em;font-size:1.5em;letter-spacing:.2em}
/* キャプション付き写真（沿革・社内の取り組み） */
.k-photo{margin:0}
.k-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.k-photo figcaption{margin-top:8px;text-align:center;font-weight:700;font-size:14px}
/* 施工前→施工後（function/kaisei.php kaisei_before_after()） */
.k-ba{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:32px 40px}
.k-ba__item{margin:0}
.k-ba__imgs{display:flex;align-items:center;gap:8px}
.k-ba__img{position:relative;flex:1 1 0;min-width:0}
.k-ba__img img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.k-ba__img span{position:absolute;left:0;top:0;padding:3px 10px;background:rgba(0,0,0,.65);color:#fff;font-size:12px;font-weight:700}
.k-ba__img span.--after{background:#e60012}
.k-ba__arrow{flex:none;font-size:30px;color:#e60012}
.k-ba__item.--single .k-ba__img{max-width:100%}
.k-ba__item figcaption{margin-top:10px;text-align:center;font-weight:700}
/* ビル・マンション等の流れ */
.k-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 0;list-style:none;margin:0;padding:0;counter-reset:none}
.k-flow li{position:relative;flex:1 1 150px;max-width:210px;margin:0 14px;padding:18px 10px;text-align:center;background:#eaf7ff;border-radius:6px;font-weight:700;font-size:16px}
.k-flow li span{display:block;font-size:12px;letter-spacing:.1em;color:#224498}
.k-flow li:not(:last-child):after{content:"";position:absolute;right:-20px;top:50%;margin-top:-8px;border:8px solid transparent;border-left:10px solid #38B6FF}
@media(max-width:575px){.k-flow li{flex-basis:100%;max-width:none}.k-flow li:not(:last-child):after{right:50%;top:auto;bottom:-22px;margin:0 -8px 0 0;border-left-color:transparent;border-top:10px solid #38B6FF}}
/* 2026-10-22 事業内容カード：ラベル・名称・説明が1行に詰まってはみ出すので折り返す */
.k-biz-cards .p-common-recruit__btn{flex-wrap:wrap;white-space:normal;row-gap:4px;max-width:calc(100% - 20px)}
.k-biz-cards .p-common-recruit__btn .k-biz-label{flex:0 0 auto;margin:0 100% 2px 0}
.k-biz-cards .p-common-recruit__btn .en{font-size:16px}
.k-biz-cards .p-common-recruit__btn .jp{flex:1 1 100%;font-weight:500;color:#555}
/* 2026-10-22 「塗装一筋」を金彩筆文字ロゴ画像に（assets/img/k-toso-issuji.webp） */
.k-about-catch img{display:block;width:min(100%,360px);height:auto;margin:0 0 4px -6px}
.k-philo-catch img{display:block;width:min(92%,560px);height:auto;margin:0 auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}

/* ===== 2026-10-22 トップの装飾（body.k-top2 のときだけ。戻す＝ wp option update kaisei_top_style old） ===== */
.k-top2{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF}
/* 見出しの線をロゴの3色（ななめ）に */
.k-top2 .c-headline-compact .c-headline-compact__sttl:before{width:42px;height:7px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0);transform:skewX(-30deg)}
/* ABOUT の写真：うしろに黄・青のななめの色板 */
.k-top2 .k-about-photo{position:relative}
.k-top2 .k-about-photo:before,.k-top2 .k-about-photo:after{content:"";position:absolute;z-index:0;transform:skewX(-18deg)}
.k-top2 .k-about-photo:before{right:-10px;bottom:-22px;width:62%;height:46%;background:var(--k-yel)}
.k-top2 .k-about-photo:after{left:-6px;top:-18px;width:34%;height:18%;background:var(--k-blu)}
.k-top2 .k-about-photo .c-image{position:relative;z-index:1;border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(0,30,60,.18)}
@media(max-width:991px){.k-top2 .k-about-photo:before{right:36px;bottom:-16px}.k-top2 .k-about-photo:after{left:30px;top:-12px}} /* ななめの分だけ画面の外へ出ないように */
/* 数字の帯（動画の黒いパネルと筆あとに合わせる） */
.k-numbers{position:relative;overflow:hidden;padding:clamp(48px,7vw,88px) 0;background:#151515;color:#fff}
.k-numbers:before,.k-numbers:after{content:"";position:absolute;transform:skewX(-24deg);pointer-events:none}
.k-numbers:before{left:-40px;top:0;width:min(34vw,420px);height:10px;background:var(--k-yel,#fee101);box-shadow:60px 18px 0 -2px var(--k-blu,#38B6FF)}
.k-numbers:after{right:-30px;bottom:0;width:min(30vw,360px);height:10px;background:var(--k-red,#e60012);box-shadow:-70px -18px 0 -2px var(--k-yel,#fee101)}
.k-numbers .container{position:relative;z-index:1}
@media(min-width:992px){.k-numbers{margin-left:-30px;margin-right:-30px}} /* main の左右30px を打ち消す（c-section--wide と同じ） */
.k-numbers__lead{margin:0 0 clamp(28px,4vw,44px);text-align:center;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;font-size:clamp(20px,2.6vw,30px);letter-spacing:.14em;line-height:1.6}
.k-numbers__lead span{display:inline-block}
.k-numbers__list{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}
.k-numbers__list li{position:relative;padding:6px 12px;text-align:center}
.k-numbers__list li+li:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:rgba(255,255,255,.22);transform:skewX(-18deg)}
.k-numbers__list small{display:block;margin-bottom:6px;font-size:14px;font-weight:700;letter-spacing:.16em;color:var(--k-yel,#fee101)}
.k-numbers__list b{font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(48px,6vw,76px);line-height:1;letter-spacing:.02em}
.k-numbers__list em{margin-left:4px;font-style:normal;font-weight:700;font-size:clamp(15px,1.6vw,19px)}
.k-numbers__list span{display:block;margin-top:10px;font-size:12px;letter-spacing:.06em;color:rgba(255,255,255,.7)}
@media(max-width:767px){.k-numbers__list{grid-template-columns:1fr 1fr;row-gap:28px}.k-numbers__list li:nth-child(3):before{content:none}}
/* 施工実績：写真を角丸に・ラベルを読みやすく・一覧ボタン */
.k-top2 .k-top-case .c-card__item-figure{border-radius:8px;overflow:hidden}
.k-top2 .k-top-case .c-image__caption{max-width:calc(100% - 20px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:700;letter-spacing:.06em;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.k-more-wrap{margin:8px 0 0;text-align:center}
.k-more{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 40px;border-radius:999px;background:#151515;color:#fff;font-weight:700;font-size:15px;letter-spacing:.08em;text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s}
.k-more:before{content:"";position:absolute;left:18px;top:50%;width:10px;height:4px;margin-top:-2px;background:linear-gradient(90deg,var(--k-blu,#38B6FF) 0 33.3%,var(--k-yel,#fee101) 0 66.6%,var(--k-red,#e60012) 0);transform:skewX(-30deg)}
.k-more i{transition:transform .2s}
.k-more:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.2)}
.k-more:hover i{transform:translateX(4px)}
/* 採用：背景に大きな RECRUIT・写真に黄色のずらし影 */
.k-top2 .k-top-recruit .container{position:relative}
.k-top2 .k-top-recruit .container:before{content:"RECRUIT";position:absolute;z-index:2;left:-4px;top:-.3em;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(60px,10vw,140px);line-height:1;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.4);pointer-events:none}
.k-top2 .k-top-recruit .row{position:relative;z-index:3}
.k-top2 .k-top-recruit .carousel-inner{border-radius:10px;box-shadow:14px 14px 0 var(--k-yel)}
.k-top2 .k-top-recruit .carousel-inner .c-image{margin-bottom:0!important}
@media(max-width:991px){.k-top2 .k-top-recruit .container:before{top:-.45em;left:auto;right:8px}.k-top2 .k-top-recruit .carousel{margin-top:28px;margin-right:14px}}

/* ===== 2026-10-22 トップの事業内容（include/k-business-cards2.php・body.k-top2 のときだけ） ===== */
.k-biz2{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF;padding-bottom:clamp(56px,7vw,96px)}
.k-biz2__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 40px;margin-bottom:clamp(28px,4vw,48px)}
.k-biz2__lead{margin:0 0 6px;text-align:left;font-weight:700;font-size:clamp(14px,1.4vw,16px);line-height:1.9;letter-spacing:.06em;color:#333}
.k-biz2__list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:0;padding:0;list-style:none}
.k-biz2__link{position:relative;display:block;aspect-ratio:3/4.4;border-radius:12px;overflow:hidden;color:#fff;text-decoration:none;background:#151515;box-shadow:0 14px 34px rgba(0,25,50,.16);transition:transform .35s,box-shadow .35s}
.k-biz2__link:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.85) 100%);transition:opacity .35s}
.k-biz2__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.k-biz2__num{position:absolute;z-index:2;left:18px;top:12px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(36px,3.6vw,52px);line-height:1;color:transparent;-webkit-text-stroke:1.5px #fff;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.k-biz2__body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:0 20px 22px;text-align:left}
.k-biz2__en{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.85)}
.k-biz2__en:before{content:"";flex:none;width:26px;height:5px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0);transform:skewX(-30deg)}
.k-biz2__label{display:inline-block;margin-bottom:8px;padding:2px 10px;border-radius:3px;background:var(--k-yel);color:#151515;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.8}
.k-biz2__ttl{display:block;word-break:keep-all;overflow-wrap:anywhere;font-weight:800;font-size:clamp(17px,1.6vw,21px);line-height:1.45;letter-spacing:.04em}
.k-biz2__read{display:block;margin-top:8px;font-size:12px;line-height:1.7;letter-spacing:.04em;color:rgba(255,255,255,.8)}
.k-biz2__arrow{position:absolute;z-index:3;right:16px;top:16px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#fff;color:#151515;font-size:14px;transition:background .3s,transform .3s}
.k-biz2__item:nth-child(4n+1) .k-biz2__link{border-bottom:5px solid var(--k-blu)}
.k-biz2__item:nth-child(4n+2) .k-biz2__link{border-bottom:5px solid var(--k-yel)}
.k-biz2__item:nth-child(4n+3) .k-biz2__link{border-bottom:5px solid var(--k-red)}
.k-biz2__item:nth-child(4n+4) .k-biz2__link{border-bottom:5px solid var(--k-blu)}
.k-biz2__link:hover{color:#fff;transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,25,50,.24)}
.k-biz2__link:hover .k-biz2__img{transform:scale(1.07)}
.k-biz2__link:hover .k-biz2__arrow{background:var(--k-yel);transform:translateX(3px)}
@media(max-width:991px){.k-biz2__list{grid-template-columns:1fr 1fr}.k-biz2__link{aspect-ratio:4/4.6}}
@media(max-width:575px){.k-biz2__list{gap:12px}.k-biz2__link{aspect-ratio:3/4.6;border-radius:10px}.k-biz2__num{left:12px;top:10px}.k-biz2__body{padding:0 12px 14px}.k-biz2__en{font-size:9px;letter-spacing:.1em;gap:6px}.k-biz2__en:before{width:18px;height:4px}.k-biz2__label{font-size:10px;padding:1px 7px}.k-biz2__ttl{padding-right:0;font-size:15px}.k-biz2__read{font-size:11px}.k-biz2__arrow{display:none}}
/* 2026-10-23 施工実績一覧など main の外に置いた CTA は -30px が要らない（PCで横に30pxはみ出していた） */
@media(min-width:992px){#contents > .c-section--wide{margin-left:0;margin-right:0}}

/* ===== 2026-10-23 施工実績の詳細：写真スライドショー（function/kaisei.php kaisei_case_gallery／assets/js/k-gallery.js） ===== */
.k-gal{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF;margin:0 0 clamp(28px,4vw,44px)}
.k-gal__stage{position:relative;border-radius:10px;overflow:hidden;background:#111}
.k-gal__track{display:flex;aspect-ratio:4/3;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;outline:0}
.k-gal__track::-webkit-scrollbar{display:none}
.k-gal__track:focus-visible{box-shadow:inset 0 0 0 3px var(--k-blu)}
.k-gal__slide{position:relative;flex:0 0 100%;margin:0;overflow:hidden;scroll-snap-align:center;scroll-snap-stop:always;cursor:zoom-in}
.k-gal__bg{position:absolute;inset:-40px;background:center/cover no-repeat;filter:blur(26px) brightness(.5)}
.k-gal__slide img{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.k-gal__slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:14px;font-weight:700;line-height:1.6}
.k-gal__nav{position:absolute;z-index:2;top:50%;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin-top:-23px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#151515;font-size:16px;box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;transition:background .2s,transform .2s}
.k-gal__nav.--prev{left:14px}
.k-gal__nav.--next{right:14px}
.k-gal__nav:hover{background:var(--k-yel);transform:scale(1.06)}
.k-gal__count{position:absolute;z-index:2;left:14px;top:14px;margin:0;padding:4px 12px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;line-height:1.6}
.k-gal__count b{font-weight:800}
.k-gal__count span{margin:0 4px;opacity:.6}
.k-gal__zoom{position:absolute;z-index:2;right:14px;top:14px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:15px;cursor:pointer;transition:background .2s}
.k-gal__zoom:hover{background:rgba(0,0,0,.8)}
.k-gal__bar{position:absolute;z-index:2;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18)}
.k-gal__bar span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--k-blu),var(--k-yel),var(--k-red))}
.k-gal__bar.is-run span{animation:k-gal-bar 5s linear forwards}
@keyframes k-gal-bar{to{width:100%}}
.k-gal:not(.is-auto) .k-gal__bar{display:none}
.k-gal__thumbs{position:relative;display:flex;gap:8px;margin-top:10px;padding:2px 2px 6px;overflow-x:auto;scrollbar-width:thin}
.k-gal__thumb{flex:0 0 92px;aspect-ratio:4/3;padding:0;border:0;border-radius:6px;overflow:hidden;background:#ddd;opacity:.5;cursor:pointer;transition:opacity .2s}
.k-gal__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.k-gal__thumb:hover{opacity:.85}
.k-gal__thumb.is-active{opacity:1}
.k-gal__thumb.is-active img{outline:3px solid var(--k-blu);outline-offset:-3px;border-radius:6px}
.k-gal.--single .k-gal__nav,.k-gal.--single .k-gal__count,.k-gal.--single .k-gal__bar,.k-gal.--single .k-gal__thumbs{display:none}
.k-gal__lb{width:100vw;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgba(0,0,0,.94);color:#fff}
.k-gal__lb::backdrop{background:rgba(0,0,0,.6)}
.k-gal__lb img{position:absolute;top:56px;left:70px;width:calc(100% - 140px);height:calc(100% - 112px);object-fit:contain}
.k-gal__lb-close{position:absolute;z-index:3;right:14px;top:12px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:20px;cursor:pointer}
.k-gal__lb .k-gal__count{left:50%;top:auto;bottom:14px;transform:translateX(-50%)}
@media(max-width:767px){
  .k-gal__stage{border-radius:8px}
  .k-gal__nav{width:36px;height:36px;margin-top:-18px;font-size:13px}
  .k-gal__nav.--prev{left:8px}
  .k-gal__nav.--next{right:8px}
  .k-gal__count{left:8px;top:8px;font-size:12px;padding:3px 10px}
  .k-gal__zoom{right:8px;top:8px;width:34px;height:34px}
  .k-gal__thumb{flex-basis:64px}
  .k-gal__lb img{left:0;width:100%}
  .k-gal__lb .k-gal__nav{top:auto;bottom:8px;margin-top:0}
}
/* 2026-10-23 見出しを区切りの良いところで改行（入りきらないときだけ。例：ドローンでの／無料調査致します） */
.k-ttl-chunks > *{display:inline-block}
.k-ttl-chunks > small{font-size:.62em;letter-spacing:.04em;vertical-align:.12em}

/* ===== 2026-10-23 採用情報ページ（archive-recruits.php：目次・先輩の声・募集要項カード・応募の帯） ===== */
.p-recruits{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF}
.k-rnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1100px;margin:0 auto;padding:8px 16px clamp(36px,5vw,56px)}
.k-rnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:170px;padding:12px 22px;border:1px solid #dfe4ea;border-radius:999px;background:#fff;color:#1f2a37;font-weight:700;font-size:14px;line-height:1.4;letter-spacing:.06em;text-decoration:none;box-shadow:0 4px 14px rgba(0,30,60,.06);transition:.2s}
.k-rnav a small{font-family:"Montserrat",sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--k-blu)}
.k-rnav a:hover{border-color:var(--k-blu);color:#1f2a37;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,30,60,.12)}
.p-recruits section[id]{scroll-margin-top:120px}
.k-voice__catch{position:relative;display:block;margin:0 0 18px;padding:16px 20px 16px 24px;border-radius:6px;background:#fff;color:#224498;font-weight:800;font-size:clamp(15px,1.5vw,18px);line-height:1.7;letter-spacing:.02em;box-shadow:0 6px 18px rgba(0,30,60,.08)}
.k-voice__catch:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:5px;border-radius:3px;background:linear-gradient(var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-jobs .c-link{height:100%;border:1px solid #e3e6ea;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(0,30,60,.08);color:inherit;transition:transform .25s,box-shadow .25s}
.k-jobs .c-link:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,30,60,.14)}
.k-jobs .c-image{margin:0!important}
.k-jobs .py-md-4{padding:20px 22px 22px!important}
.k-jobs h2{font-size:20px}
.k-jobs ul{margin:0;padding:0;list-style:none}
.k-jobs li{display:flex;align-items:baseline;gap:8px;padding:7px 0;border-bottom:1px dashed #e3e6ea;font-size:14px}
.k-jobs li i{flex:none;width:16px;text-align:center;color:var(--k-blu)}
.k-jobs .price{font-weight:800;font-size:17px;color:#e60012}
.k-jobs__more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;font-size:14px;color:#224498}
.k-jobs__more i{transition:transform .2s}
.k-jobs .c-link:hover .k-jobs__more i{transform:translateX(4px)}
.k-entry{position:relative;overflow:hidden;padding:clamp(56px,7vw,88px) 0;background:#151515;color:#fff;text-align:center}
.k-entry:before,.k-entry:after{content:"";position:absolute;height:10px;transform:skewX(-24deg)}
.k-entry:before{left:-40px;top:0;width:min(34vw,420px);background:var(--k-yel);box-shadow:60px 18px 0 -2px var(--k-blu)}
.k-entry:after{right:-30px;bottom:0;width:min(30vw,360px);background:var(--k-red);box-shadow:-70px -18px 0 -2px var(--k-yel)}
.k-entry .container{position:relative;z-index:1}
.k-entry__en{margin:0 0 6px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(40px,6vw,72px);line-height:1;letter-spacing:.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.k-entry__ttl{margin:0 0 14px;font-weight:800;font-size:clamp(20px,2.6vw,30px);letter-spacing:.06em;color:#fff}
.k-entry__read{margin:0 auto 28px;max-width:640px;font-size:15px;line-height:1.9;color:rgba(255,255,255,.8)}
.k-entry__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.k-entry__btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:280px;min-height:64px;padding:10px 28px;border-radius:999px;font-weight:800;font-size:17px;letter-spacing:.06em;text-decoration:none;transition:transform .2s,box-shadow .2s}
.k-entry__btn.--form{background:var(--k-yel);color:#151515}
.k-entry__btn.--tel{border:2px solid #fff;color:#fff;font-family:"Montserrat",sans-serif;font-size:22px}
.k-entry__btn.--tel span{display:flex;flex-direction:column;line-height:1.2;text-align:left}
.k-entry__btn.--tel small{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.8}
.k-entry__btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.k-entry__btn.--form:hover{color:#151515}
.k-entry__btn.--tel:hover{color:#fff}
@media(min-width:992px){main > .k-entry{margin-left:-30px;margin-right:-30px}}
@media(max-width:575px){.k-rnav{gap:8px}.k-rnav a{min-width:0;flex:1 1 calc(50% - 8px);padding:10px 8px;font-size:13px}.k-rnav a:last-child{flex-basis:100%}.k-entry__btn{min-width:0;width:100%}}

/* ===== 2026-10-23 採用情報「開成ペインテックスとは」（include/k-recruit-feat.php）・募集要項の詳細（include/k-recruit-single.php） 戻す＝option kaisei_recruit_style old ===== */
.k-feat{background:#f4f6f9!important}
.k-feat__head{text-align:center;margin:0 0 clamp(32px,5vw,56px)}
.k-feat__en{margin:0 0 4px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(13px,1.2vw,15px);letter-spacing:.3em;color:var(--k-blu)}
.k-feat__ttl{position:relative;margin:0 0 18px;padding-bottom:18px;font-weight:800;font-size:clamp(24px,3.2vw,38px);letter-spacing:.06em;color:#151515}
.k-feat__ttl:after{content:"";position:absolute;left:50%;bottom:0;width:90px;height:5px;margin-left:-45px;border-radius:3px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-feat__read{margin:0;font-size:15px;color:#555}
.k-feat__list{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,36px);max-width:1100px;margin:0 auto}
.k-feat__item{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(0,30,60,.08);transition:transform .25s,box-shadow .25s}
.k-feat__item:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,30,60,.14)}
.k-feat__img{position:relative;margin:0;overflow:hidden}
.k-feat__img .c-image__src{transition:transform .6s}
.k-feat__item:hover .k-feat__img .c-image__src{transform:scale(1.05)}
.k-feat__no{position:absolute;left:0;bottom:0;display:flex;flex-direction:column;justify-content:center;min-width:86px;padding:10px 22px 8px 18px;background:var(--k-yel);color:#151515;font-family:"Montserrat",sans-serif;font-weight:800;font-size:30px;line-height:1;text-align:center;clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}
.k-feat__no small{margin-bottom:4px;font-size:10px;letter-spacing:.2em}
.k-feat__body{flex:1;padding:24px clamp(20px,2.4vw,32px) 30px}
.k-feat__label{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--k-blu)}
.k-feat__label:after{content:"";flex:0 0 36px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-feat__name{margin:0 0 14px;font-weight:800;font-size:clamp(20px,2vw,24px);letter-spacing:.04em;color:#151515}
.k-feat__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none}
.k-feat__tags li{padding:4px 12px;border-radius:999px;background:#eaf6ff;color:#224498;font-weight:700;font-size:13px;line-height:1.5}
.k-feat__txt{margin:0;font-size:15px;line-height:1.95;color:#333;text-align:justify}
@media(max-width:767px){.k-feat__list{grid-template-columns:1fr}.k-feat__no{min-width:72px;font-size:24px;padding:8px 18px 6px 14px}.k-feat__txt{font-size:14px}}

.k-job{padding-top:clamp(24px,4vw,48px);padding-bottom:clamp(40px,6vw,72px)}
.k-job__head{display:grid;grid-template-columns:minmax(0,46%) 1fr;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(0,30,60,.10)}
.k-job__eye{margin:0;min-height:100%}
.k-job__eye img{display:block;width:100%;height:100%;object-fit:cover}
.k-job__sum{position:relative;padding:clamp(24px,3.4vw,44px)}
.k-job__sum:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-job__en{margin:0 0 4px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;letter-spacing:.24em;color:var(--k-blu)}
.k-job__ttl{margin:0 0 14px;font-weight:800;font-size:clamp(26px,3vw,36px);letter-spacing:.06em;color:#151515}
.k-job__tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:0;list-style:none}
.k-job__tags li{padding:4px 14px;border:1px solid #224498;border-radius:999px;color:#224498;font-weight:700;font-size:13px;line-height:1.5}
.k-job__pay{display:flex;align-items:baseline;gap:12px;margin:0 0 22px;padding:14px 0;border-top:1px dashed #dfe4ea;border-bottom:1px dashed #dfe4ea;font-weight:800;font-size:clamp(26px,3vw,34px);line-height:1.2;color:var(--k-red)}
.k-job__pay small{padding:3px 10px;border-radius:4px;background:#151515;color:#fff;font-size:12px;letter-spacing:.1em}
.k-job__btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.k-job__btns .k-entry__btn{min-width:240px;min-height:56px;font-size:16px}
.k-job__btns .k-entry__btn:hover{box-shadow:0 10px 24px rgba(0,30,60,.18)}
.k-job__tel{display:inline-flex;align-items:center;gap:8px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:20px;color:#151515;text-decoration:none}
.k-job__tel i{color:var(--k-blu);font-size:16px}
.k-job__sec{margin-top:clamp(44px,6vw,72px)}
.k-job__h{position:relative;margin:0 0 22px;padding-bottom:14px;border-bottom:2px solid #e6e9ee;font-weight:800;font-size:clamp(20px,2.2vw,26px);letter-spacing:.06em;color:#151515}
.k-job__h:after{content:"";position:absolute;left:0;bottom:-2px;width:90px;height:2px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-job__h span{display:block;margin-bottom:2px;font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;letter-spacing:.24em;color:var(--k-blu)}
.k-job__spec{margin:0;border-top:1px solid #e3e6ea}
.k-job__row{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid #e3e6ea}
.k-job__row dt{display:flex;align-items:center;gap:10px;padding:18px 20px;background:#f4f6f9;font-weight:700;font-size:15px;color:#1f2a37}
.k-job__row dt i{width:18px;text-align:center;color:var(--k-blu)}
.k-job__row dd{margin:0;padding:18px 22px;font-size:15px;line-height:1.8}
.k-job__row dd.--pay{font-weight:800;font-size:20px;color:var(--k-red)}
.k-job__body{padding:clamp(20px,2.6vw,32px);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(0,30,60,.07);font-size:15px;line-height:2.05}
.k-job__body.--point{background:#fffbe0;box-shadow:none;border:2px solid var(--k-yel);font-weight:700}
.k-job__flow ol{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:0;list-style:none}
.k-job__flow li{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px 12px;border-radius:12px;background:#f4f6f9;font-size:13px;line-height:1.6;text-align:center;color:#555}
.k-job__flow li b{font-family:"Montserrat",sans-serif;font-size:13px;letter-spacing:.1em;color:var(--k-blu)}
.k-job__flow li strong{margin:2px 0 4px;font-size:18px;color:#151515}
.k-job__flow li:not(:last-child):after{content:"";position:absolute;z-index:1;right:-12px;top:50%;width:10px;height:10px;margin-top:-5px;border-top:3px solid var(--k-blu);border-right:3px solid var(--k-blu);transform:rotate(45deg)}
.k-job__co{margin-top:clamp(36px,5vw,56px);padding:24px 28px;border-left:5px solid #224498;border-radius:8px;background:#f4f6f9;font-size:15px;line-height:1.9}
.k-job__co p{margin:0}
.k-job__co-ttl{margin:0 0 6px!important;font-weight:800;color:#224498}
.k-job__co-ttl i{margin-right:8px}
.k-job__co a{color:inherit;font-weight:700}
.k-job__back{margin:clamp(36px,5vw,56px) 0 0;text-align:center}
.k-job__back a{display:inline-flex;align-items:center;gap:10px;padding:12px 26px;border:1px solid #dfe4ea;border-radius:999px;background:#fff;color:#1f2a37;font-weight:700;font-size:14px;text-decoration:none;transition:.2s}
.k-job__back a:hover{border-color:var(--k-blu);transform:translateX(-3px)}
@media(max-width:991px){.k-job__head{grid-template-columns:1fr}.k-job__eye img{aspect-ratio:16/9;height:auto}}
@media(max-width:575px){.k-job__row{grid-template-columns:1fr}.k-job__row dt{padding:10px 16px}.k-job__row dd{padding:12px 16px 16px}.k-job__btns .k-entry__btn{width:100%;min-width:0}.k-job__tel{width:100%;justify-content:center}.k-job__flow ol{grid-template-columns:repeat(2,1fr)}.k-job__flow li:nth-child(2):after{display:none}.k-job__body{font-size:14px;line-height:1.95}}
.k-job,.k-job .text-start{text-align:left}
.k-job__body{text-align:justify}
.k-job__head .k-job__btns{justify-content:flex-start}
@media(max-width:575px){.k-job__sum{text-align:center}.k-job__tags{justify-content:center}.k-job__pay{justify-content:center}}
.k-feat__body,.k-feat__name{text-align:left}
.k-feat .k-feat__img{margin:0!important}
.k-feat__read--long{max-width:820px;margin:0 auto;line-height:1.95;text-align:left}
@media(min-width:768px){.k-feat__read--long{text-align:center}}

/* ===== 2026-10-23 フッター刷新（include/k-footer.php） 戻す＝option kaisei_footer_style old ===== */
.k-foot{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF;position:relative;overflow:hidden;background:#111;color:rgba(255,255,255,.82);font-size:14px;line-height:1.8}
.k-foot:before{content:"";position:absolute;z-index:2;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-foot__bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:.13;filter:grayscale(1)}
.k-foot__in{position:relative;z-index:1;padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(40px,5vw,64px)}
.k-foot__grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:clamp(32px,4vw,64px)}
.k-foot a{color:inherit;text-decoration:none}
.k-foot__logo{display:inline-block;margin-bottom:18px}
.k-foot__logo img{display:block;width:260px;max-width:100%;height:auto}
.k-foot__name{margin:0 0 10px;font-weight:700;font-size:16px;color:#fff;letter-spacing:.04em}
.k-foot__addr{display:flex;gap:10px;margin:0 0 14px}
.k-foot__addr i{margin-top:6px;color:var(--k-yel)}
.k-foot__tel{display:inline-flex;align-items:center;gap:10px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:26px;line-height:1.2;color:#fff!important;letter-spacing:.02em}
.k-foot__tel i{font-size:18px;color:var(--k-yel)}
.k-foot__hours{margin:4px 0 0;font-size:12px;opacity:.7}
.k-foot__h{position:relative;margin:0 0 18px;padding-bottom:10px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:13px;letter-spacing:.24em;color:#fff}
.k-foot__h:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0)}
.k-foot__nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;margin:0;padding:0;list-style:none}
.k-foot__nav li{display:block!important;width:auto!important;max-width:none!important;flex:none!important;padding:0!important}
.k-foot__nav .nav-link{position:relative;display:block;padding:8px 0 8px 18px!important;color:rgba(255,255,255,.85)!important;font-size:14px;font-weight:600;transition:color .2s,transform .2s}
.k-foot__nav .nav-link:before{content:"";position:absolute;left:0;top:50%;width:7px;height:7px;margin-top:-4px;border-top:2px solid var(--k-yel);border-right:2px solid var(--k-yel);transform:rotate(45deg)}
.k-foot__nav .nav-link:after{display:none!important}
.k-foot__nav .nav-link:hover{color:var(--k-yel)!important;transform:translateX(3px)}
.k-foot__btns{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}
.k-foot__btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:10px 20px;border-radius:999px;font-weight:800;font-size:15px;letter-spacing:.06em;transition:transform .2s,box-shadow .2s,background .2s}
.k-foot__btn.--mail{background:var(--k-yel);color:#151515!important}
.k-foot__btn.--rec{border:1.5px solid rgba(255,255,255,.7);color:#fff!important}
.k-foot__btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.4)}
.k-foot__btn.--rec:hover{background:#fff;color:#151515!important}
.k-foot__sdgs{display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;background:rgba(255,255,255,.06)}
.k-foot__sdgs-img{flex:0 0 64px;height:64px;border-radius:50%;background:center/contain no-repeat;animation:rotate 80s linear infinite}
.k-foot__sdgs p{margin:0;font-size:12px;line-height:1.7;opacity:.85}
.k-foot__bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.35)}
.k-foot__bottom-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding-top:16px;padding-bottom:16px}
.k-foot__sub{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0;list-style:none}
.k-foot__sub li{width:auto!important;max-width:none!important;flex:none!important;padding:0!important}
.k-foot__sub .nav-link{padding:0!important;color:rgba(255,255,255,.65)!important;font-size:12px}
.k-foot__sub .nav-link:after,.k-foot__sub .nav-link:before{display:none!important}
.k-foot__sub .nav-link:hover{color:#fff!important}
.k-foot__copy{margin:0;font-family:"Montserrat",sans-serif;font-size:12px;letter-spacing:.06em;opacity:.6}
@media(max-width:991px){.k-foot__grid{grid-template-columns:1fr 1fr}.k-foot__co{grid-column:1/-1}}
@media(max-width:575px){.k-foot__grid{grid-template-columns:1fr}.k-foot__co{text-align:center}.k-foot__addr{justify-content:center;text-align:left}.k-foot__logo img{margin:0 auto}.k-foot__bottom-in{flex-direction:column;text-align:center}.k-foot__sub{justify-content:center}}
.k-foot,.k-foot p,.k-foot li{text-align:left}
.k-foot__addr span{display:block}
@media(max-width:575px){.k-foot .k-foot__co,.k-foot .k-foot__co p{text-align:left}.k-foot__logo img{margin:0}.k-foot__addr{justify-content:flex-start}.k-foot .k-foot__copy{text-align:center}}

/* ===== 2026-10-23 CTA刷新（include/common-cta.php） 戻す＝option kaisei_cta_style old ===== */
.k-cta{--k-red:#e60012;--k-yel:#fee101;--k-blu:#38B6FF;position:relative;overflow:hidden;padding:clamp(64px,8vw,112px) 0!important;background:#0f1b33;color:#fff;text-align:left}
.k-cta__bg{position:absolute;z-index:0!important;inset:0;background:center/cover no-repeat}
.k-cta:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(100deg,rgba(10,22,48,.94) 0%,rgba(10,22,48,.82) 45%,rgba(10,22,48,.55) 100%)}
.k-cta:after{content:"";position:absolute;z-index:2;left:0;bottom:0;width:min(46vw,560px);height:8px;background:linear-gradient(90deg,var(--k-blu) 0 33.3%,var(--k-yel) 0 66.6%,var(--k-red) 0);transform:skewX(-30deg);transform-origin:left bottom}
.k-cta__in{position:relative;z-index:3;display:grid;grid-template-columns:1fr minmax(0,520px);align-items:center;gap:clamp(32px,5vw,72px)}
.k-cta__en{margin:0 0 6px;font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(44px,6vw,80px);line-height:1;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.6)}
.k-cta__ttl{margin:0 0 18px;font-weight:800;font-size:clamp(26px,3.2vw,40px);letter-spacing:.06em;color:#fff}
.k-cta__lead{margin:0;font-size:clamp(14px,1.3vw,16px);line-height:1.9;color:rgba(255,255,255,.88)}
.k-cta__badge{display:inline-block;margin:0 12px 8px 0;padding:4px 14px;border-radius:4px;background:var(--k-red);color:#fff;font-weight:800;font-size:14px;letter-spacing:.06em;vertical-align:middle}
.k-cta__acts{display:flex;flex-direction:column;gap:14px}
.k-cta__card{position:relative;display:flex;align-items:center;gap:18px;padding:20px 24px;border-radius:14px;text-decoration:none;box-shadow:0 14px 36px rgba(0,0,0,.28);transition:transform .25s,box-shadow .25s}
.k-cta__card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,.38)}
.k-cta__card.--tel{background:#fff;color:#151515}
.k-cta__card.--mail{background:var(--k-yel);color:#151515}
.k-cta__card.--tel:hover,.k-cta__card.--mail:hover{color:#151515}
.k-cta__ico{flex:0 0 56px;display:flex;align-items:center;justify-content:center;height:56px;border-radius:50%;font-size:22px}
.--tel .k-cta__ico{background:#224498;color:#fff}
.--mail .k-cta__ico{background:#151515;color:var(--k-yel)}
.k-cta__txt{display:flex;flex-direction:column;line-height:1.3}
.k-cta__txt small{margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.7}
.k-cta__txt b{font-size:20px;font-weight:800;letter-spacing:.04em}
.--tel .k-cta__txt b{font-family:"Montserrat",sans-serif;font-size:clamp(26px,2.6vw,32px);color:#224498}
.k-cta__txt em{margin-top:4px;font-style:normal;font-size:12px;opacity:.7}
.k-cta__arw{margin-left:auto;font-size:18px;transition:transform .2s}
.k-cta__card:hover .k-cta__arw{transform:translateX(4px)}
.k-cta__rec{display:inline-flex;align-items:center;justify-content:center;gap:10px;align-self:stretch;padding:12px 20px;border:1.5px solid rgba(255,255,255,.6);border-radius:999px;color:#fff;font-weight:700;font-size:14px;letter-spacing:.06em;text-decoration:none;transition:background .2s,color .2s}
.k-cta__rec i:first-child{color:var(--k-blu)}
.k-cta__rec:hover{background:#fff;color:#151515}
@media(max-width:991px){.k-cta__in{grid-template-columns:1fr}.k-cta__head{text-align:center}.k-cta__acts{max-width:520px;width:100%;margin:0 auto}}
@media(max-width:575px){.k-cta__card{padding:16px 18px;gap:14px}.k-cta__ico{flex-basis:46px;height:46px;font-size:18px}.k-cta__txt b{font-size:17px}.k-cta__lead{text-align:left}.k-cta__badge{display:table;margin:0 auto 10px}}
.k-cta:after{display:none}
.k-cta__badge{display:table;margin:0 0 10px}
@media(max-width:991px){.k-cta__badge{margin:0 auto 10px}.k-cta__lead{text-align:center}}
