/* ページ全体 */
body {
	font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 18px;
}
h1 {
	font-size: 22px;
}

h2 {
	font-size: 20px;
}

h3 {
	font-size: 18px;
}
.disp_none {
	display: none;
}

li.select {
	background-color: skyBlue !important;
	color: darkslategray;
}

/* ヘッダー・フッター・コンテンツ */
header, footer, #contets-area {
	width: 100%;
	max-width: 1024px;
	margin: 0px auto;
}

/* ヘッダー */
header #header-top {
	width: 100%;
	height: 100px;
	display: flex;
	align-items: center;
	padding: 5px;
}

header #header-top .right{
	margin-left: auto;
	margin-right: 5px;
}

header .tell{
	font-weight: bold;
	font-size: 26px;
}

header .tell img {
	width: 30px;
}


/* メインメニュー (画面上部メニュー) */
header #main-menu {
	width: 100%;
	font-size: 20px;
}

header #main-menu ul {
	display: flex;
	justify-content: space-around;
}

header #main-menu ul li {
	width: 100%;
	background-color: #fff;
	background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
	border: 1px solid silver;
	padding: 10px 0px;
}

header #main-menu ul li a {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
}

header #main-menu ul .sp {
	display: none;
}

#overlay {
	display: none;
}

/* コンテンツ */

#contets-area {
	background-color: rgba(250, 252, 252, 1);
	padding-bottom: 20px;
	display: flex;
}

#contets {
	width: 100%;
}

#contets p {
	line-height: 26px;
}

section {
	padding: 0px 10px;
}

section:last-child {
	margin-bottom: 20px;
}

section div.section_item {
	padding: 0px 20px;
}

#sub-menu {
	margin-top: 30px;
	width: 300px;
}

#sub-menu li{
	background-color: #fff;
	background-image: linear-gradient(to right, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1));
	border: 1px solid silver;
	height: calc(2em + 20px);
	display: flex;
	align-items: center;
}

#sub-menu li a{
	display: flex;
	padding-left: 10px;
	width: 100%;
	height: 100%;
	align-items: center;
}

/* フッター */
footer {
	background-color: rgba(225, 230, 232, 1);
}

footer #footer-menu {
	width: 100%;
}

footer #footer-menu ul {
	display: flex;
	justify-content: space-around;
}

footer #footer-menu ul li {
	width: 100%;
	border-right: 1px solid silver;
}
footer #footer-menu ul li:last-child {
	border-right: none;
}

footer #footer-menu ul li a {
    display: flex;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: 5px 0px;
}

/* コピーライト */
#copyright {
	width: 100%;
	margin-top: 10px;
	font-size: 14px;
	text-align: center;
}

#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 10%;
	bottom: 85px;
	background: #3fefee;
	opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-weight: 900;
  content: '↑';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* スマフォ向けメニュー */
#sp-contol-menu {
	display: none;
	width: 100%;
}

#sp-contol-menu ul{
	display: flex;
}

#sp-contol-menu ul li {
	width: 100%;
	text-align: center;
	font-size: 11px;
	padding-bottom: 30px;
	padding-top: 20px;
	border-right: 1px solid silver;
	background-color: #fff;
}

#sp-contol-menu ul li:last-child {
	border-right: 0px;
}
#sp-contol-menu img {
	width: 30px;
	height: 30px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/* レスポンシブ タブレット縦向き */
@media screen and (max-width: 1024px) {
	header #main-menu {
		height: 100vh;
		position: fixed;
		top: 0px;
		right: 0px;
		background-color: transparent;
		overflow: hidden;
		width: 0px;
		transition-property: width;
		z-index: 99;
	}

	
	header #main-menu ul {
		display: block;
	}
	
	header #main-menu ul li a{
		white-space: nowrap;
	    justify-content: flex-start;
	    align-items: flex-start;
	    padding-left: 10px;
	}

	#overlay {
		display: block;
		height: 100%;
		background: rgba(128, 128, 128, 0.5);
	}

	#contets-area {
		display: block;
	}
	
	section {
		margin-bottom: 10px;
		padding: 0px 5px;
	}

	section div.section_item {
		padding: 0px 10px;
	}
	
	#sub-menu {
		margin-top: 20px;
		width: 100%;
	}
	
	footer #footer-menu {
		display: none;
	}

	#copyright {
		margin-bottom: 30px;
	}
	
	#sp-contol-menu {
		display: block;
		position: fixed;
		bottom: 0px;
		z-index: 100;
	}
	
	#menu-toggle:checked ~ #main-menu  {
		width: 100%;
		overflow: hidden;
		transition-duration: 300ms;
	}
	
	#page_top {
		display: none;
	}
}

/* レスポンシブ スマフォ向け */
@media screen and (max-width:480px){
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 18px;
	}

	h2 {
		font-size: 16px;
	}

	h3 {
		font-size: 14px;
	}
	header #main-menu {
		height: 100vh;
		position: fixed;
		top: 0px;
		right: 0px;
		background-color: transparent;
		overflow: hidden;
		width: 0px;
		transition-property: width;
		z-index: 99;
	}

	
	header #main-menu ul {
		display: block;
	}
	
	header #main-menu ul li a{
		white-space: nowrap;
	    justify-content: flex-start;
	    align-items: flex-start;
	    padding-left: 10px;
	}
	
	header #main-menu ul .sp {
		display: list-item;
	}

	#overlay {
		display: block;
		height: 100%;
		background: rgba(128, 128, 128, 0.5);
	}

	#contets-area {
		display: block;
	}

	#contets p {
		line-height: 21px;
	}
	
	section {
		margin-bottom: 10px;
		padding: 0px 5px;
	}

	section div.section_item {
		padding: 0px 10px;
	}
	
	footer #footer-menu {
		display: none;
	}
	
	#sp-contol-menu {
		display: block;
		position: fixed;
		bottom: 0px;
		z-index: 100;
	}
	
	#menu-toggle:checked ~ #main-menu  {
		width: 100%;
		overflow: hidden;
		transition-duration: 500ms;
	}
	
	#page_top {
		display: none;
	}

	header .tell{
		padding: 15px;
		font-size: 20px;
	}

	header .tell img {
		width: 50px;
	}
}

