/* CSS Document */

@media screen and (min-width:1120px){
	#menu-btn-check {
		display: none;
	}
}

@media screen and (max-width:1119px){
	#gnav{
		
	}
	
	header{
		display: block;
		height: 80px;
	}
	
	header nav{
		width:100%;
		height: auto;
	}
	header nav ul{
		height: auto;
		display: block;
		transform: none;
	}
	header nav ul li > a:link > span, header nav ul li a:visited > span, header nav ul li a:hover > span, header nav ul li a:active > span{
		transform: none;
	}
	header nav ul li{
		height: auto;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	
	header nav ul li > a:link, header nav ul li a:visited, header nav ul li a:hover, header nav ul li a:active{
		line-height: 200%;
	}
	
	.menu-btn {
		position: fixed;
		top: 10px;
		right: 10px;
		display: flex;
		height: 60px;
		width: 60px;
		justify-content: center;
		align-items: center;
		z-index: 90;
		background-color: #3584bb;
	}
	.menu-btn span,
	.menu-btn span:before,
	.menu-btn span:after {
		content: '';
		display: block;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background-color: #ffffff;
		position: absolute;
	}
	.menu-btn span:before {
		bottom: 8px;
	}
	.menu-btn span:after {
		top: 8px;
	}
	
	#menu-btn-check:checked ~ .menu-btn span {
		background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
	#menu-btn-check:checked ~ .menu-btn span::before {
		bottom: 0;
		transform: rotate(45deg);
	}
	#menu-btn-check:checked ~ .menu-btn span::after {
		top: 0;
		transform: rotate(-45deg);
	}
	#menu-btn-check {
		display: none;
	}
	
	.menu-content {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 100%;/*leftの値を変更してメニューを画面外へ*/
		z-index: 80;
		background-color: #3584bb;
		transition: all 0.5s;/*アニメーション設定*/
	}
	#menu-btn-check:checked ~ .menu-content {
		left: 0;/*メニューを画面内へ*/
	}
}


@media screen and (max-width:1119px){
	.contentTitle{
		margin-top:15px;
	}
	#pageTitle{
				overflow:hidden
			}
	/*
	#topimage,
	main{
		overflow-x: hidden;
	}
	
	*/
	#topimage{
		overflow-x: hidden;
	}
	
	#home #topimage #topimage01 span, #home #topimage #topimage02 span, #home #topimage #topimage03 span, #home #topimage #topimage04 span{
		font-size: 24px;
		line-height: 120%;
	}
	
	#home #news{
		position: relative;
	}
	#home #news h2{
		font-size: 2rem;
	}
	#home #news section{
		 padding-left: 0;
	}
	#home #news h2::after{
		height: 30px;
	}
	
	footer #fnav nav section, footer #fnav nav > ul{
		padding:0;
	}
	footer #fnav nav > ul{
		border:none;
	}
	
	footer ul{
		margin-bottom: 15px;
	}
	footer ul li ul li{
		padding-left: 15px;
	}
	
	footer .copyright{
		margin-bottom: 45px;
	}
	
	#contact_footer div a{
		font-size: 16px!important;
		padding-left: 20px;
	}
	#contact_footer .partner h3 img{
		margin-left:auto;
		margin-right:auto;
	}
	
}


/**
*
**/


/* Table Design */
main{
	padding-top:100px;
	padding-bottom:100px;
	width: 100%;
}

main table{
	width: 100%;
	max-width: 950px;
	margin-left:auto;
	margin-right:auto;
	
}
main table tr{
	background-color: #e8e8e8;
}
main table tr:nth-child(odd){
	background-color: #dedede;
}
main table tr{
	
}

main table tr th,
main table tr td{
	border-bottom: 1px solid #fff;
	padding: 10px;
}

main table tr th{
	
}

main table tr td p{
	padding-left: 20px;
	border-left: 2px solid #0064ff;
}

main table tr th:nth-child(n2),
main table tr td:nth-child(n2){
	background-color: #e8e8e8;
}
main table tr th:nth-child(n2+1),
main table tr td:nth-child(n2+1){
	background-color: #dedede;
}

@media screen and (max-width:575px){
	main{
		padding-top:0;
		padding-bottom:0;
		width: 100%;
		overflow-x: hidden;
	}
	form{
		padding:15px;
	}
	main table{
		
	}
	.tableWrap{
		padding:15px;
	}
	
	.page .caption{
		padding-top: 10px;
	}
}