@charset "utf-8";

html {
  font-size:13px;
  line-height:1.8;
}

body {
  position:relative;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
  font-size: 16px;
}

.outer-block {
  min-width: 320px;
}

.inner-block {
  padding: 0 10px;
  width: auto;
}

#wrapper {
  min-width:320px;
  overflow: hidden;
  padding-top:53px;
}

input, select, textarea {
  font-size: 16px;
  font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,sans-serif;
  vertical-align:middle; 
}

.pc {
  display:none !important;
}
.pc-ib {
  display: none !important;
}

.sp {
  display:block !important;
}
.sp-ib {
  display: inline-block !important;
}

.aco-body {
  display: none;
}
.btn {
margin: 20px auto;
}
.large {
width: 90%;
}

/*------------------------------------------------------------------------------
  header
------------------------------------------------------------------------------*/
#header{
  height:63px;
  text-align:center;
  padding-top:10px;
  border-bottom: 1px solid #cccccc;
}

#header .inner-block{
  padding:0 10px;
}

#header .logo{
  display:inline-block;
  width:200px;
  margin:0;
  padding-top:2px;
  float:none;
}

.sp_menu{
  position:absolute;
  left:20px;
  top:20px;
  cursor:pointer;
  width:30px;
}
/*------------------------------------------------------------------------------
  footer
------------------------------------------------------------------------------*/
footer {
padding: 40px 0;
}

/*------------------------------------------------------------------------------
  sp_nav
------------------------------------------------------------------------------*/
.sp_bg{
  position:fixed;
  background:rgba(0,0,0,0.3);
  width:100%;
  height:120%;
  left:0;
  top:0;
  z-index:600;
  display:none;
}

.sp_nav{
  display:none;
  width:100%;
  position:fixed;
  left:0;
  top:0;
  height:120%;
  z-index:700;
}

.sp_nav .cell{
  display:table-cell;
  vertical-align:top;
}

.sp_nav .cell02{
  width:60px;
}

.sp_nav .cell02 .close{
  height:55px;
  background:#D9D9D9;
  position:relative;
  cursor:pointer;
}

.sp_nav .cell02 .close:after,
.sp_nav .cell02 .close:before{
  content:"";
  width:25px;
  height:2px;
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
  background:#414E56;
}

.sp_nav .cell02 .close:after{
  -webkit-transform: rotate(-45deg);
}

.sp_nav .cell02 .close:before{
  -webkit-transform: rotate(45deg);
}

.sp_nav .cell01{
  background:#000000;
}

.sp_nav_list{
  background:#fff;
  margin:0 0 30px;
}

.sp_nav_list li{
  border-bottom:1px solid #E3E3E3;
}

.sp_nav_list li a{
  text-align:center;
  height:55px;
  line-height:55px;
  font-size:14px;
  color:#000000;
  font-family: 'FuturaMedium';
  display:block;
}

.sp_nav .block{
  background:#fff;
}

.sp_nav .block .block_in{
  padding:0 10px;
}

.sp_nav .contact_btn{
  margin-top:15px;
}

.sp_nav .sns_list{
  padding-top:20px;
}



/*------------------------------------------------------------------------------
  mv
------------------------------------------------------------------------------*/
.mv{
  height:320px;
}
/*------------------------------------------------------------------------------
  content
------------------------------------------------------------------------------*/
.mainv + .content{
  padding-top:35px;
}
.content{
  padding:20px 0 0;
}
body.under .content #id01 { margin-top: 30px; }
.inner_conts {
padding: 10px 15px 10px;
box-sizing: border-box;
}

.bg {
  background-attachment: unset;
}
.bg03{
  height:300px;
}
.google-maps iframe {
  height: 300px; !important;
	}
.tl_block{
  margin:50px 0 15px;
}

.tl_block.tl_block01 {
  margin-bottom: 25px;
}

.tl_block .tl{
  font-size:28px;
  letter-spacing: 4px;
}

.tl_block .tl span:before,
.tl_block .tl span:after{
  width:25px;
}

.tl_block .tl span:before{
  left:-45px;
}

.tl_block .tl span:after{
  right:-45px;
}

.tl_block .subtl{
  font-size:12px;
  letter-spacing: 2px;
}

.bg01,
.bg02{
  height:160px;
}

table {
	width: 100%;
	margin: 20px auto;
	border-collapse: separate;
	border-spacing: 1px;
	line-height: 1.7em;
}
table th {
	display: block;
	width: 100%;
	padding: 1em 0.5em 0;
	text-align: left;
	border-bottom: none;
}
table td {
	display: block;
	width: 100%;
	padding: 0 0.5em 1em;
}


.inner_conts700 {
	padding: 10px 15px 30px 15px;
	box-sizing: border-box;
}
.inner_conts700 p {
	width: auto;
	box-sizing: border-box;
}

/*------------------------------------------------------------------------------
  clearfix
------------------------------------------------------------------------------*/
#pagetop:after,
#side .tab_tl:after,
.description-list:after{
  clear: both;
  content: "";
  display: block;
  height: 1px;
  font-size: 0;
  visibility: hidden;
}