
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600&family=Noto+Sans+JP:wght@300;400;500&family=Bebas+Neue&display=swap');

/* SWELLの標準ヘッダー・フッターを非表示 */
#header,.l-header,.siteHeader,
#g-nav,.c-gnav,.p-header,.p-headerNav,
#footer,.l-footer,.siteFooter,
.l-main>.l-article,.l-mainContainer,
#page-top,.c-hamburger {
  display:none !important;
}
body { padding-top:0 !important; margin:0 !important; }
.ks-body { padding-bottom:0 !important; }

:root{
  --bg:#fff; --bg2:#f4f5f7; --bg3:#eaecf0;
  --line:rgba(0,0,0,.09);
  --head:#1a1e26; --body:#3a414e; --sub:#6b7280;
  --gold:#7c6028; --goldl:#a07e3a; --red:#c03434;
}
.ks-body *{box-sizing:border-box;margin:0;padding:0;}
.ks-body{font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.8;color:var(--body);background:var(--bg);}

/* ナビ */
.ks-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:68px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);box-shadow:0 1px 12px rgba(0,0,0,.04);}
.ks-logo{text-decoration:none;}
.ks-logo-en{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:4px;color:var(--goldl);display:block;}
.ks-logo-jp{font-family:'Noto Serif JP',serif;font-size:14px;color:var(--head);letter-spacing:2px;display:block;}
.ks-nav-ul{display:flex;gap:36px;list-style:none;}
.ks-nav-ul a{text-decoration:none;color:var(--sub);font-size:14px;letter-spacing:1px;transition:color .2s;}
.ks-nav-ul a:hover{color:var(--head);}
.ks-nav-cta{text-decoration:none;border:1px solid var(--gold);color:var(--gold);padding:10px 22px;font-size:13px;letter-spacing:1.5px;transition:all .2s;}
.ks-nav-cta:hover{background:var(--gold);color:#fff;}
.ks-hbg{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:4px;}
.ks-hbg span{display:block;width:26px;height:2px;background:var(--head);transition:all .3s;}
.ks-hbg.open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.ks-hbg.open span:nth-child(2){opacity:0;}
.ks-hbg.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
.ks-drawer{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:#fff;z-index:99;padding:24px;flex-direction:column;border-top:1px solid var(--line);overflow-y:auto;}
.ks-drawer.open{display:flex;}
.ks-drawer a{display:block;padding:18px 0;font-size:16px;color:var(--head);text-decoration:none;border-bottom:1px solid var(--line);letter-spacing:1px;}
.ks-drawer a:hover{color:var(--gold);}
.ks-d-tel{color:var(--gold)!important;font-family:'Bebas Neue',sans-serif;font-size:22px!important;letter-spacing:2px!important;}
.ks-d-cta{margin-top:20px;background:var(--gold)!important;color:#fff!important;text-align:center;padding:18px!important;font-size:15px!important;border:none!important;}

/* 共通 */
.ks-sec{padding:80px 48px;}
.ks-sec-gray{background:var(--bg2);}
.ks-lbl{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:5px;color:var(--goldl);margin-bottom:12px;}
.ks-h2{font-family:'Noto Serif JP',serif;font-size:clamp(24px,3vw,36px);font-weight:300;color:var(--head);letter-spacing:3px;margin-bottom:48px;line-height:1.4;}
.ks-ph{padding:120px 48px 56px;background:var(--bg2);border-bottom:1px solid var(--line);}
.ks-bc{font-size:13px;color:rgba(0,0,0,.3);margin-bottom:16px;}
.ks-bc a{color:rgba(0,0,0,.3);text-decoration:none;}
.ks-bc a:hover{color:var(--gold);}
.ks-ph-eye{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:5px;color:var(--goldl);margin-bottom:12px;}
.ks-ph-h1{font-family:'Noto Serif JP',serif;font-size:clamp(30px,4vw,48px);font-weight:300;color:var(--head);letter-spacing:3px;line-height:1.3;}
.ks-ph-sub{font-size:16px;color:var(--sub);margin-top:16px;line-height:2;}
.ks-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;text-decoration:none;font-size:14px;letter-spacing:2px;transition:all .2s;border:none;font-family:'Noto Sans JP',sans-serif;min-height:52px;cursor:pointer;}
.ks-btn::after{content:'→';}
.ks-btn-g{background:var(--gold);color:#fff;}
.ks-btn-g:hover{background:var(--goldl);}
.ks-btn-o{border:1px solid rgba(0,0,0,.2);color:var(--head);background:none;}
.ks-btn-o:hover{border-color:var(--gold);color:var(--gold);}

/* ヒーロー */
.ks-hero{min-height:100vh;display:grid;grid-template-columns:55% 45%;}
.ks-hero-l{padding:140px 48px 80px;display:flex;flex-direction:column;justify-content:center;}
.ks-hero-catch{font-family:'Bebas Neue',sans-serif;font-size:12px;letter-spacing:5px;color:var(--goldl);margin-bottom:32px;}
.ks-hero-h1{font-family:'Noto Serif JP',serif;font-weight:300;margin-bottom:28px;}
.ks-hero-h1 .s{font-size:clamp(22px,2.8vw,36px);letter-spacing:2px;color:var(--head);display:block;margin-bottom:8px;font-weight:300;line-height:1.5;}
.ks-hero-h1 .b{font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--head);display:block;line-height:1.5;}
.ks-hero-h1 .t{font-size:clamp(22px,2.8vw,36px);font-weight:300;color:var(--head);display:block;line-height:1.5;}
.ks-hero-line{width:1px;height:52px;background:linear-gradient(to bottom,var(--gold),transparent);margin:0 0 28px 2px;}
.ks-hero-desc{font-size:16px;line-height:2;color:var(--sub);max-width:420px;margin-bottom:36px;}
.ks-hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.ks-hero-r{position:relative;overflow:hidden;}
.ks-hero-r img{width:100%;height:100%;object-fit:cover;filter:brightness(.65) saturate(.5);}
.ks-hero-r::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,#fff 0%,rgba(255,255,255,.1) 35%,transparent 100%);}

/* 信頼バッジ */
.ks-trust{background:var(--bg3);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 48px;}
.ks-trust-items{display:flex;}
.ks-trust-item{display:flex;align-items:center;gap:14px;padding:0 36px;flex:1;border-right:1px solid var(--line);}
.ks-trust-item:first-child{padding-left:0;}
.ks-trust-item:last-child{border-right:none;}
.ks-trust-n{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--head);line-height:1;}
.ks-trust-n sup{font-size:16px;color:var(--goldl);}
.ks-trust-l{font-size:13px;color:var(--sub);line-height:1.7;}

/* グリッド・カード */
.ks-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.ks-g2{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.ks-card{background:var(--bg3);padding:40px 32px;transition:background .3s;}
.ks-card:hover{background:#dfe2e8;}
.ks-card-n{font-family:'Bebas Neue',sans-serif;font-size:28px;color:rgba(124,96,40,.2);margin-bottom:14px;}
.ks-card-h{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:400;color:var(--head);letter-spacing:2px;margin-bottom:12px;}
.ks-card-p{font-size:15px;line-height:2;color:var(--sub);}
.ks-tag{display:inline-block;border:1px solid rgba(124,96,40,.25);color:var(--gold);font-size:12px;letter-spacing:1px;padding:4px 10px;margin:3px 3px 0 0;}

/* よくある相談 */
.ks-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:0;}
.ks-case{background:var(--bg3);border:1px solid var(--line);padding:24px;transition:background .3s;}
.ks-case:hover{background:#dfe2e8;}
.ks-case-q{font-size:11px;letter-spacing:3px;color:var(--goldl);margin-bottom:10px;font-family:'Bebas Neue',sans-serif;}
.ks-case-t{font-family:'Noto Serif JP',serif;font-size:15px;color:var(--head);line-height:1.7;}

/* バナー */
.ks-banner{position:relative;height:220px;overflow:hidden;border:1px solid var(--line);margin-top:48px;}
.ks-banner img{position:absolute;right:0;top:0;width:55%;height:100%;object-fit:cover;filter:brightness(.75) saturate(.6);}
.ks-banner-txt{position:absolute;inset:0;background:linear-gradient(to right,var(--bg) 0%,var(--bg) 42%,rgba(255,255,255,.4) 55%,transparent 70%);display:flex;align-items:center;padding:0 48px;}
.ks-banner-txt p{font-family:'Noto Serif JP',serif;font-size:clamp(15px,1.8vw,22px);font-weight:300;color:var(--head);letter-spacing:3px;line-height:1.9;}

/* ビジュアル */
.ks-vis{position:relative;height:280px;overflow:hidden;}
.ks-vis img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.65);}
.ks-vis-ov{position:absolute;inset:0;display:flex;align-items:center;padding:0 56px;background:linear-gradient(to right,rgba(0,0,0,.6) 0%,rgba(0,0,0,.2) 60%,transparent 100%);}
.ks-vis-ov h2{font-family:'Noto Serif JP',serif;font-size:clamp(20px,3vw,34px);font-weight:300;color:#fff;letter-spacing:3px;line-height:1.6;text-shadow:0 2px 8px rgba(0,0,0,.3);}
.ks-vis-ov p{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:5px;color:rgba(255,255,255,.6);margin-bottom:12px;}

/* テーブル */
.ks-tbl{width:100%;border-collapse:collapse;margin-bottom:56px;}
.ks-tbl th,.ks-tbl td{padding:18px 22px;border-bottom:1px solid var(--line);font-size:15px;line-height:2;text-align:left;vertical-align:top;}
.ks-tbl tr:first-child th,.ks-tbl tr:first-child td{border-top:1px solid var(--line);}
.ks-tbl th{width:160px;color:var(--gold);font-weight:400;background:rgba(0,0,0,.02);white-space:nowrap;font-family:'Noto Serif JP',serif;}

/* 沿革 */
.ks-hist-item{display:grid;grid-template-columns:160px 1fr;border-bottom:1px solid var(--line);padding:20px 0;}
.ks-hist-item:first-child{border-top:1px solid var(--line);}
.ks-hist-y{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--gold);letter-spacing:2px;}
.ks-hist-y small{display:block;font-size:12px;color:var(--sub);font-family:'Noto Sans JP',sans-serif;font-weight:300;margin-top:3px;}
.ks-hist-t{font-size:15px;color:var(--body);line-height:2;padding-top:2px;}

/* 工場写真 */
.ks-factories{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.ks-factory{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg3);}
.ks-factory img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.6);transition:filter .4s;}
.ks-factory:hover img{filter:brightness(.9) saturate(.8);}
.ks-factory-info{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.78),transparent);}
.ks-factory-name{font-family:'Noto Serif JP',serif;font-size:15px;color:#fff;letter-spacing:2px;margin-bottom:4px;}
.ks-factory-addr{font-size:12px;color:rgba(255,255,255,.7);line-height:1.7;}

/* Instagram */
.ks-ig-g{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-bottom:48px;}
.ks-ig-item{display:block;aspect-ratio:1;position:relative;overflow:hidden;background:var(--bg3);}
.ks-ig-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.85) saturate(.65);transition:filter .35s;}
.ks-ig-item:hover img{filter:brightness(1) saturate(.9);}
.ks-ig-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.25);color:#fff;font-size:22px;opacity:0;transition:opacity .3s;}
.ks-ig-item:hover .ks-ig-ov{opacity:1;}
.ks-ig-banner{background:var(--bg3);padding:36px 40px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;border:1px solid var(--line);}
.ks-ig-h{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:400;color:var(--head);letter-spacing:2px;margin-bottom:8px;}
.ks-ig-p{font-size:15px;color:var(--sub);line-height:2;}
.ks-ig-handle{font-family:'Bebas Neue',sans-serif;font-size:14px;letter-spacing:4px;color:var(--gold);margin-top:10px;}

/* 採用 */
.ks-rec-pts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-bottom:56px;}
.ks-rec-pt{background:var(--bg3);padding:28px 20px;text-align:center;}
.ks-rec-pt-ico{font-size:32px;display:block;margin-bottom:12px;}
.ks-rec-pt-h{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:400;color:var(--head);letter-spacing:1px;margin-bottom:8px;}
.ks-rec-pt-s{font-size:14px;color:var(--sub);line-height:1.8;}
.ks-jobs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-bottom:56px;}
.ks-job{background:var(--bg3);padding:40px;}
.ks-job-type{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:4px;color:var(--goldl);margin-bottom:10px;}
.ks-job-h{font-family:'Noto Serif JP',serif;font-size:22px;font-weight:400;color:var(--head);letter-spacing:2px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.ks-job-row{display:grid;grid-template-columns:110px 1fr;gap:8px;margin-bottom:12px;font-size:14px;line-height:1.9;}
.ks-job-lbl{color:var(--goldl);font-weight:400;}
.ks-env-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-bottom:56px;}
.ks-env{background:var(--bg3);padding:36px 28px;}
.ks-env-ico{font-size:30px;display:block;margin-bottom:14px;}
.ks-env-h{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:400;color:var(--head);letter-spacing:2px;margin-bottom:10px;}
.ks-env-p{font-size:15px;line-height:2;color:var(--sub);}
.ks-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-bottom:48px;}
.ks-flow::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:1px;background:var(--line);z-index:0;}
.ks-flow-step{text-align:center;position:relative;z-index:1;padding:8px;}
.ks-flow-n{width:56px;height:56px;border-radius:50%;background:var(--bg3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-family:'Bebas Neue',sans-serif;font-size:18px;color:var(--gold);}
.ks-flow-l{font-size:13px;color:var(--body);line-height:1.7;}

/* フォーム */
.ks-form-wrap{background:var(--bg3);padding:48px;border:1px solid var(--line);}
.ks-form-h{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:400;color:var(--head);letter-spacing:3px;margin-bottom:32px;}
.ks-fg{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ks-fi{display:flex;flex-direction:column;gap:8px;}
.ks-fi.full{grid-column:1/-1;}
.ks-fl{font-size:13px;letter-spacing:2px;color:var(--sub);}
.ks-fl .r{color:var(--red);margin-left:2px;}
.ks-fi input,.ks-fi textarea,.ks-fi select{background:#fff;border:1px solid rgba(0,0,0,.14);color:var(--head);padding:14px 16px;font-family:'Noto Sans JP',sans-serif;font-size:15px;outline:none;transition:border-color .2s;width:100%;min-height:52px;border-radius:0;-webkit-appearance:none;}
.ks-fi input:focus,.ks-fi textarea:focus,.ks-fi select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(124,96,40,.08);}
.ks-fi select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px;}
.ks-fi textarea{min-height:130px;resize:vertical;}
.ks-form-note{font-size:13px;color:var(--sub);margin:20px 0;line-height:1.9;}

/* お問い合わせ */
.ks-ct-g{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;align-items:start;}
.ks-ci{margin-bottom:40px;}
.ks-ci-lbl{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:5px;color:var(--goldl);margin-bottom:10px;}
.ks-ci-v{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:300;color:var(--head);letter-spacing:2px;margin-bottom:6px;line-height:1.7;}
.ks-ci-s{font-size:14px;color:var(--sub);line-height:2;}
a.ks-ci-tel{display:block;font-family:'Bebas Neue',sans-serif;font-size:40px;letter-spacing:2px;color:var(--head);text-decoration:none;margin:8px 0;transition:color .2s;}
a.ks-ci-tel:hover{color:var(--gold);}
.ks-tel-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#fff;padding:14px 24px;text-decoration:none;font-size:14px;letter-spacing:1.5px;margin-top:12px;min-height:52px;}

/* フッター */
.ks-footer{background:var(--bg2);border-top:1px solid var(--line);padding:52px 48px 48px;}
.ks-ft-g{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:32px;}
.ks-ft-name{font-family:'Noto Serif JP',serif;font-size:15px;color:var(--head);letter-spacing:2px;margin-bottom:8px;}
.ks-ft-addr{font-size:13px;color:var(--sub);line-height:2;margin-bottom:6px;}
.ks-ft-tel{display:block;font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--head);text-decoration:none;letter-spacing:2px;}
.ks-ft-h{font-family:'Bebas Neue',sans-serif;font-size:11px;letter-spacing:4px;color:var(--goldl);margin-bottom:14px;}
.ks-ft-ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ks-ft-ul a{text-decoration:none;color:var(--sub);font-size:14px;letter-spacing:1px;transition:color .2s;}
.ks-ft-ul a:hover{color:var(--head);}
.ks-ft-copy{border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:rgba(0,0,0,.3);letter-spacing:1px;}

/* レスポンシブ */
@media(max-width:767px){
  .ks-nav{padding:0 20px;}
  .ks-nav-ul,.ks-nav-cta{display:none;}
  .ks-hbg{display:flex;}
  .ks-sec{padding:56px 20px;}
  .ks-ph{padding:100px 20px 44px;}
  .ks-footer{padding:44px 20px 40px;}
  .ks-hero{grid-template-columns:1fr;min-height:auto;}
  .ks-hero-l{padding:100px 20px 48px;order:2;}
  .ks-hero-r{order:1;height:56vw;min-height:200px;}
  .ks-hero-r::after{background:linear-gradient(to bottom,#fff 0%,transparent 100%);}
  .ks-hero-btns{flex-direction:column;}
  .ks-hero-btns .ks-btn{justify-content:center;}
  .ks-trust{padding:16px 20px;overflow-x:auto;}
  .ks-trust-items{min-width:400px;}
  .ks-trust-item{padding:0 14px;}
  .ks-g3,.ks-g2,.ks-factories,.ks-env-g,.ks-jobs{grid-template-columns:1fr!important;}
  .ks-rec-pts{grid-template-columns:1fr 1fr!important;}
  .ks-ig-g{grid-template-columns:repeat(2,1fr);}
  .ks-ig-banner{grid-template-columns:1fr;gap:20px;padding:28px 20px;}
  .ks-cases{grid-template-columns:1fr!important;}
  .ks-ct-g{grid-template-columns:1fr;gap:40px;}
  .ks-fg{grid-template-columns:1fr;}
  .ks-fi.full{grid-column:1;}
  .ks-form-wrap{padding:28px 20px;}
  .ks-ft-g{grid-template-columns:1fr 1fr;gap:28px;}
  .ks-tbl th{width:90px;font-size:14px;padding:12px 10px;}
  .ks-tbl td{font-size:14px;padding:12px 10px;}
  .ks-flow{grid-template-columns:1fr;}
  .ks-flow::before{display:none;}
  .ks-vis-ov{padding:0 24px;}
  .ks-banner{height:auto;display:flex;flex-direction:column;}
  .ks-banner img{position:relative;width:100%;height:200px;}
  .ks-banner-txt{position:relative;padding:24px 20px;background:var(--bg);}
}
@media(min-width:768px) and (max-width:1024px){
  .ks-nav{padding:0 32px;}
  .ks-nav-ul{gap:20px;}
  .ks-sec{padding:64px 32px;}
  .ks-ph{padding:120px 32px 48px;}
  .ks-footer{padding:48px 32px 40px;}
  .ks-g3{grid-template-columns:1fr!important;}
  .ks-factories{grid-template-columns:repeat(3,1fr);}
  .ks-env-g{grid-template-columns:1fr 1fr!important;}
  .ks-jobs{grid-template-columns:1fr!important;}
  .ks-ct-g{grid-template-columns:1fr 1.4fr;gap:40px;}
  .ks-ft-g{grid-template-columns:1fr 1fr;gap:32px;}
  .ks-flow{grid-template-columns:repeat(3,1fr);}
  .ks-ig-g{grid-template-columns:repeat(3,1fr);}
  .ks-cases{grid-template-columns:1fr 1fr!important;}
}

/* ══ Contact Form 7 スタイル ══ */
.wpcf7 { width: 100% !important; }

/* グリッドを使わずシンプルな縦並び */
.wpcf7 form { display: block !important; }

.wpcf7 form > p,
.wpcf7 form > div {
  display: block !important;
  margin-bottom: 20px !important;
  width: 100% !important;
}

/* ラベル */
.wpcf7 label {
  display: block !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  color: var(--sub) !important;
  margin-bottom: 8px !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 300 !important;
}

/* 入力欄 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100% !important;
  display: block !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--head) !important;
  padding: 14px 16px !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 15px !important;
  outline: none !important;
  transition: border-color .2s !important;
  min-height: 52px !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(124,96,40,.08) !important;
  outline: none !important;
}
.wpcf7 textarea {
  min-height: 130px !important;
  resize: vertical !important;
}

/* スパム防止チェックボックスエリアを非表示 */
.wpcf7 .wpcf7-quiz,
.wpcf7 .wpcf7-acceptance,
.wpcf7-form-control.wpcf7-acceptance {
  font-size: 12px !important;
  color: var(--sub) !important;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  background: var(--gold) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 16px 40px !important;
  font-size: 14px !important;
  letter-spacing: 2px !important;
  cursor: pointer !important;
  transition: background .2s !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  min-height: 52px !important;
  width: auto !important;
  display: inline-block !important;
  -webkit-appearance: none !important;
  margin-top: 8px !important;
}
.wpcf7 input[type="submit"]:hover {
  background: var(--goldl) !important;
}

/* エラー・バリデーション */
.wpcf7 .wpcf7-not-valid-tip {
  color: var(--red) !important;
  font-size: 12px !important;
  margin-top: 4px !important;
  display: block !important;
}
.wpcf7 .wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}

/* 送信完了・エラーメッセージ */
.wpcf7 .wpcf7-response-output {
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 16px 20px !important;
  margin: 20px 0 0 !important;
  font-size: 14px !important;
  background: rgba(124,96,40,.05) !important;
  color: var(--head) !important;
  display: block !important;
}
.wpcf7 .wpcf7-mail-sent-ok {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-spam-blocked {
  border-color: var(--red) !important;
  color: var(--red) !important;
}
