@charset "utf-8";

/* ==========================================================
   eco Pick / base.css
   全ページ共通（リセット・ヘッダー・フッター・固定ドック・共通部品）
   ページ固有のレイアウトは css/home.css, contact.css,
   page.css, preopen.css に分割しています。
   ========================================================== */

*{box-sizing:border-box}

body{
  margin:0;
  background:#fff;
  font-family:"Zen Kaku Gothic New","Noto Sans JP",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}

a{color:#146D0F;text-decoration:none}
a:hover{color:#0B4A08}

img{border:0}
input,textarea{font-family:inherit}
::placeholder{color:#a8b5a6}

/* --- 共通部品 --- */
.eco-nowrap,.eco-nowrap *{white-space:nowrap}
.eco-h{transition:filter .2s ease}
.eco-h:hover{filter:brightness(1.06)}
.eco-card{transition:transform .25s ease,box-shadow .25s ease}
.eco-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,74,8,.13)}

/* --- スクロール表示アニメーション --- */
@keyframes ecoUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.eco-rv.js-reveal{opacity:0}
.eco-rv.js-reveal.on{animation:ecoUp .6s cubic-bezier(.2,.7,.3,1) forwards}

/* --- ヘッダー --- */
.eco-nav a{white-space:nowrap}
.eco-bar{overflow-x:auto}
.eco-bar>div{min-width:1180px}

@media (max-width:1230px){
  .eco-nav{display:none !important}
  .eco-bar>div{min-width:0}
  .eco-tel-desk{display:none !important}
  .eco-tel-btn{display:flex !important}
}

/* --- フォーム（入力欄のフォーカス／エラー） --- */
.eco-input{
  width:100%;border:2px solid #dfe6dd;border-radius:8px;padding:15px;
  font-size:15px;color:#1A1A1A;outline:none;
}
.eco-input:focus{border-color:#146D0F}
textarea.eco-input{resize:vertical}
.eco-err{
  display:none;margin-top:6px;
  font:700 12.5px/1.6 "Zen Kaku Gothic New",sans-serif;color:#D23A1F;
}
.eco-err.on{display:block}
.eco-input.err{border-color:#D23A1F}
.eco-submit{border:0;width:100%;cursor:pointer;display:block}
.eco-submit[disabled]{opacity:.6;cursor:default}
/* ボット除け用の入力欄。人間には見えない位置に置きます（display:none だと素通りするボットがあるため） */
.eco-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* --- FAQ アコーディオン --- */
.eco-faq-body{display:none}
.eco-faq.open .eco-faq-body{display:block}

/* ==========================================================
   スマートフォン（760px以下）共通
   ========================================================== */
@media (max-width:760px){
  section{padding:44px 14px !important}
  footer{padding:34px 14px 24px !important}
  section h2{font-size:25px !important}

  .m-topbar{gap:8px 14px !important;font-size:11.5px !important}

  .eco-bar{overflow-x:hidden !important}
  .eco-bar>div{padding:9px 12px !important;gap:10px !important;flex-wrap:nowrap}
  .eco-bar>div>a:first-child img{height:38px !important}
  .eco-tel-btn{padding:9px 12px !important;gap:7px !important}
  .eco-tel-btn span span:first-child{font-size:10px !important}
  .eco-tel-btn span span:last-child{font-size:18px !important}
  .eco-bar a.eco-cta{display:none !important}

  .m-footer{grid-template-columns:1fr !important;gap:22px !important}

  /* 固定ドック */
  .m-dock{padding:10px 12px !important}
  .m-dock-copy{display:none !important}
  .m-dock>div{gap:10px !important}
  .m-dock-btns{width:100%;display:grid !important;grid-template-columns:1fr 1fr;gap:10px}
  .m-dock a{
    width:100%;min-height:58px;display:flex !important;
    align-items:center;justify-content:center;text-align:center;
    padding:10px !important;font-size:16px !important;line-height:1.3 !important;
  }
  .m-dock-num{display:none !important}
  .m-dock-ico{display:block !important}
  .m-dock-label{display:block !important}
}
