@charset "Shift_JIS";
/* CSS Document */
body,div,p,ul,ol,li,dl,dt,dd,table,th,td,img,h1,h2,h3,h4,h5,h6,form,select {
	padding:5;
	font-weight:normal;
	margin-top: 15;
}
body {
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Osaka,"ＭＳ Ｐゴシック",Sans-Serif;
	margin: 0; 
	padding: 0;
	text-align: center; /* containerが中央ぞろえ */
	font-size:14px;	
	color: #000000;
	border-top: 3px solid #FF66CC;
	line-height:1.5em;
}

img{
  border:none;
}

a{
  text-decoration:none;
}

a:link{
  color:#3366FF;
}

a:visited{
  color:#000099;
}

a:active{
  color:#FF0000;
}

a:hover{
  color:#FF3333;
  text-decoration: none;
}


#container {
	width: 940px;  /* テキストがブラウザの初期設定のフォントサイズのままである場合は、この幅により、800px のブラウザウィンドウに収まるコンテナが設定されます */
	background: #FFFFFF;
	margin: 0 auto; /* 自動マージン（幅と連動）により、ページが中央揃えになります */
	border: 0px none #000000;
	text-align: left; /* この設定は body エレメントの text-align: center より優先されます。 */
} 
#header {
	padding: 0 0px;  /*余白*/
} 
#header h1 {
	margin: 0; /* #header div の最後のエレメントのマージンを 0 に設定することにより、マージンの相殺（div 間の原因不明のスペース）が回避されます。div の周囲に境界線が適用されている場合は、境界線によってマージンの相殺が回避されるため、この操作は不要です */
	padding: 10px 0; /* マージンの代わりに余白を使用して、エレメントを div の端に接触しない位置に維持することができます */
}

/*--menu --*/
#menu{
	margin:10px 0 0;
}


#sidebar{
	float: left;
	width: 198px; /* 背景色は、列内のコンテンツの長さにわたって表示されます */
	padding: 15px 0; /* 上余白と下余白により、この div 内に視覚的なスペースが設定されます */
}

#sidebarh3, #sidebarp {
	margin-left: 10px; /* サイドバーに配置されるすべてのエレメントに左マージンと右マージンが設定されている必要があります */
	margin-right: 10px;
}

#mainContent {
	float:right;
	width: 730px; /* 右マージンは、em またはピクセルで設定できます。これにより、ページの右側にスペースが設定されます。 */
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0px;
} 

/*--title---- */
h2.title{
  position: relative;
  padding-left: 25px;
	margin-right:20px;
}
h2.title:before {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 0;
  width: 0;
  height: 0;
  border: none;
  border-left: solid 15px transparent;
  border-bottom: solid 15px #87cefa;
}

h2.title:after {
  position: absolute;
  content: '';
  bottom: -3px;
  left: 10px;
  width: 100%;
  border-bottom: solid 3px #87cefa;
}
/*--サブコンテンツ--*/
#subContent {
	width:850px;
	float:none;
	margin-top: 15;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 45px;
}


#kyujin_list{
	clear:both;
	float:left;
	width:725px;
	height:380px;
	margin:10px 0 0px 0px;
	padding:0;
	background-color:#FFFFFF;
	overflow-y:scroll;
}



#kyujin_list ul{
  margin:0;
  padding:0;
  list-style:none;
  text-align:left;
}



#kyujin_list li{
  margin:0;
  padding:6px 8px;
}

#img_m_l{
	float:left;
	margin: 15px 0 10px 15px;
}

#footer {
	padding: 0 10px;
	clear:both;
} 
#footer p {
	margin: 0; 
	padding: 10px 0; 
}

/* 再使用できる各種クラス */
.fltrt { /* このクラスは、ページ上でフローティングエレメントを右側に配置するのに使用できます。プローティングエレメントは、ページ上でその横に配置されるエレメントの前に配置される必要があります。 */
	float: right;
	margin-left: 8px;
}
.fltlft { /* このクラスは、ページ上でフローティングエレメントを左側に配置するのに使用できます */
	float: left;
	margin-right: 8px;
}
#footer_cl{
	border-top-width: 3px;
	border-top-style: solid;
	border-top-color: #FF66CC;
}

[if IE]>
/* この条件分岐コメントにすべてのバージョンの IE を対象とした css のフィックスを配置します */
#sidebar{ padding-top: 30px; }
#mainContent {
	zoom: 1;
}
/* 上述の専用のズームプロパティにより、いくつかのバグを回避するのに必要な hasLayout が IE に対して設定されます */

.clear_both{
  clear:both;
}

.navi{
	line-height:1.5em;
}

#map_img{
	float:left;
	border:10px;
}

#map_sel{
	float:right;
	width:350px;
	border:10px;
}

table.type01 {
	width:100%;
	border-collapse: collapse;
	text-align: left;
	border: 1px solid #ccc;
}
table.type01 th {
	padding: 10px;
	font-weight: bold;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.type01 td {
	padding: 10px;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.type02 {
	width:100%;
	border-collapse: collapse;
	text-align: left;
	border: 1px solid #ccc;
}
table.type02 th {
	padding: 5px;
	font-weight: bold;
	vertical-align: top;
	border: 1px solid #ccc;
}

table.type02 td {
	padding: 5px;
	vertical-align: top;
	border: 1px solid #ccc;
}

div#news dl dt {
	display:none;
}
div#news dl dd {
	padding-left:10px;
	margin:0;
}
div#news dl{
	overflow: hidden;
}
h2.news {
	clear:both;
	font-size: 20px;
	text-align: left;
	border-left: solid 8px #ffa500;
	border-bottom: 1px solid gray;
	padding: 4px 6px;
	margin:15 0 0 0;
}
/*お問い合わせフォーム用8/3*/
/***** コンタクトフォーム *****/
.table-contactform7{
overflow: hidden;
table-layout: fixed;
}

.required-contactform7{
padding: 5px;
background: #DE8686;
color: #fff;
border-radius: 3px;
margin-right: 3px;
}

.unrequired-contactform7{
padding: 5px;
background: #BDBDBD;
color: #fff;
border-radius: 3px;
margin-right: 3px;
}

.table-contactform7 th{
font-weight:bold;
width:28%;
}

.table-contactform7 input,
.table-contactform7 textarea{
max-width: 90% !important;
margin: 5px 10px 10px 5px;
}

.address-100 input{
max-width: 90% !important;
margin: 5px 10px 10px 5px;
}

.message-100 textarea{
width: 100%;
margin: 5px 10px 10px 5px;
}


.wpcf7-submit {
width: 100%;
border-radius: 20px;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
background-image: linear-gradient(45deg, #00BCD4 0%, #009688 100%);
color: #fff;
border: none !important;
margin: 0 auto;
padding: 10px;
display: block;
box-sizing: border-box;
}


下記はスマホサイズ時のフォームのCSS修正箇所です。適宜修正してください。

@media print, screen and (max-width: 599px) {


/* コンタクトフォーム　*/


.table-contactform7{
display:block;
}

.table-contactform7 tbody,
.table-contactform7 tr{
display: block;
width: 100%;
}
.table-contactform7 th{
width: 100%;
display: block;
margin: 0 auto;
padding: 10px;
text-align: left;
}
.table-contactform7 td{
display: list-item;
list-style-type:none;
margin:0;
padding:0;
width: 100%;
border-top: none !important;
}


}