@charset "utf-8";


/*-----------------------------
	大枠設定
------------------------------*/

body{
	color:#555;
	text-align:center;
	background:#1F96FF;
}
#wrapper{
	min-width:1120px;
	padding-top:140px;
}
/*
fontsize 10px→70%
fontsize 12px→85%
fontsize 14px→100%
fontsize 16px→115%
fontsize 18px→120%
fontsize 20px→130%
*/

/* a */
a{
	color:#555;
	text-decoration:none;
}
a:hover{
	color:#666;
	text-decoration:underline;
}

a.blank {
	padding-right: 20px;
	background: url(../images/icon-blank.png) no-repeat right top;
}

@media screen and (max-width:768px){
body {
	font-size:75%;
}
#wrapper{
	min-width:inherit;
	padding-top:65px;
}
}






/*-----------------------------
	header
------------------------------*/

header{
	position:absolute;
	top:-70px;
	margin-top:70px;
	width:100%;
	min-width:1120px;
	background:#fff;
	z-index:999;
	border-top:10px solid #1F96FF;
}
header div{
	width:1100px;
	margin:0 auto;
	overflow:hidden;
}
header div h1{
	float:left;
	height:130px;
}
header div p img{
	display:none;
}
header div ul{
	float:right;
	width:660px;
	padding-top:24px;
}
header div ul li{
	float:left;
	overflow:hidden;
}
@media screen and (max-width:768px){
header{
	min-width:inherit;
	background:#fff;
	border-top:none;
}
header div{
	width:100%;
	min-width:inherit;
	padding:0;
	margin:0 auto;
	overflow:visible;
	position:relative;
}
header div h1{
	float:none;
	width:100%;
	height:auto;
	padding:0 10px;
	text-align:left;
	position:relative;
	background:#fff;
	border-top:5px solid #1F96FF;
	z-index:10;
}
header div h1 img{
	width:auto;
	height:65px;
}
header div p{
	position:absolute;
	right:0;
	top:5px;
	cursor:pointer;
	z-index:100;
}
header div p img{
	display:block;
	width:65px;
	height:65px;
}
header.open nav{
	-moz-transform: translateY(500px);
	-webkit-transform: translateY(500px);
	transform: translateY(500px);
}
header nav{
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}
header div ul{
	float:none;
	width:660px;
	position: absolute;
	top: -500px;
	background: #fff;
	width: 100%;
	text-align:left;
	padding: 10px 0;
	border-top:2px solid #1F96FF;
	z-index:1;
}
header div ul li{
	float:left;
	width:50%;
	overflow:hidden;
}
header div ul li img{
	width:auto;
	height:30px;
	margin-left:10px;
}
}



























/*-----------------------------
	contents
------------------------------*/

#contents{
	clear:both;
	background:#fff;
	padding-bottom:100px;
	overflow:hidden;
}
@media screen and (max-width:768px){
#contents{
	padding-bottom:50px;
}
}

/* h2 */
#contents h2{
	background:url(../images/titlebg.png) repeat-x center top;
	margin-bottom:100px;
}
#contents h2 span{
	display:block;
	width:1020px;
	height:180px;
	margin:0 auto;
	position:relative;
}
#contents h2 span strong{
	display:inline-block;
	width:400px;
	background:#54D4DF;
	-webkit-border-radius:0 0 10px 10px;
	-moz-border-radius:0 0 10px 10px;
	border-radius:0 0 10px 10px;
	margin-bottom:25px;
	position:relative;
}
#contents h2 span strong:after {
	content: "";
	position: absolute;
	bottom: -10px; left: 50%;
	margin-left: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #54D4DF transparent transparent transparent;
}
#contents h2 span em{
	display:block;
	width:1020px;
	margin:0 auto;
	position:relative;
}
#contents h2 span .mari{
	position:absolute;
	left:0;
	top:0;
}
#contents h2 span .waka{
	position:absolute;
	right:0;
	top:0;
}
@media screen and (max-width:768px){
#contents h2{
	padding:0 10px;
	background:url(../images/titlebg.png) repeat-x center top;
	-webkit-background-size:auto 90px;
	-moz-background-size:auto 90px;
	background-size:auto 90px;
	margin-bottom:20px;
}
#contents h2 span{
	display:block;
	width:100%;
	height:100px;
	margin:0 auto;
	position:relative;
}
#contents h2 span strong{
	display:inline-block;
	width:200px;
	background:#54D4DF;
	-webkit-border-radius:0 0 10px 10px;
	-moz-border-radius:0 0 10px 10px;
	border-radius:0 0 10px 10px;
	margin-bottom:10px;
}
#contents h2 span strong img{
	height:30px;
	width:auto;
}
#contents h2 span em{
	display:block;
	width:100%;
	margin:0 auto;
	position:relative;
}
#contents h2 span em img{
	height:40px;
	width:auto;
}
#contents h2 span .mari{
	width:100px;
	height:100px;
	top:10px;
}
#contents h2 span .waka{
	width:100px;
	height:100px;
	top:10px;
}
}
@media screen and (max-width:480px){
#contents h2{
	padding:0 5px;
}
#contents h2 span .mari{
	width:60px;
	height:60px;
	top:30px;
}
#contents h2 span .waka{
	width:60px;
	height:60px;
	top:30px;
}
}

/* subtitle */
#contents .subtitle{
	height:30px;
	background:url(../images/subtitlebg.png) no-repeat center;
	margin-bottom:40px;
	overflow:hidden;
}
#contents .subtitle img{
	padding:0 20px;
	box-shadow:0px 0px 40px 40px #ffffff;
	-moz-box-shadow:0px 0px 40px 40px #ffffff;
	-webkit-box-shadow:0px 0px 40px 40px #ffffff;
	background:#fff;
}
@media screen and (max-width:768px){
#contents .subtitle{
	height:20px;
	background:url(../images/subtitlebg.png) no-repeat center;
	-webkit-background-size:100% 15px;
	-moz-background-size:100% 15px;
	background-size:100% 15px;
	margin-bottom:20px;
}
#contents .subtitle img{
	height:20px;
	width:auto;
	padding:0;
	box-shadow:0px 0px 20px 20px #ffffff;
	-moz-box-shadow:0px 0px 20px 20px #ffffff;
	-webkit-box-shadow:0px 0px 20px 20px #ffffff;
}
}

/* article */
#contents article{
	width:1120px;
	padding-left:10px;
	padding-right:10px;
	margin-left:auto;
	margin-right:auto;
}
#contents article.linebottom{
	border-bottom:1px solid #d2d2d2;
}
@media screen and (max-width:768px){
#contents article{
	width:auto;
	padding-left:0;
	padding-right:0;
	margin-left:10px;
	margin-right:10px;
}
}



























/*-----------------------------
	aside
------------------------------*/

aside{
	clear:both;
	width:1120px;
	margin:0 auto;
	position:relative;
	overflow:hidden;
}
aside figure{
	display:inline-block;
	width:208px;
	text-align:left;
	padding-bottom:20px;
	background:url(../images/aside-bg.png) no-repeat right center;
	vertical-align:middle;
	position:relative;
}
aside p{
	display:inline-block;
	width:892px;
	padding:30px 0;
	margin-left:-3px;
	color:#F2726D;
	font-size:115%;
	text-align:center;
	border:3px solid #F2726D;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	border-radius:10px;
	vertical-align:middle;
}
@media screen and (max-width:768px){
aside{
	width:auto;
	margin:0 10px;
	position:relative;
	overflow:visible;
}
aside figure{
	float:none;
	display:block;
	width:90px;
	text-align:left;
	padding-bottom:20px;
	background:url(../images/aside-bg.png) no-repeat right center;
	-webkit-background-size:20px auto;
	-moz-background-size:20px auto;
	background-size:20px auto;
	vertical-align:middle;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	z-index:1;
}
aside figure img{
	width:70px;
	height:auto;
	position:relative;
}
aside p{
	display:block;
	width:auto;
	padding:10px 15px;
	margin-left:88px;
	color:#F2726D;
	font-size:115%;
	text-align:left;
	border:2px solid #F2726D;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;
	border-radius:10px;
	vertical-align:middle;
	overflow:auto;
	z-index:10;
}
}


























/*-----------------------------
	footer
------------------------------*/

footer{
	clear:both;
	background:#707070;
}
footer p{
	width:1100px;
	color:#fff;
	font-size:80%;
	text-align:left;
	padding:15px;
	margin:0 auto;
}
@media screen and (max-width:768px){
footer p{
	width:100%;
	color:#fff;
	font-size:80%;
	text-align:left;
	padding:10px;
	margin:0;
}
footer p span{
	display:inline-block;
}
}













