@charset "utf-8";

@media screen and (max-width: 1080px) {
	#contents, footer {
		width: 100%;
	}
	img {
		max-width: 100%;
		height: auto;
		width: auto\9; /* ie8 */
	}
	h2 {
	margin-top: 30px;
	}
	.detail {
	margin-bottom: 35px;
	}
	.box {
		margin-bottom: 30px;
	}
	.box dl {
		margin-right: 4.1%;
		width: 30.6%;
	}
	.box dl:last-child  {
		margin: 0;
	}
	footer dl, footer dt, footer dd {
		display: inherit;
	}
	footer dl {
		padding: 20px 0 23px;
		width: 100%;
		text-align: center;
	}
	footer dt, footer dd.tel, footer dd.address {
		display: inline-block;
		padding: 0 25px 15px 0;
		width: auto;
	}
	footer dd.address {
		text-align: left;
		padding-right: 0;	
	}
	/*index*/
	dl#todaysSand {
		width: 100%;
	}
	#blogList .box dl {
		margin-right: 3%;
		width: 48.5%;
	}
	/*about*/
	.lBox, .rBox {
		width: 100%;
	}
	.txtBox, .txtBox2  {
		padding-right: 4%;
		width: 52%;
	}
	.txtBox2 {
		padding: 0 0 0 4%;
	}
	table {
		width: 48.5%;
	}
	#map {
		width: 100%;
	}
	/*blog*/
	#blog #main {
		width: 71.4%;
	}
	#blog #side {
		width: 20.4%;
	}
}

@media screen and (max-width: 800px) {
	#container {
	margin-top: 0;
	margin-right: 30px;
	margin-bottom: 25;
	margin-left: 30px;
	}
	header {
		padding: 55px 0 35px;
	}
	ul#g-navi li {
		margin-right: 80px;
	}
	h1 a {
		margin-bottom: 33px;
	}
	h2, h3 {
	font-weight: normal;
	}
	h3 {
		margin-bottom: 35px;		
	}
	.detail {
		margin-bottom: 45px;
	}
	.box {
		margin-bottom: 25px;
	}
	.title {
		font-size: 146.5%;
	}
	footer dl {
		padding-top: 25px;
	}
	footer dt {
		display: inherit;
		margin: 0 auto;
		padding-right: 0;
	}
	/*index*/
	#top #contents h2 {
		margin: 60px auto 45px;
		width: 580px;
		height: 23px;
		background-image: url(images/title_m_new.svg);
	}
	dl#todaysSand, dl#todaysSand dt, dl#todaysSand dd {
		display: inherit;	
	}
	dl#todaysSand dt {
	margin-bottom: 10px;
	padding: 0;
	width: 100%;
	text-align: center;
	text-indent: 0;
	}
	#blogList .box dl {
		margin-right: 0;
		width: 100%;
	}
	#blogList .box dl:nth-child(2n) {
		border-top: none;
	}
	/*about*/	
	#introduction {
		margin-bottom: 45px;
	}
	.aboutImg {
		margin-bottom: 25px;
	}
	.goods h3, #asaichi h3, #space h3 {
		font-size: 153.9%;
		line-height: 1.9;
		font-weight: normal;
	}
	.aboutImgS {
		padding-top: 8px;
	}
	.lBox, .rBox {
		margin-bottom: 25px;
	}
	table {
		width: 100%;
	}
	table.fl, table.fr {
		float: none;
	}
	table.fr {
		border: none;
	}
	table br {
		display: none;
	}
	colgroup:nth-of-type(1), table.fr colgroup:nth-of-type(1) {
		width: 110px;
	}
	#map {
		height: 380px;
	}
	/*menu*/
	#menuNote br {
		display: none;
	}
	/*blog*/
	#blog #main article {
		margin-bottom: 140px;
	}
	#blog #main article h3 {
		font-weight: normal;
	}
	#blog #side {
		width: 21.4%;
	}
}
@media screen and (max-width: 660px) {
	#top #contents h2 {
		width: 100%;
		-moz-background-size: 100% auto;
		background-size: 100% auto;
	}
}
@media screen and (max-width: 640px) {
	ul#g-navi li {
		margin-right: 65px;
	}
	h2, h3 {
		font-size: 189%;
	}
	.box dl {
		margin: 0;
		width: 47%;
	}
	.box dl:first-child {
		margin-right: 6%;
	}
	.box dl:nth-child(-n+2) {
		margin-bottom: 28px;
	}
	.box dl:last-child {
		float: none;
		margin: 0 auto;
	}
	.box dt {
		text-align: center;
	}
	.box dt img {
		width: 560px;
		height: auto;
	}
	.title {
		font-size: 161.6%;
	}
	footer dt, footer dd.tel, footer dd.address {
		display: inherit;
		margin: 0 auto;
		text-align: center;
	}
	footer dt, footer dd.tel, footer dd.address {
		padding-bottom: 10px;
	}
	footer dd.tel {
		padding: 0 0 5px;
	}
	.pagetop {
		margin-top: 32px;
	}
	p.copyright {
		margin: 12px 0 35px;
	}
	/*index*/
	#top #contents h2 {
	margin: 45px auto 35px;
	width: 345px;
	height: 63px;
	background-image: url(../img/title_s_new.svg);
	}
	#top .box dl {
		float: none;
		margin: 0 auto;
		width: 100%;
	}
	#top .box dl:nth-child(-n+2) {
		margin-bottom: 28px;
	}
	#top .box dl:last-child {
		float: none;
		margin: 0 auto;
	}
	#top .box dt {
		overflow: hidden;
		height: 320px;
	}
	#top .box dt img {
		position: relative;
		top: 50%;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	#blogList .box dl:nth-child(-n+2) {
		margin-bottom: 0;
	}
	#blogList .box dt {
		text-align: left;
		height: auto;
	}
	/*about*/
	#introduction {
		margin-bottom: 30px;
		padding-bottom: 25px;
		border-bottom: solid 1px #cccccc;
	}
	#books {
		margin-bottom: 25px;
		padding-bottom: 25px;
		border-bottom: solid 1px #cccccc;
	}
	.goods h3, #asaichi h3, #space h3 {
		display: block;
		text-align: center;
		font-size: 161.6%;
	}
	.aboutImgS {
		padding: 0;
	}
	.aboutImgS img {
		margin: 5% auto 0;
		padding: 0;
		width: 100%;
		height: auto;
	}
	.rBox .aboutImgS img {
		margin: 5% auto 5%;
	}
	.lBox {
		margin-bottom: 5.5%;
	}
	.lBox, .rBox, .txtBox, .txtBox2, .aboutImgS {
		display: inherit;
	}
	.txtBox, .txtBox2  {
		padding-right: 0;
		width: 100%;
	}
	.txtBox2 {
		padding-left: 0;
	}
	table br {
		display: inherit;
	}
	.about_video {
		padding: 30px;
	}
	.about_video a.close_video {
		top: 20px;
		left: 20px;
	}
	table#esPrice {
		margin-bottom: 5px;
	}
	.parkingBtn {
		width: 100%;
	}
	/*menu*/
	#menu .box dl {
		margin-right: 6%;
	}
	#menu .box dl:nth-of-type(3n) {
		margin-right: 6%;
	}
	#menu .box dl:nth-of-type(2n) {
		margin-right: 0;
	}
	#menu .box dl:last-child {
		float: left;
	}
	/*blog*/
	#blog #main, #blog #side {
		float: none;
		width: 100%;
	}
	#blog #main article {
		margin-bottom: 120px;
	}
	#blog article p img.mt-image-none, #blog article p img.alignnone {
		display: block;
		margin: 15px auto;
	}
	#blog #side h4 {
		margin-bottom: 10px;
		padding: 0;
		border: none;
		text-align: center;
	}
	#blog #side {
		padding-bottom: 30px;
	}	
	#blog #side section {
		margin-bottom: 20px;
	}
	#blog #side section:last-child {
		margin-bottom: 10px;
	}
	#blog #side ul {
	 	display: table;
		width: 100%;
		border: solid 1px #cdcdcd;
	}
	#blog #side ul li {
		display: table-cell;
		table-layout: fixed;
		margin: 0;
		padding: 0;
		border-right: solid 1px #cdcdcd;
		text-align: center;
		vertical-align: middle;
	}
	#blog #side ul#category li {
		width: 33.33%;
	}
	#blog #side ul li:last-child {
   	 	border: none;
	}
	#blog #side ul li a {
		display: block;
		margin: 0;
		padding: 10px 10px 9px 10px;
		line-height: 1.4;
	}
	#blog #side h4:before {
		display: none;
	}
	.pagenation {
		margin-bottom: 40px;
	}
}

@media screen and (max-width: 480px) {
	#container {
		font-size: 108%;
	}
	.title {
		font-size: 138.5%;
	}
	header {
		position: relative;
		padding: 45px 0 0px;
	}
	h1 {
	padding-bottom: 40px;
	}
	h1 a {
		margin: 0 auto 0;
		width: 203px;
		height: 60px;
		background-image: url(../img/logo_s.png);
	}
	ul#g-navi {
		display: none;
	}
	ul#g-navi li {
		display: list-item;
		margin-right: 0;
		padding: 0;
		width: 100%;
		border-top: solid 1px #dddddd;
	}
	ul#g-navi li a {
		display: block;
		padding: 6px 0 4px 0;
		text-decoration: none;
		border: none;
		font-size: 116%;
	}
	ul#g-navi li a:hover, ul#g-navi li a:active {
	color: #CCCCCC;
	}
	#top ul#g-navi #gn-top a, 
	#about ul#g-navi #gn-about a,
	#menu ul#g-navi #gn-menu a,
	#blog ul#g-navi #gn-blog a {
		border-bottom: none;
	}
	#toggle, #toggle a {
		display: block;
		width: 26px;
		height: 15px;	
	}
	#toggle {
		position: absolute;
		top: 20px;
		right: 20px;
	}
	#toggle a {
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background-image: url(../img/btn_menu.svg);
	}
	h2 {
		margin-top: 35px;
	}
	h2, h3 {
		margin-bottom: 35px;
		font-size: 167%;
	}
	.br {
		display: inline-block;
	}
	.box dl, .box dl:last-child {
		float: none;
		margin: 0 auto;
		width: 100%;
	}
	.box dt, #top .box dt {
		height: auto;
	}
	#top .box dt img {
		position: static;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		transform: translateY(0);
	}
	footer dd.tel {
		font-size: 153.9%;
	}
	.linkBtn {
		font-size: 108%;
	}
	/*index*/
	dl#todaysSand dt span {
		font-size: 116%;
	}
	#blogList .box dl {
		display: inherit;
	}
	#blogList .box dt, .blog .box dd {
		display: inherit;
	}
	#blogList .box dt {
		width: 100%;
	}
	/*about*/
	#introduction {
		margin-bottom: 25px;
	}
	.goods h3, #asaichi h3, #space h3 {
		margin-bottom: 10px;
		font-size: 138.5%;
	}
	#map {
		height: 330px;
	}
	.parkingBtn {
		margin-top: 20px;
	}
	th, td {
		display: block;
		width: 100%;
	}
	th, table#esPrice th {
		padding-bottom: 0;
		border: none;
	}
	td {
		padding-top: 3px;
	}
	table#esPrice td {
		display: inline-block;
		padding-top: 0;
		width: 55%;
		text-align: left;
	}
	table#esPrice td:nth-of-type(2) {
		width: 45%;
	}
	table#esPrice tr:first-child {
		display: none;
	}
	table#esPrice span {
		display: inline;
	}
	/*menu*/
	#menu .box dl {
		margin-bottom: 25px;
	}
	#menu .menuCopy {
		font-size: 116%;
	}
	/*blog*/
	#blog h2 {
		margin-bottom: 35px;
	}
	#blog #main article {
		margin-bottom: 110px;
	}
	#blog #main article h3 {
		line-height: 1.6;
		font-size: 138.5%;
	}
	time {
		padding-bottom: 35px;
	}
	#blog #side section:last-child {
		margin-bottom: 5px;
	}
	#blog #side #archive li:last-child {
		display: none;
	}
	#blog #side #archive li:nth-last-child(2) {
		border: none;
	}
}
@media screen and (max-width: 420px) {
	/*index*/
	#top #contents h2 {
		margin: 40px auto 35px;
		width: 100%;
		height: 0;
		padding-top: 18.26%;
		-moz-background-size: 100% auto;
		background-size: 100% auto;
	}	
} 
@media screen and (max-width: 360px) {
	#container {
		margin: 0 20px;
	}
	header {
		padding: 40px 0 0;
	}
	h1 {
		padding-bottom: 35px;
	}
	ul#g-navi li {
		margin-right: 17px;
	}
	#toggle {
		top: 15px;
		right: 15px;
	}
	h2 {
		margin-top: 25px;
	}
	h2, h3 {
		margin-bottom: 30px;
		font-size: 153.9%;
	}
	.detail {
		margin-bottom: 35px;
	}
	/*index*/
	#top #contents h2 {
	margin: 35px auto 30px;
	padding-top: 19.67%;
	background-image: url(../img/title_xs_new.svg);
	}
	/*about*/
	#introduction {
		margin-bottom: 20px;
	}
	#map {
		height: 260px;
	}
	/*blog*/
	#blog h2 {
		margin-bottom: 30px;
	}
	#blog #main article {
		margin-bottom: 100px;
	}
	#blog #side ul#category {
		display: inherit;
		width: 100%;
	}
	#blog #side ul#category li {
		display: inherit;
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #cdcdcd;
		text-align: center;
	}
	#blog #side ul#category li:last-child {
   	 	border: none;
	}
}