@charset "utf-8";
/*
Theme Name: ルート法律事務所
Theme URI: http://c-tpl.com/
Description: ルート法律事務所
Version: 1.0
Author: Cloud template
Author URI: http://c-tpl.com/
Tags: simple

	Cloud template v1.0
	 http://c-tpl.com/

	This theme was designed and built by Cloud template,
	whose blog you will find at http://c-tpl.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
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, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
  position: relative;
  font-family:"游ゴシック", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color:#333;
  -webkit-text-size-adjust: none;
  overflow-x: hidden;
}

.pc { display: block; }
.sp { display: none; }

/* リンク設定
------------------------------------------------------------*/
a{
  margin:0;
  padding:0;
  text-decoration:none;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  font-size:100%;
  color:#3d9c4f;
}

a:hover, a:active{
  outline: none;
  color:#3d9c4f;
  opacity: 0.8;
  text-decoration: underline;
}

p.btn {
  width: 40%;
  margin: 20px 0 20px auto;
}

#content p.btn {
  width: 60%;
}

p.btn a {
  position: relative;
  display: block;
  background: #37904a;
  padding: 15px 30px 20px;
  text-align: center;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
}

p.btn a:before {
  position: absolute;
  content: "";
  background: url("images/base/BtnArrow.png") 0 0 / 100% 100% no-repeat;
  top: 50%;
  right: 15px;
  width: 17px;
  height: 27px;
  transform: translateY(-50%);
}

p.btn a:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  background: #fff;
  left: 0;
  bottom: 5px;
}


/**** Clearfix ****/
nav .panel:after, nav#mainNav:after, .newsTitle:after, .bg:after,.post:after, ul.post li:after,nav#mainNav .inner:after{content:""; display: table;clear: both;}
nav .panel,nav#mainNav,.newsTitle,.bg, .post, ul.post li,nav#mainNav .inner{zoom: 1;}


/*見出し
*****************************************************/

#content h1:not(.style_none) {
  clear: both;
  position: relative;
  margin: 0 0 20px;
  padding: 10px 20px;
  font-size: 24px;
  font-weight: bold;
  color: #333;
  text-align: center;
}

#content h1:not(.style_none):after {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  background: #3d9c4f;
  bottom: 0;
  left: 0;
}

#content h2:not(.style_none) {
  clear: both;
  position: relative;
  background: #e8ffc7;
  margin: 20px 0;
  padding: 8px 20px 5px;
  font-size: 22px;
  font-weight: bold;
  color: #333;
  text-align: center;
}

#content h2:not(.style_none):before {
  position: absolute;
  content: "";
  background: #3d9c4f;
  width: 5px;
  height: 80%;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

#content h2:not(.style_none):after {
  position: absolute;
  content: "";
  background: #3d9c4f;
  width: 5px;
  height: 80%;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

#content h3:not(.style_none) {
  clear: both;
  position: relative;
  margin: 20px 0;
  padding: 8px 20px 10px;
  font-size: 20px;
  font-weight: bold;
  color: #333;
  text-align: center;
  border-bottom: 2px solid #a0a0a0;
}


 /* 下層ページリンクスタイル　※h3と揃える */
 
.plist { margin-top: 20px; }

.plist ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.plist li {
  clear: both;
  position: relative;
  margin: 20px 0;
  padding: 5px 20px 3px;
  border-bottom: 2px solid #a0a0a0;
  font-size: 20px;
  font-weight: bold;
  color: #333;
}

/* フォーム
------------------------------------------------------------*/
input[type="text"],input[type="email"],input[type="tel"], textarea{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #878787;
  background: -moz-linear-gradient(top, #878787 0%, #6f6f6f 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#878787), color-stop(100%,#6f6f6f));
  background: -webkit-linear-gradient(top, #878787 0%,#6f6f6f 100%);
  background: -o-linear-gradient(top, #878787 0%,#6f6f6f 100%);
  background: linear-gradient(to bottom, #878787 0%,#6f6f6f 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#878787', endColorstr='#6f6f6f',GradientType=0 );
  border:0;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:120%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
background: #878787;
background: -moz-linear-gradient(top, #6f6f6f 0%, #878787 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#6f6f6f), color-stop(100%,#878787));
background: -webkit-linear-gradient(top, #6f6f6f 0%,#878787 100%);
background: -o-linear-gradient(top, #6f6f6f 0%,#878787 100%);
background: linear-gradient(to bottom, #6f6f6f 0%,#878787 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6f6f6f', endColorstr='#878787',GradientType=0 );
cursor:pointer;
}

*:first-child+html input[type="submit"]{padding:3px;}


/* レイアウト
------------------------------------------------------------*/
#wrapper, .inner{
  width:1200px;
  margin:0 auto;
  box-sizing: border-box;
}

#content .inner {
  width:880px;
  margin:0 auto;
  box-sizing: border-box;
}

#header{
  overflow:hidden;
}

#content{
  float: right;
  width: 880px;
  padding: 20px 0 50px;
}

#sidebar{
  float:left;
  width:290px;
  padding: 20px 0;
}

#sidebar .side_nav {
  margin-bottom: 50px;
}

#sidebar .side_nav div > ul {
  margin: 0;
  padding: 0;
  border: 1px solid #3d9c4f;
}

#sidebar h1:not(.style_none) {
  clear: both;
  position: relative;
  background: #3d9c4f;
  margin: 0;
  padding: 10px 20px;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

/*第一階層*/

#sidebar .side_nav div > ul > li {
  position: relative;
  background: #fff;
  border-bottom: 1px solid #3d9c4f;
}

#sidebar .side_nav div > ul > li:last-child {
  border-bottom: none;
}

#sidebar .side_nav div > ul > li > a {
  position: relative;
  display: block;
  padding: 12px 10px 10px 30px;
  text-decoration: none;
  background: url("images/base/BgSnav1.png") 10px 50% no-repeat;
  box-sizing: border-box;
  color: #333;
}

#sidebar .side_nav div > ul > li:hover {
  background: #f0f0f0;
}

#sidebar .side_nav div > ul > li a:hover{
  opacity: 1;
  text-decoration: underline;
}

/*第二階層*/

#sidebar .side_nav div > ul > li > ul {
  padding: 0 10px 10px 20px;
}

#sidebar .side_nav div > ul > li > ul > li > a {
  position: relative;
  display: block;
  padding: 5px 0 3px 30px;
  text-decoration: none;
  background: url("images/base/BgSnav1.png") 10px 50% no-repeat;
  box-sizing: border-box;
  color: #333;
}

#sidebar .side_bn1 {
  margin-bottom: 30px;
}

#sidebar .side_bn1 li {
  margin-bottom: 10px;
}

#sidebar .side_bn1_1 {
  position: relative;
  margin-bottom: 30px;
}

#sidebar .side_bn1_1 .mail {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

#sidebar .side_bn2 {
  margin-bottom: 40px;
}

#sidebar .side_bn2 .side_bn2_1 {
  padding: 10px;
  border: 1px solid #3d9c4f;
}

#sidebar .side_bn3 .side_bn3_1 {
  padding: 13px;
  border: 1px solid #3d9c4f;
}

#sidebar .side_bn3 .office_name {
  font-size: 23px;
  text-align: center;
  font-weight: bold;
}

#sidebar .side_bn3 .office_img,
#sidebar .side_bn3 .tel_img {
  text-align: center;
}

#footer{
  padding: 10px 0;
  clear:both;
}

/* ヘッダー
*****************************************************/

/* サイト説明文
----------------------------------*/
#header h1{
padding:5px 0;
font-size:80%;
font-weight:normal;
}


/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2{
clear:both;
float:left;
padding:40px 5px 15px;
color: #515151;
font-weight:bold;
}

/* コンタクト
----------------------------------*/
.contact{
position: relative;
float:right;
padding:50px 0 0;
margin-bottom: 30px;
text-align:right;
color:#000;
font-size:90%;
}

.contact a {
margin-left: 3px;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg{
  position: relative;
  width: 100%;
  margin:0 auto;
  clear:both;
  line-height:0;
  z-index:0;
  background: #eee;
}

#mainImg .inner {
  position: relative;
}

/* メイン画像下エリア
----------------------------------*/

/* main_block1 */

.main_block1 {
  padding: 30px 0;
  margin-bottom: 50px;
}

.main_block1 p.title,.main_block2 p.title,.main_block3 p.title {
  padding-bottom: 8px;
  margin-bottom: 30px;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  border-bottom: 5px solid #3d9c4f;
}

.main_block1 ul {
  display: flex;
  justify-content: space-between;
}

/* main_block2 */
.main_block2 {
  margin-bottom: 50px;
}

.main_block2 ul {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.main_block2 ul li {
  margin-bottom: 10px;
}

.main_contact {
  position: relative;
  width: 1200px;
  margin: 0 auto 50px;
}

.main_contact .contact_btn {
  position: absolute;
  bottom: 4px;
  right: 15px;
}

/* main_block3 */

.main_block3 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.main_block3 ul li {
  margin-bottom: 10px;
}

.main_block3 ul li:last-child:hover {
  opacity: 0.8;
}

/* メインコンテンツ部分
*****************************************************/

/* top_block1 */
.top_block1 { margin-bottom: 50px;}

.top_block1 .img {
  float: left;
  margin: 10px;
}

/* top_block2, top_block3, top_block4 */
.top_block2,
.top_block3,
.top_block4 { margin-bottom: 40px; }

/* top_block2,top_block3 */

.top_block2 .inner,
.top_block3 .inner {
  margin-bottom: 30px;
}

.top_block2 .inner ul,
.top_block3 .inner ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top_block2 .inner li,
.top_block3 .inner li {
  margin-bottom: 10px;
}

/* top_contact */
.top_contact {
  position: relative;
  margin-bottom: 50px;
}

.top_contact .button {
  position: absolute;
  display: block;
  bottom: 9px;
  left: 70%;
  font-size: 0;
  transform: translateX(-50%);
}

/* top_block4 */

.top_block4 .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.top_block4 .img {
  margin-bottom: 10px;
}

.top_block4 .office {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8ffc7;
  min-height: 70px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

/* 新着情報 */

#top_info {
  margin-bottom: 50px;
}

#top_info h1 {
  margin-bottom: 0 !important;
}

#top_info dl dt {
  padding: 10px 0;
  margin: 0 0 10px 20px;
  line-height: 1.7em;
}

#top_info .news_date {
  display: inline-block;
  margin-right: 10px;
}

#top_info dl dd {
  margin: -45px 0 5px;
  padding: 0 0 10px 160px;
  border-bottom: 1px dashed #bfbfbf;
}

#top_info dl dd a {
  color: #333;
  text-decoration: none;
}


/* タイポグラフィ
*****************************************************/
h2.title{
clear:both;
margin:0;
padding:7px 10px 7px 10px;
font-size:110%;
color:#000;
border:1px solid #d5d5d5;
border-bottom:0;
}

.dateLabel{
text-align:right;
font-weight:bold;
color:#858585;
}

.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color: #000;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color: #333;
}

.post h3{
margin:10px 0;
font-size:100%;
font-weight:normal;
color:#2e2c2c;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:10px;
border: #ccc solid;
border-width: 0 0 1px 1px;
background:#efede7;
vertical-align: middle;
}

.post table td{
padding:10px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
vertical-align: middle;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

img.aligncenter {
display: block;
margin:5px auto;
}

img.alignright, img.alignleft{
margin: 10px 10px 15px 15px;
display:inline;
}

img.alignleft{margin:10px 15px 15px 10px;}

.alignright{float:right;}
.alignleft{float:left;}

#gallery-1 img{
border:1px solid #eaeaea !important;
padding:5px;
background:#fff;
}

#gallery-1 img:hover{background:#fffaef;}

/* お問い合わせフォーム
*****************************************************/
.wpcf7 {
  margin-bottom: 10px;
  border-top: 1px solid #ccc;
} 

.wpcf7 .inner {
  display:table;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-top: none;
}

.wpcf7_th, .wpcf7_td {
  display:table-cell;
  padding: 10px 0 10px 10px;
  background: #fff;
 }

.wpcf7_th {
  background: #ddd;
  text-align: left;
  width: 30%;
  vertical-align: top;
}

.wpcf7 p {
  margin-top: 20px;
}

.wpcf7 .tableWide {
  width:100% !important;
 }
 
.wpcf7 .tableWide tr {
  display:inline;
 }
 
.wpcf7 .tableWide th, .wpcf7 .tableWide td {
  display:block; 
  width: 100% !important; 
  box-sizing: border-box;
}

.wpcf7 .checkbox-97 .last input{
  display: none;
}

.wpcf7 .checkbox-97 .last span{
  /*margin-left:26px;*/
  display: block;
  padding-left: 25px;
}

.wpcf7_td span.wpcf7-list-item { margin: 0; }

/* パンくずリスト
*****************************************************/
.breadcrumbs { margin-bottom: 10px; }

/* フッター
*****************************************************/
#footer .inner {
  padding: 20px 0;
}

#footer .footer_logo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

#footer .footer_information {
  display: flex;
  justify-content: space-between;
}

#footer .footer_contact {
  width: 48%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#footer .footer_information .description {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}

#footer .footer_map {
  width: 48%;
  font-size: 0;
}

#footer .footer_office {
  display: none;
}


/* 固定バナー */
.footer_fix { display: none; }

#copyright{
  clear:both;
  padding:20px 0;
  text-align:center;
  color:#333;
  font-size:12px;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
clear:both;
width: 100%;
height: 30px;
margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}


/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 1200px){
	nav#mainNav {
	  position:relative;
	  z-index:200;
	  width:100%;
	}
	
	nav#mainNav .inner {
	  width: 100%;
	}
	
	nav#mainNav .inner .menu1,
	.footer_nav .menu1 {
	  position: relative;
	  background: linear-gradient(to bottom,#fff,#d8d7d8);
	  height: auto;
	  border: solid #b5b5b5;
	  border-width: 1px 0 1px 0;
	  padding-bottom: 8px;
	}
	
	nav#mainNav .inner .menu1:before,
	.footer_nav .menu1:before {
	  position: absolute;
	  content: "";
	  width: 100%;
	  height: 8px;
	  background: #3d9c4f;
	  bottom: 2px;
	  left: 0;
	}
	
	nav#mainNav ul,
	.footer_nav ul {
	  width: fit-content;
	  margin: 0 auto;
	  display: flex;
	}
	
	nav#mainNav ul li,
	.footer_nav ul li {
	  padding: 2px;
	  border-left: 1px solid #b5b5b5;
	}
		
	nav#mainNav ul li a,
	.footer_nav ul li a {
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  width: 129px;
	  height: 58px;
	  text-align: center;
	  color:#333;
	  font-size: 16px;
	  line-height: 1.1;
	}
		
	nav#mainNav ul li a:hover span,
	nav#mainNav ul li a:hover,
	.footer_nav ul li a:hover span,
	.footer_nav ul li a:hover {
	  text-decoration: none;
	  opacity: 1.0;
	  background: #3d9c4f;
	}
	
	nav#mainNav ul li:last-child,
	.footer_nav ul li:last-child {
	  border-right: 1px solid #b5b5b5;
	}
		
	nav div.panel {
	  display:block !important;
	}
	
	a#menu {
	  display:none;
	}
	
		/* グローバルナビ固定
	------------------------------------------------------------*/
	.fixed {
	  position: fixed !important;
	  top: 0;
	  width: 100%;
	  margin-bottom: -5px;
	  z-index: 10000;
	}
	
	.fixed_adjust {
	  padding-top: 50px;
	}
	
}

/* メインメニュー 1200pxサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width:1200px) {
	img {
	  max-width: 100%;
	}
	
	nav#mainNav a.menu{
	  position: absolute;
	  display:block;
	  width: fit-content;
	  height:37px;
	  top: 20px;
	  right: 2.5%;
	  text-align:left;
	}
	
	nav#mainNav a#menu span {
	  padding-left:35px;
	}
	
	nav#mainNav a#menu:hover {
	  cursor:pointer;
	}
	
	nav .panel {
	  position: relative;
	  display: none;
	  width:100%;
	  right: 0;
	  top:0;
	  z-index: 1;
	}

	nav#mainNav ul {
	  margin: 0;
	  padding: 0;
	}

	nav#mainNav ul li {
	  float: none;
	  clear:both;
	  width:100%;
	  height:auto;
	  line-height:1.0;
	}

	nav#mainNav ul li a,
	nav#mainNav ul li.current-menu-item li a {
	  display: block;
	  background: #3d9c4f;
	  padding:15px 10px;
	  text-align:left;
	  color: #fff;
	  border-bottom:1px solid #e5e5e5;
	}
 
	nav#mainNav ul li.current-menu-item a,
	nav#mainNav ul li a:hover,
	nav#mainNav ul li.current-menu-item a,
	nav#mainNav ul li a:active,
	nav#mainNav ul li li.current-menu-item a,
	nav#mainNav ul li.current-menu-item li a:hover,
	nav#mainNav ul li.current-menu-item li a:active {
	  background: #3d9c4f;
	}

		
}

/* 1200px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 1200px){
	img {
	  width: 100%;
	  height: auto;
	}
	
	.pc { display: none; }
	
	.sp { display: block; }
	
	#wrapper, .inner { width:100%; }
	
	#content .inner { width:100%; }

	#header {
	  width:96%;
	  padding:0 2%;
	}
	
	.contact { display: none; }
	
	/*nav#mainNav{width:95%;}*/
	nav#mainNav { width:100%; }

	nav#mainNav ul { margin:0 auto; }
	
	nav#mainNav ul ul { padding:0; }

	nav div.panel { float:none; }
	
	#mainImg { width: 100%; }
	
	#mainImg img{ width:100%; }
    	
	#content, #sidebar {
	  clear:both;
	  width:94%;
	  float:none;
	  margin:0 auto;
	  padding:10px 0 30px;
	}
	
	#sidebar .side_bn1 ul.sp {
	  display: flex;
	  justify-content: space-between;
	  flex-flow: wrap;
	}
	
	#sidebar .side_bn1 li {
	  width: 48%;
	}
	
	#sidebar .side_bn1 li:last-child {
	  width: 100%;
	}
	
	#sidebar .side_bn2 .side_bn2_1 img {
	  display: block;
	  width: 60%;
	  margin: 0 auto;
	}
	
	p.btn {
	  width: 50%;
	  margin: 30px auto;
	}
	
	p.btn a {
	  font-size: 2vw;
	}
		
	/* メイン画像下エリア
	----------------------------------*/
	/* main_block1 */
	
	.main_block1 {
	  margin: 0;
	}
	
	.main_block1 .inner {
	  width: 90%;
	  margin: 0 auto 30px;
	}
	
	.main_block1 p.title, .main_block2 p.title, .main_block3 p.title {
	  font-size: 20px;
	}
	
	.main_block1 ul {
	  flex-wrap: wrap;
	  justify-content: space-around;
	}
	
	.main_block1 ul li {
	  width: 30%;
	}
	
	/* main_block2*/
	
	.main_block2 .inner {
	  width: 90%;
	  margin: 0 auto 30px;
	}
		
	.main_contact {
	  width: 94%;
	  margin: 0 auto 50px;
	}
	
	.main_contact .contact_btn {
	  width: 80%;
	  left: 50%;
	  transform: translateX(-50%);
	  bottom: 1%;
	}
	
	/* main_block3*/
	
	.main_block3 .inner {
	  width: 90%;
	  margin: 0 auto 30px;
	}
	
	.main_block3 ul li {
	  width: 48%;
	}
	
	.main_block3 ul li:last-child {
	  width: 100%;
	}
		
	/* メインコンテンツ部分
    *****************************************************/
	
	/* top_block2,top_block3 */
	
	.top_block2 .inner li,
	.top_block3 .inner li {
	  width: 48%;
	}
		
	/* top_contact */
	.top_contact {
	  width: fit-content;
	  margin: 0 auto 50px;
	}
	
	.top_contact .button {
	  bottom: 17px;
	  left: 50%;
	  width: 80%;
	}
	
	.top_block4 .inner {
	  justify-content: space-around;
	}
	
	.top_block4 .support {
	  width: 48%;
	  margin-bottom: 15px;
	}
	
	.top_contact .button img { width: 100%; }
	
	section.widget_search{text-align:center;}
	
	#footer .footer_logo {
	  display: none;
	}
	
	#footer .footer_contact {
	  display: none;
	}
	
	#footer .footer_map {
	  width: 100%;
	  font-size: 0;
	  border-bottom: 5px solid #3d9c4f;
	  margin-bottom: 30px;
	}
	
	#footer .footer_information {
	  display: block;
	}
	
	#footer .footer_office {
	  display: block;
	  width: 90%;
	  margin: 0 auto;
	}
	
	#footer .footer_office .office_name {
	  font-size: 20px;
	  margin-bottom: 20px;
	  font-weight: bold;
	}
	
	#footer .footer_office .footer_address {
	  display: flex;
	  justify-content: space-between;
	}
	
	#footer .footer_office .img {
	  width: 48%;
	}
	
	#footer .footer_office .textarea {
	  width: 48%;
	}
	
}

/* 770px以下の場合
------------------------------------------------------------*/
@media only screen and (max-width: 770px){
	
	
	p.btn a:before {
	  width: 8.5px;
	  height: 13.5px;
	}
	
	.top_block4 .office {
	  font-size: 14px;
	}
}

/* 幅685px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 685px) {
	body { font-size: 14px; }
	
	#header h2 {
	  padding: 17px 5px 15px;
	}
	
	#header h2 img { max-width:80%; }
	
	nav#mainNav{ width:100%; }
	
	img.alignright,
	img.alignleft { display: block;	margin:5px auto; }
	
	.alignright,
	.alignleft { float:none; }
	
	nav#mainNav a.menu {
	  width:13%;
	  line-height:37px;
	  font-weight: bold;
	  text-align:left;
	  position: absolute;
	  top: 15px;
	  right: 15px;
	}
	
	nav#mainNav a.menu img {width:100%;}
	
	#header {
	  position: relative;
	}
	
	
	/*見出し
	*****************************************************/
	
	#content h1:not(.style_none) {
	  margin: 0 0 4%;
	  padding: 2% 3% 4%;
	  font-size: 20px;
	  font-weight: bold;
	}
	
	#content h1:not(.style_none):after { bottom: 5px; }
	
	#content h2:not(.style_none) {
	  margin: 4% 0;
	  padding: 2% 49px;
	  font-size: 18px;
	  font-weight: bold;
	}
	
	#content h3:not(.style_none) {
	  margin: 4% 0;
	  padding: 1% 4%;
	  font-size: 16px;
	  font-weight: bold;
	}
	
	/* 下層ページリンクスタイル　※h3と揃える */
	.plist li {
	  margin: 20px 0;
	  padding: 5px 20px 3px;
	  font-size: 14px;
	  font-weight: bold;
	}
	
	/* メイン画像下エリア
	----------------------------------*/
	
	#sidebar h1:not(.style_none) {
	  padding: 2% 3%;
	  font-size: 20px;
	  font-weight: bold;
	}
	
	#sidebar h1:not(.style_none):after { bottom: 5px; }
	
	#sidebar .side_nav { margin-bottom: 40px; }
		
	#sidebar .side_bn2 { margin-bottom: 20px; }
		
	/* main_block1 */
	
	/* main_block2 */
	.main_block2 .title {
	  padding: 10px 0;
	  font-size: 4vw;
	}
	
		
	/* メインコンテンツ部分
    *****************************************************/
	
	/* top_block1 */
	
	.top_block1 .img {
	  width: 50%;
	}
	
	.top_block1 h1 {
	  position: relative;
	}
	
	.top_block1 h1:before {
	  position: absolute;
	  content: "";
	  background: url("images/base/minus.png") 0 0 / 100% 100% no-repeat;
	  width: 20px;
	  height: 20px;
	  top: 50%;
	  right: 5px;
	  transform: translateY(-50%);
	}
	
	.top_block1 h1.active:before {
	  background: url("images/base/plus.png") 0 0 / 100% 100% no-repeat;
	}
	    
	/* top_contact */
	.top_contact {
	  width: 100%;
	  margin: 0 auto 50px;
	}
	
	.top_contact .button {
	  width: 80%;
	  bottom: 4%;
	  right: 2%;
	}
	
	.top_contact .sp { font-size: 0; }
	
	.top_contact .sp img { width: 100%; }
	
	/* top_block4 */
	
	.top_block4 .office {
	  font-size: 2vw;
	  min-height: 50px;
	}
	
	/* 新着情報 */
	#top_info dl {
	  display: flex;
	  align-items: center;
	  border-bottom: 1px dashed #bfbfbf;
	}
	
	#top_info dl dt { margin: 0; }
	
	#top_info dl dd {
	  margin: 0;
	  padding: 0;
	  border-bottom: none;
	}
	
	/*　お問い合わせフォーム　*/
	.wpcf7 {
		margin-bottom: 10px;
		border-top: 1px solid #ccc;
	} 
	
	.wpcf7 .inner {
		display:table;
		width: 100%;
		box-sizing: border-box;
		border: 1px solid #ccc;
		border-top: none;
	}
	
	.wpcf7_th, .wpcf7_td {
		display:table-cell;
		padding: 10px;
		background: #fff;
	}
	
	.wpcf7_th {
		background: #efeff1;
		text-align: left;
		width: 30%;
		vertical-align: top;
	}
	
	.wpcf7_td { width: 200px; }
	
	.wpcf7_td [type="checkbox"] { width: 30px; }
	
	.wpcf7_td_1 {
		display: block;
		padding: 10px;
		border-bottom:1px solid #ccc;
		background: #fff;
	}
	
	.wpcf7_td_1_last { border-bottom: none; }
	
	.wpcf7_td_1 [type="number"] { width: 30px; }
	
	.wpcf7 .wpcf7_text1 {
		font-size: 90%;
		color: #73573c;
	}
	
	.wpcf7 .wpcf7_text2 { font-size: 90%; }
	
	.wpcf7_td textarea,
	.wpcf7_td input { width: 200px; }
	
	.wpcf7_td label{ display: block; }
	
	.wpcf7 p { margin-top: 5px; }
	
	.wpcf7 .tableWide { width:100% !important; }
	
	.wpcf7 .tableWide tr { display:inline; }
	
	.wpcf7 .tableWide th,
	.wpcf7 .tableWide td {
		display:block; 
		width: 100% !important; 
		box-sizing: border-box;
	}
	
	.wpcf7 .checkbox-97 .first { margin-top:2%; }
	
	.wpcf7 .checkbox-97 .last { margin-bottom:2%; }
	
	.wpcf7 .checkbox-97 .first input {
		display:inline-block;
		margin:1% 0 0 0;
		width:10%;
		min-height:15px;
		vertical-align:top;
	}
	
	.wpcf7 .checkbox-97 .first span{
		display:inline-block;
		width:90%;
	}
	
	.wpcf7 .checkbox-97 .last input{ display: none; }
	
	.wpcf7 .checkbox-97 .last span {
		display:block;
		margin-left: 10%;
		padding: 0;
	}
	
	/* 固定バナー */
	.footer_fix {
	  display: block;
	  position: fixed;
	  width: 100%;
	  bottom: 0;
	  left: 0;
	  background:#fff;
	  z-index: 100;
	  border-top: 5px solid #3d9c4f;
	}
	
	.footer_fix ul {
	  display: table;
	  width: 100%;
	  margin: 0;
	  padding: 0;
	  border-spacing: 10px;
	}
	
	.footer_fix li {
	  display: table-cell;
	  font-size: 0;
	}
		
	.footer_fix li a img { width: 100%; }
	
	#copyright{ margin-bottom: 23%; }
}