@charset "utf-8";

/*===============================================

header

=================================================*/
header {
	width: 100%;
	position: relative;
}

header .logo {
	width: 94%;
	max-width: 1300px;
	position: absolute;
	top: 2rem;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 3;
}
header .logo img {
	width: 15.7%;
}

header .logo .on {
	opacity: 0.8;
}

header .bg {
	width: 72%;
}

header .text_area {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-justify-content:flex-end;
	-moz-justify-content:flex-end;
	-ms-justify-content:flex-end;
	justify-content:flex-end;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	align-items:center;
	z-index: 2;
}

header .text_box {
	width: 47%;
	background: url("../img/main_lead_bg.jpg") center no-repeat;
	background-size: cover;
	padding: 2rem 4rem;
}

header .inner {
	display: inline-block;
	text-align: center;
}

header .text_box h1 {
	color: #fff;
	font-size: 3vw;
	font-weight: bold;
	text-align: left;
}

header .text_box h1 span {
	display: block;
	color: #fff;
	font-size: 2vw;
	font-weight: bold;
	line-height: 1.4;
}
header .btn {
	margin: 0 auto;
	padding-top: 2rem;
	width: 45%;
}

header .btn .on {
	opacity: 0.8;
}

@media screen and (max-width:768px){
	header .bg {
		width: 100%;
	}
	header .text_area {
		position: static;
	}
	header .text_box {
		width: 100%;
		padding: 2rem 35% 2rem 2rem;
		position: relative;
	}
	header .btn {
		width: 30%;
		position: absolute;
		right: 2rem;
		bottom: 2rem;
	}
	header .text_box h1 {
		font-size: 4.8vw;
	}
	header .text_box h1 span {
		font-size: 2.6vw;
	}
}

@media screen and (max-width:510px){
	header .logo {
		top: 1rem;
	}
	header .logo img {
		width: 12%;
	}
}
@media screen and (max-width:400px){
	header .text_box {
		padding: 1rem 35% 1rem 1rem;
	}
	header .btn {
		right: 1rem;
		bottom: 1rem;
	}
}

/*===============================================

article

=================================================*/
article {
	width: 100%;
	margin-top: 5rem;
}

@media screen and (max-width:400px){
	article {
		margin-top: 3rem;
	}
}


/* h2 */
.h2bg {
	width: 83%;
	margin: 0 auto;
	background: url("../img/h2_bg.png") center top no-repeat;
	background-size: 100% auto;
}

.h2bg h2 {
	width: 100%;
	padding-top: 15.0786%;
	position: relative;
}

.h2bg h2 span {
	display: block;
	width: 100%;
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 2vw;
	font-weight: bold;
}

.h2bg h2 span br {
	display: none;
}

@media screen and (max-width:1280px){
	.h2bg .h2bg {
		width: 90%;
	}
}

@media screen and (max-width:1000px){
	.h2bg .h2bg {
		width: 100%;
	}
	.h2bg h2 span {
		font-size: 2.8vw;
	}
}

@media screen and (max-width:500px){
	.h2bg {
		background: url("../img/h2_bg_sp.png") center top no-repeat;
		background-size: 100% auto;
	}
	.h2bg h2 {
		padding-top: 22%;
	}
	.h2bg h2 span br {
		display: block;
	}
	.h2bg h2 span {
		font-size: 3.6vw;
	}
}

/* navi */
.navi_block {
	width: 94%;
	max-width: 1300px;
	margin: 0 auto;
}
.navi_block ul {
	margin-top: 5rem;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
}
.navi_block ul li {
	width: 32%;
	max-width: 400px;
}

.navi_block ul li a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	flex-direction:column;
	-webkit-justify-content:space-around;
	-moz-justify-content:space-around;
	-ms-justify-content:space-around;
	justify-content:space-around;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	align-items:center;
	height: 100%;
	padding: 2rem;
	background: rgb(231,241,250);
	background: -moz-linear-gradient(top, rgba(231,241,250,1) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-linear-gradient(top, rgba(231,241,250,1) 0%,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom, rgba(231,241,250,1) 0%,rgba(255,255,255,1) 100%);
	text-align: center;
	border-radius: 10px;
	box-shadow:0px 0px 6px 3px #e3e3e3;
}
.navi_block .text {
	font-size: 1.8vw;
	font-weight: bold;
}
.navi_block .icon {
	width: 100%;
}
.navi_block .icon img {
	max-width: 50%;
}
.navi_block ul li a i {
	font-size: 4vw;
	color: #707070;
}

@media screen and (max-width:768px){
	.navi_block ul li a {
		padding: 1rem;
	}
	.navi_block .text {
		font-size: 2vw;
	}
}

@media screen and (max-width:400px){
	.navi_block ul {
		margin-top: 2.5rem;
	}
	.navi_block ul li a {
		padding: 0.5rem;
	}
	.navi_block .text {
		font-size: 1.6vw;
		font-weight: bold;
	}
}

/*===============================================

section

=================================================*/
section .midashi,
section .list_wrap {
	width: 90%;
	max-width: 1060px;
	margin: 0 auto;
}

section .midashi {
	text-align: center;
}
section .midashi h2 {
	font-size: 2.6rem;
	font-weight: bold;
	margin-top: 1.5rem;
}
section .list_wrap > dl {
	margin-top: 4rem;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
}
section .list_wrap > dl > dt {
	width: 40%;
	max-width: 400px;
	margin-right: 3rem;
}
section .list_wrap > dl > dd {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
}
section .list_wrap > dl > dd h4 {
	font-size: 2.4rem;
	font-weight: bold;
	color: #707070;
	margin-bottom: 1rem;
}
section .list_wrap dl .bnr {
	border: 3px solid #99C4EF;
}
section .list_wrap dl .caption {
	margin-top: 1em;
	font-size: 1.4rem;
}
section .data_wrap .caption {
	color: #707070;
	font-weight: bold;
	padding-bottom: 0.5em;
}
section .data_wrap > dl {
	border-bottom: 1px solid #707070;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
	padding: 0.5em 0;
}
section .data_wrap > dl:first-child {
	border-top: 1px solid #707070;
}
section .data_wrap > dl > dt {
	width: 49%;
	color: #707070;
	font-weight: bold;
}
section .data_wrap > dl > dd {
	width: 49%;
	color: #707070;
}
section .bnr {
	background: #fff;
}
section .bnr .on {
	opacity: 0.8;
}
section .more {
	text-align: center;
	margin-top: 2rem;
}
section .more li {
	display: inline-block;
	padding: 0 0.5em;
}
section .more li a{
	display: block;
	width: 180px;
	max-width: 100%;
	padding: 0.3em 1em;
	background: #4988C7;
	color: #fff;
	border-radius: 99px;
}
section .more li a.on {
	background: #6198CE;
}
@media screen and (max-width:860px){
	section .midashi h2 {
		font-size: 2.4rem;
	}
	section .list_wrap > dl > dd h4 {
		font-size: 1.8rem;
	}
	section .list_wrap > dl {
		display: block;
	}
	section .list_wrap > dl > dt {
		width: 400px;
		max-width: 80%;
		display: block;
		margin: 0 auto;
		margin-bottom: 2rem;
	}
}
@media screen and (max-width:560px){
	section .midashi h2 {
		font-size: 2rem;
	}
	section .list_wrap > dl > dd h4 {
		font-size: 1.6rem;
	}
	section .midashi .icon img {
		max-width: 80px;
	}
	section .data_wrap > dl > dt {
		width: 30%;
	}
	section .data_wrap > dl > dd {
		width: 70%;
	}
}
@media screen and (max-width:400px){
	section .midashi h2 {
		font-size: 1.8rem;
	}
	section .list_wrap > dl > dd h4 {
		font-size: 1.4rem;
	}
	section .midashi .icon img {
		max-width: 60px;
	}
}


/*===============================================

section1

=================================================*/
#section1 {
	margin-top: 10rem;
	background: #E6F1FA;
	padding: 8rem 0;
}
@media screen and (max-width:560px){
	#section1 {
		margin-top: 6rem;
		padding: 5rem 0;
	}
}
@media screen and (max-width:590px){
	section .more li {
		width: 100%;
	}
	section .more li a {
		display: block;
		width: 100%;
		padding: 1em;
	}
	section .more li + li {
		margin-top: 1.5rem;
	}
}

/*===============================================

section2

=================================================*/
#section2 {
	background: #F7FBFF;
	padding: 8rem 0;
}
@media screen and (max-width:560px){
	#section2 {
		padding: 5rem 0;
	}
}

/*===============================================

section3

=================================================*/
#section3 {
	background: #E0F8FF;
	padding: 8rem 0;
}
@media screen and (max-width:560px){
	#section3 {
		padding: 5rem 0;
	}
}


/*===============================================

footer

=================================================*/
footer {
	width: 100%;
}


/* end_box */
.end_box {
	background: #4988C7;
	padding: 1rem 0;
}
.end_box .flexwrap {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
}
.end_box * {
	color: #fff;
	font-size: 1.4rem;
}
.end_box .ft_navi {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
}
.end_box .ft_navi li + li {
	padding-left: 2rem;
	position: relative;
}
.end_box .ft_navi li + li::after {
	display: block;
	content: '｜';
	position: absolute;
	top: 0;
	left: 0.4rem;
}
.end_box a.on {
	text-decoration: underline !important;
}
@media screen and (max-width:1100px){
	.end_box {
		padding: 2rem 0;
	}
	.end_box .flexwrap {
		display: block;
		text-align: center;
	}
	.end_box .ft_navi {
		margin: 0 auto;
		-webkit-justify-content:center;
		-moz-justify-content:center;
		-ms-justify-content:center;
		justify-content:center;
	}
	.end_box .copyright {
		margin-top: 0.5em;
	}
}
@media screen and (max-width:560px){
	.end_box .ft_navi {
		display: block;
	}
	.end_box .ft_navi li {
		width: 100%;
		padding: 0 !important;
	}
	.end_box .ft_navi li + li {
		margin-top: 1rem;
	}
	.end_box .ft_navi li + li::after {
		display: none;
	}
	.end_box .ft_navi li a {
		display: block;
		width: 100%;
		border-radius: 5px;
		padding: 1rem;
		background: rgba(255,255,255,0.3);
	}
	.end_box .copyright {
		margin-top: 2em;
	}
}

/* contact_box */
.contact_box {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	margin-top: 5rem;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	align-items:center;
}
.contact_box .text {
	-webkit-flex: 1 1 0%;
	flex: 1 1 0%;
	border: 1px solid #707070;
	text-align:center;
	margin-right: 2rem;
	padding: 1rem;
	font-size: 2rem;
}
.contact_box .text br {
	display: none;
}
.contact_box .btn .on {
	opacity: 0.8;
}
@media screen and (max-width:960px){
	.contact_box .text {
		font-size: 1.8rem;
	}
}
@media screen and (max-width:800px){
	.contact_box .text {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:740px){
	.contact_box .text br {
		display: block;
	}
}
@media screen and (max-width:500px){
	.contact_box .text {
		font-size: 1.4rem;
	}
}
@media screen and (max-width:460px){
	.contact_box .btn {
		width: 90px;
	}
}
@media screen and (max-width:400px){
	.contact_box {
		margin-top: 3rem;
	}
	.contact_box .text {
		font-size: 1.2rem;
		margin-right: 1rem;
	}
}

/* case */
footer .case {
	width: 94%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 0;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	-moz-justify-content:space-between;
	-ms-justify-content:space-between;
	justify-content:space-between;
}
footer .case ul {
	width: 49%;
}
footer .case ul li a {
	padding: 1rem;
	border-radius: 5px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	-webkit-align-items:center;
	-moz-align-items:center;
	-ms-align-items:center;
	align-items:center;
	position: relative;
}
footer .case ul li a i {
	position: absolute;
	right: 1rem;
	top: 50%;
	margin-top: -0.5em;
}
footer .case ul li a.on {
	opacity: 0.8;
}
footer .case ul li + li {
	margin-top: 1rem;
}
footer .case ul li span {
	display: block;
	padding-left: 1rem;
	font-size: 2rem;
	font-weight: bold;
}
footer .case ul:nth-child(1) li a {
	background: #F6FAEF;
}
footer .case ul:nth-child(1) li a i {
	color: #8FC13A;
}
footer .case ul:nth-child(2) li a {
	background: #E6FFF2;
}
footer .case ul:nth-child(2) li a i {
	color: #37CB8E;
}

@media screen and (max-width:1080px){
	footer .case ul li span {
		font-size: 1.8rem;
	}
	footer .case ul li img {
		width: 2.4rem;
	}
}
@media screen and (max-width:960px){
	footer .case ul {
		width: 100%;
	}
	footer .case ul + ul {
		margin-top: 2rem;
	}
}
@media screen and (max-width:490px){
	footer .case ul li img {
		width: 2rem;
	}
	footer .case ul li span {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:430px){
	footer .case ul li span {
		font-size: 1.4rem;
	}
}
@media screen and (max-width:400px){
	footer .case {
		padding: 3rem 0;
	}
}