@charset "utf-8";
/* CSS Document */


html {
	height: 100%;
	font-size: 62.5%;
}
body {
	color: #555;
    font-size: 1.4rem;
    line-height: 1.7;
	font-family: "M PLUS Rounded 1c", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	word-wrap: break-word;
}
a:link { color: #555; text-decoration: none; }
a:hover { color: #555; opacity: 0.7; }
a:visited { color: #555; text-decoration: none; }

a img:hover { opacity: 0.7; }

a img { vertical-align:bottom; }


.font-mplus2 {
    font-family: 'M PLUS 2', sans-serif;
}

/* pc/sp
================================================ */
.pcv {display: block;}
.spv {display: none;}

/* wrapper
================================================ */
.wrapper {
	width: 960px;
	margin: auto;
	padding: 2rem;
	position: relative;
}

/* header
================================================ */
header {
	width: 100%;
	margin: auto;
	padding: 0 0 1rem;
}
header .HeaderTop {
	padding: 0 0 2rem;
	display: flex;
	justify-content: space-between;
	align-items: end;
}
header .HeaderTop .logo {
	text-align: center;
}
header .HeaderTop .logo img {
	max-width: 125px;
}

/* NavMenu */
header .HeaderTop .NavMenu {
	width: 80%;
}
header .HeaderTop .NavMenu > .txt {
	font-size: 1.0rem;
	text-align: right;
}
header .HeaderTop .NavMenu > .ico {
	display: flex;
	justify-content: end;
	align-items: center;
}
header .HeaderTop .NavMenu > .ico > p {
	padding: 0 1rem;
	font-size: 3.5rem;
}
header .HeaderTop .NavMenu > .ico > p.fb {
    font-size: 3.0rem;
}
header .HeaderTop .NavMenu > .gnavi {
	font-size: 2.5rem;
	font-weight: 500;
}
header .HeaderTop .NavMenu > .gnavi ul {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header .HeaderTop .NavMenu > .gnavi ul li:not(:last-child) {
	padding-right: 1em;
}

/* MainImg */
header .MainImg {
	text-align: center;
}
header .MainImg img {
	width: 100%;
}



/*------------------------------------------------------
 Main
------------------------------------------------------*/
/* 共通
================================================ */
main {
	min-height: 50vh;
	padding: 2rem 0;
	border-top: #999 dotted 2px;
	border-bottom: #999 dotted 2px;
}
main .MainContents {
	display: flex;
	justify-content: space-between;
}

/* info */
main .info {
	width: 27%;
	min-height: 270px;
	margin-right: 3rem;
	padding: .7rem 1.5rem;
	background-color: #eee;
	border-radius: 20px;
}
main .info .ttl {
	padding-bottom: .7rem;
	color: #4e9c94;
	font-size: 2.2rem;
	/*font-family: 'CenturyGothic', 'Century Gothic';*/
	text-align: center;
	font-weight: 500;
}
main .info > ul {
	padding-left: 1.5rem;
	list-style: circle;
}
main .info > ul li:not(:last-child) {
	padding-bottom: 1rem;
	
}

/* contents */
main .contents.index {
	width: 70%;
	padding: 0 3rem 0 0;
}



/* footer
================================================ */
footer {
	width: 100%;
	padding: 2rem 0;
}
footer address {
	font-size: 1.2rem;
	font-style: normal;
	text-align: center;
}

/*------------------------------------------------------
 SP
------------------------------------------------------*/
@media screen and (max-width:480px) {

	/* pc/sp
	================================================ */
	.pcv {display: none;}
	.spv {display: block;}

	body {
		font-size: 1.4rem;
		line-height: 1.5;
	}
	
	/* wrapper
	================================================ */
	.wrapper {
		width: 100%;
		padding: 1rem;
	}
	.wrapper.index, .wrapper.gallery.panel, .wrapper.gallery.etc, .wrapper.gallery.lamp {
		height: 100svh;
		display: flex;
		flex-direction: column;
	}

	.wrapper.index footer {
		flex-grow: 1;
	}
	
	/* header
	================================================ */
	header {
		width: 100%;
		padding: 0 1em;
	}

	header .HeaderTop {
		padding: 0 0 1rem;
	}
	header .HeaderTop .logo img {
		max-width: 85px;
	}

	header .HeaderTop .NavMenu > .ico > p {
		font-size: 3rem;
	}
	header .HeaderTop .NavMenu > .ico > p.fb {
		font-size: 2.5;
	}
	header .HeaderTop .NavMenu > .gnavi {
		font-size: 1.2rem;
	}
	header .HeaderTop .NavMenu > .gnavi ul li:not(:last-child) {
	  padding-right: .5em;
	}


	/* 共通アドレスまわり */
	a[href^="tel:"] {
		pointer-events: auto;
	}
	
	
	/*------------------------------------------------------
	 Main
	------------------------------------------------------*/
	/* 共通
	================================================ */
	main {
		height: 100%;
		min-width: 100%;
		min-height: inherit;
		padding-top: 15px;
		position: relative;
	}
	.main_inner {
		width: 100%;
		padding: 0 1em 35px;
	}
	

	main .MainContents {
		flex-direction: column;
	}

	/* info */
	main .info {
		width: 92%;
		min-height: inherit;
		margin: 0 auto 3rem;
	}

	main .info .ttl {
		font-size: 2rem;
	}
		
	/* contents */
	main .contents {
		width: 92%;
		margin:auto;
		padding: 0;
	}
	main .contents.index {
		width: 90%;
		padding: 25px 0 0;
	}
	
	
	/* footer
	================================================ */
	footer {
		min-width: 100%;
		padding: 10px;
	}
	footer address {
		font-size: 1.0rem;
		line-height: 1.2;
	}

}
