@charset "UTF-8";
/*
Theme Name: irodori_cssmix
Theme URL: http://wordpress.hitsuji.me
Description: Wordpress sample theme for training.
Author: ujidesign
Version: 1.0
*/
/*========================================
共通部分 style
========================================*/
/*========================================
共通部分おわり
========================================*/
/*========================================
ページごとのcss TOP
========================================*/
/*コンテンツ*/
.fs_0 {
  font-size: 0;
}

.fs_return {
  font-size: 16px;
}

table.type01 {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  line-height: 1.5;
}

table.type01 tr {
  border-bottom: 1px #00479D solid;
}

table.type01 th { /*時間、電話、メールなど項目枠*/
  width: 100px;
  padding: 10px 10px 10px 0;
  font-weight: nomal;
  vertical-align: top;
}

table.type01 td { /*時間、電話、メールなど項目枠*/
  width: 100px;
  padding: 10px 0 10px 10px;
  font-weight: nomal;
  vertical-align: top;
}

form {
  width: 100%;
  /* フォームの範囲がわかるようにする */
}

/*
form div + div {
    margin-top: 15px;
}
*/
label {
  /* すべてのラベルを同じサイズにして、きちんと揃える */
  display: block;
  width: 100%;
  margin-bottom: -8px;
}

input, select, textarea {
  /* すべてのテキストフィールドのフォント設定を一致させる
     デフォルトで、textarea は等幅フォントが設定されている */
  font: 15px sans-serif;
  /* すべてのテキストフィールドを同じサイズにする */
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  /* テキストフィールドのボーダーの外見を同一にする */
  border: 1px solid #00479D;
  border-radius: 5px;
}

input, select {
  height: 40px;
}

input:focus, textarea:focus {
  /* アクティブな要素を少し強調する */
  border-color: #000;
}

textarea {
  /* 複数行のテキストフィールドをラベルにきちんと揃える */
  vertical-align: top;
  /* テキスト入力に十分な領域を与える */
  height: 10em;
  /* ユーザが textarea を垂直方向にリサイズできるようにする
     これが動作しないブラウザもある */
  resize: vertical;
}

.button {
  /* ボタンを他のテキストフィールドと同じ場所に置く */
  width: 100%; /* label 要素と同じサイズ */
  text-align: center;
}

.wpcf7 input[type=submit] {
  /* このマージンは、ラベルとテキストフィールドの間のスペースと
     おおよそ同じスペースを表す */
  -webkit-appearance: none;
  font-size: 15px;
  padding: 5px 30px;
  background-color: #00479D;
  color: #fff;
  border-style: none;
  border-radius: 5px;
  margin-top: 30px;
  width: 120px;
}

.float_left {
  margin-bottom: 30px;
}

/* ===== CF7 6.1 バリデーション表示（色以外に 文/記号/枠/太字 で判別・レイアウトシフトなし） ===== */
/* 個別エラー文：input 直後の span を、入力欄の直下にブロック表示 */
.wpcf7 .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  padding-left: 1.4em;
  position: relative;
  color: #b3261e;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.wpcf7 .wpcf7-not-valid-tip::before {
  content: "⚠";
  position: absolute;
  left: 0;
}

/* 異常な入力欄：border 幅は据え置き＋box-shadowで強調 */
.wpcf7 input.wpcf7-not-valid,
.wpcf7 textarea.wpcf7-not-valid,
.wpcf7 select.wpcf7-not-valid {
  border-color: #d32f2f;
  box-shadow: 0 0 0 1px #d32f2f;
  background: #fff8f8;
}

/* 全体メッセージ（エラー系） */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 .wpcf7-validation-errors {
  margin: 16px 0 0;
  padding: 12px 16px;
  border: 1px solid #d32f2f;
  border-left-width: 4px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.6;
  color: #b3261e;
  background: #fdecea;
}

/* 全体メッセージ（成功） */
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 .wpcf7-mail-sent-ok {
  margin: 16px 0 0;
  padding: 12px 16px;
  border: 1px solid #2e7d32;
  border-left-width: 4px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.6;
  color: #1b5e20;
  background: #e6f4ea;
}

/* DT-013: display:none は支援技術からも消えるため CF7 標準の visually-hidden 形へ */
.screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

.map {
  margin: 10px 0;
}

@media screen and (min-width: 500px) {
  /*フッター(SP用420以上)*/
  footer .tel {
    margin-top: 0px;
  }
  footer .mail {
    margin-top: -4px;
  }
  .icon_tel {
    width: 26px;
  }
  .icon_mail {
    width: 26px;
  }
  h1 img {
    width: 290px;
    height: auto;
  }
  #button {
    top: 27.5px;
    width: 45px;
    height: 45px;
  }
  /*大項目*/
  h2 {
    text-align: center;
    height: 70px;
    line-height: 70px;
    font-size: 35px;
    margin-bottom: 20px;
  }
  h2 img {
    height: 27px;
  }
}
@media screen and (min-width: 960px) {
  /*PC用表示*/
  .index_body {
    margin-top: 100px;
  }
  .l-header-content {
    padding: 10px 30px;
  }
  /*標準フォントサイズ変更*/
  body {
    font-size: 18px;
    margin-top: 100px;
  }
  /* ヘッター */
  h1 {
    padding-right: initial;
    width: 185px;
    display: block;
  }
  h1 img {
    width: auto;
    height: 40px;
    padding-top: initial;
  }
  /*アドレス*/
  .icon_tel {
    position: relative;
    width: 15px;
    height: auto;
    top: 2px;
  }
  .icon_mail {
    position: relative;
    width: 30px;
    height: auto;
    top: 7px;
  }
  .hava {
    display: block;
    position: relative;
    padding-right: 50px;
    padding-left: 50px;
    z-index: 0;
  }
  /*大項目*/
  h2 img {
    height: 32px;
    margin-bottom: 20px;
  }
  #topbutton {
    margin-bottom: 100px;
  }
  .box {
    float: right;
    display: block;
    width: -webkit-calc(100% - 220px);
    width: calc(100% - 220px);
    margin-top: 0px;
    margin-bottom: 100px;
  }
  .con_item {
    display: inline;
    position: relative;
    width: 150px;
    height: auto;
  }
  .fs_return {
    font-size: 18px;
  }
  /*フッター（PC用）*/
  .float_left {
    float: left;
    width: calc(50% - 10px);
    margin-top: 0;
  }
  .float_right {
    float: right;
    width: calc(50% - 10px);
    margin-top: 0;
  }
  .button {
    width: 100%;
    text-align: right;
  }
  textarea {
    /* 複数行のテキストフィールドをラベルにきちんと揃える */
    vertical-align: top;
    /* テキスト入力に十分な領域を与える */
    height: 300px;
    /* ユーザが textarea を垂直方向にリサイズできるようにする
       これが動作しないブラウザもある */
    resize: vertical;
  }
  label {
    /* すべてのラベルを同じサイズにして、きちんと揃える */
    display: block;
    width: 100%;
    margin-bottom: -17px;
  }
  table.type01 {
    width: calc(50% - 10px);
    border-collapse: collapse;
    text-align: left;
    line-height: 1.5;
  }
  #soushinbutton {
    text-align: right;
  }
}
@media screen and (min-width: 1201px) {
  /*PC用表示*/
  .hava {
    max-width: 1200px;
    position: relative;
    width: 980px;
    padding: initial;
    margin-left: auto;
    margin-right: auto;
    z-index: 0;
  }
  .box {
    float: right;
    display: block;
    width: 760px;
    margin-top: 0px;
    margin-bottom: 100px;
  }
  table.type01 tr {
    border-bottom: 1px #00479D solid;
  }
  .fs_return {
    font-size: 18px;
  }
  .con_item {
    display: inline;
    position: relative;
    width: 150px;
    height: auto;
  }
  textarea {
    /* テキスト入力に十分な領域を与える */
    height: 301px;
  }
  .button {
    /* ボタンを他のテキストフィールドと同じ場所に置く */
    width: 100%; /* label 要素と同じサイズ */
    text-align: right;
  }
}
