
/*============================================================================

	#mainvisual

============================================================================*/
#mainvisual{
	width:100%;
	display:block;
	position:relative;
	height: 240px;
	background:url(../images/index/main_bg.jpg) center top no-repeat;
	background-size: cover;
	min-height: 80vh;
}
#mainvisual h2{
	position: absolute;
	top:10%;
	left:30%;
	width: 15%;
}
.scroll_btn {
	position: relative;
	z-index: 5;
	margin: -30px auto 0;
}


/*-------------------------- お知らせ --------------------------*/
.info_area{
 position:relative;
 width:100%;
 height:87px;
 bottom:0;
 padding-top:13px;
 z-index:9;
 background-color:#fff;
 padding: 80px 0;
}
.info_area h3{
	position:relative;
 left:50%;
 margin-left:-490px;
}
.info_area .news{
	position:relative;
 width:620px;
 height:80px;
 top:4px;
 left:50%;
 margin-left:-330px;
 padding-top:6px;
 padding-left:40px;
 overflow:hidden;
}
.news:hover:after{
	cursor: pointer;
 }
.info_area .list_btn {
	position: absolute;
	left:50%;
	margin-left:460px;
 }
.info_area .list_btn a {
	color:#888;
}
.news ul li a{
 display:block;
 position:relative;
 padding-right:0;
 color:#156B86;
 font-weight:bold;
 z-index:5;
}
.news ul li a span{
 display:inline-block;
	width: 65px;
 margin-right:30px;
 color: #888;
 font-size: 13px;
}
.info_area h3 {
	position:relative;
	width:85px;
	left:-400px;
	margin:auto;
	padding:1px 0 4px 30px;
	background:#156B86;
	border:3px solid #156B86;
	border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px;
	font-size:13px;
	letter-spacing:2px;
	color:#fff;
	z-index:-1;
}

.news_btn {
position: relative;
right: -400px;
top: -24px;
margin: 0 auto;
background: #7BBFC6;
padding: 2px 16px 4px;
border-radius: 20px;
text-align: center;
width: 200px;
	box-sizing: border-box;
		border: 2px solid #7BBFC6;

}
.news_btn a{ 
	color:#fff;
}

.news_btn02 {
position: relative;
right: -400px;
top: -33px;
margin: 0 auto;
background: #449DB9;
padding: 2px 16px 4px;
border-radius: 20px;
text-align: center;
width: 200px;
	box-sizing: border-box;
	border: 2px solid #449DB9;
}
.news_btn:hover,
.news_btn02:hover {
background: #6F9195;
border: 2px solid #6F9195;
box-sizing: border-box;
}

@media screen and (max-width:640px) {
	
	#mainvisual{
		width:100%;
		min-height: 90vh;
		background:url(../images/sp/main_bg_sp.png) center top no-repeat;
		background-size: cover;
		margin-top: 60px;
		position: relative;
	}
	#mainvisual h2{
		position: absolute;
		top:10%;
		left:20%;
		width: 15%;
	}

	.scroll_btn {
		position: relative;
		z-index: 5;
		margin: -30px auto 0;
	}

/*-------------------------- お知らせ --------------------------*/
.info_area{
	display:none;
}

}


/*ベース*/
.accordion {
	position:relative;
	width:980px;
	margin: 0 auto 20px;
}

.toggle {
	display: none;
}
.Label {		/*タイトル*/
	display: block;
	text-align: center;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
	width: 980px;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
.content li {
	margin-left: 20px;
	list-style: initial;
	margin-bottom:5px;

}
.content p {
	margin-bottom: 15px;
}
@media screen and (max-width:640px) {
	.accordion {
		position:relative;
		width:100%;
		margin: 0 auto 20px;
	}
		.toggle {
		display: none;
	}
	.Label {		/*タイトル*/
		display: block;
		text-align: center;
	}
	.Label,content {
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
		width: 100%;
	}
	.content {		/*本文*/
		height: 0;
		margin-bottom:10px;
		padding:0 20px;
		overflow: hidden;
		width: calc(100% - 40px);
	}
	.toggle:checked + .Label + .content {	/*開閉時*/
		height: auto;
		padding:20px ;
		transition: all .3s;
	}
	.toggle:checked + .Label::before {
		transform: rotate(-45deg) !important;
	}
	.content li {
		margin-left: 20px;
		list-style: initial;
		margin-bottom:7px;
	
	}
	.content p {
		margin-bottom: 15px;
	}
	}

.top_blueradical {
		position: relative;
		margin-bottom: 60px;
	}
.top_blueradical::after {
  content:"";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 75%;
  background-color: #EDFCFD;
  z-index: -1;
}


	.top_blueradical .inner {
		width: 980px;
		margin: 0px auto;
		padding: 80px 20px;
		text-align: center;
	}
.blue_radical_ttl {
	padding: 0 0 60px;

}

	.blue_radical_ttl h2 {
		color:#F06686;
		font-size:1.2rem;
		font-weight: bold;
		margin-bottom: 30px;
	}
		.blue_radical_ttl h3 {
			font-size:1.4rem;
			padding: 20px 0;
		}
		.blue_radical_ttl p {
		color:#E5A385;
		font-weight: bold;
		}

	.blue_radical_exp h3 {
background: #166A86;
padding: 10px 10px;
font-size:1.4rem;
color:#fff;
margin-bottom: 25px;
font-weight: bold;
	}	
	.flex {
		display: flex;
		flex-flow:row wrap;
		justify-content: space-around;
	}
	.flex div {
		width:calc(45% - 30px);
		margin: 0 0 30px;
		background: #fff;
		padding: 30px 30px;
	}
	.flex div h4 {
		color:#166A86;
		font-size:1.2rem;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.flex div img {width: 100%;	margin-bottom: 20px;}
		.flex div p {
			text-align: left;
	}
	a.btn_br {
		position: relative;
		display: block;
		padding: 10px 15px 10px 30px;
		background: #156B86;
		color:#fff;
		text-align: center;
		width: 300px;
		font-size:20px;
		border-radius: 10px;
		margin: 0 auto;
	}
	a.btn_br:after {
		content: "▶︎";
		position: absolute;
		left:20px;
		top:20px;
		font-size: 10px;
	}
a.btn_br:hover {
	transform: 1s;
	opacity: 0.5;
}

@media screen and (max-width:640px) {
.top_blueradical {
	position: relative;
	margin-bottom: 60px;
}
.top_blueradical::after {
  content:"";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 75%;
  background-color: #EDFCFD;
  z-index: -1;
}
.top_blueradical .inner {
	width: 100%;
	margin: 0px auto;
	padding: 80px 0;
	text-align: center;
	}
.blue_radical_ttl {
	padding: 0 0 60px;
}
.blue_radical_ttl h2 {
		color:#F06686;
		font-size:1.2rem;
		font-weight: bold;
		margin-bottom: 30px;
}
.blue_radical_ttl h3 {
			font-size:1.4rem;
			padding: 20px 0;
}
.blue_radical_ttl p {
		color:#E5A385;
		font-weight: bold;
}
.blue_radical_exp h3 {
background: #166A86;
padding: 10px 10px;
font-size:1.4rem;
color:#fff;
margin-bottom: 25px;
font-weight: bold;
	}	
	.flex {
		display: inherit;
	}
	.flex div {
		width:100%;
		margin: 0 0 30px;
		background: #fff;
		padding: 30px 0;
	}
	.flex div h4 {
		color:#166A86;
		font-size:1.2rem;
		font-weight: bold;
		margin-bottom: 15px;
	}
	.flex div img {width: 80%;	margin-bottom: 20px;}
		.flex div p {
			text-align: left;
			padding: 0 20px;
	}
}