@charset "UTF-8";

header img.pc,
header br.pc,
main img.pc,
main br.pc{
	display: none;
}
main a:hover{
	opacity: 1;
}
main img{
	max-width: 100%;
}
/******************************************************************************
	header
******************************************************************************/
body > header{
	margin: 0 auto 20px;
}
body > header .inner{
	width: auto;
	height: 80px;
	padding: 0 20px;
}
body > header .inner p:first-of-type{
	width: 120px;
	margin: 0 30px 0 0;
}
body > header .inner p:last-of-type{
	width: 140px;
}
body > header .inner p a:hover{
	opacity: 1;
}
/******************************************************************************
	common
******************************************************************************/
main{
	width: auto;
	max-width: calc(100% - 40px);
	padding: 30px 20px 0;
	font-size: 18px;
}
main a:hover{
	color: #0a4a5d;
}
main section{
	margin-bottom: 60px;
}
main section:last-of-type{
	margin-bottom: 0;
}
main section h1{
	margin-bottom: 30px;
	font-size: 24px;
	font-family: ShinGoPro-Bold,sans-serif !important;
	text-align: center;
}
main section h2{
	margin-bottom: 15px;
	padding-left: 16px;
	border-left-width: 4px;
}
main section > p{
	margin-bottom: 30px;
}
main section > p.subtitile{
	margin: 0 auto 10px;
	padding: 0 15px;
	border-radius: 5px;
	font-size: 18px;
}
main section blockquote,
main section figure,
main section ul.attention{
	margin-bottom: 30px;
}
main section p + blockquote,
main section p + figure{
	margin-top: 30px;
}
main section figure > a:hover{
	opacity: 1;
}
main section figure > a:after{
	width: 32px;
	height: 32px;
}
main section figure figcaption{
	padding: 10px;
	font-size: 16px;
}
main section figure figcaption span{
	font-size: 14px;
}
main section blockquote{
	padding: 15px 30px;
}
main section blockquote:before{
	left: 5px;
	font-size: 60px;
}
main section blockquote:after{
	right: 5px;
	font-size: 60px;
}
main section blockquote p{
	margin: 0 0 15px;
}
main section ol.number > li{
	margin: 0 0 30px;
}
main section ol.number > li > figure{
	margin: 30px 0 0;
}
main section .table-block {
	overflow-x: scroll;
	overflow-y: hidden;
}
main section .table-block table {
	width: 200%;
	font-size: 130%;
}
/***** .contact *****/
main section .contact{
	margin-top: 30px;
	padding: 30px 20px;
}
main section .contact p{
	font-size: 16px;
}
main section .contact p strong,
main section .contact p b{
	font-size: 20px;
}
main section .contact p.btn{
	margin-top: 15px;
}
main section .contact p.btn a{
	height: 72px;
	font-size: 22px;
}
main section .contact p.btn a:hover{
	opacity: 1;
}
/***** .profile *****/
main section figure.profile img{
	max-width: 160px;
}
main section figure.profile figcaption{
	padding: 0 15px;
	font-size: 14px;
	line-height: 140%;
}
/******************************************************************************
	main > footer
******************************************************************************/
main > footer{
	min-height: 52px;
	padding: 10px 20px;
	margin: 30px -20px 0;
}
main > footer p.update{
	color: #949494;
}
/******************************************************************************
	nav.contents
******************************************************************************/
main nav.contents{
	padding: 20px;
	margin-bottom: 45px;
}
@media screen and (max-width: 580px){
	/******************************************************************************
		header
	******************************************************************************/
	body > header{
		margin: 0 auto 15px;
	}
	body > header .inner{
		width: auto;
		height: 80px;
		padding: 0 15px;
	}
	body > header .inner p:first-of-type{
		width: 100px;
		margin: 0 20px 0 0;
	}
	body > header .inner p:last-of-type{
		width: 116px;
	}
	/******************************************************************************
		common
	******************************************************************************/
	main{
		width: auto;
		max-width: calc(100% - 30px);
		padding: 20px 15px 0;
		font-size: 14px;
	}
	main section{
		margin-bottom: 30px;
	}
	main section h1{
		margin-bottom: 15px;
		font-size: 18px;
	}
	main section h2{
		margin-bottom: 10px;
		padding-left: 10px;
	}
	main section > p{
		margin-bottom: 20px;
	}
	main section > p.subtitile{
		margin: 0 auto 5px;
		padding: 0 10px;
		font-size: 14px;
	}
	main section figure,
	main section ul.attention{
		margin-bottom: 20px;
	}
	main section p + figure{
		margin-top: 20px;
	}
	main section figure > a:after{
		width: 24px;
		height: 24px;
	}
	main section figure figcaption{
		padding: 10px;
		font-size: 12px;
	}
	main section figure figcaption span{
		font-size: 10px;
	}
	/***** .contact *****/
	main section .contact{
		margin-top: 30px;
		padding: 30px 20px;
	}
	main section .contact p{
		font-size: 12px;
	}
	main section .contact p strong,
	main section .contact p b{
		font-size: 16px;
	}
	main section .contact p.btn{
		margin-top: 10px;
	}
	main section .contact p.btn a{
		height: 64px;
		padding: 0 25px;
		background-position: right 10px center;
		background-size: 8px auto;
		font-size: 16px;
	}
	/***** .profile *****/
	main section figure.profile{
		display: block;
		max-width: 400px;
		padding: 15px;
	}
	main section figure.profile img{
		width: 100%;
		max-width: 200px;
		margin: 0 auto 15px;
	}
	main section figure.profile figcaption{
		padding: 0;
		font-size: 14px;
		line-height: 140%;
	}
	/******************************************************************************
		main > footer
	******************************************************************************/
	main > footer{
		margin: 30px -20px 0;
	}
	main > footer p.update{
		color: #949494;
	}
	/******************************************************************************
		nav.contents
	******************************************************************************/
	main nav.contents{
		padding: 15px;
		margin-bottom: 30px;
	}
}
@media screen and (min-width: 581px){
	main br.sponly{
		display: none;
	}
}
/******************************************************************************
	#floatingBNR
******************************************************************************/
main #floatingBNR{
	padding: 15px 50px;
}
main #floatingBNR p{
	font-size: 12px;
	text-align: center;
	line-height: 180%;
}
main #floatingBNR p:not([classs]){
	margin-left: -50px;
	margin-right: -50px;
}
main #floatingBNR p strong,
main #floatingBNR p b{
	font-size: 16px;
}
main #floatingBNR p.btn{
	margin-top: 10px;
}
main #floatingBNR p.btn a{
	height: 64px;
	padding: 0 25px;
	background-position: right 10px center;
	background-size: 8px auto;
	font-size: 16px;
}
