/*
Theme Name: FAKE Child
Theme URI: https://tcd-theme.com/tcd074/
Template: fake_tcd074
Author: TCD
Author URI: https://tcd-theme.com/
Description: WordPress theme "FAKE" was developed to help you build a corporate website quickly. The simple site structure reduces work costs and creates a memorable website.
Version: 2.11.1.1785734454
Updated: 2026-08-03 14:20:54

*/
/* ==================================================
   テレメ：工事までの流れ
================================================== */

.tereme-flow-intro {
  margin: 0 0 42px;
  line-height: 2;
  text-align: center;
}

.tereme-flow-note {
  margin: 0 0 42px;
  padding: 20px 24px;
  border-left: 5px solid #164a78;
  background: #f1f6fa;
  color: #263746;
  line-height: 1.9;
}

.tereme-flow-note strong {
  color: #164a78;
  font-size: 17px;
}

.ptimeline-wrap .tereme-flow .ptimeline-title {
  color: #164a78 !important;
  font-size: 18px;
}

.ptimeline-wrap .tereme-flow .ptimeline-main {
  padding-bottom: 26px;
  color: #263746 !important;
  font-size: 15px;
  line-height: 2;
}

.ptimeline-wrap .tereme-flow .ptimeline-marker {
  border-color: #164a78 !important;
}

.ptimeline-wrap .tereme-flow .ptimeline-item:first-child .ptimeline-marker,
.ptimeline-wrap .tereme-flow .ptimeline-item:last-child .ptimeline-marker {
  background: #164a78 !important;
}

.ptimeline-wrap .tereme-flow .ptimeline-item::before {
  background: #d9e4ed !important;
}

.tereme-flow-cta {
  margin-top: 42px;
  text-align: center;
}

.tereme-flow-cta p {
  margin-bottom: 16px;
  font-weight: 700;
}

.tereme-flow-cta a {
  display: inline-block;
  padding: 16px 34px;
  background: #164a78;
  color: #fff !important;
  font-weight: 700;
}

.tereme-flow-cta a:hover {
  background: #0f3659;
}

@media screen and (max-width: 767px) {
  .tereme-flow-intro {
    text-align: left;
  }

  .tereme-flow-note {
    padding: 16px;
    font-size: 14px;
  }

  .tereme-flow-note strong {
    font-size: 15px;
  }

  .ptimeline-wrap .tereme-flow .ptimeline-title {
    font-size: 16px;
  }

  .ptimeline-wrap .tereme-flow .ptimeline-main {
    font-size: 14px;
  }

  .tereme-flow-cta a {
    width: 100%;
    box-sizing: border-box;
  }
}
/* ==================================================
   テレメ：写真でかんたん無料見積りフォーム
================================================== */

.estimate-form form {
  padding: 34px;
  border: 1px solid #dbe4eb;
  background: #fff;
}

/* 項目間の無駄な余白を整理 */
.estimate-form label {
  display: block;
  margin: 0 0 24px;
  color: #111827;
  font-weight: 700;
  line-height: 1.7;
}

.estimate-form p {
  margin: 0 0 24px;
}

/* 必須・任意バッジ */
.estimate-form .red,
.estimate-form .blue {
  display: inline-block;
  margin-left: 7px;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  vertical-align: middle;
}

.estimate-form .red {
  background: #c93232;
  color: #fff;
}

.estimate-form .blue {
  background: #788896;
  color: #fff;
}

/* 入力欄・プルダウン */
.estimate-form input[type="text"],
.estimate-form input[type="email"],
.estimate-form input[type="tel"],
.estimate-form textarea,
.estimate-form select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin-top: 8px;
  padding: 13px 14px;
  border: 1px solid #cbd6df;
  border-radius: 3px;
  background: #fff;
  color: #111827;
  font-size: 16px;
  line-height: 1.5;
}

.estimate-form select {
  min-height: 50px;
}

.estimate-form textarea {
  min-height: 150px;
  resize: vertical;
}

.estimate-form input:focus,
.estimate-form textarea:focus,
.estimate-form select:focus {
  border-color: #164a78;
  outline: 3px solid rgba(22, 74, 120, 0.14);
}

/* 中分類の見出し */
.estimate-form .estimate-section-title {
  margin: 34px 0 12px;
  padding: 11px 14px;
  border-left: 5px solid #164a78;
  background: #f1f6fa;
  color: #164a78;
  font-size: 17px;
  font-weight: 700;
}

/* チェックボックス・ラジオを押しやすい選択肢に */
.estimate-form .wpcf7-list-item {
  display: inline-block;
  margin: 0 8px 9px 0;
}

.estimate-form .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #cbd6df;
  border-radius: 4px;
  background: #fff;
  color: #263746;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
  transition: 0.15s ease;
}

.estimate-form .wpcf7-list-item label:hover {
  border-color: #164a78;
  background: #f1f6fa;
}

.estimate-form .wpcf7-list-item input {
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  accent-color: #164a78;
}

/* 写真アップロード欄 */
.estimate-form input[type="file"] {
  display: block;
  width: 100%;
  margin-top: 8px;
  padding: 12px;
  box-sizing: border-box;
  border: 1px dashed #8ca4b6;
  border-radius: 4px;
  background: #f7fafc;
}

.estimate-form .form_note {
  margin-top: -14px;
  padding: 12px 14px;
  border-left: 3px solid #e3a83b;
  background: #fff8e8;
  color: #5d5139;
  font-size: 13px;
  line-height: 1.7;
}

/* 同意・送信 */
.estimate-form .wpcf7-acceptance {
  display: block;
  margin: 28px 0 20px;
  text-align: center;
}

.estimate-form input[type="submit"] {
  display: block;
  width: min(100%, 430px);
  margin: 0 auto;
  padding: 18px 20px;
  border: 0;
  border-radius: 3px;
  background: #164a78;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
}

.estimate-form input[type="submit"]:hover {
  background: #0e3659;
}

@media screen and (max-width: 767px) {
  .estimate-form form {
    padding: 22px 16px;
  }

  .estimate-form label {
    margin-bottom: 20px;
  }

  .estimate-form .estimate-section-title {
    margin-top: 28px;
    font-size: 16px;
  }

  .estimate-form .wpcf7-list-item {
    display: block;
    margin-right: 0;
  }

  .estimate-form .wpcf7-list-item label {
    width: 100%;
    box-sizing: border-box;
  }

  .estimate-form input[type="submit"] {
    width: 100%;
    font-size: 16px;
  }
}

/* Contact Form 7が自動挿入する余計な改行を消す */
.estimate-form form > p > br,
.estimate-form form > p > label > br {
  display: none !important;
}

/* 基本項目の間隔をコンパクトに */
.estimate-form label {
  margin: 0 0 16px !important;
}

.estimate-form p {
  margin: 0 0 20px !important;
}

/* エラー表示が出た場合の余白 */
.estimate-form .wpcf7-not-valid-tip {
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.5;
}
/* 選択肢を横並びのカード型に */
.estimate-form .wpcf7-checkbox,
.estimate-form .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 10px;
}

.estimate-form .wpcf7-list-item {
  display: block !important;
  margin: 0 !important;
}

.estimate-form .wpcf7-list-item label {
  min-height: 44px;
  margin: 0 !important;
  padding: 8px 12px;
}

@media screen and (max-width: 767px) {
  .estimate-form .wpcf7-checkbox,
  .estimate-form .wpcf7-radio {
    display: block;
  }

  .estimate-form .wpcf7-list-item {
    margin: 0 0 8px !important;
  }
}


/* 有限会社テレメ：よくある質問 */
.tereme-faq-intro {
  margin: 0 0 48px;
  line-height: 2;
  text-align: center;
}

.tereme-faq {
  margin: 0 0 52px;
  border-top: 1px solid #d9e0e6;
}

.tereme-faq details {
  border-bottom: 1px solid #d9e0e6;
}

.tereme-faq summary {
  position: relative;
  display: block;
  padding: 22px 58px 22px 54px;
  color: #111827;
  font-weight: bold;
  line-height: 1.7;
  cursor: pointer;
  list-style: none;
}

.tereme-faq summary::-webkit-details-marker {
  display: none;
}

.tereme-faq summary::before {
  position: absolute;
  top: 20px;
  left: 18px;
  color: #164a78;
  font-size: 22px;
  font-weight: 700;
  content: "Q";
}

.tereme-faq summary::after {
  position: absolute;
  top: 26px;
  right: 22px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #164a78;
  border-bottom: 2px solid #164a78;
  content: "";
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.tereme-faq details[open] summary {
  background: #f3f7fa;
}

.tereme-faq details[open] summary::after {
  top: 31px;
  transform: rotate(225deg);
}

.tereme-faq-answer {
  padding: 22px 28px 24px 54px;
  background: #f3f7fa;
  line-height: 2;
}

.tereme-faq-answer p {
  margin: 0;
}

.tereme-faq-answer::before {
  display: inline-block;
  margin-right: 10px;
  color: #164a78;
  font-size: 18px;
  font-weight: 700;
  content: "A";
}

.tereme-faq-cta {
  margin-top: -12px;
  text-align: center;
}

.tereme-faq-cta a {
  display: inline-block;
  padding: 16px 34px;
  background: #164a78;
  color: #fff !important;
  font-weight: bold;
  text-decoration: none;
}

.tereme-faq-cta a:hover {
  background: #0f3659;
}

@media screen and (max-width: 767px) {
  .tereme-faq-intro {
    text-align: left;
  }

  .tereme-faq summary {
    padding: 18px 45px 18px 42px;
    font-size: 14px;
  }

  .tereme-faq summary::before {
    top: 16px;
    left: 12px;
    font-size: 18px;
  }

  .tereme-faq summary::after {
    right: 16px;
  }

  .tereme-faq-answer {
    padding: 18px 18px 20px 42px;
    font-size: 14px;
  }

  .tereme-faq-cta a {
    width: 100%;
    box-sizing: border-box;
  }
}
/* ************************************************ 
*   固定ページ（運営元）の表デザイン
* ************************************************ */
.kaisha {
width: 100%;
}

.kaisha th,
.kaisha td {
border: 1px solid #ccc;
padding: 20px;
}

.kaisha th {
font-weight: bold;
background-color: #dedede; 
}

@media screen and (max-width: 767px) {
.kaisha,
.kaisha tr,
.kaisha td,
.kaisha th {display:block;}
.kaisha th {width:auto;}
}
/* ************************************************ 
*   サイト全体のフォント一括設定
* ************************************************ */
 {
font-family: "Yu Gothic Light", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "Yu Gothic Light", sans-serif !important;
}

/* ************************************************ 
*   コンタクトフォーム入力漏れの箇所を赤く表示するやつ
* ************************************************ */
    .wpcf7 .wpcf7-not-valid {
     background: #ffb6c1;
     }
     .wpcf7 .wpcf7-validation-errors {
     color: #B94A48;
     background-color: #F2DEDE;
     border: 1px solid #EED3D7;
     }
     .wpcf7 .wpcf7-mail-sent-ok {
     color: #3A87AD;
     background-color: #D9EDF7;
     border: 1px solid #BCE8F1;
     }

/* ************************************************ 
*   マイクロコピー
* ************************************************ */
.micro_moji {
line-height: 2.3em;
text-align:center;
margin: 0px 0px 30px 0px;	
}
.micro_moji_01 {
	font-size: 140%;
	font-weight:bold;
	line-height: 1.0em;
}
.micro_moji_02 {
	font-size: 140%;
	font-weight:bold;
	line-height: 1.1em;
	margin: 0px 0px 10px 0px;
text-align:center;
}

/* ************************************************ 
*   下線リンク消す
* ************************************************ */
a {
    text-decoration:none !important;
}

/* ************************************************ 
*   デフォ（ボタン1）
* ************************************************ */
.q_custom_button1 {
margin: 10px 0px 0px 0px;	
}

/* ************************************************ 
*   番号が付与される見出し
* ************************************************ */
h2.midashi_2 {
    font-weight: bold;
    border-bottom: 1px solid #171717;
    border-top: 1px solid #171717;
    position: relative;
    counter-increment: titleNum;
	padding: .4em 0 .5em 2em !important;
    @display: block;
	text-align: left !important;

}
h2.midashi_2::before {
    font-size: .9em;
    content: counter(titleNum);
    width: 28px;
    height: 28px;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    -o-border-radius: 100%;
    border-radius: 100%;
    line-height: 28px;
    color: #fff;
    background-color: #fb4768;
    position: absolute;
    left: 0;
    top: .5em;
    text-align: center;
	font-weight:bold;
}

/* ************************************************ 
*   見出し3
* ************************************************ */
h3.midashi_3 {
  padding: .25em 0 .25em .75em !important;
  border-left: 6px solid #fe768f;
  border-bottom: 1px solid #ccc;	
}

/* ************************************************ 
*   見出し4
* ************************************************ */
h4.midashi_4 {
  font-size: 1.3em;		
  position: relative;
  padding: 0 .5em .5em 2em !important;
  /*border-bottom: 1px solid #3a3a3a;*/
}
h4.midashi_4::before,
h4.midashi_4::after {
  position: absolute;
  content: '';
  border-radius: 100%
}
h4.midashi_4::before {
  top: .2em;
  left: .2em;
  z-index: 2;
  width: 18px;
  height: 18px;
  background: #fe768f;
}
h4.midashi_4::after {
  top: .7em;
  left: .7em;
  width: 13px;
  height: 13px;
  background: #fdb9c5;
}
/* ************************************************ 
*   見出し5
* ************************************************ */
h5.midashi_5 {
  font-size: 1.1em;		
  position: relative;
  padding: 0 .5em .5em 2.0em !important;

}
h5.midashi_5::after {
  position: absolute;
  top: .4em;
  left: .8em;
  z-index: 2;
  content: '';
  width: 12px;
  height: 12px;
  background-color: #f96e74;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


/*********************************
* タイムライン
*********************************/
.ptimeline-wrap{
    margin:0 auto 2rem;
}
.ptimeline-wrap .ptimeline{
    padding:0 !important;
    list-style:none !important;
}
.ptimeline-wrap .ptimeline-label {
    padding: 3px 0 0 2px;
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
}
.ptimeline-wrap .ptimeline-title {
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
    color:#00bfff;
}
.ptimeline-wrap .ptimeline-main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 0.9em;
    line-height: 1.8;
    border-bottom: dashed 1px #ddd;
    color:#555;
}
.ptimeline-wrap .ptimeline-main img{
  display:block;
  margin:1em auto;
}
.ptimeline-wrap .ptimeline-item {
    position: relative;
    padding: 0 0 1em 1.5em !important;
    margin-bottom:0 !important;
    border:none;
}
.ptimeline-wrap .ptimeline .ptimeline-item:before {
    content: "";
    width: 3px;
    background: #eee !important;
    display: block;
    position: absolute;
    top: 25px;
    bottom: -3px;
    left: 5px;
}
.ptimeline-wrap .ptimeline-item:last-child:before{
    content:none;
}
/*********************************
* タイムライン マーカー
*********************************/
.ptimeline-wrap .ptimeline-marker{
    display: block;
    position: absolute;
    content: "";
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px #00bfff;
}
.ptimeline-wrap .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .ptimeline-item:last-child .ptimeline-marker{
    background:#00bfff;
}
/*四角 */
.ptimeline-wrap .square .ptimeline-marker{
    border-radius: 0;
}
/* アイコン*/
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .icon .ptimeline-item .ptimeline-marker:before{
    font-family: "Font Awesome 5 Free";
    top: -1px;
    left: 0;
    position:absolute;
    font-weight:bold;
    font-size:16px;
    line-height:1;
    color:#00bfff;
}
.ptimeline-wrap .icon .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .icon .ptimeline-item:last-child .ptimeline-marker{
    background:none !important;
}
/* 画像*/
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker{
    content:unset;
    border:none !important;
    background:none !important;
}
.ptimeline-wrap .tl-img .ptimeline-item .ptimeline-marker:before {
    content:"";
    display:inline-block;
    background-image:url(ここに画像URL); /* 画像1番目*/
    background-size:contain;
    background-repeat:no-repeat;
    width:40px;
    height:40px;
    position: relative;
    top: -4px;
    left: -2px;
}
.ptimeline-wrap .tl-img li:nth-of-type(2) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像2番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(3) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像3番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(4) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像4番目*/
}
.ptimeline-wrap .tl-img li:nth-of-type(5) > .ptimeline-marker:before{
    background-image:url(ここに画像URL) !important; /* 画像5番目*/
}
.ptimeline-wrap .tl-img .ptimeline-item {
    padding: 0 0 1em 3em !important;
}
.ptimeline-wrap .tl-img .ptimeline-item:before {
    top: 30px;
    left: 15px;
}
/*********************************
* タイムライン カラー
*********************************/
/* ピンク */
.ptimeline-wrap .pink .ptimeline-title{
    color:#f7bcbc !important; /* タイトル色 */
}
.ptimeline-wrap .pink .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .pink .ptimeline-marker{
    border: solid 3px #f7bcbc !important; /* マーカー色 */
    color:#f7bcbc; /* アイコン色 */
}
.ptimeline-wrap .pink .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .pink .ptimeline-item:last-child .ptimeline-marker{
    background:#f7bcbc; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .pink .ptimeline-item .ptimeline-marker:before{
    color:#f7bcbc !important; /* アイコン色 */
}
/*イエロー*/
.ptimeline-wrap .yellow .ptimeline-title{
    color:#fdc44f !important; /* タイトル色 */
}
.ptimeline-wrap .yellow .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .yellow .ptimeline-marker{
    border: solid 3px #fdc44f !important; /* マーカー色 */
    color:#fdc44f; /* アイコン色 */
}
.ptimeline-wrap .yellow .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .yellow .ptimeline-item:last-child .ptimeline-marker{
    background:#fdc44f; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .yellow .ptimeline-item .ptimeline-marker:before{
    color:#fdc44f !important; /* アイコン色 */
}
/*グリーン*/
.ptimeline-wrap .green .ptimeline-title{
    color:#2fcdb4 !important; /* タイトル色 */
}
.ptimeline-wrap .green .ptimeline-main{
    color:#555 !important; /* コンテンツ色 */
}
.ptimeline-wrap .green .ptimeline-marker{
    border: solid 3px #2fcdb4 !important; /* マーカー色 */
    color:#2fcdb4; /* アイコン色 */
}
.ptimeline-wrap .green .ptimeline-item:first-child .ptimeline-marker,.ptimeline-wrap .green .ptimeline-item:last-child .ptimeline-marker{
    background:#2fcdb4; /* マーカー色(最初と最後)*/
}
.ptimeline-wrap .green .ptimeline-item .ptimeline-marker:before{
    color:#2fcdb4 !important; /* アイコン色 */
}

/*目次の真ん中寄せ*/
#toc_container {
	display: block !important;
	width: 80% !important;
	background: #fff; /* 背景色 */
	border: 1px solid #ccc; /* 枠 */
	font-size: 95%; /* フォントサイズ */
	box-sizing: border-box; /* スマホの横揺れ防止 */
	line-height: 1.4; /* 行間 */
	margin: 36px auto; /* 外側の余白 */
	padding: 1em 2em; /* 内側の余白 */
}
@media screen and (max-width: 640px) {

#toc_container {
	display: block !important;
	width: 100% !important;
}

}


/* ************************************************ 
*  テキストリンク 矢印うごくやつ
* ************************************************ */
.txt-link {
  font-size: 1.1em;
  font-weight: bold;
  margin: .8em 0 2em;
  /*text-align: center;*/
}
.txt-link.is-cv a {
  color: #2579f8;	
text-decoration: underline !important;	
  padding-left: 25px;
  position: relative;
}
.txt-link.is-cv a:before {
  color: #2579f8;
  content: "🍉";
  /*content: "\f061";	*/
    font-family: "font awesome 5 free";
  font-size: .9em;
  left: 0;
  margin: 0 5px 0 2px;
  position: absolute;
  text-shadow: 1px 2px 0 rgba(0,0,0,.3);
}

/* CVボタン矢印揺れ */
.is-trembling a:before {
  -webkit-animation-name:is-trembling;
  -webkit-animation-duration:.8s;
  -webkit-animation-iteration-count:infinite;
  -webkit-animation-timing-function:ease;
  -moz-animation-name:is-trembling;
  -moz-animation-duration:1s;
  -moz-animation-iteration-count:infinite;
  -moz-animation-timing-function:ease;
}
@-webkit-keyframes is-trembling {
  0% {-webkit-transform:translate(-3px, 0);}
  100% {-webkit-transform:translate(0, 0);}
}

/* ************************************************ 
*  枠付きリスト
* ************************************************ */
ul.list-matome {
  background: #fcfcfc;/*背景色*/
  padding: 0.5em 0.5em 0.5em 2em;/*ボックス内の余白*/
  border: solid 3px gray;/*線の種類 太さ 色*/
}

ul.list-matome li {
  line-height: 1.5; /*文の行高*/
  padding: 0.5em 0; /*前後の文との余白*/
}
/* ************************************************ 
*   マーカー
* ************************************************ */
.marker1 {
background: linear-gradient(transparent 60%, #ffdc98 50%);
}
.marker2 {
background: linear-gradient(transparent 60%, #ffbcd5 50%);
}
.marker3 {
background: linear-gradient(transparent 60%, #feff86 50%);
}
/* 無料見積りフォーム：基本入力項目の余白を詰める */
.estimate-form .wpcf7-form > p {
  margin: 0 !important;
  padding: 0 !important;
}

/* CF7が自動挿入する改行を消す */
.estimate-form .wpcf7-form > p > br,
.estimate-form .wpcf7-form > p label br {
  display: none !important;
}

/* 氏名・メール・電話・エリア・主な工事の間隔 */
.estimate-form .wpcf7-form > p > label {
  display: block !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  line-height: 1.6;
}

/* 最後の「主なご希望の工事」だけは次の項目と少し間を空ける */
.estimate-form .wpcf7-form > p > label:nth-of-type(5) {
  margin-bottom: 32px !important;
}

/* 基本項目の余白 */
.estimate-form .estimate-field {
  margin: 0 0 20px !important;
}

.estimate-form .estimate-field > label {
  display: block;
  margin: 0 !important;
}

.estimate-form .form-label {
  display: block;
  margin-bottom: 8px;
  font-weight: 700;
}

/* 中分類の間隔 */
.estimate-form .estimate-option-group {
  margin: 0 0 28px;
}

.estimate-form .estimate-option-group > strong {
  display: block;
  margin-bottom: 10px;
}

.estimate-form .estimate-form-footer {
  margin-top: 36px;
  text-align: center;
}

/* 送信ボタンは入力欄の共通デザインから除外 */
.estimate-form input[type="submit"] {
  width: auto !important;
  min-width: 320px;
  height: auto !important;
  margin: 20px auto 0 !important;
  padding: 16px 28px !important;
  display: block !important;
  border: none !important;
  border-radius: 4px !important;
  background: #164a78 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  cursor: pointer;
}

.estimate-form input[type="submit"]:hover {
  background: #0f365a !important;
}

@media screen and (max-width: 767px) {
  .estimate-form input[type="submit"] {
    width: 100% !important;
    min-width: 0;
  }
}