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

@media (min-width: 810px) {
body#toppage {
  background-color: #FFF;
	background: url("../img/toppageBg_pc.jpg") no-repeat center top 100px;
}
}
.mainImg {
	display: flex;
	flex-direction: column;
	justify-content:flex-end;
	align-items: flex-start;
}
.mainImg .mainText {
	text-align: left;
	color: #FFF;
}
@media (min-width: 810px) {
.mainImg {
	height: 420px;
}
.mainImg .mainText h2 {
	margin-bottom: 30px;
}
}
@media (max-width: 809px) {
.mainImg {
	background-color: #DEEDF4;
	background: url("../img/mainBg_sp.jpg") no-repeat center top;
	background-size: auto 100%;
	height: 300px;
	justify-content: center;
}
.mainImg .mainText {
	width: 75%;
	padding: 8px;
}
.mainImg .mainText p br {
	display: none;
}
}
.mainItem {
	display: flex;
	justify-content: center;
	padding: 60px 0;
}
.mainItem .item {
	display: block;
	position: relative;
	margin: 0 8px;
}
.mainItem .item .icon {
	position: absolute;
	top: -40px;
	right: 8px;
}
.mainItem .item .itemWrap {
	position: absolute;
	top: 0px;
	left: 0px;
	display: flex;
	flex-direction: column;
	justify-content:flex-start;
	align-items: flex-start;
	background-color: #FFF;
}
.mainItem .item .itemWrap .text {
	text-align: left;
	padding: 15px 30px;
}
.mainItem .item .itemWrap .text h3 {
	font-weight: 900;
	font-size: 24px;
	margin-bottom: 15px;
}
.mainItem .item .itemWrap .text p {
	font-size: 16px;
	font-weight: 500;
}
.mainItem .item .itemWrap .more {
	padding: 15px 30px;
	margin-top: auto;
	margin-bottom: 15px;
	align-self: stretch;
}
.mainItem .item .itemWrap .more a {
	text-align: left;
	padding: 8px;
	display: block;
	background: url("../img/more_bg.png") no-repeat right bottom;
	font-weight: 700;
	color: #000;
}
.mainItem .item .itemWrap .more a:hover {
	color: #0270AD;
}
@media (min-width: 810px) {
.mainItem {
	min-width: 1400px;
}
.mainItem .item {
	flex-basis: 416px;
	height: 550px;
}
.mainItem .item .itemWrap {
	height: 550px;
}
}
@media (max-width: 809px) {
.mainItem {
	flex-direction: column;
	background-color: #DEEDF4;
	padding: 60px 15px;
}
.mainItem .item {
	flex-basis: 400px;
	margin-bottom: 40px;
}
.mainItem .item .icon {
	top: -20px;
}
.mainItem .item .itemWrap {
	height: 400px;
}
.mainItem .item .itemWrap .text {
	padding: 8px;
}
.mainItem .item .itemWrap .text h3 {
	font-size: 18px;
	margin-bottom: 8px;
}
.mainItem .item .itemWrap .text p {
	font-size: 12px;
}
.mainItem .item .itemWrap .more {
	padding: 8px;
}
}

.lineup {
	padding: 80px 0 20px;
}
.lineup h2 {
	color: #0071ac;
	font-weight: 700;
	font-size: 26px;
	margin-bottom: 15px;
}
@media (min-width: 810px) {
.lineup ul.slider {
	padding: 30px;
}
}
@media (max-width: 809px) {
.lineup {
	padding: 30px 0 20px;
}
}

.bg_white {
	background-color: #FFF;
}
.bg_gray {
	background-color: #EEE;
}

.topConts .topYakudachi {
	background: url("../img/topYakudachi_bg.jpg") no-repeat center top;
	background-size: 100% auto;
}
.topConts .topCompany {
	background: url("../img/topCompany_bg.jpg") no-repeat center top;
	background-size: 100% auto;
}
.topConts {
	padding: 80px 0;
	display: flex;
	flex-wrap: wrap;
}
.topConts > div {
	margin-bottom: 15px;
}
.topConts .ttlBox {
	margin-top: 120px;
	width: 65%;
	background-color: #FFF;
	height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
}
.topConts .ttlBox .text {
	padding: 15px 30px;
	text-align: left;
}
.topConts .ttlBox .text h3 {
	font-weight: 900;
	font-size: 24px;
	margin-bottom: 15px;
}
.topConts .ttlBox .text p {
	font-size: 16px;
	font-weight: 500;
}
.topConts .ttlBox .more {
	padding: 15px 30px;
	margin-top: auto;
	margin-bottom: 15px;
	align-self: stretch;
}
.topConts .ttlBox .more a {
	text-align: left;
	padding: 8px;
	display: block;
	background: url("../img/more_bg.png") no-repeat right bottom;
	background-size: contain;
	font-weight: 700;
	color: #000;
}
.topConts .ttlBox .more a:hover {
	color: #0270AD;
}
@media (min-width: 810px) {
.topConts > div {
	flex-basis: 50%;
}
}
@media (max-width: 809px) {
.topConts {
	padding: 30px 0;
	flex-direction: column;
}
.topConts .ttlBox {
	margin-top: 40px;
	margin-left: 15px;
	width: 75%;
}
.topConts .ttlBox .text {
	padding: 8px;
}
.topConts .ttlBox .text h3 {
	font-size: 18px;
	margin-bottom: 8px;
}
.topConts .ttlBox .text p {
	font-size: 12px;
}
.topConts .ttlBox .more {
	padding: 8px;
}
}



.topBnr ul {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
@media (min-width: 810px) {
.topBnr {
	padding: 50px 30px;
}
.topBnr ul > li {
	flex-basis: 33.3%;
}
.topBnr ul li:nth-child(2) {
	order: 1
}
}
@media (max-width: 809px) {
.topBnr {
	padding: 30px 15px;
}
.topBnr ul > li {
	flex-basis: 50%;
	padding: 2px;
}
}

















