/* 各ページの <style> に直書きされていた指定をまとめたもの（WordPress化に伴い外部化） */


/* ===== index.html ===== */
/*確認画面へボタンの文字色の指定（iPhoneのSafariでデフォルトの文字色が白になってしまったため）*/
        .btnB {
            color: #5f5f5f;
        }


/* ===== index.html ===== */
/* 右側の固定バナー（スタッフ写真） */
.right-fixed-banner{
  position:fixed;
  right:0;
  bottom:10%;
  width:auto;
  margin-right:0;
  line-height:1;
  z-index:99999;
}
.right-fixed-banner .banner-box{height:auto;}
/* 縦長バナーのため高さ基準で表示（画面からはみ出さない） */
.right-fixed-banner img{
  height:min(52vh, 460px);
  width:auto;
  display:block;
}
@media screen and (max-width:750px){
  .right-fixed-banner{bottom:20%;}
  .right-fixed-banner img{height:min(34vh, 290px);}
}


/* ===== contact.html ===== */
/*確認画面へボタンの文字色の指定（iPhoneのSafariでデフォルトの文字色が白になってしまったため）*/
        .btnB {
            color: #5f5f5f;
        }


/* ===== contact.html ===== */
/* ---- お問い合わせフォーム ---- */
/* リード文とフォームの間隔を詰める */
#inquiry{
  margin-top:1rem;
  margin-bottom:2rem;
}
main article > p.design{margin-bottom:1.6rem;}


/* テーマの span{黄色マーカー} をフォーム内で打ち消す */
#inquiry .cf-form span{background:none;}

#inquiry .cf-form{
  max-width:760px;
  margin:0 auto;
  text-align:left;
  font-size:1.6rem;
  line-height:1.8;
}
#inquiry .cf-row{
  padding:2.2rem 0;
  border-bottom:1px solid #e2e2e2;
}
#inquiry .cf-row:first-child{border-top:1px solid #e2e2e2;}
#inquiry .cf-label{
  display:block;
  margin-bottom:.9rem;
  font-weight:bold;
  color:#2A3C59;
}
#inquiry .cf-label .req,
#inquiry .cf-label .opt{
  display:inline-block;
  margin-left:.8em;
  padding:.15em .8em;
  border-radius:2em;
  font-size:.72em;
  font-weight:normal;
  line-height:1.7;
  vertical-align:2px;
}
#inquiry .cf-form .cf-label .req{background:#2A3C59;color:#fff;}
#inquiry .cf-form .cf-label .opt{background:#f0f0ec;color:#8a8a80;}

#inquiry .cf-field input[type=text],
#inquiry .cf-field input[type=tel],
#inquiry .cf-field input[type=email],
#inquiry .cf-field textarea{
  width:100%;
  padding:1.1rem 1.2rem;
  border:1px solid #c9cdd4;
  border-radius:6px;
  background:#fff;
  font-size:1.6rem;
  font-family:inherit;
  line-height:1.6;
  box-sizing:border-box;
  transition:border-color .15s ease, box-shadow .15s ease;
}
#inquiry .cf-field input::placeholder,
#inquiry .cf-field textarea::placeholder{color:#aab0b8;}
#inquiry .cf-field input:focus,
#inquiry .cf-field textarea:focus{
  outline:none;
  border-color:#2A3C59;
  box-shadow:0 0 0 3px rgba(42,60,89,.12);
}
#inquiry .cf-field textarea{resize:vertical;min-height:14rem;}
#inquiry .cf-field > * + *{margin-top:1rem;}

#inquiry .cf-zip{display:flex;align-items:center;gap:.6rem;}
#inquiry .cf-zip-mark{color:#8a8a80;flex:none;}
#inquiry .cf-zip input{max-width:16rem;}

#inquiry .cf-files{display:flex;flex-direction:column;gap:1rem;}
#inquiry .cf-files input[type=file]{font-size:1.4rem;}

#inquiry .cf-note{
  margin:.9rem 0 0;
  font-size:1.3rem;
  line-height:1.7;
  color:#8a8a80;
}

#inquiry .cf-accept{
  margin:2.6rem 0 0;
  padding:1.8rem 2rem;
  background:#f7f7f3;
  border-radius:8px;
}
#inquiry .cf-accept label{display:flex;align-items:flex-start;gap:1rem;cursor:pointer;}
#inquiry .cf-accept input[type=checkbox]{
  width:1.9rem;height:1.9rem;margin-top:.3rem;flex:none;accent-color:#2A3C59;
}
#inquiry .cf-accept a{color:#2A3C59;text-decoration:underline;}

#inquiry .cf-submit{margin-top:3rem;text-align:center;}
#inquiry .cf-submit button{
  min-width:26rem;
  padding:1.5rem 4rem;
  border:none;
  border-radius:5rem;
  background:#2A3C59;
  color:#fff;
  font-size:1.7rem;
  font-family:inherit;
  font-weight:bold;
  letter-spacing:.08em;
  cursor:pointer;
  transition:opacity .15s ease, transform .12s ease;
}
#inquiry .cf-submit button:hover{opacity:.85;transform:translateY(-1px);}
#inquiry .cf-submit .cf-note{margin-top:1.2rem;}

@media screen and (min-width:751px){
  #inquiry .cf-row{
    display:grid;
    grid-template-columns:22rem 1fr;
    gap:2.5rem;
    align-items:start;
  }
  #inquiry .cf-label{margin-bottom:0;padding-top:1.2rem;}
}
@media screen and (max-width:750px){
  #inquiry .cf-form{font-size:1.5rem;}
  #inquiry .cf-row{padding:1.8rem 0;}
  #inquiry .cf-submit button{width:100%;min-width:0;}
}


/* ===== partner.html ===== */
/*確認画面へボタンの文字色の指定（iPhoneのSafariでデフォルトの文字色が白になってしまったため）*/
        .btnB {
            color: #5f5f5f;
        }


/* ===== partner.html ===== */
/* ---- パートナー募集 ヒーロー ---- */
.partner-hero{
  position:relative;
  width:100%;
  aspect-ratio:3209 / 685;      /* 他ページのメインビジュアルと同じ比率 */
  margin:0 0 3em;
  background-image:url("img2/trust-3031679_1280-700x400.jpg");
  background-size:cover;
  background-position:center 42%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.partner-hero::after{           /* 文字を読みやすくする薄い覆い */
  content:"";
  position:absolute;
  inset:0;
  background:rgba(20,28,42,.34);
}
.partner-hero-text{
  position:relative;
  z-index:1;
  margin:0;
  color:#fff;
  font-size:clamp(2.4rem, 4.4vw, 5.6rem);
  font-weight:bold;
  letter-spacing:.14em;
  line-height:1.4;
  text-shadow:0 2px 12px rgba(0,0,0,.55), 0 0 3px rgba(0,0,0,.4);
  white-space:nowrap;
}

/* ---- 導入＋課題ブロック ---- */
.partner-intro{
  width:82%;
  margin:0 auto;
  text-align:left;
}
/* 他ページの本文（.design）と同じ字送り・幅に合わせる */
.pi-lead{
  margin:0 0 2em;
  font-size:2rem;
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  line-height:32px;
}
.pi-lead b{
  font-weight:bold;
  background:linear-gradient(transparent 50%, #ffff66 0%);
}

/* 課題カード：左に写真、右にテキスト */
.pc-card{
  display:flex;
  align-items:stretch;
  gap:2.6rem;
  margin-top:3rem;
  padding:3rem;
  background:#fffde5;
  border-radius:12px;
  border-left:6px solid #b08a3a;
}
.pc-photo{
  width:34%;
  flex:none;
}
.pc-photo img{
  width:100%;
  height:100%;
  min-height:24rem;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.pc-content{flex:1;min-width:0;}

.pc-title{
  margin:0 0 1.6rem;
  padding:0 0 1rem;
  font-size:2.2rem;
  color:#2A3C59;
  border-bottom:1px solid rgba(42,60,89,.3);
}

/* テーマの span{黄色マーカー} を打ち消す */
.pc-card span{background:none;}

.pc-list{
  list-style:none;
  margin:0 0 2rem;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.pc-list li{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1.3rem 1.6rem;
  background:#fff;
  border-radius:8px;
  font-size:1.65rem;
  line-height:1.75;
}
.pc-check{
  width:2rem;
  height:2rem;
  flex:none;
  margin-top:.2rem;
  color:#b08a3a;
}
.pc-list b{font-weight:bold;color:#2A3C59;}

.pc-close{
  margin:0;
  font-size:1.7rem;
  font-weight:bold;
  color:#2A3C59;
  line-height:1.9;
}

/* ---- 業務提携先の候補（左アイコン＋右テキストの2カラム） ---- */
.partner-list{
  max-width:980px;
  margin:0 auto;
  text-align:left;
}
.pi-item{
  display:flex;
  align-items:flex-start;
  gap:2.4em;
  padding:2.2em 1em;
}
.pi-item + .pi-item{border-top:1px solid #e4e4de;}

/* 画像があった位置にアイコンを配置 */
.pi-figure{
  width:30%;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:16 / 10;
  background:#e9f1f8;
  border-radius:8px;
}
.pi-icon{
  width:44%;
  height:auto;
  flex:none;
  color:#2A3C59;
}

.pi-body{flex:1;min-width:0;}
.pi-body h4{
  font-size:2em;
  margin:0 0 .6em;
  color:#2A3C59;
  border-bottom:1px solid #2A3C59;
  padding-bottom:.25em;
}
.pi-body p{
  margin:0;
  line-height:1.9;
}

/* 本文の1行が横に長くなりすぎるのを防ぐ */
main .gabion p.design,
main article > p.design{
  max-width:44em;
  margin-left:auto;
  margin-right:auto;
}

/* PC時のみ：課題カードと「業務提携先の候補例」の間隔を広げる */
@media screen and (min-width:751px){
  #item{margin-top:15px;}
}

/* ヘッダーメニューの文字が縦に折れるのを防ぐ */
header nav ul li{white-space:nowrap;}
header nav ul li a{white-space:nowrap;}

@media screen and (max-width:750px){
  .partner-hero{
    aspect-ratio:1590 / 395;    /* 他ページのスマホ用と同じ比率 */
    background-position:center 45%;
    margin-bottom:1.5em;
  }
  .partner-hero-text{letter-spacing:.08em;}
  /* SP時も他ページの本文（.design）と同じ文字サイズ・行間に */
  .partner-intro{width:80%;}
  .pi-lead{
    font-size:1.6rem;
    line-height:28px;
  }
  .pc-card{
    display:block;
    padding:2rem 1.6rem;
    border-left-width:5px;
  }
  .pc-photo{
    width:100%;
    margin-bottom:1.8rem;
  }
  .pc-photo img{
    min-height:0;
    aspect-ratio:16 / 10;
  }
  .pc-title{font-size:1.9rem;}
  .pc-list li{padding:1.1rem 1.2rem;font-size:1.55rem;}
  .pc-close{font-size:1.6rem;}
  .pc-br{display:none;}
  /* 狭い画面では強制改行を解除し、自然に折り返す */
  main article > p.design br,
  main .gabion p.design br{display:none;}
  /* SP：左にアイコン、右にテキストの2カラムを維持 */
  .pi-item{
    display:flex;
    align-items:flex-start;
    gap:1.1em;
    padding:1.5em .2em;
  }
  .pi-figure{
    width:29%;
    aspect-ratio:3 / 4.2;   /* 画像と同じ縦長にトリミング */
    border-radius:6px;
  }
  .pi-icon{width:62%;}
  .pi-body h4{font-size:1.7em;text-align:left;}
  .pi-body p{font-size:1.5rem;line-height:1.8;}
}


/* ===== ハンバーガーボタン（3本線） ===== */
/*
 * meanmenu は3本の span を出力しますが、入れ子構造になるためマージンが相殺され、
 * そのままでは3本が同じ位置に重なって1本に見えます。
 * ここで余白の付け方を明示して、確実に3本並ぶようにします。
 */
.mean-container a.meanmenu-reveal{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-end;
  box-sizing:content-box;
}
.mean-container a.meanmenu-reveal span{
  display:block;
  width:22px;
  height:3px;
  margin:0 0 5px;
  background:#2A3C59;
  border-radius:2px;
}
.mean-container a.meanmenu-reveal span:last-child{margin-bottom:0;}
/* メニューを開いた状態（× 印）では線の指定を効かせない */
.mean-container a.meanmenu-reveal.meanclose{
  display:block;
  color:#2A3C59;
}

/* メニュー内の項目名（15px → 17px） */
.mean-container .mean-nav ul li a{
  font-size:1.7rem;
  line-height:1.6;
}

/*
 * メニュー内の電話番号は画像（tel.jpg）だと文字が小さく読みにくいため、
 * メニュー内だけテキストに差し替える。ヘッダーの画像表示はそのまま。
 */
.tel-text{display:none;}

.mean-container .mean-nav ul li.meanmenu-btn > a{
  float:none;
  width:auto;
  padding:1.2rem 5%;
  border-top:none;
  text-transform:none;
}
.mean-container .mean-nav .meanmenu-btn img{display:none;}

.mean-container .mean-nav .tel-text{
  display:block;
  padding:1.4rem 1rem 1.6rem;
  border-radius:.8rem;
  background:#045312;
  color:#fff;
  text-align:center;
}
/* テーマ全体の span{黄色マーカー} が乗ってしまうため打ち消す */
.mean-container .mean-nav .tel-text span{background:none;}
.mean-container .mean-nav .tel-text-lead{
  display:block;
  font-size:1.4rem;
  line-height:1.6;
}
.mean-container .mean-nav .tel-text-num{
  display:block;
  margin:.2em 0 .1em;
  font-size:3.4rem;
  font-weight:bold;
  line-height:1.2;
  letter-spacing:.02em;
}
.mean-container .mean-nav .tel-text-note{
  display:block;
  font-size:1.3rem;
  line-height:1.7;
}


/* ===== 買取をお断りする場合のリスト（買取の流れページ） ===== */
.design2{
  width:auto;
  max-width:72rem;
  margin:0 auto 3rem;
  padding:2.8rem 3.2rem;
  background:#f7f6f1;
  border:1px solid #e6e3d8;
  border-radius:.8rem;
  text-align:left;
  font-size:1.7rem;
  line-height:1.9;
  color:#3a3a34;
}
.design2 ul{
  list-style:none;
  margin:0;
  padding:0;
}
.design2 li{
  position:relative;
  margin-top:1.5rem;
  padding-left:2.4rem;
}
.design2 li:first-child{margin-top:0;}
.design2 li::before{
  content:"";
  position:absolute;
  left:0;
  top:.72em;
  width:1rem;
  height:1rem;
  background:#2A3C59;
  border-radius:2px;
}

@media screen and (max-width:750px){
  .design2{
    width:auto;
    max-width:none;
    margin:0 1.6rem 2.4rem;
    padding:2rem 1.8rem;
    font-size:1.5rem;
    line-height:1.85;
  }
  .design2 li{
    margin-top:1.3rem;
    padding-left:2rem;
  }
  .design2 li::before{
    width:.9rem;
    height:.9rem;
    top:.66em;
  }
}
