@charset "utf-8";
/* CSS Document */

/*** -----------------------------------------------------------------------------

#index

-----------------------------------------------------------------------------  ***/

/* .visual */
main.main-content section#visual .inner {
	max-width:1200px;
	padding: 0 0 50px;
	position:relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main.main-content section#visual .inner .box{
	width: calc(100% / 3);
	position: relative;
}
main.main-content section#visual .inner .box span{
	display: block;
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	max-width: 440px;
	width: 85%;
	height: 85px;
	padding: 10px;
	box-shadow: 5px 5px 10px rgba(0,0,0,.2);
	border-radius: 100px;
	box-sizing: border-box;
	background: #fff;
	display: block;
	z-index: 1;
}
main.main-content section#visual .inner .box span img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
main.main-content section#visual .inner .box:nth-of-type(1) span img{
	max-width: 250px;
	width: 84%;
}
main.main-content section#visual .inner .box:nth-of-type(2) span img{
	max-width: 234px;
	width: 84%;
	top: 55%;
}
main.main-content section#visual .inner .box:nth-of-type(3) span img{
	max-width: 265px;
	width: 84%;
	top: 55%;
}
main.main-content section#visual .inner .box a strong{
	width: 100%;
	display: block;
	overflow:hidden;
}
main.main-content section#visual .inner .box a strong img{
	transition: .3s;
}
main.main-content section#visual .inner .box a:hover strong img{
	transform:scale(1.05,1.05);
}
@media (max-width:950px){
	main.main-content section#visual .inner {
		padding: 0 0 20px;
	}
	main.main-content section#visual .inner .box span{
		height: 0;
		padding: 18% 10px 10px;
		bottom: 10px;
	}
}
@media (max-width:768px){
	main.main-content section#visual .inner .box{
		width:100%;
		margin-bottom:2px;
	}
	main.main-content section#visual .inner .box span{
		width:220px;
		padding: 10% 10px 10px;
		bottom:15px;
	}
	main.main-content section#visual .inner .box:nth-of-type(1) span img{
		max-width:140px;
	}
	main.main-content section#visual .inner .box:nth-of-type(2) span img{
		max-width:118px
	}
	main.main-content section#visual .inner .box:nth-of-type(3) span img{
		max-width:133px
	}
}
/* .sec-feat */
main.main-content section.sec-feat .inner {
	max-width:100%;
	padding-left:0;
	padding-right: 0;
	padding-bottom:0;
}
main.main-content section.sec-feat .inner .section-ttl2{
	margin-bottom: 40px;
}
main.main-content section.sec-feat .inner .section-ttl2 .main{
	font-size: 50px;
	font-weight: bold;
	color: #185192;
}
@media (max-width:768px){
	main.main-content section.sec-feat .inner .section-ttl2{
		margin-bottom: 20px;
	}
	main.main-content section.sec-feat .inner .section-ttl2 .main{
		font-size: 28px;
	}
}
/* .bland */
main.main-content section.bland .inner .section-ttl .main{
	color: #185192;
}
main.main-content section.bland .inner ul{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
}
main.main-content section.bland .inner ul li{
	width: 32%;
	text-align: center;
	background-color: #fff;
	box-shadow: 0 3px 10px rgba(0,0,0,.1);
}
main.main-content section.bland .inner ul li a .img{
	width: 100%;
	display: block;
	overflow:hidden;
}
main.main-content section.bland .inner ul li a .img img{
	width: 100%;
	transition: .3s;
}
main.main-content section.bland .inner ul li a:hover .img img{
	transform:scale(1.05,1.05);
}
main.main-content section.bland .inner ul li a .txtBox{
	padding: 20px;
	font-size: 18px;
	line-height: 1.6;
}
main.main-content section.bland .inner ul li a .txtBox .name{
	line-height: 1;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: bold;
	font-size: 40px;
	margin-bottom: 20px;
	color: #185192;
}
main.main-content section.bland .inner ul li a .txtBox .link-btn{
	display:none;
}
@media (max-width:768px){
	main.main-content section.bland .inner ul{
		display: block;
	}
	main.main-content section.bland .inner ul li{
		width: 100%;
		text-align: left;
		background-color: #fff;
		box-shadow: 0 2px 6px rgba(0,0,0,.1);
		margin: 0 0 15px;
	}
	main.main-content section.bland .inner ul li a{
		display: flex;
		justify-content: flex-start;
		flex-flow: wrap;
	}
	main.main-content section.bland .inner ul li a .img{
		min-width: 200px;
		width: 200px;
	}
	main.main-content section.bland .inner ul li a .txtBox{
		padding: 20px 10px 25px;
		font-size: 16px;
		box-sizing: border-box;
		width: calc(100% - 200px);
	}
	main.main-content section.bland .inner ul li a .txtBox .name{
		font-size: 25px;
		margin-bottom: 10px;
	}
	main.main-content section.bland .inner ul li a .txtBox .link-btn{
		display:block;
		margin-bottom: 0;
	}
	main.main-content section.bland .inner ul li a .txtBox .link-btn .btn{
		max-width:240px;
		width:90%;
		min-width:auto;
	}
}
@media (max-width:768px){
	main.main-content section.bland .inner ul li a{
		display: block;
	}
	main.main-content section.bland .inner ul li a .img{
		min-width: auto;
		width: 100%;
	}
	main.main-content section.bland .inner ul li a .txtBox{
		width: 100%;
		text-align: center;
	}
}
/* .other-conts */
main.main-content section.other-conts .inner ul li{
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	align-items: center;
	margin-bottom: 60px;
}
main.main-content section.other-conts .inner ul li:last-child{
	margin-bottom: 0;
}
main.main-content section.other-conts .inner ul li img{
	width: 100%;
}
main.main-content section.other-conts .inner ul li .img{
	width: 58%;
}
main.main-content section.other-conts .inner ul li .txtBox{
	width: 46%;
	margin: 0 0 0 -8%;
	text-align: center;
	background-color: #fff;
	box-shadow: 10px 10px 10px rgba(0,0,0,.1);
	box-sizing: border-box;
	padding: 40px;
	z-index: 1;
	position: relative;
	font-size: 18px;
	line-height: 1.6;
}
main.main-content section.other-conts .inner ul li:nth-child(odd){
	flex-flow: row-reverse;
}
main.main-content section.other-conts .inner ul li:nth-child(odd) .txtBox{
	margin: 0 -8% 0 0;
}
main.main-content section.other-conts .inner ul li .txtBox .name{
	line-height: 1;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: bold;
	font-size: 40px;
	margin-bottom: 20px;
	color: #185192;
}
main.main-content section.other-conts .link-btn{
	margin: 30px auto 0;
}
@media (max-width:950px){
	main.main-content section.other-conts .inner ul li .txtBox br{
		display: none;
	}
	main.main-content section.other-conts .inner ul li{
		display: block;
		margin-bottom: 30px;
	}
	main.main-content section.other-conts .inner ul li .img{
		width: 100%;
	}
	main.main-content section.other-conts .inner ul li .txtBox{
		width: 90%;
		margin: -4% auto 0;
		text-align: center;
		background-color: #fff;
		box-shadow: 10px 10px 10px rgba(0,0,0,.1);
		box-sizing: border-box;
		padding: 40px;
		z-index: 1;
		position: relative;
	}
	main.main-content section.other-conts .inner ul li:nth-child(odd) .txtBox{
		margin: -4% auto 0;
	}
}
@media (max-width:798px){
	main.main-content section.other-conts.bg-img{
		margin: 0;
	}
	main.main-content section.other-conts.bg-img .inner{
		padding: 25px 15px;
	}
	main.main-content section.other-conts .inner ul li .txtBox{
		box-shadow: 3px 3px 3px rgba(0,0,0,.1);
		padding: 20px 10px 20px;
		z-index: 1;
		font-size: 14px;
	}
	main.main-content section.other-conts .inner ul li .txtBox .name{
		font-size: 20px;
		margin-bottom: 10px;
	}
	main.main-content section.other-conts .link-btn{
		margin: 15px auto 0;
	}
	main.main-content section.other-conts .link-btn .btn{
		min-width: 240px;
	}
}
