#container {
	padding-top: 0;
}

.visual {
    position: relative;
    width: 100%;
    height: calc(100vh - 274px);
    background: url("../images/bg.svg")no-repeat 90% 0 / cover;
    margin-top: 100px;
}
.visual img {
	width: 100%;
}
.visual img.m {
	display: none;
}
.visual .inner {
	position: static;
}
.visual .flex {
	width: 100%;
}
.visual .flex > div {
	position: relative;
	flex: 1;
	margin-left: 20px;
	background-color: #fff;
}
.visual .flex > div:nth-child(1) {
	position: absolute;
    bottom: 0;
	flex: 3;
	margin-left: 0;
	padding: 100px;
	width: 960px;
	box-sizing: border-box;
}
.visual .flex > div:nth-child(1) .tit {
	display: block;
	color: #132761;
	font-size: 42px;
	margin-bottom: 10px;
    letter-spacing: -1px;
}
.visual .flex > div:nth-child(1) .tit h3 {
	color: #132761;
	font-size: 35px;
	line-height: 1.3;
	letter-spacing: -3px;
}
.visual .flex > div:nth-child(1) .tit h3 em {
	color: #EA5557;
}
.visual .flex > div:nth-child(1) .tit p {
    font-size: 25px;
    color: #727171;
    font-weight: 700;
}
.visual .flex > div:nth-child(1) .date {
	font-size: 50px;
	color: #132761;
	margin-top: 85px;
}
.visual .flex > div:nth-child(1) .date p {
	font-size: 25px;
	margin-top: 15px;
}
.visual .flex > div:nth-child(1) .txt {
	position: relative;
	display: inline-block;
	font-size: 35px;
	color: #EA5557;
	font-weight: 400;
	margin-top: 60px;
	padding: 0 35px;
}
.visual .flex > div:nth-child(1) .txt:before {
	content: '';
	display: block;
	background: url("../images/main-txt.svg")no-repeat 0 0 / 100%;
	width: 27px;
	height: 23px;
	position: absolute;
	top: 3px;
	left: 0;
}
.visual .flex > div:nth-child(1) .txt:after {
	content: '';
	display: block;
	background: url("../images/main-txt.svg")no-repeat 0 0 / 100%;
	width: 27px;
	height: 23px;
	position: absolute;
	bottom: 3px;
	right: 0;
	transform: rotate(180deg);
}
.visual .flex > div:nth-child(1) .txt em {
	font-family: "Malgun gothic";
}
.visual .flex > div:nth-child(2) {
	height: 120px;
	background: #fff url("../images/main-icon01.svg")no-repeat 25px 50%;
}
.visual .flex > div:nth-child(3) {
	height: 120px;
	background: #fff url("../images/main-icon02.svg")no-repeat 25px 50%;
}
.visual .flex > div:nth-child(4) {
	height: 120px;
	background: #fff url("../images/main-icon03.svg")no-repeat 25px 50%;
}
.visual .flex > div a {
	display: block;
	width: 100%;
    height: 100%;
	text-align: center;
	color: #132761;
	font-weight: bold;
	font-size: 25px;
}
.visual .flex > div img {
	display: inline-block;
	vertical-align: middle;
	width: 100px;
}
.visual .flex > div a span {
    position: absolute;
    top: 53%;
    left: 95px;
    transform: translateY(-50%);
    word-break: keep-all;
}


#footer {
	margin-top: 0;
}




@media screen and (max-width: 1370px){
	.visual {
		height: calc(100vh - 195px);
		overflow: hidden;
	}

	.visual .flex > div:nth-child(1) {
		width: auto;
		max-width: 960px;
		flex: 3;
		padding: 5% 3% 4%;
	}
	.visual .flex > div:nth-child(1) .tit h3 {
		font-size: 30px;
	}
	.visual .flex > div:nth-child(1) .tit p {
		font-size: 22px;
	}
	.visual .flex > div:nth-child(1) .date {
		font-size: 35px;
	}
	.visual .flex > div:nth-child(1) .date p {
    	font-size: 20px;
    }
	.visual .flex > div:nth-child(1) .txt {
		font-size: 25px;
		margin-top: 30px;
	}
	.visual .flex > div {
		background-position: 15px 50%!important;
	}
	.visual .flex > div a {
		font-size: 20px;
	}
	.visual .flex > div a span {
		left: 75px;
	}
}
@media screen and (max-width: 1140px){
	.visual {
	    margin-top: 80px;
	}
	.visual .flex {
		display: block;
		font-size: 0;
	}
	.visual .flex > div:nth-child(1) {
		padding: 5% 3% 4%;
	}
	.visual .flex > div:nth-child(2),
	.visual .flex > div:nth-child(3),
	.visual .flex > div:nth-child(4) {
		display: inline-block;
		width: calc(33.333% - 17px);
	}
	.visual .flex > div:nth-child(2) {
		margin-left: 0;
	}
	.visual .flex > div a span {
	    left: 85px;
	}
}
@media screen and (max-width: 1024px){
}
@media screen and (max-width: 768px){
	#container {
		padding-top: 80px;
	}

	.visual {
		height: 630px;
	    background: url("../images/m_main2.svg")no-repeat 50% 0 / cover;
	    margin-top: 0;
	}
	.visual .inner {
		position: static;
	}
	.visual .flex {
		font-size: 0;
		top: 135px;
	}
	.visual .flex > div:nth-child(1) {
		position: static;
		margin-top: 110px;
		width: 80%;
		min-width: 330px;
		padding: 60px 20px;
		margin-bottom: 20px;
		margin-left: -20px;
		box-sizing: border-box;
	}
	.visual .flex > div:nth-child(1) .tit h3 {
	    font-size: 25px;
	}
	.visual .flex > div:nth-child(1) .tit p {
	    font-size: 10px;
	}
	.visual .flex > div:nth-child(1) .date {
	    font-size: 20px;
	}
	.visual .flex > div:nth-child(1) .date p {
	    font-size: 15px;
	}
	.visual .flex > div:nth-child(1) .txt {
    	font-size: 20px;
    	padding: 20px 0;
    }
    .visual .flex > div:nth-child(1) .txt:before,
    .visual .flex > div:nth-child(1) .txt:after {
    	width: 15px;
    	height: 15px;
    }
    .visual .flex > div:nth-child(2), 
    .visual .flex > div:nth-child(3),
    .visual .flex > div:nth-child(4) {
    	width: calc(33.333% - 7px);
	    height: 95px;
	    background-size: 33px!important;
	    background-position: 15px 50%!important;
	    margin-left: 10px;
	}
	.visual .flex > div:nth-child(2) {
    	margin-left: 0;
    }
	.visual .flex > div a {
		font-size: 14px;
		word-break: keep-all;
	}
	.visual .flex > div a span {
		left: 70px;
	}

}
@media screen and (max-width: 480px) {
	.visual .flex > div:nth-child(2), 
	.visual .flex > div:nth-child(3) {
		background-position: 13px 50%!important;
	}
	.visual .flex > div a span {
	    left: 50px;
	}
}