@charset "UTF-8";
@media screen and (max-width: 980px) {
  html {
    font-size: 1.4vw;
  }
  body {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 560px) {
  html {
    font-size: 2.0vw;
  }
  body {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 480px) {
  html {
    font-size: 2.66667vw;
  }
  body {
    font-size: 1.6rem;
  }
}

/* --------------------------------
 * base
 * -------------------------------- */



a,
button,
img {
	outline: none;
}

a[href^="tel:"] {
    pointer-events: none;
}

a {
	text-decoration: none;
}

nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
hr {
	height: 0px;
	border: 1px solid #ddd;
	border-width: 1px 0 0;
	margin: auto;
}

#pageTop{
	background:#999999;
	border-radius:5px;
	color:#FFF;
	padding:20px;
	position:fixed;
	bottom:20px;
	right:20px;
z-index:1;
	}
#pageTop:hover{
	background:#cccccc;
	} 

p.continue {
clear:both;
margin:10px 0;
padding:10px 0 10px 0;
background:url(../img/base/continue.jpg) no-repeat center left;
text-indent:30px;
}
p.backto {
clear:both;
width:162px;
height:57px;
margin:20px 0 0 0;
padding:0;
background:url(../img/base/btn-gotoback.jpg) no-repeat 0 0;
text-indent:-9998em;
}
p.backto a {
height:57px;
margin:0;
padding:0;
background:url(../img/base/btn-gotoback.jpg) no-repeat 0 0;
display:block;
}
p.backto a:hover {
background:url(../img/base/btn-gotoback.jpg) no-repeat 0 -57px;
}

.contents {
	clear:both;
	position:relative;
	height:1000px;
	overflow:hidden;
}


/* 分割
-----------------------------------*/
.pgno {
  clear: both;
  width: 50%;
  margin: 50px auto 20px auto;
  overflow: hidden;
}

.pgno:after {
  content: "";
  display: block;
  clear: both;
  height: 1px;
  overflow: hidden;
}

.current_page {
  padding: 5px 10px;
  border: 1px solid #999999; /* borderを明示的に4辺すべて指定 */
  display: inline-block; /* インラインブロック要素として表示 */
}

a.link_page {
  padding: 5px 10px;
  border: 1px solid #999999; /* borderを明示的に4辺すべて指定 */
  display: inline-block; /* インラインブロック要素として表示 */
}

/* オプション：ホバー時のスタイルを追加 */
a.link_page:hover {
  background-color: #f0f0f0;
}

.pgno p {
	line-height:200%;
}
@media only screen and (max-width:640px){
.pgno {
width:90%;
}
}

/* --------------------------------
 * parts
 * -------------------------------- */

 
 
.heading {
  position: relative;
  display: inline-block;
  margin: 10px 0 5px;
  padding-bottom: 15px;
  letter-spacing: 2px;
  font-size: 2rem;
  line-height:1.5;
}
.heading::before,
.heading::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom: 1px solid #999;
}
.heading::before {
  bottom: 5px;
}

h2 {
	font-size: 2.4rem;
	margin:2px 0;
}

.tochi {
	color:#6C9;
}
.tatemono {
	color:#F93;
}
.tochi a {
	color:#6C9;
}
.tatemono a {
	color:#F93;
}

.tags {
	overflow: hidden;
	margin: auto -0.2em;
	padding: 0;
}
.tags li {
	font-size: 1.2rem;
	list-style: none;
	float: left;
}
.tags a {
	color: inherit;
	display: block;
	margin: 0.25em;
	padding: 0.5em;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	border: 1px solid #ddd;
}
.tags a:hover {
	color: #09D;
}

/*---------------------------*/
.tagnavi-type {
	overflow: hidden;
	margin: auto -0.2em;
	padding: 0;
}
.tagnavi-type li {
	list-style: none;
	float: left;
	width:30%;
	text-align:center;
	margin:2px;
	color:#e9e9e9;
	display: block;
	margin: 0.25em;
	padding: 0.5em;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	background:#F90;
	border: 1px solid #F90;
	border-radius: 2px;		/* CSS3草案 */
	-webkit-border-radius: 2px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 2px;	/* Firefox用 */
}
.tagnavi-type li a {
	color:#fff;
	display:block;
}
.tagnavi-type a:hover {
	color: #09D;
}


/*---------------------------*/
.tagnavi {
	overflow: hidden;
	margin: auto -0.2em;
	padding: 0;
}
.tagnavi li {
	list-style: none;
	float: left;
	margin:2px;
	color:#e9e9e9;
	display: block;
	margin: 0.25em;
	padding: 0.5em;
	line-height: 1;
	white-space: nowrap;
	text-decoration: none;
	border: 1px solid #ddd;
border-radius: 2px;		/* CSS3草案 */
	-webkit-border-radius: 2px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 2px;	/* Firefox用 */
}

.tagnavi a:hover {
	color: #09D;
}
/*---------------------------*/

h1.heading {
  position: relative;
  display: inline-block;
  margin: 10px 0 5px;
  padding-bottom: 10px;
  letter-spacing: 2px;
}

h2.black {
color: #000;
text-shadow:
  -1px -1px 0px #fff,
   1px -1px 0px #fff,
   1px  1px 0px #fff,
  -1px  1px 0px #fff;
}

h3.heading {
  position: relative;
  display: inline-block;
  margin: 10px 0 5px;
  padding-bottom: 10px;
  letter-spacing: 2px;
}
h3.heading::before,
h3.heading::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  border-bottom:dotted 1px #999;
}
h3.heading::before {
  bottom: 5px;
}


.button {
  display: inline-block;
  width: 200px;
  padding: 20px;
  border-radius: 4px;
  background-color: #afa58d;
  color: #fff;
  text-decoration: none;
  letter-spacing: 1px;
}
.button:hover {
  opacity: 0.9;
}
.button-green {
  background-color:#96BAA5;
}
.button-showy {
  background-color: #D29E04;
}
.button-ghost {
  border: 1px solid #fff;
  background-color: rgba(255, 255, 255, 0.15);
}






/* --------------------------------
 * header
 * -------------------------------- */


.site-title-sub {
  margin: 0 0 30px;
  letter-spacing: 1px;
  color:#000;
  text-align:left;
}


/* --------------------------------
 * white-text-left
 * -------------------------------- */
.main h2 , h3 {
	text-align: center;
}


.main .header-info {
	width: 70%;
	margin: 0 auto;	
}


.main .white-text-center {
	clear: both;
	width: 100%;
	background: #ececec;
	margin:20px auto;
}
.main .white-text-center .contact {
	width: 70%;
	margin: 0 auto;
}
@media (max-width: 1024px) {
.main .header-info {
	width: 90%;
	}
.main .white-text-center .contact {
	width: 100%;
	margin: 0 auto;
}
}
@media (max-width: 640px) {
.main .header-info {
	width: 100%;
	}
}
.white-text-left {
	clear:both;
text-align:left;
  padding: 10px 30px;
  background-color: #fff;
  color: #333;
	font-size: 2.0rem;
  overflow:hidden;
}

.white-text-left p {
  margin: 30px 0;

}
.white-text-left img {
float:left;
margin:0 20px 20px 0;
  max-width: 100%;
  height:auto;
}


/* --------------------------------
 * smart phone
 * -------------------------------- */


@media (max-width: 1024px) {
  body {
    background-image: none;
  }


.site-title-sub {
  margin: 0 0 0px;
  letter-spacing: 0px;
}
.site-title-sub::before,
.site-title-sub::after {
  content: '';
  display:none;
}




}
@media (max-width: 768px) {
  body {

  }
	
.white-text-left {
	font-size: 1.6rem;
	}

  .heading {
    margin-top: 20px;
  }
  .button:hover {
    opacity: 1;
  }


.white-text-left {
  padding: 10px 0px;
}
.white-text-center {
	clear: both;
	width: 100%;
  padding: 20px 0px;
}
.black-text-left {
  padding: 20px 0px;
}
.black-text-center {
  padding: 20px 0px;
}


}

































/**************************
/* トップナビゲーション
**************************/

.topnav-container {
	clear:both;
	position:relative;

	background:#000;
	margin:0 auto;
	z-index:1;
	}


ul#topnav {
clear:both;
overflow:hidden;
margin:0 auto;
padding:0;
border-left:#FFFFFF solid 1px;
}

ul#topnav ul {
margin:0;
padding:0;
}
ul#topnav li{
  display: block;
  float: left;
  width: 20%;
  margin: 0;
  padding: 0;
  border-right:#FFFFFF solid 1px;
  }
ul#topnav li a{
  display: block;
  padding:10px 0;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
ul#topnav li a:hover{
  background:#6699FF;
}
#toggle{ 
 display: none;
}

#pageTop{
	background:#DDD;
	border-radius:5px;
	color:#FFF;
	padding:20px;
	position:fixed;
	bottom:20px;
	right:20px;
z-index:1;
	}
#pageTop:hover{
	background:#EEE;
	} 




/* PC用 */
@media only screen and (min-width:961px){


}




/* モニター幅960px以下 */
@media only screen and (max-width:960px){


	
	ul#topnav{
	clear:both;
	width:100%;
	border-radius:0;
	}

	ul#topnav li{
	width:33%;
	border-right:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
	box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
	}

	ul#topnav li:nth-child(3n){border-right:0;width:34%;}

	ul#topnav li a{
	width:100%;
	border:0;
	}

	ul#topnav li:first-child a,ul#topnav li:last-child a{width:100%;}

	

}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){

    ul#topnav  li{
    width: 33%;
    border-bottom: 1px solid #fff;
  }

}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){

  ul#topnav {
    display: none;
  }
  ul#topnav  li{
    width: 100%;
  }
  #toggle{
    display: block;
    position: relative;
    width: 100%;
    background: #222;
  }
  #toggle a{
    display: block;
    position: relative;
    padding: 12px 0 10px;
    border-bottom: 1px solid #444;
    color: #fff;
    text-align: center;
    text-decoration: none;
  }
  #toggle:before{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background: #fff;
  }
  #toggle a:before, #toggle a:after{
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 10px;
    width: 20px;
    height: 4px;
    background: #222;
  }
  #toggle a:before{
    margin-top: -6px;
  }
  #toggle a:after{
    margin-top: 2px;
  }

	ul#topnav li{
	width:100%;

	}
	ul#topnav li:nth-child(3n){
	width:100%;
	}	
	ul#topnav li:nth-child(2n),ul#topnav li:nth-child(6n){border-right:0;}



}
