@charset "utf-8";
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, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td ,button{border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
h1, h2, h3, h4, h5, h6 {
  line-height: 140% !important;
  font-weight: normal;
}
ol,ul {list-style: none;counter-reset:number;list-style-type: none!important;}
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;}
img{height: auto;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;position: relative;}
html {-webkit-text-size-adjust: 100%}
*{box-sizing: border-box !important;}
body{
	font-family:"メイリオ" , Meiryo, "Meiryo UI" , Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro"  , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 16px;
	line-height: 170%;
	color:#3f3f3f;
	-webkit-text-size-adjust:100%;
	background:url(../images/background.jpg) repeat center top;
	font-weight: normal;
	width: 100%;
	position: relative;
	counter-reset: chapter; 
}
@font-face{ 
	font-family: 'boku';
	src: url('../font/bokutachi.woff') format('woff'); 
	font-weight: normal; 
	font-style: normal;
}
.web-font{font-family: 'boku';}
@font-face{ 
	font-family: 'myfont_alpha';
	src: url('../font/yasashisa_alpha.woff') format('woff'); 
	font-weight: normal; 
	font-style: normal;
}
.web-font-alpha{font-family: 'myfont_alpha';}
.overflow:after {
	content: " ";
	display: table;
	clear: both;
}
/* リンク設定
------------------------------------------------------------*/
a{
	margin:0;
	padding:0;
	text-decoration:none;
	outline:0;
	vertical-align:baseline;
	background:transparent;
	font-size:100%;
	color:#625041;
}
a:hover, a:active{
	-webkit-transition:opacity 1s;
	-moz-transition:opacity 1s;
	-o-transition:opacity 1s; 
	outline: none;
	color:#ccc;
}
a.post-link{
	color:#2f71b9;
	text-decoration: underline;
	font-weight: bold;
}
/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,input[type="tel"],input[type="email"],select,input[type="date"]{
	vertical-align:middle;
	max-width:99%;
	width: 99%;
	line-height:46px;
	height:46px;
	padding:5px 10px;
	border:1px solid #d4d4d7;
	border-radius:6px;
	font-size:100%;
	background:#fcfcfc;
}
input[type="date"]{width: auto;}
textarea{
	height:auto;
	line-height:1.5;
}
.button{
	display: block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-decoration: none;
	text-align: center;
}
input[type="submit"],input[type="reset"],input[type="button"],.button{
	position: relative;
	background:url(../images/back-blue.jpg) repeat left top ;
	border-radius: 6px;
	border: none;
	color: #fffaee;
	line-height: 42px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 6px 0 #937a64;
	display: block;
	padding:0 15px;
	font-weight: normal !important;
	font-size: 18px;
	min-width: 100px;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
}
.img-button{
	padding: 0 !important;
	overflow: hidden;
}
.img-button img{
	display: block;
	width: 100%;
	height: auto;
}
input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover,.button:hover{
	top: -4px;
	box-shadow: 0 10px 0 #937a64;
	color: #fffaee;
	text-decoration: none;
}
.tel-button{
	background:url(../images/back-orange.jpg) no-repeat center top;
	padding: 0;
}
.tel-button .sp{display:none;}
.button:active {
	top: 3px !important;
	box-shadow: none !important;
}
/* 共通レイアウト
------------------------------------------------------------*/
#header {
	padding: 0;
	width: 100%;
	position: relative;
	z-index: 100;
}
.wrapper{
	margin:0 auto;
	width:1024px;
	padding-bottom: 50px;
	position: relative;
}
#footer{
	clear:both;
	background:url(../images/back-footer.jpg) repeat center top;
} 
.cont-box{
	clear: both;
	margin: 0 auto 50px auto;
	display: block;
}
.flex-area{
	display: flex;
	justify-content:space-between;
	align-items: center;
}
.flex-area-left{
	display: flex;
	justify-content:flex-start;
	align-items: center;
}
.flex-area-center{
	display: flex;
	justify-content:center;
	align-items: center;
}
.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 100;
  width: 100%;
}
.section-area{
	position: relative;
	padding: 0 0 20px 0;
	z-index: 10;
}
.section-title{
	background:url(../images/back-green.jpg) repeat center top;
	width: 100%;
	line-height: 130%;
	font-size: 36px;
	display: block;
	text-align: center;
	font-weight: bold;
}
.title-circle{
	display: inline-block;
	vertical-align: middle;
}
.section-title h2.title-h2{
	display: inline-block;
	vertical-align: middle;
	font-size: 36px;
	padding: 15px 0 13px;
	color: #3f3f3f;
}
img.section-title-arrow{
	display: block;
	margin: 0 auto 50px auto;
}
.round{border-radius:6px;}
.have-box{padding: 10px 0;}
.box-inner{
	margin:0 10px;
	padding: 20px 0 10px;
}
.box-inner-border{margin:0 10px;}
.back-border {
	border: 1px solid #ede5d9;
	background: #fff;
}
.inner-yellow{
	margin: 0 25px;
	padding: 25px 0 10px;
}
.box-inner-l{margin:15px 25px;}
.box-title{
	margin: 1px 1px 0 1px;
	padding: 10px 5px 0 15px;
}
.back-beige{background: url(../images/back-beige.jpg) repeat center top;}
.back-brown{background: url(../images/back-brown.jpg) repeat center top;}
.back-green{background: url(../images/back-green.jpg) repeat center top;}
.back-orange{background: url(../images/back-orange.jpg) repeat center top;}

.back-white{background: #fff;}
.back-l-orange{background: #fff3d9;}
.brown-pin:after{
	content: '';
	background: url(../images/icon-circle.png) repeat center top;
	width: 9px;
	height: 9px;
	position: absolute;
	top: 10px;
	left: 10px;
}
.brown-pin:before{
	content: '';
	background: url(../images/icon-circle.png) repeat center top;
	width: 9px;
	height: 9px;
	position: absolute;
	top: 10px;
	right: 10px;
}
.comment-area {
	font-size: 16px;
	line-height: 140%;
	background: #fff;
	border: #ede7dd solid 3px;
	border-radius: 6px;
	margin-bottom: 30px;
	clear: both;
	text-align: left !important;
	padding-bottom: 0 !important;
}
.comment-inner {
	padding: 25px 30px 20px 30px;
}
.comment-area-right .comment-inner {padding-right: 140px !important;}
.comment-area-left .comment-inner{padding-left: 150px !important;}
.comment-inner p.text-right{font-size: 0.8em;}
/* ---       ヘッダー
----------------------------------------------------------------------*/
#header .wrapper{padding-bottom: 10px;}
.site-description {
	font-size: 12px;
	padding: 10px 0 0 0;
}
.site-title {
	font-size: 26px;
	margin: 15px 0 0 0;
	padding: 0 0 5px 0;
	float: left;
	line-height: 130%;
}
.site-title a {color: #3f3f3f;}
.site-title a:hover,.site-title a:focus {color: #e4c9a7;}

/* タイポグラフィ
------------------------------------------------------------*/
h2{font-size:24px;}
h2.title{
	clear:both;
	margin:30px auto 20px auto;
	font-size:24px;
}
h2.border-beige{
	background: url(../images/line-dotted-beige.png) repeat-x left bottom;
	padding-bottom: 15px;
}
h3{font-size: 20px;}
h3.title{
	font-size: 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	line-height: 150%;
}
h4{font-size: 18px;}
h4.title{
	margin:15px 0 10px;
	padding:15px 0;
	font-size:18px;
}
h2.first,h3.first,h4.first{margin-top: 0;}
table{
	width: 100%;
	border-spacing: 1px;
	box-sizing:border-box;
	border: #ede5d9;
}
table.table-orange{background: #fff3d9;}
table.table-white{background: #fff;}
table th{
	vertical-align: middle;
	box-sizing:border-box;
	text-align: left;
	line-height: 150%;
	font-size: 18px;
	font-family: 'boku';
}
table thead th {background: #fff3d9;}
table tbody th {background: url(../images/back-brown.jpg) repeat center top;}
table td{
	background: #fff;
	vertical-align: middle;
	box-sizing:border-box;
	text-align: left;
	line-height: 140%;
}
table th span.th,table td span.td{
	padding:15px 10px 13px 15px;
	display: block;
}
.inline-img{
	display: inline;
	vertical-align: bottom;
	margin: 0 8px 0 0;
}
.inline-img-m{
	display: inline;
	vertical-align: middle;
	margin: 0 8px 0 0;
}
.middle{vertical-align: middle;}
.title-area{
	position: relative;
	clear: both;
	margin: 0 10px 10px 10px;
	padding: 35px 0 0 0 ;
}
.title-area-orange{
	background: url(../images/line-dotted-l-orange.png) repeat-x left bottom;
	background-size: auto 10px;
}
.title-area-beige{
	background: url(../images/line-dotted-beige.png) repeat-x left bottom;
	background-size: auto 10px;
}
.title-area .title{
	position: relative;
	padding-bottom: 15px;
	margin: 0;
}
.icon-flex{margin-right: 6px;}
.text-center{text-align: center;}
.text-right{text-align: right;}
.text-left{text-align: left;}
.relative{position: relative;}
.bold{font-weight: bold;}
.brown{color: #894a3e;}
.white{color: #f8fbf0;}


.font24{font-size: 24px !important;line-height: 1em;}
.font30{font-size: 30px !important;line-height: 1em;}
.font36{font-size: 36px !important;line-height: 1em;}
.font40{font-size: 40px !important;line-height: 1em;}
.font50{font-size: 50px !important;line-height: 1em;}
.font60{font-size: 60px !important;line-height: 1em;}
.font120{font-size: 120px !important;line-height: 0.8em;}
.marker-yellow{background: linear-gradient(transparent 50%, #fdefb0 50%);padding-bottom: 5px;}
br.br1024,br.br789,br.br589,br.br489,br.br389{display: none;}
/*--------------------　　メインイメージ　　-----------------------------------------------*/
#mainimage{
	width: 100%;
	text-align: center;
	background:#f8fbf0;
	padding: 40px 0 0 0;
	border-bottom: 11px #e7e6e6 solid;
	margin-bottom: 50px;
}
.mainimage-inner{
	margin: 0 auto;
	position: relative;
}
#mainimage-1{
	padding-bottom: 0;
	margin: 0 auto 40px;
}
#mainimage-1 .box-inner{
	flex-wrap:wrap;
	align-items: stretch;
	padding-top: 10px;
}
#mainimage-1-left{
	width: 632px;
	margin-right: 15px;
}
#mainimage-1-left img{
	display: block;
	width:100%;
	height: auto;
	margin: 0 auto;
	border-radius: 6px;
}
#mainimage-1 .right{
	flex-wrap:wrap;
	align-items: stretch;
	flex: 2;
}
#mainimage-1 .point-box{
	width: 100%;
}
#mainimage-1-point1{
	margin-bottom: 12px;
}
#mainimage-1 .point-box-img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
#mainimage-1-point2{
	padding: 0;
	overflow: hidden;
	margin:0 0 5px;
}
.mainimage-point{
	margin: 0 auto 30px;
	padding: 10px;
	flex-wrap:wrap;
	align-items: stretch;
}
.main-point{width: 24%;}
#mainimage-point1{
	flex-wrap: wrap;
}
#mainimage-point1 .main-point{
	width: 48.5%;
}
#mainimage-point1 .main-point:first-child,
#mainimage-point1 .main-point:nth-child(2){
	margin-bottom: 12px !important;
}
.main-point img.main-point-img{
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
	border-radius: 4px;
}
.mainimage-point .main-point a{
	padding: 0;
}

.mainimage-banner-area{
	margin-bottom: 0 !important;
	padding: 0 !important;
}
.mainimage-banner-area img{
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.mainimage-banner-area .mainimage-banner-pc{max-width: 600px;}
.mainimage-banner-area .mainimage-banner-sp{display: none;}
#mainimage .mainimage-h2-area{
	background: url(../images/mainimage-line.png) repeat-x left bottom;
	padding-bottom: 24px;
	margin-bottom: 10px;
}
#mainimage .mainimage-h2{
	background-size: auto 12px;
	padding: 0 10px 5px 10px;
	font-weight: bold !important;
	font-size: 24px;
	margin-bottom: 0;
}
/****コンタクトバナー***/
.contact-banner{
	padding: 15px;
	background: url(../images/back-brown.jpg) repeat center top !important;
}
.contact-banner .contact-inner{
	padding: 35px 30px 14px ;
	align-items: stretch;
	flex-wrap: wrap;
}
.contact-banner .title{
	width: 100%;
}
.contact-banner .title img{
	display: block;
	margin: 0 auto 20px;
}
.contact-banner .img-button{
	width: 50%;
	margin: 0 0 25px;
	padding: 0;
	box-shadow: none;
	height: auto;
	background: none !important;
}
.contact-banner .img-button img{
	width: 100%;
	height: auto;
}


#mainimage .contact-banner{
	margin-bottom: 15px;
}

#mainimage-2{
	margin: 0 auto 30px;
	padding: 0;
}
#mainimage-2 .box-inner-l{
	padding: 20px 25px 23px;
	margin: 10px;
	flex-wrap: wrap;
	align-items: flex-start;
}
#mainimage-2 h2.title{
	text-align: center;
	margin: 20px 0 15px;
	width: 100%;
	padding-bottom: 15px;
}

#mainimage-2 .phot-area{
	width: 400px;
}
#mainimage-2 .text{
	margin-left: 30px;
	text-align: left;
	flex: 2;
}
/****コンタクトバナー***/
.contact-banner{
	padding: 10px;
	background: url(../images/back-brown.jpg) repeat center top !important;
}
.contact-banner .contact-inner{
	padding: 35px 30px 2px ;
	align-items: stretch;
	flex-wrap: wrap;
}
.contact-banner .title{
	width: 100%;
}
.contact-banner .title img{
	display: block;
	margin: 0 auto 20px;
}
.contact-banner .img-button{
	width: 48%;
	margin: 0 0 25px;
	padding: 0;
	box-shadow: none;
	height: auto;
	background: none !important;
}
.contact-banner .img-button img{
	width: 100%;
	height: auto;
}
/*-----------------コメントエリア設定-----------------*/
.comment-title{
	border-radius: 100%;
	background: url(../images/back-blue.jpg) no-repeat center top;
	text-align: center;
	font-size: 24px;
	width: 94px;
	height: 94px;
	margin-right: 20px;
}
.comment-title .icon-coution{
	margin: -3px auto 10px auto;
	display: block;
}
.comment-inner .text{flex: 2;}
.comment-area .border{
	border-bottom: 4px dotted #a7a53f;
	display: inline-block;
	margin-bottom: 10px;
}
/*     リード部分 site-lead
------------------------------------------------------------*/
#sec0-1-upper{
	align-items: flex-start;
	margin: 0 auto 20px;
}
#sec0-1-upper .text{
	flex: 2;
	margin-left: 25px;
}

#sec0-1 table{
	position: relative;
	z-index: 10;
	margin: 10px 0;
}
#sec0-1 table *{text-align: left !important;}
#sec0-1 table th{width: 49%;}

#site-lead-ways{margin-bottom: 50px;}
#site-lead-ways .inner{
	padding:25px 18px 25px 30px;
	align-items: flex-start;
	line-height: 170%;
}
#site-lead-ways .inner .left{
	order: 1;
	flex: 2;
}

#site-lead-ways h2.title{
	justify-content:flex-start;
	margin: 15px 0;
}
#site-lead-ways h2.title img{margin-right: 10px;}
#site-lead-ways .site-lead-ways-photo{
	order: 2;
	margin-left:30px;
	width: 400px;
	height: auto;
}





/*     費用について  #section1
------------------------------------------------------------*/
#sec1-2-1{
	width: 550px;
	margin: 0 auto 15px auto;
	padding: 30px 0 20px;
}
#sec1-2-1 h2 {
	background: url(../images/line-dotted-beige.png) repeat-x center bottom;
	background-size: auto 10px;
	padding: 0 0 14px 0;
	margin: 0 25px;
}
#sec1-2-1 .sec1-img3, #sec1-2-1 .sec1-img4{
	position: absolute;
	bottom: -15px;
	z-index: 10;
}
#sec1-2-1 .sec1-img3{left: -160px;}
#sec1-2-1 .sec1-img4{right: -120px;}
#sec1-2-h3{padding: 10px 0 0 0;}
#section1 table{
	width: 100%;
	border-spacing: 10px;
	box-sizing:border-box;
}
#section1 table thead th{
	text-align: center;
	border-radius: 6px;
	padding: 0;
	overflow: hidden;
	background: url(../images/back-brown.jpg) repeat center top;
	color: #fef7ec;
	height: 74px;
	padding: 15px 10px 13px 10px;
	line-height: 120%;
}
#section1 table thead th img{
	display: block;
	margin: 0;
	width: 100%;
	height: auto;
}
#section1 table tbody th{
	background: url(../images/back-pink.jpg) repeat center top;
	vertical-align: middle;
	box-sizing:border-box;
	text-align: left;
	line-height: 150%;
	font-size: 20px;
	border-radius: 6px;
	font-family: 'boku';
	width: 36%;
	
}
#section1 table tbody td{
	background: #fff;
	vertical-align: middle;
	box-sizing:border-box;
	text-align:center;
	border-radius: 6px;
	font-size: 20px;
	width: 30%;
}
#section1 table tbody td .min{
	font-size: 80%;
	display: block;
	line-height: 1em;
}
#section1 .balloon-blue{
	background: url(../images/balloon-blue.png) no-repeat center top;
	width: 196px;
	height: 58px;
	display: inline-block;
	font-size: 18px;
	color: #fffbef;
	text-align: center;
	line-height: 58px;
	padding-left: 10px;
}
#sec1-2 p.text-right{font-size: 14px;}
/*     よくある質問 #section2
------------------------------------------------------------*/
#sec2-1 #qa-area{
	width: 720px;
	display: block;
	margin: 0 auto;
	padding: 25px 0 20px;
}
#sec2-1 .qa-box{
	display: block;
	margin: 20px auto 0;
}
#sec2-1 .qa-box:first-child{margin: 0 auto;}
#sec2-1 .qa-box-inner {
	padding: 20px 25px 15px 90px;
	margin: -4px 1px 0 1px;
	background:#fff url(../images/line-double-brown.png) repeat-x left top;
	background-size: auto 8px;
}
#sec2-1 .icon-q{
	position: absolute;
	left: 15px;
	bottom: 5px;
}
#sec2-1 .icon-a{
	position: absolute;
	left:35px;
	top: 16px;
}
#sec2-1 .box-title h3 {
	padding: 10px 10px 14px 74px;
	background-size: 36px auto;
	font-size: 19px;
}
#sec2-1 .sec2-img{
	position: absolute;
	bottom: 0;	
	z-index: 20;
}	
#sec2-1 .sec2-img1{left:-15px;}
#sec2-1 .sec2-img2{right: -40px;}
/*     お手続きの流れ  #section3
------------------------------------------------------------*/
#sec3-1 .flow-line{align-items:stretch;}
#sec3-1 .flow-line .flow-box{width: 48%;}
#sec3-1 .flow-line .flow-box .flow-title{
	flex: 2;
	margin-left: 15px;	
}
#sec3-1 .flow-circle{
	background: #fffcf6;
	border-radius: 100%;
	width: 80px;
	height: 80px;
	padding: 0;
	margin: 10px auto 10px;
	display: block;
}
#sec3-1 .flow-circle .flow-pin{
	display: block;
	margin: -3px auto -7px auto;
	padding-left: 5px;
}
#sec3-1 .flow-p h2{
	text-align: center;
	padding: 0 0 8px 0;
	font-size: 22px;
	/* color: #fff; */
}
#sec3-1 .flow-photo{
	display: block;
	margin: 10px;
	width: 278px;
	height: auto;
}
#sec3-1 .arrow-flow{
	display: block;
	margin: 10px auto;
}
#sec3-1 .flow-comment{
	padding: 12px 15px 7px;
	text-align: left;
	font-size: 14px;
	margin: 0 10px 10px;
	line-height: 140%;
}
#sec3-1 #flow3{
	width: 50%;
	padding: 15px 40px 12px 40px;
	justify-content: center;
	margin: 0 auto;
}
#sec3-1 #flow3 .flow-circle,#sec3-1 #flow6 .flow-circle{
	margin: 0;
	background: #fff;	
}
#sec3-1 #flow3 h2{
	padding: 0 10px;
	margin: 0 0 0 20px;
}
#sec3-1 #flow6{
	width: 100%;
	padding: 12px 20px 10px 40px;
	justify-content: flex-start;
	margin: 0 auto;
}
#sec3-1 #flow6 h2{
	margin: 0 0 0 20px;
   word-break: keep-all;
}
#sec3-1 #flow6 .flow-comment{
	flex: 2;
	padding: 20px 15px 21px;
	margin: 0 0 0 17px;
}
#flow3 h2,
#flow6 h2{color: #4b3e33 !important;}
/*     代表からのご挨拶  #section4
------------------------------------------------------------*/
#sec4-1 .box-inner-l {margin: 30px 25px;}
#sec4-1 .title{
	margin: 25px auto 20px auto;
	justify-content: flex-start;
	padding: 5px 15px 5px 20px;
}
#sec4-1 .title h2.title{
	padding: 10px 0 7px 10px;
	margin: 0;
}
#sec4-1 .text-area{align-items: center;}
#sec4-1 .photo-sec4{
	margin: 0 0 25px 30px;
	order: 2;
}
#sec4-1 .text{
	order: 1;
	flex: 2;
}
#sec4-1 p{padding-bottom: 15px;}
#office-single{padding-bottom: 10px;}
#access-area .access-area-inner {
	position: relative;
	z-index: 10;
	padding: 20px 25px 10px 25px;
	align-items: stretch;
	justify-content: space-between;
}
#access-area .access-box{
	width: 48%;
}
#access-area .access-box .left{
	margin-bottom: 20px;
}
#access-area h3.title {
	margin: 0 auto 5px !important;

}
.access-toho{
	margin: 0 auto 8px;
	display: block;
}
.access-photo-area {margin: 0 auto 17px;}
.access-photo-area img{
	width: 48%;
	height: auto;
}
#access-area .access-map .front-map{
	display: block;
	margin: 0 auto;
}
#access-area .map-button {
	font-size: 18px;
	padding: 5px 0;
	margin: 10px auto 20px;
	width: 280px;
}

/* -----------ポップアップの地図-------------*/
.lity {
	z-index: 9990;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	white-space: nowrap;
	background: #FCF9F2;
	outline: none !important;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.lity.lity-opened {
	opacity: 1;
	z-index: 100000;
}
.lity.lity-closed { opacity: 0;}
.lity * {
  -webkit-box-sizing: border-box;
	 -moz-box-sizing: border-box;
		  box-sizing: border-box;
}
.lity-wrap {
	  z-index: 9990;
	  position: fixed;
	  top: 0;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  text-align: center;
	  outline: none !important;
}
.lity-wrap:before {
	  content: '';
	  display: inline-block;
	  height: 100%;
	  vertical-align: middle;
	  margin-right: -0.25em;
}
.lity-loader {
	  z-index: 9991;
	  color: #fff;
	  position: absolute;
	  top: 50%;
	  margin-top: -0.8em;
	  width: 100%;
	  text-align: center;
	  font-size: 14px;
	  font-family: Arial, Helvetica, sans-serif;
	  opacity: 0;
	  -webkit-transition: opacity 0.3s ease;
		   -o-transition: opacity 0.3s ease;
			  transition: opacity 0.3s ease;
}
.lity-loading .lity-loader {opacity: 1;}
.lity-container {
	  z-index: 9992;
	  position: relative;
	  text-align: left;
	  vertical-align: middle;
	  display: inline-block;
	  white-space: normal;
	  max-width: 94%;
	  max-height: 100%;
	  outline: none !important;
}
.lity-content {
	  z-index: 9993;
	  width: 100%;
	  -webkit-transform: scale(1);
		  -ms-transform: scale(1);
		   -o-transform: scale(1);
			  transform: scale(1);
	  -webkit-transition: -webkit-transform 0.3s ease;
		   -o-transition: -o-transform 0.3s ease;
			  transition: transform 0.3s ease;
}
.lity-loading .lity-content,.lity-closed .lity-content {
	  -webkit-transform: scale(0.8);
		  -ms-transform: scale(0.8);
		   -o-transform: scale(0.8);
			  transform: scale(0.8);
}
.lity-content:after {
	  content: '';
	  position: absolute;
	  left: 0;
	  top: 0;
	  bottom: 0;
	  display: block;
	  right: 0;
	  width: auto;
	  height: auto;
	  z-index: -1;
	  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
			  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.lity-close {
	  z-index: 9994;
	  width: 35px;
	  height: 35px;
	  position: fixed;
	  right: 0;
	  top: 0;
	  -webkit-appearance: none;
	  cursor: pointer;
	  text-decoration: none;
	  text-align: center;
	  padding: 0;
	  color: #000;
	  font-style: normal;
	  font-size: 35px;
	  font-family: Arial, Baskerville, monospace;
	  line-height: 35px;
	  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	  border: 0;
	  background: none;
	  outline: none;
	  -webkit-box-shadow: none;
			  box-shadow: none;
}
.lity-close::-moz-focus-inner {
	  border: 0;
	  padding: 0;
}
.lity-close:hover,.lity-close:focus,.lity-close:active,.lity-close:visited {
	  text-decoration: none;
	  text-align: center;
	  padding: 0;
	  color: #fff;
	  font-style: normal;
	  font-size: 35px;
	  font-family: Arial, Baskerville, monospace;
	  line-height: 35px;
	  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
	  border: 0;
	  background: none;
	  outline: none;
	  -webkit-box-shadow: none;
			  box-shadow: none;
}
.lity-close:active {top: 1px;}
.lity-image img {
	  max-width: 100%;
	  display: block;
	  line-height: 0;
	  border: 0;
}
.lity-iframe .lity-container {
	  width: 100%;
	  max-width: 964px;
}
.lity-iframe-container {
	  width: 100%;
	  height: 0;
	  overflow: hidden;
	  padding-top: 56.25%;
}
.lity-iframe-container iframe {
	  position: absolute;
	  display: block;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
			  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
	  background: #fff;
}
.lity-hide {display: none;}

/*     情報館サイトへのリンク
------------------------------------------------------------*/
.info-site-h2{
	margin: 15px auto 10px;
	color: #655445;
}
.info-line-sides span.line-sides-inner{
  position: relative;
  display: inline-block;
  padding: 0 110px;
}

.info-line-sides span.line-sides-inner:before, .info-line-sides span.line-sides-inner:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 100px;
  height: 2px;
  border-top: solid 1px #655445;
  border-bottom: solid 1px #655445;
}

.info-line-sides span.line-sides-inner:before { left:0;}
.info-line-sides span.line-sides-inner:after { right: 0;}
#info-site-inner{
	padding: 2px 20px 15px;
	align-items: stretch;
}
#info-site-inner .left{
	border-radius: 6px;
	width: 360px;
}
.info-site-img{
	width: 100%;
	height: auto;
}
#info-site-right{
	flex: 2;
	margin-left: 20px;
	padding: 30px 20px 10px;
}
#info-site a{
	line-height: 58px;
	width: 300px;
	margin:15px auto 0; 
	position: relative;
	z-index: 10;
}
/*     4つ並びのバナーエリア
------------------------------------------------------------*/
.line-sides {
	position: relative;
	top: 0;
	left: 0;
	text-align: center;
}
.line-sides:before {
	content: "";
	display: block;
	border-top: solid 1px #ccc;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	z-index: 1;
}
.line-sides span.line-sides-inner {
	background: url(../images/background.jpg) repeat center top;
	padding: 5px;
	position: relative;
	z-index: 5;
}
#banner-block-title{margin: 0 auto 10px;}
#banner-block-inner{
	align-items: stretch;
	flex-wrap:wrap;
}
#banner-block a{
	width: 48%;
	padding: 17px 0 12px;
	margin-bottom: 20px;
}
#banner-block .title-area-double {
	margin: 0 auto 7px;
	padding:0 0 15px;
	color: #625041 !important;
	text-align: center;
	background: url(../images/line-double-beige.png) repeat-x left bottom;
	background-size: auto 10px;
}
#banner-block .title-area-double h3 > *{
	display: inline;
	vertical-align: middle;
}
#banner-block .footer-banner-bottom{
	justify-content: flex-start;
	margin: 0 10px;
}
#banner-block a:hover .banner-block-img{opacity: 0.6;}
#banner-block .footer-banner-bottom .text{
	flex: 2;
	font-size: 14px;
	line-height: 130%;
	margin-left: 15px;
}
#banner-block a:hover p{color: #625041;}
#banner-block a .button{margin: 10px auto 0;}
#banner-block a .button > *{
	display: inline;
	vertical-align: middle;
}
/*     フッター  #footer
------------------------------------------------------------*/
#footer #footer-balloon{
	background: url(../images/footer-balloon.png) no-repeat center top;
	background-size: 100% 100%;
	width: 243px;
	height: 196px;
	text-align: center;
	font-size: 24px;
	position: absolute;
	top: -50px;
	right: 0;
	line-height: 140%;
	padding-top: 20px;
}
#footer #footer-balloon .bold{font-size: 1.2em;}
#footer #footer-balloon img.icon-footer-pc{
	margin: 18px auto 0;
	display: block;
}
#footer-1{
	color: #fefefe;
	text-align: center;
	padding: 50px 0 20px 0;
}
#footer-1 .tel-no,#footer-1 .tel-no a{color: #fff;}

#contact{
	margin: 0 auto 50px;
	padding: 20px;
}
#contact #mailformpro{
	padding: 45px 25px;
	background: #E0ECF6;
}
#mailformpro #form-title {
	padding: 0 0 20px;
	margin: 0 auto 30px;
	background: url(../images/line-double-blue.png) repeat-x left bottom;
	background-size: auto 10px;
}
#contact table{
	width: 80%;
	margin: 0 auto 20px auto;
}
#contact table th {
	background: none;
	text-align: right;
	width: 13em;
	vertical-align: top;
	line-height: 50px;
}
#contact table .line2 th{line-height: 150%;}
#contact .required{
	padding-left: 15px;
	font-size:0.8em;
	color: #ec561b;
}

#contact table td {background: none;}
#contact .block{
	display: block !important;
	margin: 0 0 15px;
}
#contact table td .coution{
	font-size: 0.85em;
	line-height: 140%;
	padding: 5px 0 0;
	display: block;
}
#contact .td1 .block{
	padding: 15px 0;
	margin: 0;
}
#contact input[type="submit"]{
	line-height: 56px;
	width: 380px;
}
#contact input[type="date"]{margin-left: 15px;}
#contact select{
	 width: 5em;
	 margin-left: 15px;
}
#contact .radio-dd{padding: 15px 0 20px 15px;}
#contact .radio-dd .box{
	display: block;
	padding: 12px 0;
}

#contact label.radio{
	display: block;
	padding: 0 0 20px;
}
.mfp_err{
	color: #ec561b;
	font-family: 'boku';
}
#mfp_hidden{display: none !important;}
textarea{width: 100% !important;}
.submit-area{margin:20px auto;}
#thanks .button-inner{margin: 30px auto;}

#footer-description{
	font-size: 14px;
	color: #fff;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
#copyright{
	clear:both;
	padding:0 0 10px 0;
	text-align:center;
	font-size:10px;
	color: #fff;
	line-height: 130%;
}
#copyright a{color: #fff;}
#footer-sp-area,#footer-sp-access{display: none;}
#footer-sp-area-inner {
	position: fixed;
	margin: auto;
	left: 0;
	right: 0;
	width: 100%;
	text-align: center;
	bottom: 0;
	z-index: 10000;
	align-items: stretch;
	justify-content:space-around;
	background: #f0e8e0;
	padding: 10px 0;
}
#footer-sp-area .button{
	height:56px;
	width: 31%;
	padding: 0;
	border-radius: 10px;
	font-size: 14px;
	line-height: 140%;
}
#footer-sp-area .button .big{
	font-size: 1.4em;
	display: block;
}

#footer-sp-area .button .icon{margin-right: 5px;}
.go-sp-ai{
	background: url(../images/back-red.jpg) repeat center top;
	color: #f9f4ee !important;
}
.go-sp-ai span{padding-left: 15px;}
.icon-robo{
	position: absolute;
	width: 50px;
	height: auto;
	bottom: 0;
	left: 0;
	display: block;
}
.go-sp-ai .balloon{
	background: url(../images/chat-balloon.png) no-repeat center top;
	background-size: 100% 100%;
	width: 75px;
	height: 45px;
	position: absolute;
	top: -34px;
	left: 56px;
	display: block;
	padding: 10px 0 0 0;
	line-height: 1em;
	font-size: 12px;
	color: #4b3d30;
}
#go-sp-line{
	background:#06c755;
	color:#fff;
	margin: 0;
}
#go-sp-line img{margin-right: 20px;}


#footer-sp-area .icon-back-side{
	width: auto;
	height: 28px;
	padding: 0 3px 0 0;
}
/* #pagetop{
	position:fixed;
	right:15px;
	bottom:10px;
	z-index: 1200;
}
#pagetop a{
	font-size:14px;
	background: url(../images/back-blue.jpg) repeat left top;
	color: #fff;
	height: 80px;
	width: 80px;
	border-radius:100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 120%;
	opacity: 0.6;
} */
#tel-bottom-button{
	display: none;
	position:fixed;
	right:5px;
	bottom:80px;
	z-index: 1200;
}
#tel-bottom-button .inner{
	font-size:14px;
	background: url(../images/back-orange.jpg) repeat center top;
	height: 80px;
	width: 80px;
	border-radius:100%;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	line-height: 120%;
	font-size: 12px;
}
#tel-bottom-button img{
	width: 24px;
	height: auto;
	margin: 0 auto;
}
#tel-bottom-button span{
	width: 100%;
}
#tel-bottom-button .big{
	font-size: 1.2em;
}

/* ポップアップ */
#popup-area,
#popup-area-line{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index:10001;
	opacity: 0;
	visibility: hidden;
}
#popup-back,
#popup-back-line{
	background:rgb(255 251 231 / 95%);
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 0;
	opacity: 0;
}
#popup-back-line{background: rgba(104, 177, 103, 0.897);}
#popup-inner,
#popup-inner-line{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 96%;
	max-width: 100%;
	padding: 50px 20px;
	z-index: 2;
	border-radius: 6px ;
}
#popup-inner{
	background: #ecfcc5;
	border: 6px solid #D3EC94;
}
#popup-inner-line{background: #fff;}
#popup-area.show ,#popup-area.show #popup-back,
#popup-area-line.show ,#popup-area-line.show #popup-back-line{
	opacity: 1;
	visibility: visible;
}	
#popup-area h2,
#popup-area-line h2{margin: 0 auto 5px;}
#popup-area-line h2 img{margin-right: 20px;}
.popup-button-area{
	position: relative;
	padding-bottom: 20px;
}
#popup-time{
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	bottom: -1.2em;
	display: block;
}
#popup-time-line{padding: 0 0 10px 0;}
#popup-area .button,
#popup-area-line .button{
	line-height: 60px;
	margin: 0 15px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 10px;
	color: #4b3d30 !important;
}
#popup-area #call{
	min-width: 400px;
	font-size: 20px;
}
#popup-area #call img{
	width: auto;
	height: 46px;
}
#popup-area-line #go-line{
	min-width: 400px;
	color: #fff !important;
	background: #06c755;
	font-size: 24px;
}
#popup-area #close,
#popup-area-line #close-line{
	background: #ccc;
	color: #555;
	font-size: 16px;
}	



/* thanksページ
------------------------------------------------------------*/
#thanks-page nav div.panel,
#thanks-page a#menu{
	display: none !important;
}
#thanks-page #page-title-area h2{
	/* color: #f8fbf0; */
}
#thanks .title-person{
	margin: 0 10px 0 0;
}
#thanks #totop{
	width: 300px;
	line-height: 50px;
	margin: 30px auto 20px;
}



/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width:1025px){
	nav#mainnav{
		background: url(../images/back-green.jpg) repeat center top;
		z-index: 1000;
	}
	nav#mainnav ul#sp-nav{display: none;}
	nav#mainnav ul{
		width: 1024px;
		margin: 0px auto;
		display: flex;
		justify-content:space-around;
		align-items:stretch;
		height: 60px;
		padding: 5px 0 5px 2px;
	}
	nav#mainnav ul li{
		text-align: center;
		line-height: 130%;
		width: 16.5%;
		display: block;
		cursor: pointer;
	}
	nav#mainnav ul li.none{display: none;}
	nav#mainnav ul li a{
		color: #3f3f3f;
		position: relative;
		display:block;
		height: 100%;
		font-size: 15px;
		font-weight: normal;
		cursor: pointer;
	}
	nav#mainnav ul li a span{
		border-right: 2px dotted #3f3f3f;
		display: block;
		line-height: 50px;
		padding-top: 0;
	}
	nav#mainnav ul li:first-child a span{border-left: 2px dotted #3f3f3f;}
	nav#mainnav ul li a:hover,nav#mainnav ul li.current-menu-item a{
		background:rgba(255, 255, 255, 0.5);
		color:#3f3f3f;	
	}
	nav div.panel{display:block !important;}
	a#menu,#home-icon{display:none;}
}
/* iPadサイズ以下（1024px）からアコーディオンメニュー
------------------------------------------------------------*/
@media only screen and (max-width:1024px){
	br.br1024{display: inline;}
	.font24{font-size: 22px !important;}
	.font36{font-size: 34px !important;}
	.font40{font-size: 38px !important;}
	.font50{font-size: 44px !important;}
	.font120{font-size: 100px !important;}
	.overlay-none{position:static;}
	.overlay-menu-open{z-index: 1;}
	#header .pnav ul{display:none;}
	#mainnav{
		width:100%;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 100000;
		height: auto;
		text-align: right;
	}
	.height100{height: 100% !important;}
	#home-icon {
		position: absolute;
		top: 20px;
		left: 20px;
		width: 90px;
		height: 50px;
		line-height: 130%;
		transition: .2s;
		background:url(../images/back-green.jpg) repeat center top;
		border-radius: 4px;
		 z-index: 1000;
		display: flex;
		justify-content:flex-start;
		align-items: center;
		font-size: 15px;
	}
	#home-icon .icon-home{margin: 0 2px 0 5px;}
	a#menu{
		display: block;
		position:relative;
		top:20px;
		right: 20px;
		width: 90px;
		height: 50px;
		line-height: 48px;
		transition: .2s;
		background:url(../images/back-green.jpg) repeat center top;
		border-radius: 4px;
		z-index: 1000;
		float: right;
		color: #1f1f1f;
	}
	a.close-button{background: #f0e8e0;}
	#menuBtn:before, #menuBtn:after{
		display:block;
		content:"";
		position:absolute;
		top:50%;
		left:2px;
		width:18px;
		height:2px;
		background: #1f1f1f;
		transition:.3s;
	}
	#menuBtn:before{margin-top:-7px;}
	#menuBtn:after{margin-top:5px;}
	a#menu .close{background:transparent;}
	a#menu .close:before, a#menu .close:after{margin-top:0;}
	a#menu .close:before{transform:rotate(-45deg);}
	a#menu .close:after{transform:rotate(-135deg);}
	.panel{
		width:calc(100% - 30px);
		height: calc(100% - 130px);
		display:none;
		z-index:900;
		position: relative;
		top: 20px;
		overflow-y: scroll !important;
		background: url(../images/back-green.jpg) repeat center top;
		padding: 15px 13px;
		margin: 0 auto;
		transform: translate3d(0,0,0);
	}
	.open #panel {
		display: block !important;
		 animation: fadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
		top: 66px;
		left: 0;
		right: 0;
		position: fixed;
	}
	@keyframes fadeup {
	  0% {
		transform: translateY(-10px);
		opacity: 0;
	  }
	  80% {
		opacity: 1;
	  }
	  100% {
		opacity: 1;
		transform: translateY(0);
	  }
	}
	
	#mainnav ul li{background: none;}
	#mainnav ul{
		background: #fff;
		border-radius: 6px;
		text-align:left;
		height: 100%;
		overflow-x: hidden;
		position: relative;
		z-index: 1000;
		overflow-y: scroll;
		padding: 10px;
	}
	#mainnav li a{
		position: relative;
		display: block;
		padding: 15px 25px;
		border-bottom: 2px dashed #b5b1a7;
		/* color: #fff; */
		font-weight: normal;
		font-size: 20px;
	}
	#mainnav li a br{display: none;}
	nav#mainnav ul li ul li a{padding-left: 45px;}
	nav#mainnav ul li:hover,
	nav#mainnav ul li.current-menu-sp a{
		background:rgba(255, 255, 255, 0.42);
	}
	nav#mainnav ul li.current-menu-sp ul li a{background: url(../images/back-green.jpg) repeat center top;}
	nav#mainnav ul li .button{margin: 0 50px 10px;border-bottom: 0;}
	#side-button{display: none;}
	.wrapper{width:96%;margin: 0 auto;}
	.site-description{text-align: center;}
	.site-title{
		float: none;
		text-align: center;
		margin: 5px 0 0 0;
	}
	#mainimage{border-top: 11px #e7e6e6 solid;}
	
	#mainimage-1-left{width:63.5%;}
	#mainimage-point1{
		margin: 0 auto 30px;
	}
	.contact-banner {
		margin: 0 auto 40px;
	}

	#sec1-2-1 .sec1-img3 {left: -106px;}
	#sec1-2-1 .sec1-img4 {right: -54px;}
	#section1 table tbody th{text-align: center;line-height: 120%;}
	#section1 table tbody th img{
		display: block;
		width: 24px;
		height: auto;
		margin: 0 auto;
	}
	#section1 table tbody th{width:40%;}
	#sec2-1 #qa-area {
		width: auto;
		margin: 0 100px 0 80px;
	}
	#sec2-1 .sec2-img1 {width: 100px;}
	#sec2-1 .sec2-img2 {
		right: -10px;
	width: 160px;
	}
	#sec3-1 .flow-circle {
		width: 60px;
		height: 60px;
	}
	#sec3-1 .flow-circle .flow-pin {
		width: 15px;
		margin:0 auto;
	}
	#sec3-1 .flow-circle .font40 {font-size: 28px !important;}
	#sec3-1 .flow-photo {width: 250px;}
	#sec3-1 .flow-p h2 {font-size: 19px;}
	#sec3-1 .arrow-flow {margin: 4px auto;}
	#sec4-1 .text-area{display: block;}
	#sec4-1 .photo-sec4{
		display:block;
		margin: 0 auto 20px;
	}
	.access-photo-area img{
		width: 48%;
		height: auto;
	}
	#access-area .access-map .front-map{
		width: 100%;
		height:auto;
		max-width: 426px;
	}	

	#footer-1 .tel-no .inline-img-m{width: 50px;height: auto;}
	#footer #footer-balloon {
		width: 212px;
		height: 172px;
		font-size: 20px;
		top: -60px;
		background-size: 100% auto;
	}
	#contact table {width: 90%;}

	#info-site-inner {padding: 2px 6px 5px;}
	#banner-block-title img{width: 58px;height: auto;}
	#banner-block .footer-banner-bottom{display: block;}
	#banner-block .banner-block-img{
		margin: 0 auto 10px;
		display: block;
	}
	#banner-block .footer-banner-bottom .text{margin-left: 0;}
	#banner-block a .button {width: 250px;}
	/******thanks*******/
	#thanks{margin: 0 auto 50px;}
}
/* 幅959px以下から 
------------------------------------------------------------*/
@media only screen and (max-width: 959px){
	#mainimage-2 .box-inner-l {
		display: block;
		padding: 20px 50px 23px;
	}
	#site-lead-ways .inner {
		padding: 24px 18px 20px 30px;
	}
	#site-lead-ways .site-lead-ways-photo {
		max-width: 44%;
		width: 100%;
		height: auto;
	}
	#sec0-1-upper .sec0-1-upper-img{
		max-width: 44%;
		width: 100%;
		height: auto;
	}
	
	
}
/* 幅789px以下から 
------------------------------------------------------------*/
@media only screen and (max-width: 789px){
	br.br789{display: inline;}
	.font24{font-size: 20px !important;}
	.font30{font-size: 22px !important;}
	.font36{font-size: 24px !important;}
	.font40{font-size: 28px !important;}
	.font50{font-size: 38px !important;}
	.font60{font-size: 48px !important;}
	.font120{font-size: 80px !important;}
	a#menu {right: 10px;font-size: 14px;}
	#home-icon{left: 10px;font-size: 13px;}
	.site-title {
		margin: 10px auto 3px;
		font-size: 20px;
	}
	#mainimage{
		border-top: 0;
		padding: 0;
		background: none;
	}
	#mainimage-1{
		width: 100%;
		border-radius: 0;
	}
	
	#mainimage-1 .box-inner{display: block;}
	#mainimage-1 #mainimage-1-left{width: 100%;margin: 0 auto 10px;}
	#mainimage-1 .point-box {
		width: 49%;
		margin-bottom: 0 !important;
	}
	#mainimage-2 .box-inner-l{display: block;}
	#mainimage-2 .mainimage-2-img{
		max-width: 400px;
		width: 100%;
		height: auto;
		display: block;
		margin: 0 auto 15px;
	 }
	#mainimage-2 .text{
		margin: 0 auto;
		display: block;
	}
	#mainimage-2 h2.title {text-align: center;}
	.comment-inner {padding: 15px 110px 10px 15px;}
	
	#site-lead-ways .inner {
		display: block;
		padding: 25px 18px ;
	}
	#site-lead-ways h2.title {
		justify-content: center;
		margin: 10px 0;
	}
	#site-lead-ways .site-lead-ways-photo{
		display: block;
		margin: 0 auto 15px;
		max-width: 400px;
	}
	#sec0-1-upper{display: block;}
	#sec0-1-upper .sec0-1-upper-img{
		display:block;
		margin: 0 auto 15px;
		max-width: 400px;
	 }
	#sec0-1-upper .text{
		display: block;
		margin: 0 auto;
	}
	.section-title h2.title-h2{font-size: 28px;}
	.comment-title {
		font-size: 20px;
		width: 86px;
		height: 86px;
	}
	.comment-area-right .comment-inner {padding-right: 110px !important;}
	.box-title {padding: 10px 10px 0 10px;}
	.contact-banner .contact-inner {
		padding: 35px 15px 2px;
	}
	.contact-banner .title img {
		max-width: 400px;
	}
	#sec1-2-1 .sec1-img3 { 
		width: 140px;
		left: -22px;
	}
	#sec1-2-1 .sec1-img4 {
		right: 0;
		width: 118px;
	}
	#sec1-2-h3 {font-size: 100%;}
	#sec2-1 #qa-area {
		margin: 0 15px;
		z-index: 10;
		position:static;
	}
	#sec2-1 .sec2-img {
		position: absolute;
		bottom: auto;
		z-index: 0;
	}
	#sec2-1 .sec2-img1 {
		width: 100px;
		top: -50px;
	}
	#sec2-1 .sec2-img2 {
		right: -10px;
		width: 160px;
		top: -80px;
	}
	#sec2-1 .box-title{padding: 8px 0 4px;}
	#sec2-1 .box-title h3 {padding: 10px 0 10px 66px;}
	#sec2-1 .icon-q {
		left: 5px;
		width: 50px;
		bottom: auto;
		top: 0;
	}
	#sec2-1 .icon-a {
		left: 17px;
		width: 36px;
	}
	#sec2-1 .qa-box-inner {padding: 20px 20px 15px 67px;}	
	#sec3-1 .flow-upper{
		display: block;
		margin: 10px;
	}
	#sec3-1 .flow-photo {
		max-width: 260px;
		width: 100%;
		margin: 0 auto 10px;
	}
	#sec4-1 .photo-sec4 {
		display: block;
		float: none;
		margin: 0 auto 10px;
		width: 240px;
		 height: auto;
	}
	#office-single .title-area h2 img{
		width: 40px;
	}
	#access-area .access-area-inner {
		padding: 30px 25px 1px 25px;
		display: block;
	}
	#access-area .access-box {
		width: 100%;
		margin: 0 auto 30px;
		background: #fffcef;
		border-radius: 6px;
		padding: 30px 20px 10px;
	}
	#access-area .access-box .title-area{
		padding-top: 0 !important;
	}
	.access-photo-area {
		max-width: 500px;
		width: 100%;
	}
	.access-photo-area img{max-width: 240px;}
	#access-area  p.min {padding: 5px 0 0 0;}
	#access-area .tel-no .font40{
		font-size: 34px !important;
	}
	#access-area .tel-no img{
		width: 36px;
		height: auto;
	}
	table th{font-size: 16px;}
	table th span.th, 
	table td span.td {
		padding: 11px 8px 9px 9px;
	}
	#banner-block a{width: 49%;}
	#banner-block .title-area-double h3 img{
		width: 20px;
		height: auto;
	}
	#banner-block .title-area-double {padding: 0 0 14px;}
	#banner-block .banner-block-img {
		width: 220px;
		height: auto;
	}
	#footer {
		padding-bottom: 90px;
	}
	#footer #footer-balloon {
		width: 156px;
		height: 130px;
		font-size: 16px;
		top: -30px;
		padding-top: 8px;
	}
	#footer #footer-balloon img.icon-footer-pc { 
		width: 50px;
		height: auto;
	}
	#footer-title{font-size: 20px;}
	#footer .tel-no img{
		width: 50px;
		padding: 0 ;
	}
	#contact {padding: 10px 0;}
	#contact #mailformpro {margin: 0 10px;}
	#contact table {
		width: 94%;
		border-spacing: 10px 0;
	}
	#contact table th {width: 10em;}
	#contact table th span.th{padding: 11px 0 9px 0;}
	.box-inner-l {margin: 15px;}

	.button:hover{top: 0;}
	.cont-box{margin: 0 auto 40px ;}
	input[type="submit"], 
	input[type="reset"], 
	input[type="button"], 
	.button{
		padding: 0;
	}
	#mailformpro #form-title {
		padding: 18px 0 14px;
		margin: 15px 20px 20px;
		border-radius: 6px;
	}
	#footer-sp-area{display: block;}

	#pagetop {right: 6px;}
	#pagetop{bottom: 80px;}
	#pagetop a{line-height: 120%;}
	#contact {padding: 12px 0;}
	#contact #mailformpro {
		margin: 0 10px;
		padding: 20px 20px 30px;
	}
	#contact table {
		width: 96%;
		border-spacing:  0;
		margin: 0 auto 15px auto;
	}
	#contact input[type="submit"] {width: 200px;}
	#contact table td{
		line-height: 140%;
		display: block;
		width: 100%;
		text-align: left;
	}
	#contact table th{
		line-height: 140%;
		display: block;
		width: 100%;
		text-align: left; 
		background: url(../images/line-dotted-white.png) repeat-x left bottom;
		
		padding: 0 0 15px 0;
		background-size: auto 6px;
	}
	#contact table th span.th {padding: 20px 0 0 10px;}
	#contact table .line2 th{line-height: 140%;}
	#contact table .line2 th br{display: none !important;}

	/******thanks*******/
	#thanks{padding-bottom: 1px;}


}
/* 幅589px以下から 
------------------------------------------------------------*/
@media only screen and (max-width: 589px){
	body{font-size: 14px;}
	br.br589{display: inline !important;}
	.font24{font-size: 18px !important;}
	.font36{font-size: 20px !important;}
	.font40{font-size: 24px !important;}
	.font50{font-size: 32px !important;}
	.font60{font-size: 40px !important;}
	.font120{font-size: 70px !important;}
	h2.title,h2{font-size: 18px;}
	h3.title,h3{font-size: 16px;}
	.section-title h2.title-h2 {
		font-size: 28px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.section-title{	display: flex;
		justify-content:center;
		align-items: center;
	}
	.site-title {margin: 7px auto;font-size: 17px;}
	a#menu {
		top: 16px;
		right: 5px;
		font-size: 12px;
		text-align: center;
		padding-left: 11px;
		width: 80px;
	}
	#home-icon {
		width: 80px;
		left: 5px;
		top: 16px;
	}
	#menuBtn:before, #menuBtn:after{width: 13px;}
	.panel{
		padding: 10px 9px;
		top: 15px;
	}
	#mainnav li a {
		font-size: 17px;
	}
	.go-sp-ai .balloon {
		width: 69px;
		height: 40px;
		font-size: 11px;
	}
	#mainimage-2 .box-inner-l {
		padding: 20px 30px 23px;
	}
	.mainimage-banner-area .mainimage-banner-pc{display: none;}
	.mainimage-banner-area .mainimage-banner-sp{display: block;}
	#mainimage-point1{
		display: block;
	}
	#mainimage-point1 .main-point{
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}

	#mainimage-point1 .main-point:first-child,
	#mainimage-point1 .main-point:nth-child(2),
	#mainimage-point1 .main-point:nth-child(3){
		margin-bottom: 10px !important;
	}
	
	.comment-inner{padding: 20px 80px 10px 10px;}
	.coution-comment-area .comment-inner{padding: 55px 80px 10px 10px;}
	.comment-area-right .comment-inner {padding-right: 80px !important;}
	.comment-area-left .comment-inner {padding-left: 120px !important;}
	.comment-title {
		font-size: 18px;
		width: 70px;
		height: 70px;
		margin: 0 auto;
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		top: -25px;
	}
	.comment-title .icon-coution {
		margin: -3px auto 6px auto;
		width: 30px;
		height: auto;
	}
	#site-lead-ways h2.title img {
		width: 48px;
		height: auto;
	}
	.contact-banner .contact-inner {
		display: block;
	}
	.contact-banner .img-button {
		width: 100%;
		max-width: 360px;
		margin: 0 auto 18px;
	}

	.comment-inner {
		padding: 20px 20px 15px 20px;
		font-size: 14px;
	}
	#sec1-2-1 {width: auto;}
	#sec1-2-1 .sec1-img3{
		left: 0;
		width: 120px;
	}
	#sec1-2-1 .sec1-img4 {
		right: 24px;
		width: 100px;
	}
	#section1 table tbody th{
		font-size: 16px;
		line-height: 1em;
	}
	#section1 table tbody td {
		font-size: 13px;
		line-height: 1em;
	}
	#section1 table .font36 {font-size: 28px !important;}
	#sec1-2 .icon-price{
		width: 36px;
		height: auto;
	}
	#sec1-2 p.text-right{text-align: left;}
	#sec2-1 .sec2-img1 {width: 85px;}
	#sec2-1 .sec2-img2 {width: 131px;}
	#sec3-1 .flow-circle {
		width: 50px;
		height: 50px;
		font-size: 11px;
		margin: -20px auto 5px;
	}
	#sec3-1 .arrow-flow {
		width: 28px;
		height: auto;
	}
	#sec3-1 #flow3 h2 {margin: 0;}
	#sec3-1 .flow-p h2 {font-size: 16px;}
	#sec3-1 #flow6{
		padding: 12px 20px 10px;
		flex-wrap: wrap;
		justify-content: center;
	}
	#sec3-1 #flow3 {
		width: 70%;
	}
	#sec3-1 #flow6 .flow-comment{
		margin: 10px auto 0;
		width: 100%;
		flex: auto;
	}
	#sec4-1 .photo-sec4 {
		width: 240px;
		height: auto;
	}
	#sec4-1 .text li {font-size: 18px;}
	#banner-block .banner-block-img {width: 100%;}
	#banner-block a .button {width: auto;}
	#banner-block-title img {
		width: 42px;
	}
	#footer #footer-balloon {
		width: 147px;
		height: 119px;
		font-size: 14px;
	}
	#footer-title {
		font-size: 16px;
		padding-bottom: 10px;
	}
	#footer {padding-bottom: 70px;}

	#mailformpro #form-title {margin: 15px 20px 0;}
	#contact {padding: 12px 0;}
	#contact #mailformpro {margin: 0 10px;}
	#contact input[type="submit"] {width: 200px;}
	#contact table {width: 94%; border-spacing: 0;margin: 0 auto;}
	#contact table th,
	#contact table td{
		display: block;
		width: 100%;
		text-align: left;
	}
	#contact table th{
		font-size: 18px;
		padding-bottom: 3px;
	}
	#contact table th span.th {padding: 20px 0 8px 5px;}
	#contact table .line2 th{line-height: 50px;}
	#contact table .line2 th br{display: none;}
	h2.title {margin: 15px auto 10px auto;}
	#tel-bottom-button .big {
		font-size: 1.4em;
	}
	#footer-sp-area .button {
		padding-top: 3px;
		height: 54px;
		font-size: 12px;
	}
	.popup-button-area {
		display: block;
	}
	#popup-area #close,
	#popup-area-line #close-line {
		font-size: 14px;
		width: 200px;
		height: 44px;
		margin: 25px auto 0;
	}





}
/* 幅489px以下から 
------------------------------------------------------------*/
@media only screen and (max-width: 489px){
	br.br489{display: inline;}
	.title-area-orange,
	.title-area-beige {
		background-size: auto 8px;
	}
	.site-description {display: none;}
	.site-title {margin: 15px auto 5px auto;}
	a#menu {top: 11px;}
	#home-icon {
		width: 70px;
		left: 5px;
		top: 11px;
		font-size: 12px;
	}
	#home-icon .icon-home {
		width: 12px;
		height: auto;
	}
	.panel{
		top: 10px;
	}
	#mainnav li a {
		position: relative;
		display: block;
		padding: 15px 10px;
		font-size: 16px;
	}
	nav#mainnav ul li ul li a{padding-left: 25px;}
	nav#mainnav ul li .button {
		margin: 0 auto 10px;
		font-size: 16px;
		padding: 10px 0;
	}
	#mainimage .bord-comment br {display:inline;}
	#mainimage{
		margin-bottom: 20px;
	}
	.mainimage-point {width: 96%;}
	.mainimage-point,
	#mainimage-2{
		margin-bottom: 20px;
	}
	#mainimage-2 .box-inner-l {padding: 20px 15px 23px;}
	.contact-banner .title img {
		width: 100%;
	}
	.title-area{padding: 10px 0 0 0;margin: 0;}
	#site-lead-ways .comment-inner {padding-right: 15px;}
	#site-lead-ways h2.title {
		display: block;
		text-align: center;
	}
	#site-lead-ways h2.title img {
		width: 40px;
		display: block;
		margin: 0 auto;
	}
	#sec1-2 .sec1-img2 {
		left: 0;
		width: auto;
		height: 70px;
		right: 0;
		margin: auto;
		top: -75px;
		bottom: auto;
	}
	.comment-area-right .comment-inner {padding-right: 15px !important;}
	.comment-inner,
	.comment-area-left .comment-inner {
		padding: 20px 15px 11px 15px;
	}

	.section-title {
		height: auto;
		line-height: 130%;
	}
	.title-circle{display: none;}
	.section-title h2.title-h2 {
		font-size: 22px;
		padding: 20px 0 18px;
	}
	img.section-title-arrow {margin: 0 auto 30px auto;}
	#sec1-2-1 .sec1-img3 {left: 0;width: auto;height: 64px;}
	#sec1-2-1 .sec1-img4 {right: 0;width: auto;height: 62px;}
	#section1 table {border-spacing: 6px;}
	#sec1-2 table th { width: 7em;text-align: center;}
	#sec1-2 .icon-price {
		width: 30px;
		height: auto;
		 padding: 0;
		display: block;
		margin: 0 auto 5px;
	}
	#sec1-2 p.text-right {
		line-height: 140%;
		margin: 5px 0 60px;
	}
	#sec2-1 #qa-area {margin: 0 10px;}
	#sec2-1 .sec2-img1 {width: 60px;}
	#sec2-1 .sec2-img2 {
		width: 90px;
		top: -70px;
	}
	#sec2-1 .box-title h3 {padding: 4px 5px 7px 50px;}
	#sec2-1 .icon-q {
		bottom: 0;
		top: 0;
		display: block;
		 margin: auto;
		width: 40px;
		height: auto;
	}
	#sec2-1 .icon-a {
		left: 12px;
		width: 29px;
		height: auto;
	}
	#sec2-1 .qa-box-inner {padding: 20px 15px 10px 51px;}
	#sec2-1 #qa-box3 .box-title h3{font-size: 16px;}
	#sec3-1 .flow-upper {margin: 5px;}
	#sec3-1 .flow-line .flow-box .flow-title{margin-left: 0;}
	#sec3-1 .flow-comment {
		padding: 12px 10px 7px;
		margin: 0 5px 5px;
		font-size: 13px;
	}
	#sec3-1 #flow3{
		padding: 12px 15px 10px 15px;
		width: 80%;
	}
	#sec3-1 #flow6{
		flex-wrap:wrap;
		padding: 12px 5px 5px 5px;
		justify-content:center;
	}
	#sec3-1 #flow6 .flow-comment{
		width: 100%;
		flex: none;
		margin: 10px auto 0;
	}
	.title-pink img{width: 30px;}
	#section4 .wrapper{padding-bottom: 20px;}
	#sec4-1 .photo-sec4 {width: 260px;height: auto;}
	#sec4-1 .box-inner-l {margin: 20px 10px 10px 10px;}
	#sec4-1 .title-pink{padding: 10px 10px 5px 10px;}
	#sec4-1 .text li {font-size: 15px;}
	#sec4-1 .text li:before {padding-right: 0;font-size: 20px;}
	#access-area .access-area-inner {
		padding: 15px 15px 1px 15px;
		margin-top: 10px;
	}
	#access-area .access-box {
		width: 100%;
		margin: 0 auto 40px;
		background: none;
		padding: 0;
	}
	#access-area .access-box .title-area{
		background-size: auto 6px;
	}
	#access-area h3.title {
		padding-bottom: 10px;
		font-size: 19px !important;
	}
	#access-area .map-button {font-size: 17px;width: 260px;}

	#banner-block-title img {width: 39px;}
	#banner-block .footer-banner-bottom .text {font-size: 12px;}
	#banner-block .footer-banner-bottom .button{font-size: 14px;}
	#banner-block .footer-banner-bottom .button img{width: 28px;height: auto;}
	#info-site-inner .left{width: 100%;max-width: 300px;}
	#footer #footer-balloon{display: none;}



	.cont-box {margin: 0 auto 35px auto;}
	.box-inner-l {margin: 15px 10px 2px;}
	.section-area{padding: 0;}

	#footer-sp-area-inner{padding: 5px 0;}
	
	.icon-robo{width: 36px;}
	.go-sp-ai .balloon{
		top: -28px;
		left: 36px;
	}
	#go-sp-mail .icon-flex{
		width: 26px;
		height: auto;
	}
	#tel-bottom-button {
		bottom: 66px;
	}
	#tel-bottom-button .inner {
		height: 72px;
		width: 72px;
		font-size: 11px;
	}
	#tel-bottom-button img {
		width: 20px;
	}
	#popup-area #call,
	#popup-area-line #go-line {
		min-width: initial;
	}
	#line-qr-area{
		display: none;
	}
	/******thanks*******/
	#thanks-page #page-title-area img{
		width: 60px;
		height: auto;
	}
	#thanks{
		padding-top: 30px;
		padding-bottom: 10px;
	}
	#thanks h2.title{
		text-align: center;
	}
	#thanks .title-person {
		position: absolute;
		margin: auto;
		left: 0;
		right: 0;
		width: 50px;
		height: auto;
		top: -65px;
	}
	
}
/* 幅389px以下から 
------------------------------------------------------------*/
@media only screen and (max-width: 389px){
	a#menu{width: 70px;}
	br.br389{display: inline !important;}
	.font50 {font-size: 28px !important;}
	.font60 {font-size:34px !important;}
	h2.title, h2 {font-size: 17px;}
	
	#mainimage {border-top: 6px #e7e6e6 solid;}
	.mainimage-point{padding: 6px;}
	#mainimage-point1 .main-point:first-child,
	#mainimage-point1 .main-point:nth-child(2),
	#mainimage-point1 .main-point:nth-child(3){
		margin-bottom: 6px !important;
	}
	#mainimage h3.bord-bottom .font36 {font-size: 32px !important;}
	.contact-banner {
		padding: 6px;
	}
	
	
	
	#site-lead-ways h2.title {margin: 0 auto 5px;}
	#site-lead-ways .comment-inner p {padding-right: 0;}
	#section1 table tbody th {font-size: 15px;}
	#section1 table tbody th span.th, 
	#section1 table tbody td span.td {
		padding: 11px 2px 9px 2px;
	}
	.comment-inner {padding: 20px 5px 11px 5px;}
	#sec4-1 .title img{width: 34px;height: auto;}
	#access-area .tel-no .font40{
		font-size: 30px !important;
	}
	#access-area .tel-no img{
		width: 30px;
	}
	#banner-block a .button {padding: 0;font-size: 14px;}
	#info-site a{width: 100%;line-height: 54px;}
	#section4 .wrapper{padding-bottom: 10px;}
	.icon-robo {width: 34px;left: 5px;}
	.go-sp-ai .balloon {
		width: 62px;
		height: 39px;
		top: -25px;
		font-size: 10px;
		left: 37px;
	}
	.icon-robo {
		width: 34px;
		left: -5px;
	}
	.go-sp-ai span{
		padding-left: 20px;
	}
	.go-sp-ai .balloon {
		width: 74px;
		height: 44px;
		top: -25px;
		font-size: 11px;
		left: 37px;
		padding-top: 12px;
	}
	#footer-sp-area .button .min{font-size:12px;}
	#go-sp-mail .icon-flex{
		width: 26px;
	}
	#popup-area #call, 
	#popup-area-line #go-line {
		width: 100%;
		margin: 0;
	}
	#popup-area #call {
		font-size: 19px;
	}
	#popup-area #call img {
		width: auto;
		height: 39px;
	}
	#popup-area-line #go-line{
		font-size: 20px;
	}
	#contact #mailformpro {padding: 5px 5px 30px;}
	#contact table th {
		font-size: 16px;
		background-size: auto 5px;
	}
	
	
	/******thanks*******/
	#thanks #totop {width: 100%;}
	
	
	
	

}