@charset "UTF-8";

/*--------------------------------------------------------------------
 *	共通の記述
 *--------------------------------------------------------------------*/
body{
	color: #000;
	-webkit-text-size-adjust: 100%;

}
.wrap {
	position: relative;
	margin: auto;
	padding: 1px 0;
}
.fred {
	color: #c1272d;
}


/*------------------------------------------ visible hidden */
.spNone{
	display:none !important;
}

/*------------------------------------------ hyperlink */
/*a:link, a:visited {
	color: #003686;
	text-decoration: underline;
	vertical-align: baseline;
}*/


/*-------------------------------------------------------------------------------*
 *	text-align right, left, center
 *-------------------------------------------------------------------------------*/
.txt_left {
	text-align: left;
}

.txt_right {
	text-align: right;
}

.txt_center {
	text-align: center;
}

.txt_underline {
	text-decoration: underline;
}
/*------------------------------------------ header */

header {
	border-style: solid;
	border-color: #e00038;
	background-color: #ddd;
}
header #header_logo {
	position: relative;
	margin: 0;
	text-align: center;
}
header #header_logo img {
	position: relative;
	z-index: 100;
}
header #header_logo::after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 50%;
	background-color: #fff;
}
header #header_ttl {
	text-align: center;
	color: #fff;
}
header #header_ttl a {
	text-decoration: none;
	color: #fff;
	text-shadow: 0px 0px 8px rgba(0,0,0,0.5);
}

/*------------------------------------------ content */

main h1 {
	margin: 0 0 1em;
	font-weight: bold;
	text-align: center;
	color: #e00038;
}
main nav {
	display: flex;
	flex-wrap: wrap;
}
main nav a {
	display: block;
	margin: 0 0 20px 0;
	text-decoration: none;
	color: #000;
}
main nav dl {
	margin: 0;
	border-radius: 10px;
	box-shadow: 0px 2px 5px 0px rgba(0,0,0,0.1);
}
main nav dl dt {
	margin: 0;
	border-radius: 10px 10px 0 0;
	background-color: #f1f1f1;
}
main nav dl dt img {
	border-radius: 10px 10px 0 0;
}
main nav dl dd {
	display: table-cell;
	vertical-align: middle;
	margin: 0;
	padding: 0 10px;
	background: transparent url("../images/arrow_01.png") no-repeat 10px center;
	background-size: 23px auto;
	line-height: 1.2;
}

/*------------------------------------------ footer */
footer {
	background-color: #e00038;
}
footer #copyright {
	text-align: center;
	color: #fff;
}





/*--------------------------------------------------------------------
 *	736px以下用（SP用）の記述
 *--------------------------------------------------------------------*/

@media screen and (max-width: 736px) {
/* 736px以下用（SP用）の記述 */

body{
	font-size: 1.2rem;
}
.wrap {
	padding-right: 3%;
	padding-left: 3%;
}
img{
	width:100%;
	height: auto;
}

/*------------------------------------------ header */

header {
	height: 110px;
	border-width: 0 0 4px 0;
}
header #header_logo img {
	width: 100px;
	padding: 13px 0;
}
header #header_logo::after {
	top: -110px;
	width: 160px;
	height: 160px;
}
header #header_ttl {
	margin: 0.5em 0;
	font-size: 2.6rem;
}


/*------------------------------------------ content */

main {
	margin: 20px 0 40px;
	padding-right: 3%;
	padding-left: 3%;
}
main h1 {
	font-size: 2.0rem;
}

main nav a {
	width: 48%;
	margin-right: 4%;
}
main nav a:nth-child(2n) {
	margin-right: 0;
}
main nav dl dd {
	margin: 0;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 30px;
	background-size: 16px auto;
}



/*------------------------------------------ footer */

footer #copyright {
	margin: 0.5em 0;
}
footer #copyright small {
	font-size: 1.0rem;
}

/* 736px以下用（SP用）の記述 end */
}


/*--------------------------------------------------------------------
 *	737px以上用（PC用）の記述
 *--------------------------------------------------------------------*/
@media screen and (min-width: 737px), print {
/* 737px以上用（PC用）の記述 */

body{
	position: relative;
	font-size: 1.4rem;
}
.wrap {
	width: 1200px;
	max-width: 1200px;
	margin: 0 auto;
}

/*------------------------------------------ visible hidden */
.spNone{
	display:block !important;
}
.pcNone{
	display:none !important;
}

/*------------------------------------------ hyperlink */
a:hover, a:active {
	text-decoration: none;
	color: #338cd2;
}


/*------------------------------------------ header */

header {
	height: 310px;
	border-width: 0 0 8px 0;
}
header #header_logo img {
	width: 125px;
	padding: 20px 0;
}
header #header_logo::after {
	top: -180px;
	width: 260px;
	height: 260px;
}
header #header_ttl {
	font-size: 5.0rem;
}


/*------------------------------------------ content */

main {
	width: 1200px;
	margin: 20px auto 60px;
}
main h1 {
	
	font-size: 3.0rem;
}
main nav {
	justify-content: center;
}
main nav a {
	width: 285px;
	margin-right: 17px;
}
main nav a:nth-child(4n) {
	margin-right: 0;
}
main nav dl dd {
	margin: 0;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 42px;
	background-size: 23px auto;
	font-size: 1.6rem;
}

/*------------------------------------------ footer */

footer #copyright {
	margin: 1em 0;
}
footer #copyright small {
	font-size: 1.0rem;
}



/* 737px以上用（PC用）の記述 end */
}


/*--------------------------------------------------------------------
 *	印刷用（PC表示）の記述
 *--------------------------------------------------------------------*/
@media print {
/* 印刷用（PC表示）の記述 */

html,body{
	zoom: 70%;
	height: auto;
}
footer #page_top {
	display: none;
}

/* 印刷用（PC表示）の記述 end */
}


/*------------------------------------------ clear */
body,
.wrap,
header,
header #header_contents,
#content,
footer {
	zoom: 100%;
}

body:after,
.wrap:after,
header:after,
header #header_contents:after,
#content:after,
footer:after {
	content: "";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}