@charset "utf-8";

.p-main_kv {
	width: 100%;
	height: 460px;
	background: #ffffff url('../images/kv_pc.jpg') center center no-repeat;
	margin: 0 auto;
}
@media (max-width: 767px) {
	.p-main_kv {
		width: 100%;
		height: auto;
		background: #ffffff url('../images/kv_sp.jpg') center center no-repeat;
		background-size: cover;
		padding-top: 60%;
		margin: 0 auto;
	}
}

.p-lead {
	margin: 50px 0;
	text-align: center
}
.p-lead > p {
	color: #88004d;
	font-size: var(--24px);
	font-weight: bold;
	line-height: var(--48px);
}
.p-fs_ly { 
	font-size: var(--28px);
	color: #c00;
	background-color: lightyellow;
}
@media (max-width: 767px) {
	.p-lead {
		margin: 25px 10px;
		text-align: left;
	}
	.p-lead > p {
		font-size: var(--20px);
		line-height: var(--36px);
	}
	.p-fs_ly { 
		font-size: var(--24px);
	}
}

.p-benefits {
	width: 95%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 40px 40px;
	text-align: left
}
@media (max-width: 767px) {
	.p-benefits {
		width: 100%;
		margin: 0;
		padding: 0;
	}
}


.p-link_application {
	width: 100%;
	max-width: 900px;
	margin: 20px auto 50px;
}
.p-link_application > a {
	position: relative;
	display: block;
	width: 100%;
	padding: 35px 40px;
	border: solid 6px #fff;
	border-radius: 10px;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ce0276+0,a90260+100 */
background: #ce0276; /* Old browsers */
background: -moz-linear-gradient(top,  #ce0276 0%, #a90260 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #ce0276 0%,#a90260 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #ce0276 0%,#a90260 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce0276', endColorstr='#a90260',GradientType=0 ); /* IE6-9 */
	box-sizing: border-box;
	color: #fff;
	text-align: center;
	box-shadow: 0px 0px 10px 0px #999;
	text-decoration: none;
}
.p-link_application > a > span {
	display: inline-block;
	font-size: var(--20px);
}
.p-link_application > a > span > img {
	width: var(--26px);
	padding-right: 10px;
}
.p-link_application > a > span > img:last-child {
	padding-left: 10px;
	padding-right: 0;
}
.p-link_application > a > p {
	margin-top: 20px;
	padding: 0;
	font-size: var(--38px);
	font-weight: bold;
	line-height: var(--40px);
}
.p-link_application > a::after {
	content: '';
	display: inline-block;
	background-image: url('lp/images/icon_arrow.svg');
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	width: 50px;
	height: 50px;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
	text-align: center;
}
.p-link_application > a:hover {
	opacity: 0.85;
	text-decoration: none;
}
@media (max-width: 767px) {
	.p-link_application {
		width: 100%;
		margin: 30px 0;
	}
	.p-link_application > a {
		position: relative;
		display: block;
		width: 100%;
		padding: 25px 10px 30px;
		border: solid 6px #fff;
		border-radius: 10px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ce0276+0,a90260+100 */
	background: #ce0276; /* Old browsers */
	background: -moz-linear-gradient(top,  #ce0276 0%, #a90260 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ce0276 0%,#a90260 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ce0276 0%,#a90260 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ce0276', endColorstr='#a90260',GradientType=0 ); /* IE6-9 */
		box-sizing: border-box;
		color: #fff;
		text-align: center;
		box-shadow: 0px 0px 10px 0px #999;
		text-decoration: none;
	}
	.p-link_application > a > span {
		font-size: var(--11px);
	}
	.p-link_application > a > span > img {
		width: var(--14px);
		padding-right: 5px;
    }
	.p-link_application > a > span > img:last-child {
		padding-left: 5px;
		padding-right: 0;
	}
	.p-link_application > a > p {
		font-size: var(--18px);
		font-weight: bold;
		margin-top: 20px;
		line-height: var(--28px);
	}
	.p-link_application > a::after {
		content: '';
		display: inline-block;
		background-image: url('/lp/images/icon_arrow.svg');
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		width: 40px;
		height: 40px;
		top: auto;
		bottom: 5px;
		right: 50%;
		left: auto;
		margin: 0 -20px 0 auto;
	}
}



.p-contents {
	width: 100%;
	background: #f6f3ed;
	padding: 50px 20px;
	text-align: center;
}
@media (max-width: 767px) {
	.p-contents {
		width: 100%;
		background: #f6f3ed;
		padding: 30px 20px;
	}
}

.p-contents .ttl {
	color: #392a7a;
	font-size: var(--26px);
	font-weight: bold;
	line-height: 1;
}
@media (max-width: 767px) {
	.p-contents .ttl {
		color: #392a7a;
		font-size: var(--22px);
		font-weight: bold;
		line-height: 1;
	}
}

.p-contents .ttl-02 {
	position: relative;
	display: inline-block;
	font-size: var(--32px);
	font-weight: bold;
	border-bottom: solid 6px #88004d;
	padding: 20px 50px;
}
.p-contents .ttl-02::after {
	content: "";
	display: block;
	line-height: 0;
	overflow: hidden;
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 50%;
	border-bottom: 6px solid #392a7a;
}
@media (max-width: 767px) {
	.p-contents .ttl-02 {
		position: relative;
		display: inline-block;
		font-size: var(--28px);
		font-weight: bold;
		border-bottom: solid 6px #88004d;
		padding: 15px 30px;
	}
}

.p-contents .ttl-03 {
	margin: 60px 0 40px;
}
@media (max-width: 767px) {
	.p-contents .ttl-03 {
		margin: 60px 0 30px;
	}
}


.p-charge {
	display: table;
	width: 100%;
	max-width: 1020px;
	margin: 30px auto;
	padding-bottom: 30px;
	border-collapse: separate;
	border-spacing: 20px 0;
}
.p-charge li {
	display: table-cell;
	width: 50%;
	max-width: 500px;
	padding: 35px 5px 50px;
	border: solid 8px #49378d;
	border-radius: 18px;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+50,f9f9f9+50,f9f9f9+100 */
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(-45deg,  #ffffff 0%, #ffffff 50%, #f9f9f9 50%, #f9f9f9 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg,  #ffffff 0%,#ffffff 50%,#f9f9f9 50%,#f9f9f9 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg,  #ffffff 0%,#ffffff 50%,#f9f9f9 50%,#f9f9f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	box-sizing: border-box;
	color: #49378d;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 20px;
}
.p-charge li.monthlyfee {
	border: solid 8px #88004d;
	color: #88004d;
}
.p-charge li img {
	width: 95px;
}
.p-charge p.item {
	font-size: var(--26px);
	line-height: 2;
}
.p-charge li.monthlyfee p.item span {
	font-size: var(--18px);
}
.p-charge li p.large {
	margin-top: 40px;
}
.p-charge li.initialcost p.large {
	font-size: 110px;
}
.p-charge li.monthlyfee p.large {
	display: inline-block;
	font-size: 95px;
	letter-spacing: -2px;
}
.p-charge li.monthlyfee p.large span {
	font-size: var(--40px);
	letter-spacing: 0;
}
.p-charge li.monthlyfee p.large span span {
	font-size: var(--22px);
}
.p-charge li.monthlyfee p.note1 {
	font-size: var(--18px);
	padding: 15px 0 30px 0;
	text-align: center;
}
.p-charge li.monthlyfee p.note2 {
	display: block;
	font-size: var(--16px);
	font-weight: normal;
	text-align: left;
	padding-left: 8px;
}
.p-charge li.initialcost p.note2 {
	display: block;
	font-size: var(--16px);
	font-weight: normal;
	text-align: left;
	padding: 48px 8px 0 8px;
}
@media (min-width: 768px) and ( max-width: 1019px) {
	.p-charge {
		display: block;
		width: 70%;
		max-width: 70%;
		margin: 30px auto;
		border-collapse: separate;
		border-spacing: 0;
	}
	.p-charge li {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 30px 20px;
		margin: 20px 0;
	}
}
@media (max-width: 767px) {
	.p-charge {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 30px auto;
		border-collapse: separate;
		border-spacing: 0;
		padding-bottom: 0;
	}
	.p-charge li {
		display: block;
		width: 100%;
		max-width: 100%;
		padding: 30px 20px 35px;
		border: solid 8px #49378d;
		border-radius: 18px;
/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+50,f9f9f9+50,f9f9f9+100 */
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(-45deg,  #ffffff 0%, #ffffff 50%, #f9f9f9 50%, #f9f9f9 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(-45deg,  #ffffff 0%,#ffffff 50%,#f9f9f9 50%,#f9f9f9 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(135deg,  #ffffff 0%,#ffffff 50%,#f9f9f9 50%,#f9f9f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
		box-sizing: border-box;
		color: #49378d;
		font-size: var(--24px);
		font-weight: bold;
		margin: 20px 0;
	}
	.p-charge p.item {
		font-size: var(--20px);
		line-height: 2;
	}
	.p-charge li.monthlyfee p.item span {
		font-size: var(--14px);}
	.p-charge li p.large {
		margin-top: 30px;
	}
	.p-charge li.initialcost p.large {
		font-size: calc(4rem + 0.5vw);
	}
	.p-charge li.monthlyfee p.large {
		display: inline-block;
		font-size: calc(3rem + 0.5vw);
		letter-spacing: -2px;
		text-align: left;
	}
	.p-charge li.monthlyfee p.large span {
		font-size: var(--22px);
		letter-spacing: 0;
	}
	.p-charge li.monthlyfee p.large span span {
		font-size: var(--20px);
	}
}


.p-service,
.p-service__ipv6 {
	display: table;
	width: 100%;
	max-width: 1120px;
	margin: 30px auto;
	padding-bottom: 30px;
	border-collapse: separate;
	border-spacing: 10px 0;
}
.p-service > li,
.p-service__ipv6 > li {
	display: table-cell;
	width: 25%;
	max-width: 240px;
	min-width: 220px;
	margin: 0 20px;
	background: #fff;
	border-radius: 18px;
	box-sizing: border-box;
	vertical-align: top;
}
.p-service > li > h4,
.p-service__ipv6 > li > h4 {
	background: #49378d;
	border-radius: 18px 18px 0 0;
	color: #fff;
	font-size: var(--16px);
	line-height: var(--20px);
	font-weight: bold;
	padding: 15px 5px;
}
.p-service > li:nth-child(even) h4,
.p-service__ipv6 > li:nth-child(even) h4 {
	background: #88004d;
}
.p-service > li > h4 > img,
.p-service__ipv6 > li > h4 > img {
	width: 36px;
	margin-bottom: 10px;
}
.p-service > li > p,
.p-service__ipv6 > li > p {
	font-size: var(--16px);
	text-align: left;
	padding: 20px 15px 25px;
	overflow-wrap: break-word;
}
.p-service > li > p > a,
.p-service__ipv6 > li > p > a {
	color: #5555b6;
}
@media (min-width: 768px) and ( max-width: 1019px) {
	.p-service,
	.p-service__ipv6 {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 30px auto;
		border-collapse: separate;
		border-spacing: 0;
	}
	.p-service > li {
		display: inline-block;
		width: 45%;
		max-width: 45%;
		margin: 10px;
	}
	.p-service__ipv6 > li {
		display: block;
		width: 94%;
		max-width: 94%;
		margin: 0 auto;
	}
	.p-service > li > h4,
	.p-service__ipv6 > li > h4 {
		background: #49378d;
		border-radius: 18px 18px 0 0;
		color: #fff;
		font-size: var(--18px);
		line-height: var(--22px);
		font-weight: bold;
		padding: 15px 5px;
	}
	.p-service > li > h4 > img,
	.p-service__ipv6 > li > h4 > img {
		width: 42px;
		margin-bottom: 10px;
	}
	.p-service > li > p,
	.p-service__ipv6 > li > p {
		font-size: var(--16px);
		text-align: left;
		padding: 20px 15px 25px;
	}
}
@media (max-width: 767px) {
	.p-service,
	.p-service__ipv6 {
		display: block;
		width: 100%;
		max-width: 100%;
		margin: 30px auto;
		border-collapse: separate;
		border-spacing: 0;
		padding-bottom: 0;
	}
	.p-service > li,
	.p-service__ipv6 > li {
		display: block;
		width: 100%;
		max-width: 100%;
		border-radius: 18px;
		box-sizing: border-box;
		font-size: var(--24px);
		margin: 20px 0;
	}
	.p-service > li > h4,
	.p-service__ipv6 > li > h4 {
		background: #49378d;
		border-radius: 18px 18px 0 0;
		color: #fff;
		font-size: var(--18px);
		line-height: var(--22px);
		font-weight: bold;
		padding: 15px 5px;
	}
	.p-service > li > h4 > img,
	.p-service__ipv6 > li > h4 > img {
		width: 46px;
		margin-bottom: 10px;
	}
	.p-service > li > p,
	.p-service__ipv6 > li > p {
		font-size: var(--15px);
		text-align: left;
		padding: 20px 15px 25px;
	}
}


.p-link_detail {
	width: 100%;
	max-width: 900px;
	margin: 40px auto 20px;
}
.p-link_detail > a {
	position: relative;
	display: block;
	width: 100%;
	padding: 40px 40px 30px;
	border-radius: 5px;
	background: #5555b6;
	box-sizing: border-box;
	color: #fff;
	font-size: var(--26px);
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.p-link_detail > a::after {
	content: '';
	display: inline-block;
	background-image: url('../images/icon_arrow.svg');
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	width: 40px;
	height: 40px;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}
.p-link_detail > a:hover {
	opacity: 0.85;
	text-decoration: none;
}
@media (max-width: 767px) {
	.p-link_detail {
		width: 100%;
		max-width: 900px;
		margin: 40px auto 20px;
	}
	.p-link_detail > a {
		position: relative;
		display: block;
		width: 100%;
		padding: 35px 30px 30px 20px;
		border-radius: 5px;
		background: #5555b6;
		box-sizing: border-box;
		color: #fff;
		font-size: var(--18px);
		font-weight: bold;
		text-align: center;
	}
	.p-link_detail > a::after {
		content: '';
		display: inline-block;
		background-image: url('../images/icon_arrow.svg');
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		width: 35px;
		height: 35px;
		top: 0;
		bottom: 0;
		right: 9px;
		margin: auto;
		text-align: center;
	}
}


