/*
Theme Name: BlankSlate
Theme URI: https://github.com/tidythemes/blankslate
Author: TidyThemes
Author URI: https://github.com/tidythemes
Description: BlankSlate WordPress Theme
Version: 2023
License: GNU General Public License v3 or Later
Text Domain: blankslate
*/

/* =========================
   Reset / Base
========================= */

html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,
del,dfn,em,img,ins,kbd,q,s,samp,
small,strike,strong,sub,sup,tt,var,
b,u,i,center,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,
table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,
figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,
time,mark,audio,video{
  margin:0;
  padding:0;
  border:0;
  font:inherit;
  vertical-align:baseline;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{
  display:block;
}

body{line-height:1;}
ol,ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

/* =========================
   Accessibility
========================= */

.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  overflow:hidden;
  clip:rect(1px,1px,1px,1px);
}

/* =========================
   Contact Form 7 (contactページ専用)
   - 2カラム（ラベル/入力）を統一
   - input / select / textarea の幅・位置ズレ防止
   - selectはデザイン矢印（SVG）で表示
   - エラー表示/警告表示
========================= */

body.contact .wpcf7{
  font-size:16px;
}

/* ---- レイアウト（ラベル列＋入力列）---- */
body.contact .wpcf7-form .input__item{
  display:flex;
  gap:24px;
  align-items:center;
}

body.contact .wpcf7-form .input__label{
  width:200px;          /* 必要なら 180〜220 で微調整OK */
  flex:0 0 200px;
}

body.contact .wpcf7-form .input__input,
body.contact .wpcf7-form .input__textarea{
  flex:1 1 auto;
  min-width:0;
  padding:0;
  margin:0;
  max-width:100%;
  box-sizing:border-box;
}

/* textarea行だけ上揃え */
body.contact .wpcf7-form .input__textarea{
  align-self:flex-start;
}

/* ---- CF7のwrapが幅/余白を壊すのを防ぐ ---- */
body.contact .wpcf7-form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* 過去の “40pxずらし” が残っていても無効化 */
body.contact .wpcf7-form .wpcf7-form-control-wrap[data-name="inquiry-type"],
body.contact .wpcf7-form .wpcf7-form-control-wrap[data-name="message"]{
  margin-left:0!important;
  width:100%!important;
}
body.contact select#inquiry-type,
body.contact textarea#message{
  margin-left:0!important;
}

/* ---- フィールド共通（見た目統一）---- */
body.contact .wpcf7-form .input__item input[type="text"],
body.contact .wpcf7-form .input__item input[type="email"],
body.contact .wpcf7-form .input__item input[type="tel"],
body.contact .wpcf7-form .input__item textarea,
body.contact .wpcf7-form .input__item select{
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  box-sizing:border-box;

  font-size:16px;
  line-height:1.5;
  color:#333;

  background:#eef1f5;
  border:1px solid #cfcfcf;
  border-radius:4px;
  box-shadow:none;
}

/* input */
body.contact .wpcf7-form .input__item input[type="text"],
body.contact .wpcf7-form .input__item input[type="email"],
body.contact .wpcf7-form .input__item input[type="tel"]{
  height:44px;
  padding:12px 14px;
}

/* textarea */
body.contact .wpcf7-form .input__item textarea{
  padding:12px 14px;
  resize:vertical;
}

/* ---- select（お問い合わせ内容）---- */
body.contact .wpcf7 select#inquiry-type{
  height:48px;
  line-height:48px;
  padding:0 44px 0 14px;

  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
}

/* 擬似要素の矢印（二重矢印の原因）を必ず無効化 */
body.contact .wpcf7-form .wpcf7-form-control-wrap[data-name="inquiry-type"]::after{
  content:none!important;
  display:none!important;
}

/* ---- フォーカス ---- */
body.contact .wpcf7 input:focus,
body.contact .wpcf7 textarea:focus,
body.contact .wpcf7 select:focus{
  outline:none;
  border-color:#4a90e2;
}

/* ---- CF7 エラー ---- */
body.contact .wpcf7-not-valid{
  border-color:#e60000!important;
}
body.contact .wpcf7-not-valid-tip{
  margin-top:6px;
  font-size:14px;
  font-weight:600;
  color:#e60000;
}

/* ---- 警告メッセージ ---- */
body.contact .warning-message p,
body.contact .prohibited-warning p{
  margin:0 0 20px;
  padding:12px 15px;
  background:#ffecec;
  color:#e60000;
  font-size:14px;
  font-weight:bold;
  border:2px solid #e60000;
  border-radius:4px;
}

/* ---- Mobile（ラベル上・入力下）---- */
@media (max-width:768px){
  body.contact .wpcf7-form .input__item{
    display:block;
  }
  body.contact .wpcf7-form .input__label{
    width:auto;
    flex:none;
    margin-bottom:8px;
  }
  body.contact .wpcf7 input,
  body.contact .wpcf7 textarea,
  body.contact .wpcf7 select{
    font-size:16px;
  }
}

/* 警告メッセージがクリックを邪魔しないようにする */
body.contact .warning-message,
body.contact .prohibited-warning{
  pointer-events: none;
}

/* =========================
   Contact Form 7
   送信ボタンが押せない問題の最終対策
========================= */

/* ボタン自体を最前面に出す */
body.contact .wpcf7-submit,
body.contact input[type="submit"]{
  position: relative !important;
  z-index: 10 !important;
  pointer-events: auto !important;
}

/* 上にかぶさりがちな注意文・エラー文を完全に無効化 */
body.contact .warning-message,
body.contact .prohibited-warning,
body.contact .wpcf7-not-valid-tip,
body.contact .wpcf7-response-output{
  pointer-events: none !important;
}

/* CF7のフォーム行が透明レイヤー化している場合の保険 */
body.contact .wpcf7-form,
body.contact .wpcf7-form *{
  pointer-events: auto;
}