@charset "UTF-8";

/**************************
common
**************************/
.lp-main-contents {
    color: #404040;
}
.lp-main-contents .bg-blue {
    background: #2D5893;
}
.lp-main-contents .text-blue {
    color: #005BAC;
}
.lp-main-contents h2 {
	color: #404040;
	font-size: 1.5em;
	letter-spacing: 2px;
}
.lp-main-contents h2 span {
	color: #005BAC;
	font-size: 1.33em;
}

/* btn
---------------------*/
.btn-contact {
	text-align: center;
	letter-spacing: 1px;
}
.btn-contact a {
	width: calc(274px + 30px + 30px + 2px);
	max-width: 90%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 15px 0;
	background-color: #E33456;
	border-radius: 24px;
	color: #FFF;
	font-size: 0.875em;
	font-weight: bold;
	transition: all 0.2s ease, visibility 0s;
}
.btn-contact a:hover {
	background-color: #b03445;
	text-decoration: none;
}
.btn-contact a svg {
	width: 12px;
	height: 12px;
	margin-right: 8px;
}
.btn-contact a path {
	fill: #FFF;
}
.btn-contact span {
	margin-bottom: 20px;
	display: block;
	font-weight: bold;
	line-height: 2;
}

.en_body .btn-contact a {
	width: calc(374px + 30px + 30px + 2px);
}
.en_body .btn-contact.first-btn-contact a {
	width: calc(274px + 30px + 30px + 2px);
}

@media screen and (min-width: 768px){
	.lp-btn-contact {
		width: 280px;
		padding: 18px 3px;
		font-size: 16px;
	}
}

/* title-L
---------------------*/
.lp-title-L {
	text-align: center;
	font-weight: normal;
}
.lp-title-L .sub {
	color: #005BAC;
	font-size: .82em;
}
.lp-title-L .main {
	color: #000;
	font-size: .9em;
}
@media screen and (min-width: 768px){
	.lp-title-L .sub {
		font-size: 1.1em;
		line-height: 2;
	}
	.lp-title-L .main {
		font-size: 1.6em;
	}
}


/**************************
lp-mainvisual-sec
**************************/
.lp-mainvisual-sec {
	background: #f9f9f9 url("/img/sokujissl/right.png") no-repeat 110% bottom;
	background-size: 45%;
}
.lp-mainvisual-sec .wrapper {
	padding: 60px 0 10px 0;
	background: url("/img/sokujissl/left.png") no-repeat -140px top;
	background-size: 40%;
}
.lp-mainvisual-sec h1 {
	width: 90%;
	max-width: 649px;
	margin: 0 auto 30px auto;
}
.lp-mainvisual-sec .wrapper h1 img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}
.lp-mainvisual-sec .note {
	margin-top: 40px;
	color: #858383;
	font-size: 0.75em;
}

/**************************
lp-intro-sec
**************************/
.lp-intro-sec {
	padding: 40px 0 80px 0;
}
.lp-intro-sec h2 {
	margin-bottom: 40px;
	text-align: center;
}
.problems {
	display: flex;
	justify-content: center;
}
.problems div {
	width: 24%;
	min-width: 12px;
}
.problems div:first-of-type {
	margin-right: 5%;
}
.problems div:last-of-type  {
	margin-left: 5%;
}
.problems div img {
	margin: 0 auto 20px auto;
}
.problems div h3 {
	line-height: 1.8;
	text-align: center;
	position: relative;
	display: inline-block;
	width: 100%;
	margin-bottom: 2em;
}
.problems div h3 span {
	display: block;
}
.problems div p {
	font-size: 1.125em;
	letter-spacing: 2px;
	line-height: 2;
}

/**************************
lp-solution-sec
**************************/
.lp-solution-sec {
	padding-top: 70px;
	padding-bottom: 40px;
	color: #FFF;
	text-align: center;
	background: #2D5893 url("/img/sokujissl/triangle.svg") no-repeat center top;
	background-size: 85px 36px;
}
.lp-solution-sec h2 {
	margin-bottom: 20px;
	color: #FFF;
	font-size: 1.75em;
}
.lp-solution-sec p:not(.btn-contact) {
	margin-bottom: 40px;
	letter-spacing: 2px;
	line-height: 1.5;
	font-weight: bold;
}

/**************************
lp-charm-sec
**************************/
.lp-charm-sec {
	padding-top: 80px;
	padding-bottom: 60px;
	background-color: #FAFAFA;
}
.lp-charm-sec h2 {
	margin-bottom: 40px;
	text-align: center;
}
.charm {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
}
.charm div {
	width: calc(100% - 150px);
}
.charm h3 {
	margin-bottom: 10px;
	font-size: 1.25em;
}
.charm p {
	line-height: 2;
}

/**************************
lp-group-sec
**************************/
.lp-group-sec {
	padding-top: 60px;
	padding-bottom: 60px;
	text-align: center;
}
.lp-group-sec h2 {
	margin-bottom: 30px;
}
.lp-group-sec .lead {
	margin-bottom: 30px;
	color: #324158;
	line-height: 1.8;
}
.lp-group-sec .group {
	margin-bottom: 80px;
	display: flex;
	justify-content: space-between;
}
.lp-group-sec .group div {
	width: 30%;
	padding: 20px 30px;
	box-shadow: 0px 1px 10px -5px rgba(0,0,0,0.6);
}
.lp-group-sec .group div img {
	margin: 0 auto 20px auto;
}
.lp-group-sec .group div h3 {
	color: #324158;
	font-size: 1em;
	font-weight: normal;
}
.lp-group-sec h4 {
	margin-bottom: 20px;
	color: #324158;
	font-weight: normal;
	line-height: 1.8;
	letter-spacing: 2px;
}
.lp-group-sec .flow {
	margin-bottom: 60px;
	font-size: 0.75em;
	text-align: left;
}
.lp-group-sec .flow img {
	margin-bottom: 10px;
}

/**************************
lp-price-sec
**************************/
.lp-price-sec {
	padding-top: 60px;
	padding-bottom: 60px;
	background-color: #F6F6F6;
	text-align: center;
}
.lp-price-sec h2 {
	margin-bottom: 30px;
}
.kind-of-price {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
}
.kind-of-price div {
	width: 49%;
	padding: 24px 30px;
	color: #005BAC;
	border: 2px solid #005BAC;
	background-color: #FFF;
}
.kind-of-price div h3 {
	width: 10em;
	margin: 0 auto 10px auto;
	padding-bottom: 20px;
	font-size: 1.5em;
	font-weight: normal;
	border-bottom: 1px solid #005BAC;
}
.en_body .kind-of-price div h3 {
	width: 11em;
}
.kind-of-price div p {
	font-size: 1.125em;
}
.kind-of-price div p strong {
	font-size: 2.8em;
	font-weight: bold;
}
.kind-of-price div p strong span {
	font-size: 0.85em;
}
.lp-price-sec p.note {
	margin-bottom: 60px;
	font-size: 0.75em;
	text-align: left;
}






/**************************
responsive
**************************/
@media screen and (max-width: 834px){
	.problems div {
		width: 30%;
	}
}
@media screen and (max-width: 699.9px){
	.btn-contact a {
		padding: 15px 0;
	}
	.problems {
		display: block;
	}
	.problems div {
		margin-bottom: 30px;
		width: 100%;
	}
	.lp-contact-sec p:not(.btn-contact) {
		text-align: left;
	}
	.charm {
		display: block;
	}
	.charm img {
		margin: 0 auto 20px auto;
	}
	.charm div {
		width: 100%;
	}
	.lp-group-sec .group {
		display: block;
	}
	.lp-group-sec .group div {
		width: 18em;
		max-width: 100%;
		margin: 0 auto 20px auto;
	}
	.lp-group-sec .group div:last-of-type {
		margin-bottom: 0;
	}
	.kind-of-price {
		display: block;
	}
	.kind-of-price div {
		width: 98%;
		margin: 0 auto 20px auto;
		padding-left: 20px;
		padding-right: 20px;
	}
}
/*=========================================
 fixed header 
 ==========================================*/
 main {
	padding-top: 96px;
}
@media screen and (max-width: 939.9px){
	main {
			padding-top: 0;
	}
}
/*=========================================
 /For an English page that only has a Japanese service logo/
 ==========================================*/
 h1 span {
	display: block;
	margin-top: 42px;
	margin-bottom: 60px;
	text-align: center;
	font-weight: 200;
}
.tagline {
	margin-bottom: 32px;
	text-align: center;
	font-size: 24px;
}
.tagline img {
	width: 649px;
	margin: 0 auto 12px auto;
}
.tagline em {
	color: #2d5893;
	font-size: 36px;
	font-weight: 600;
}