@charset "utf-8";
/*****************************************
	lp01.css
	lp01 スタイルシート
******************************************/
.w94 {
	max-width: 690px;
}
.w800.w94 {
	max-width: 800px;
	padding-top: 30px;
}
.kvWrap{
	margin-bottom: 0;
	line-height: 0;
}
.kvWrap::after{display: none}
.kv{
	padding-bottom: 0;
	position: relative;
	margin-bottom: 40px;
}
.kvOnTxt{
	top: auto;
	color: #fff;
	bottom: 40px;
}
.kvWrap h2 {
    background-color: rgba(255,255,255,0.8);
    border: 2px solid #0099ff;
    color: #0099ff;
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    line-height: 39px;
    padding: 0 50px;
    margin-bottom: 20px;
    margin-top: 0;
}
.kvOnTxt h2 {
    width: 190px;
}
.kvOnTxt p {
	color: #66ccff;
	font-size: 48px;
	position: static;
        text-shadow: 1px 1px 1px #000000;
}
.kvBottom {
	text-align: left;
}
.kvBottom p{
	line-height: 1.7;
	margin-bottom: 30px;
}
.cntLp {
	background-image: url(/lp/lp01/img/ttlBg.jpg);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: auto 184px;
	padding-top: 0;
}
.h2LpWrap {
	line-height: 184px;
}
.h2LpWrap h2 {
	color: #003b8e;
	display: inline-block;
	font-size: 30px;
	line-height: 1.4;
	vertical-align: middle;
}
.cntLp1 .cntWrap {
	margin-bottom: 50px;
}
.cntLp2 .cntWrap:not(:last-child){
	margin-bottom: 70px;
}
.cntLp1 .cntWrap:not(.cL1w1) {
	padding-top:30px;
  position: relative;
}
.cntLp1 .cntWrap:not(.cL1w1):before {
	display: block;
	background-color: #d7eefc;
	content: "";
	display: block;
	height: 200px;
	width: 100%;
	position: absolute;
	top: 0;
	z-index: -1;
}
.cntWrap h3 {
	padding-left: 14px;
	line-height: 1.3;
	margin-bottom: 30px;
}
.cntWrap h3 > span,
.cntWrap h3 > span > span {
	display: block;
}
.cntWrap h3 > span > span > span {
	display: inline-block;
}
.cntWrap h3 .jp {
	font-size: 30px;
}
.cntWrap h3 .en {
	font-size: 24px;
}
.cntLp1 h3 {
	border-left: 4px solid #003b8e;
	color: #003b8e;
}
.cntLp2 h3 {
	border-left: 4px solid #0099ff;
	color: #0099ff;
}
.cntLp1 h3 span {
}
.imgT1 {
	font-size: 0;
	margin-bottom: 30px;
}
.btnClb a {
	background-color: #bedfff;
	color: #fff!important;
	line-height: 70px;
}
.btnClb a:hover {
	background-color: #0099ff;
}
.btnCn a {
	text-align: center;
}
.btnCn a::after{display: none}
.btnCn a:hover {
	background-color: #3858ce;
}
.cL2w1 .nth1 >* {
	margin-top: 10px;
}
.cL2w1 .nth1 >*:first-child {
	margin-top : 0;
}
#main .space{
	padding-bottom: 100px;
}
@media screen and (min-width: 1201px){
	.cntLp {
		background-size: 100% 184px;
	}
}
@media screen and (max-width: 768px) {
	.kvOnTxt{
		bottom: 4%;
	}
	.kvOnTxt h1{
		font-size: 20px;
		width: 140px;
		line-height: 34px;
	}
	.kvOnTxt p{
		font-size: 7vw;
	}
	.h2LpWrap h2, .cntWrap h3 .jp{
		font-size: 26px;
	}
	.btnClb a{
		background-color: #bedeff;
		color: #0099ff !important;
	}
	.btnClb a:hover{
		background-color: #0099ff;
		color: #fff!important;
	}
	.btnClb a:after{
		display: block;
	}
}
@media screen and (max-width: 520px) {
	.kvOnTxt p{
		font-size: 8vw;
	}
	.h2LpWrap h2{
		font-size: 24px;
	}
	.cntWrap h3 .jp{
		font-size: 22px;
	}
	.cntWrap h3 .en{
		font-size: 20px;
	}
	.btnClb a{
		font-size: 20px;
	}
	.kv, .cntLp1 .cntWrap{
		margin-bottom: 30px;
	}
	.cntLp2 .cntWrap:not(:last-child){
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 320px) {}