@charset "utf-8";

/* --box_large-- */
div#wrapper div#container div#content div#contact div.box_large {
	width: 670px;
	margin: 0 auto;
	background: url(https://harmony-office.com/images/main/profile/staff/bg_line_tate.gif) center top repeat-y;
	overflow: hidden;
}
div#wrapper div#container div#content div#contact div.box_large h3 {
	width: 290px;
	margin-top: 0;
	background: url(https://harmony-office.com/images/main/common/bg_ti3_half.jpg) center left no-repeat;
}
div#wrapper div#container div#content div#contact div.box_large div.box_faq {
	width: 315px;
	float: left;
}
div#wrapper div#container div#content div#contact div.box_large div.box_faq p.explain {
	padding: 0 77px 0 0;
	min-height: 100px;
    height: auto !important;  
    height: 100px;
	background: url(https://harmony-office.com/images/main/contact/bg_faq.jpg) right top no-repeat;
}
div#wrapper div#container div#content div#contact div.box_large div.box_tel {
	width: 315px;
	float: right;
}
div#wrapper div#container div#content div#contact div.box_large p.end {
	margin-bottom: 0;
}

/* --form-- */
div#wrapper div#container div#content div#contact form {
	background: url(https://harmony-office.com/images/main/common/bg_line_transparent.gif) center top no-repeat;
}
div#wrapper div#container div#content div#contact form table {
	border: none;
}
div#wrapper div#container div#content div#contact form table tr th {
	width: 180px;
	background: url(https://harmony-office.com/images/main/common/bg_line_transparent.gif) center bottom no-repeat;
	vertical-align: top;
}
div#wrapper div#container div#content div#contact form table tr th img {
	margin: 0 0 0 7px;
	vertical-align: middle;
}
div#wrapper div#container div#content div#contact form table td input ,
div#wrapper div#container div#content div#contact form table td select ,
div#wrapper div#container div#content div#contact form table td textarea {
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
}
div#wrapper div#container div#content div#contact form table td input ,
div#wrapper div#container div#content div#contact form table td select {
	width: 220px;
	margin: 0 0 3px 0;
	padding: 3px 5px;
	background: #fcfcfc;
	border: 1px solid #c2c2c2;
}
div#wrapper div#container div#content div#contact form table td textarea {
	width: 400px;
	height: 190px;
	padding: 5px;
	background: #fcfcfc;
	border: 1px solid #c2c2c2;
}
div#wrapper div#container div#content div#contact form table td ul.attribute , div#wrapper div#container div#content div#contact form table td ul.attribute li {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-image: none;
}
div#wrapper div#container div#content div#contact form table td ul.attribute {
	width: 400px;
	overflow: hidden;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li {
	padding: 3px;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate {
	margin: 0 0 1em 0;
	background: #f2fafd;
	border: 1px solid #B4E0F5;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate p {
	margin: 0.7em 2.5em;
	font-size: 14px; /* %から変更 */
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate dl {
	margin: 0 2.5em;
	font-size: 14px; /* %から変更 */
	overflow: hidden;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate dl dt {
	font-weight: bold;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate dl dd {
	margin: 0 0 0.7em 0;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li.personal {
	background: #f2faf5;
	border: 1px solid #A0D8B9;
}
div#wrapper div#container div#content div#contact form table td ul.attribute li label input {
	width: auto;
	margin-right: 5px;
}

/*-- メール受信設定について追記141015 --*/
div#wrapper .mail_caution{
  color: #D53939;
  font-size: 14px; /* %から変更 */
  border: 1px solid #DC5F5F;  
  padding: 10px;
}

div#wrapper div#container div#content div#contact form table tr td .address_caution{
  color: #D53939;
  font-size: 13px; /* %から変更 */
  line-height: 150%;
  margin: 5px 0;
  text-indent: -1em;
  padding-left: 1em;
}

/*-- 迷惑メール等対策追記240805 --*/
div#wrapper div#container div#content div#contact div#mail_caution{
  color: #FF0000;
}

div#wrapper div#container div#content div#contact div#mail_caution h4{
  background: none;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0 0 4px;
  font-size: 1.084em;
  line-height: 1.4;
}

div#wrapper div#container div#content div#contact div#mail_caution span{
  font-weight: bold;
}


/* スマホメニュー用CSSの干渉を防ぎ、フォームの入力欄を強制表示する */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    display: inline-block !important;
}

/* ラジオボタン・チェックボックス用の表示設定 */
.wpcf7 input[type="radio"],
.wpcf7 input[type="checkbox"] {
    display: inline !important;
}

/* 送信ボタン用の表示設定 */
.wpcf7 input[type="submit"] {
    display: inline-block !important;
	font-size: 24px;
	padding: 5px 20px;
}
div.mfp_buttons{
	clear: both;
    padding: 10px 0px;
    text-align: center;
}


/* =========================================================
   ここから追加：スマホ対応（レスポンシブ）
========================================================= */
@media screen and (max-width: 768px) {
    /* 外枠の幅を100%にする */
    div#wrapper div#container div#content div#contact div.box_large,
    div#wrapper div#container div#content div#contact div.box_large h3,
    div#wrapper div#container div#content div#contact form table td ul.attribute,
    div#wrapper div#container div#content div#contact form table td textarea {
        width: 100% !important;
        box-sizing: border-box;
    }
    
    /* よくあるご質問・電話の並びを縦にする */
    div#wrapper div#container div#content div#contact div.box_large {
        background: none; /* 中央の縦線を消す */
    }
    div#wrapper div#container div#content div#contact div.box_large div.box_faq,
    div#wrapper div#container div#content div#contact div.box_large div.box_tel {
        width: 100%;
        float: none;
        margin-bottom: 20px;
    }
    
    /* フォームのテーブルを縦積みにする */
    div#wrapper div#container div#content div#contact form table,
    div#wrapper div#container div#content div#contact form table tbody,
    div#wrapper div#container div#content div#contact form table tr,
    div#wrapper div#container div#content div#contact form table th,
    div#wrapper div#container div#content div#contact form table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    /* 項目の見出し（th）のデザイン調整 */
    div#wrapper div#container div#content div#contact form table tr th {
        background: none;
        border-bottom: 2px solid #eaeaea;
        padding-bottom: 8px;
        margin-top: 15px;
        margin-bottom: 5px;
    }
    
    /* 入力エリアをスマホ幅いっぱいに広げる */
    div#wrapper div#container div#content div#contact form table td input[type="text"],
    div#wrapper div#container div#content div#contact form table td input[type="email"],
    div#wrapper div#container div#content div#contact form table td input[type="tel"],
    div#wrapper div#container div#content div#contact form table td select {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* 法人の属性枠などの余白調整 */
    div#wrapper div#container div#content div#contact form table td ul.attribute li.corporate dl {
        margin: 0 10px;
    }
}