
body {
	width:100%;
	height:100%;
	overflow-x:hidden;
}

/**/

#mainvisual {
	width:1080px;
	margin:0 auto;
	height:660px;
	display:block;
	position:relative;
}

#mainvisual img {
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .25);
}

#mainvisual p.catch {
	position:absolute;
	top:170px;
	left:600px;
	font-size:50px;
	color:#fff;
	width:450px;
	line-height:110%;
	background:url(../img/index/bg_catch.png) no-repeat bottom left;
	padding-bottom:20px;
}

#mainvisual p.catch_j {
	position:absolute;
	top:330px;
	left:600px;
	font-size:24px;
	color:#fff;
	width:450px;
	line-height:110%;
}

#mainvisual .topic {
	position:absolute;
	top:510px;
	left:450px;
}

#mainvisual .topic div {
	border-radius:50%;
	width:70px;
	height:70px;
	line-height:70px;
	text-align:center;
	background:#fff;
	display:inline-block;
	margin-right:10px;
	font-family: "Cormorant Infant", serif;
}

#mainvisual .topic p {
	display:inline;
	color:#fff;
}

#mainvisual .topic p a {
	color:#fff;
	text-decoration:underline;
}

/**/
#index_about {
	padding:80px 0;
	clear:both;
}

#index_about img.author {
	float:right;
}

#index_about h2,
#index_info h2 {
	font-family: "Cormorant Infant", serif;
	color:#0A2D72;
	font-size:55px;
	font-weight:300;
	margin-left:-60px;
	margin-bottom:40px;
}

#index_about h2 span.firstbody,
#index_info h2 span.firstbody {
	font-size:80px;
}

#index_about h2 span.jpexp,
#index_info h2 span.jpexp {
	font-size:16px;
	padding-left:15px;
}

#index_about h3  {
	font-family: "Cormorant Infant", serif;
	color:#0A2D72;
	font-size:22px;
	font-weight:600;
	margin-bottom:50px;
}

#index_about p {
	font-family: "Cormorant Infant", serif;
	color:#0A2D72;
	font-size:17px;
	font-weight:300;
	margin-bottom:40px;
	line-height:180%;
}

#index_about p small {
	font-size:14px;
}

/**/
#index_artline {
	height:150px;
	width:100%;
	background:url(../img/index/artline.jpg) repeat-x center;
}

/**/
#index_info {
	padding:80px 0;
	background:#EAF2FD;
}

#index_info ul {
	display:flex;
	justify-content:space-between;
	padding:30px 0;
}

#index_info ul li {
	width:240px;
}

#index_info ul li img {
	margin-bottom:15px;
}

#index_info ul li a h3,
#index_info ul li h3 {
	margin-bottom:15px;
	font-family: "Hannari", serif;
	font-weight:600;
	font-size:20px;
	line-height:150%;
	color:#0A2C72;
}

#index_info ul li a p,
#index_info ul li p {
	font-size:15px;
	margin-bottom:15px;
	font-family: "Hannari", serif;
	font-weight:300;
	color:#0A2C72;
}

/******* PC fix style *******/
@media only screen and (min-width: 481px) {

.sp { display:none;}

body {
	background:#F8F8F8 url(../img/bg_header.png) no-repeat center top;
}

}

/******* SP style *******/
@media only screen and (max-width: 767px) {

body {
	background:#F8F8F8;
}

#mainvisual {
	width:100%;
	height:550px;
	background:#0A2F73;
}

#mainvisual img {
	width:100%;
}

#mainvisual p.catch {
	position:relative;
	top:15px;
	left:5%;
	font-size:30px;
	color:#fff;
	width:80%;
}

#mainvisual p.catch_j {
	position:relative;
	top:35px;
	left:5%;
	font-size:16px;
	color:#fff;
	width:90%;
	line-height:110%;
}

#mainvisual .topic {
	position:relative;
	top:80px;
	left:5%;
	width:90%;
}

#mainvisual .topic div {
	border-radius:50%;
	width:40px;
	height:40px;
	line-height:40px;
	text-align:center;
	background:#fff;
	display:inline-block;
	margin-right:10px;
	margin-bottom:10px;
	font-family: "Cormorant Infant", serif;
	font-size:10px;
}

#mainvisual .topic p {
	font-size:15px;
}

#mainvisual .topic p a {
	color:#fff;
	text-decoration:underline;
}

#mainvisual .topic p span {
	display:block;
}

/**/
#index_artline {
	height:150px;
	width:100%;
	background:url(../img/index/artline_sp.jpg) repeat-x center;
}


/**/
#index_about {
	padding:60px 0;
	clear:both;
}

#index_about img.author {
	float:none;
	margin:0 15% 20px 15%;
	width:70%;
}

#index_about h2,
#index_info h2 {
	margin-left:0;
	margin-bottom:40px;
}

#index_about h2 span.firstbody,
#index_info h2 span.firstbody {
	font-size:80px;
}

#index_about h2 span.jpexp,
#index_info h2 span.jpexp {
	font-size:16px;
	padding-left:0;
	display:block;
}

#index_about p {
	font-size:14px;
}

#index_about p small {
	font-size:14px;
}

#index_about a.buttons {
	text-align:center;
	margin:0 auto;
}

/**/
#index_info {
	padding:60px 0;
	background:#EAF2FD;
}

#index_info ul {
	flex-wrap:wrap;
	padding:0;
	margin:0;
}

#index_info ul li {
	width:47%;
}

#index_info ul li img {
	margin-bottom:10px;
	width:100%;
}

#index_info ul li a h3,
#index_info ul li h3 {
	margin-bottom:10px;
	font-size:16px;
	line-height:140%;
	color:#0A2C72;
}

#index_info ul li a p,
#index_info ul li p {
	margin-bottom:25px;
	line-height:150%;
}


}

