/***** 全体に対するＣＳＳ *****/
header, footer, main, nav, section, article {
	display:block;
	}

html, body, h1, h2, h3, ul, ol, li, dl, dt, dd, div, p, span, nav, img, .wrapper, header, footer, section {
	-webkit-font-smoothing: antialiased;
	font-family:
		"Rounded M+ 1c",
		"Meiryo",
        "メイリオ",
		"Hiragino Maru Gothic Pro",
		"ヒラギノ丸ゴ Pro",
		sans-serif;
	margin: 0;
	padding: 0;
	list-style: none;
	}

body {
	color: #000000;
	}

.wrapper {
	box-sizing: border-box;
	width: 100vw;
	height: auto;
	padding-left: 50px;
	padding-right: 50px;
	}

:root {
	--color-1: #87bd6b;
	--color-2: #fff5cc;
	--color-3: #ffcc99;
	--color-4: #cccccc;
	}

/***** ヘッダーに対するＣＳＳ *****/

header {
	position: fixed;
	box-sizing: border-box;
	width: calc(100% - 100px);
	z-index: 100;
	}

h1 {
	width: 12%;
	height: auto;
	margin: 1%;
	font-size: 1.2vw;
	font-weight: normal;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

h1 a {
	color: black;
	width: 100%;
	height: 35%;
	font-size: 1vw;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

h1 a img {
	width: 100%;
	height: auto;
	} 

.left-side{
    position: fixed;
    left: 0;
    width: 50px;
    height: 100vh;
    background: var(--color-2);
	letter-spacing: 0.3vw;
	writing-mode: sideways-rl;
    display: flex;
    justify-content: center;
    align-items: center;
    }

.right-side {
	color: #000;
	position: fixed;
	top: 0;
	right: 0;
	width: 50px;
	height: 100vh;
	background: var(--color-3);	
	letter-spacing: 0.3vw;
	writing-mode: sideways-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	}
main {
	box-sizing: border-box;
	/* width: calc(100% - 100px); */
	width: 100%;
	height: 100vh;
	font-size: 1.2em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

article {
	box-sizing: border-box;
	width: 60%;
	height: 70%;
	/* border: solid 0.1vw #ccc; */
	border-radius: 1vw;
	box-shadow: 0.3vw 0.3vw 1.5vw #87bd6b;
	display: flex;
	flex-direction: column;
	align-items: center;
	}

.top-content,.bottom-content {
	box-sizing: border-box;
	width: 100%;
	height: 50%;
	display: flex;
	flex-direction: column;
	}

.explanation {
	box-sizing: border-box;
	width: 100%;
	height: 75%;
	display: flex;
	align-items: center;
	}

.explanation-1 {
	width: 20%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	}

.explanation-1 img {
	width: 70%;
	height: auto;
	}

.explanation-2 {
	box-sizing: border-box;
	width: 80%;
	padding-left: 5%;
	height: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	}

.explanation-2 span {
	display: block;
	width: 100%;
	height: 50%;
	font-size: 2em;
	font-weight: bold;
	}

.comment {
	box-sizing: border-box;
	width: 100%;
	height: 25%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	}

.comment-1,.comment-2 {
	width: 45%;
	height: 80%;
	border: solid 0.1vw #ccc;
	border-radius: 50vw;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	}

.bottom-content {
	font-weight: bold;
	justify-content: space-evenly;
	align-items: center;
	}

.address-1 {
	box-sizing: border-box;
	width: 100%;
	height: 40%;
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	}

.tel, .mail {
	width: 45%;
	height: 80%;
	border: solid 0.1vw #ccc;
	border-radius: 1vw;
	font-weight: bold;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	}

.tel a, .mail a {
	color: #000;
	text-decoration: none;
	}

.address-2 {
	box-sizing: border-box;
	width: 94%;
	height: 40%;
	padding-left: 2%;
	border: solid 0.1vw #ccc;
	border-radius: 1vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	}

.bottom-content div span {
	font-weight: normal;
	}

footer {
	color: #fff;
	background: #87bd6b;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8%;
	font-size: small;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: -1000;
	}

.sp-br {
	display: none;
	}





/*-----------------------------------------------------*/
/* タブレット用のCSS */
/*-----------------------------------------------------*/
@media (max-width: 1024px){





.wrapper {
	padding-left: 0;
	padding-right: 0;
	}

/***** ヘッダーに対するＣＳＳ *****/

header {
	width: 100%;
	}

h1 {
	width: 20%;
	}

h1 a {
	font-size: 1.8vw;
	}

.left-side{
    display: none;
    }

.right-side {
	display: none;
	}

article {
	width: 80%;
	height: 80%;
	}

.sp-br {
	display: inline;
	}
}





/*-----------------------------------------------------*/
/* スマホ用のCSS */
/*-----------------------------------------------------*/

@media (max-width: 500px){




.wrapper {
	padding-left: 0;
	padding-right: 0;
	}

/***** ヘッダーに対するＣＳＳ *****/

h1 {
	width: 25%;
	}

h1 a {
	font-size: 1.8em;
	}

main {
	font-size: 0.8em;
	}

.explanation-2 span {
	font-size: 1.8em;
	}

footer {
	font-size: x-small;
	}

.sp-br {
	display: inline;
	}
}