@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html { 
	font-size: 62.5%;
	scroll-behavior: smooth;
}

body {
	inline-size: 100%;
	-webkit-text-size-adjust: 100%;
	margin: 0;
	color: #626262 !important;
	font-size: 20px !important;
	font-optical-sizing: auto;
	font-family: "Noto Sans JP", sans-serif !important;
	font-style: normal;
	font-weight: 500;
	line-height: 1.8 !important;
	background: #fff;
}

img {
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
}

* {box-sizing: border-box;}

h1, h2, h3, h4 {
	text-wrap: inherit;
	line-height: 1.2;
}

p:empty{display: none !important;}

.noto-sans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}

.noto-serif {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
}

.pc {display: block !important;}
.sp {display: none !important;}

@media screen and (max-width:768px) {
	
body {
	font-size: 4.5vw !important;
}	
	
.pc {display: none !important;}
.sp {display: block !important;}

}


/*--------------------

header

--------------------*/
.lp_header {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	width: 100%;
	padding: 8px 5vw;
	background: #fff;
}

.lp_header .logo {
	margin: 0;
	width: 180px;
}

.lp_header .logo img {
	width: 180px;
}

.lp_header .btn {
	display: flex;
	align-items: center;
	margin: 0;
}

.lp_header .btn_01 {
	margin: 0;
	text-decoration: none;
}

.lp_header .btn_01:hover {
	margin: 0;
	text-decoration: none !important;
}

@media screen and (max-width:768px) {
.lp_header {
	padding: 2vw 5vw;
	height: 20vw;
}
	
.lp_header .logo {
	margin: 0;
	width: 40vw;
}
	
.lp_header .logo img {
	width: auto;
	height: 16vw;
}

.lp_header .btn_01 {
	font-size: 3.5vw;
	padding: 0.2em 0.5em;
}
}

/*--------------------

main

--------------------*/
main {
	display: block;
	margin-top: 100px;
}

.inner {
	width: 100%;
	max-width: 1080px;
	margin: auto;
}

#footer_top {
	margin-top: 0 !important;
}

@media screen and (max-width:768px) {
main {
	margin-top: 20vw;
}
}

/*--------------------
配置
--------------------*/
.tac { text-align: center!important;}
.tar { text-align: right!important;}
.tal { text-align: left!important;}

.dsp_ib { display: inline-block!important;}

/*--------------------
文字色
--------------------*/
/* 赤 */
.fc_01 { color: #ec6941;}

/*--------------------
見出し
--------------------*/
/* .headline_01 */
.headline_01 {
	margin: 0 0 2em 0;
	text-align: center;
}

.headline_01 .eng {
	position: relative;
	margin: 0 0 2em 0;
	display: block;
	color: rgba(252,151,135,0.75);
	font-size: 40px;
}

.headline_01 .eng::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1em;
	margin: auto;
	width: 100px;
	height: 4px;
	background: rgba(252,151,135,0.75);
}

.headline_01 .jp {
	display: block;
	font-size: 48px;
}

/* .headline_02 */
.headline_02 {
	margin: 1em 0 2em 1em;
	text-indent: -1em;
	color: #ce9d09;
	font-size: 30px;
	font-weight: 500;
}

.headline_02::before {
	content: "―";
}

@media screen and (max-width:768px) {
	
.headline_01 .eng {
	font-size: 6vw;
}

.headline_01 .jp {
	font-size: 7vw;
}

/* .headline_02 */
.headline_02 {
	font-size: 5.5vw;
}

}


/*--------------------
背景
--------------------*/
.box_01 {
	padding: 40px;
	background: rgba(206,157,9,0.1);
}

@media screen and (max-width:768px) {
.box_01 {
	padding: 4vw;
}
}


/*--------------------
ボタン
--------------------*/
/* .btn_c */
.btn_c {
	margin: 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

/* .btn_01 */
.btn_01 {
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em 2em;
	color: #fff;
	text-decoration: none;
	background: #fb9686;
	border: 1px solid #fb9686;
}

.btn_01:hover {
	color: #fb9686;
	text-decoration: none;
	background: #fff;	
}

/* .btn_02 */
.btn_02 {
	display: inline-block;
	margin: 0.5em;
	padding: 0.5em 2em;
	color: #fff;
	text-decoration: none;
	border-radius: 2em;
	background: #023a91;
	border: 1px solid #023a91;
}

.btn_02:hover {
	color: #023a91;
	text-decoration: none;
	background: #fff;	
}



/*--------------------
#lp_fv
--------------------*/
#lp_fv img {
	width: 100%;
}

/*--------------------
#lp_management
--------------------*/
#lp_management {
	padding: 100px 5vw;
}

@media screen and (max-width:768px) {
#lp_management {
	padding: 12vw 5vw;
}
}

/*--------------------
#lp_market
--------------------*/
#lp_market {
	padding: 80px 5vw 160px;
	background: url("../images/bg_01_pc.jpg") no-repeat left top / cover;
}

#lp_market .inner .headline_01 .jp {
	color: #fff;
}

#lp_market .inner p {
	color: #fff;
}

#lp_market .inner .lead {
	text-align: center;
	font-size: 28px;
	font-weight: 700;
}

#lp_market .inner figure {
	display: block;
	margin: 40px 0 0;
	padding: 40px 80px;
	text-align: center;
	background: #fff;
	border-radius: 30px;
}

#lp_market .inner figcaption {
	margin: 3em 0 0 0;
	text-align: right;
	font-size: 14px;
}

@media screen and (max-width:768px) {
#lp_market {
	padding: 12vw 8vw;
	background: url("../images/bg_01_sp.jpg") no-repeat left top / cover;
}
#lp_market .inner {
	top: 5.5vw;
}
	
#lp_market .inner figure {
	margin: 5vw 0 0;
	padding: 5vw;
}

#lp_market .inner figcaption {
	font-size: 2.5vw;
	line-height: 1.2;
}

}



/*--------------------
#lp_reason
--------------------*/
#lp_reason {
	padding: 100px 0 0;
	background: rgba(252,151,135,0.2);
}

#lp_reason .headline_01 .eng {
	line-height: 1.4;
}

#lp_reason .item {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	width: 100%;
	max-width: 1125px;
	margin: auto;
	padding: 80px 0 160px;
}

#lp_reason .item:nth-of-type(even) {
	flex-direction: row-reverse;
}

#lp_reason .item .text {
	position: relative;
	flex: 1;
	margin: 0 0 0 -40px;
	padding: 60px;
	background: #fff;
	border: 1px solid #adadad;
	box-shadow: 15px 15px 0px 0px rgba(252,151,135,0.5);
}

#lp_reason .item .text .headline {
	position: relative;
	margin: 0 0 1em 0;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.4;
}

#lp_reason .item .text .headline .em {
	font-size: 38px;
	font-weight: 700;
}

#lp_reason .item .text .number {
	position: absolute;
	left: 40px;
	top: -90px;
	color: rgba(252,151,135,0.75);
	font-size: 120px;
	line-height: 1;
}

#lp_reason .item .img {
	position: relative;
	z-index: 1;
	width: min(440px, 30.5vw);
	margin: 0 0 -40px -40px;
	padding: 0;
}

#lp_reason .item .img img {
	border: 1px solid #adadad;
}


@media screen and (max-width:768px) {
#lp_reason {
	padding: 10vw 5vw 8vw 3vw;
}
	
#lp_reason .item {
	padding: 5vw 0;
}

#lp_reason .item .text {
	width: 100%;
	flex: none;
	margin: 0 0 5vw 0;
	padding: 7vw 5vw;
	box-shadow: 2vw 2vw 0px 0px rgba(252,151,135,0.5);
}

#lp_reason .item .img {
	width: 100%;
	margin: 0 0 5vw 0;
	padding: 0;
}

#lp_reason .item .text .headline {
	font-size: 5.5vw;
}
	
#lp_reason .item .text .headline .em {
	font-size: 6.5vw;
}

#lp_reason .item .text .number {
	top: -8vw;
	left: 6vw;
	font-size: 12vw;
}

}

/*--------------------
#lp_data
--------------------*/
#lp_data {
	padding: 100px 5vw;
}

#lp_data .item {
	margin-bottom: 40px;
	padding: 40px;
}

#lp_data .item .headline {
	margin: 0 0 1em;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

#lp_data .item .headline span {
	display: inline-block;
	padding: 0.5em 3em;
	background: #fb9686;
}

#lp_data .item .btn_box {
	position: relative;
	text-align: center;
}

#lp_data .item .btn_box .btn {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

@media screen and (max-width:768px) {
#lp_data {
	padding: 10vw 5vw;
}

#lp_data .item {
	width: 100%;
	margin-bottom: 8vw;
	padding: 5vw;
}

#lp_data .item .headline {
	font-size: 4.5vw;
}
}

/*--------------------
#lp_model
--------------------*/
#lp_model {
	padding: 100px 5vw;
	background: #f2f2f2;
}

#lp_model .lead_1 {
	font-size: 24px;
	font-weight: 700;
	text-align: center;
}

#lp_model .lead_2 {
	margin-top: 2em;
	color: #fb9686;
	font-size: 30px;
	font-weight: 700;
	text-align: center;
}

#lp_model .lead_3 {
	font-size: 40px;
	font-weight: 700;
	text-align: center;
}

#lp_model .lead_3 .line {
	border-bottom: 5px solid #fb9686;
}

#lp_model .layer {
	margin-top: 100px;
}

#lp_model .layer .item {
	position: relative;
	padding: 60px 120px;
	background: #fff;
	border: 1px solid #adadad;
	box-shadow: 5px 5px 5px 0px rgba(51, 51, 51, 0.3);
	transform:skew(-20deg);
}

#lp_model .layer .item:not(:first-child) {
	margin-top: -60px;
	padding-top: 100px;
}

#lp_model .layer .item:nth-child(1) {z-index: 4;}
#lp_model .layer .item:nth-child(2) {z-index: 3;}
#lp_model .layer .item:nth-child(3) {z-index: 2;}
#lp_model .layer .item:nth-child(4) {z-index: 1;}

#lp_model .layer .item .text {
	transform:skew(20deg);
}

#lp_model .layer .item .headline {
	margin: 0 0 1em 0;
	font-size: 36px;
}

#lp_model .layer .item .headline span {
	display: inline-block;
	color: #fb9686;
}

@media screen and (max-width:768px) {
#lp_model {
	padding: 10vw 5vw;
}
	
#lp_model .lead_1 {
	font-size: 5vw;
}

#lp_model .lead_2 {
	font-size: 5.2vw;
}

#lp_model .lead_3 {
	font-size: 5.5vw;
}

#lp_model .layer {
	margin-top: 10vw;
}

#lp_model .layer .item {
	position: relative;
	padding: 6vw 8vw;
	background: #fff;
	border: 1px solid #adadad;
	box-shadow: 5px 5px 5px 0px rgba(51, 51, 51, 0.3);
	transform:skew(-5deg);
}

#lp_model .layer .item:not(:first-child) {
	margin-top: -6vw;
	padding-top: 10vw;
}

#lp_model .layer .item .text {
	transform:skew(5deg);
}

#lp_model .layer .item .headline {
	font-size: 5.5vw;
}

#lp_model .layer .item .headline span {
	display: block;
}

}

/*--------------------
#lp_support
--------------------*/
#lp_support {
	padding: 100px 5vw;
}

#lp_support .inner {

}

#lp_support .item {
	display: flex;
	flex-wrap: wrap;
	margin-top: 60px;
	padding: 48px;
	border-radius: 30px;
	background: #fff;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.25);
}

#lp_support .item .number {
	margin: 0 0 1em 0;
	color: rgba(203,154,8,0.75);
	font-size: 36px;
	font-family: "Noto Serif JP", serif;
	text-align: right;
	line-height: 1;
}

#lp_support .item .number span {
	font-size: 60px;
}

#lp_support .item .headline {
	width: 100%;
	margin: 0 0 1em;
	font-size: 36px;
}

#lp_support .item .headline span {
	color: #fb9686;
}

#lp_support .item .icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 200px;
	margin: auto;
	background: rgba(253,150,132,0.5);
	border-radius: 50%;
}

#lp_support .item .support_list {
	flex: 1;
	list-style: disc;
	margin: 0 0 0 2em;
	padding: 0 0 0 2em;
}

#lp_support .item .monitoring {
	width: 100%;
	margin-top: 40px;
	padding: 30px;
	background: #f0f0f0;
	border: 1px solid #dadada;
}

#lp_support .item .monitoring .headline {
	font-size: 22px;
}

#lp_support .item .monitoring .monitoring_list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 18px;
}

@media screen and (max-width:768px) {
#lp_support {
	padding: 10vw 5vw;
}

#lp_support .item {
	width: 100%;
	margin: 5vw 0;
	padding: 5vw;
}

#lp_support .item .number {
	font-size: 5vw;
}

#lp_support .item .number span {
	font-size: 7vw;
}

#lp_support .item .headline {
	font-size: 6vw;
	text-align: center;
}

#lp_support .item .headline span {
	display: block;
}

#lp_support .item .icon {
	width: 30vw;
	height: 30vw;
}

#lp_support .item .icon img {
	width: 20vw;
	height: 20vw;
}
	
#lp_support .item .support_list {
	flex: none;
	width: 100%;
	margin: 0;
	padding: 1em 0 0 1em;
}

#lp_support .item .monitoring {
	margin-top: 3vw;
	padding: 3vw;
}

#lp_support .item .monitoring .headline {
	font-size: 4vw;
}

#lp_support .item .monitoring .monitoring_list {
	font-size: 3.8vw;
}

	
}

/*--------------------
#lp_flow
--------------------*/
#lp_flow {
	padding: 100px 5vw;
	background: #f2f2f2;
}

#lp_flow .step_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

#lp_flow .step_list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding-bottom: 50px;
	line-height: 1.6;
}

#lp_flow .step_list li .number {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	width: 120px;
	height: 120px;
	margin: 0 25px 0 0;
	color: #fb9686;
	font-size: 24px;
	text-align: center;
	line-height: 1;
	background: #fff;
	border: 3px solid #fb9686;
	border-radius: 50%;
}

#lp_flow .step_list li .number span {
	display: block;
	width: 100%;
	font-size: 48px;
	line-height: 1;
}

#lp_flow .step_list li:not(:last-child) .number::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -40px;
	margin: auto;
	width:0;
	height:0;
	border-style:solid;
	border-width: 20px 20px 0 20px;
	border-color: rgba(252,151,135,0.75) transparent transparent transparent;
}

#lp_flow .step_list li .text {
	flex: 1;
}

#lp_flow .step_list li .text .tit {
	display: block;
	color: #fb9686;
	font-size: 24px;
	font-weight: 700;
}

@media screen and (max-width:768px) {
#lp_flow {
	padding: 8vw 5vw;
}
	
#lp_flow .step_list li .number {
	width: 30vw;
	height: 30vw;
	margin: 2vw auto;
	font-size: 5vw;
}

#lp_flow .step_list li .number span {
	font-size: 10vw;
}

#lp_flow .step_list li:not(:last-child) .number::after {
	content: none;
}

	
#lp_flow .step_list li .text {
	position: relative;
	flex: none;
	width: 100%;
	text-align: center;
}
	
#lp_flow .step_list li:not(:last-child) .text::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -40px;
	margin: auto;
	width:0;
	height:0;
	border-style:solid;
	border-width: 20px 20px 0 20px;
	border-color: rgba(252,151,135,0.75) transparent transparent transparent;
}

#lp_flow .step_list li .text .tit {
	font-size: 5vw;
	text-align: center;
}

}

/*--------------------
#lp_faq
--------------------*/
#lp_faq {
	padding: 100px 5vw;
	background: rgba(252,151,135,0.2);
}

#lp_faq .accordion {
	width: 100%;
	margin-bottom: 30px;
}

#lp_faq .accordion .toggle {
	display: none;
}

#lp_faq .accordion .label {
	position: relative;
	padding: 25px 25px 25px 140px;
	display: block;
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 2;
	cursor: pointer;
	background: #fb9686;
}

#lp_faq .accordion .label.area span {
	display: inline-block;
}

#lp_faq .accordion .label::after {
	content: "Q";
	position: absolute;
	left: 50px;
	top: 25px;
	color: #fff;
	font-size: 48px;
	font-weight: 500;
	line-height: 1;
}

#lp_faq .accordion .label::before{
	content:"";
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 6px );
	right: 20px;
	transform: rotate(135deg);
}

#lp_faq .accordion .label,
#lp_faq .accordion .content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}

#lp_faq .accordion .content {
	position: relative;
	height: 0;
	padding: 0 25px 0 140px;
	overflow: hidden;
	background: #fff;
}

#lp_faq .accordion .content::before {
	content: "A";
	position: absolute;
	left: 50px;
	top: 25px;
	color: #fb9686;
	font-size: 48px;
	font-weight: 500;
	line-height: 1;
}

#lp_faq .accordion .content.area {
	padding: 0;
}

#lp_faq .accordion .toggle:checked + .label + .content {
	height: auto;
	padding: 25px 25px 25px 140px;
	transition: all .5s;
}

#lp_faq .accordion .toggle:checked + .label + .content.area {
	height: auto;
	padding: 0;
	transition: all .5s;
}

#lp_faq .accordion .toggle:checked + .label::before {
	transform: rotate(-45deg) !important;
}


@media screen and (max-width:768px) {
#lp_faq {
	padding: 8vw 5vw;
}

#lp_faq .accordion {
	margin-bottom: 5vw
}

#lp_faq .accordion .label {
	padding: 3vw 10vw 3vw 14vw;
	font-size: 4.5vw;
	line-height: 1.6;
}
	
#lp_faq .accordion .label::after {
	left: 3vw;
	top: 0;
	font-size: 10vw;
}

#lp_faq .accordion .content {
	padding: 0 7vw 0 14vw;
	font-size: 4.5vw;
	line-height: 1.6;
}

#lp_faq .accordion .toggle:checked + .label + .content {
	padding: 3vw 7vw 3vw 14vw;
}

#lp_faq .accordion .content::before {
	left: 3vw;
	top: 3vw;
	font-size: 10vw;
}
}

/*--------------------
#lp_contact
--------------------*/
#lp_contact {
	padding: 100px 5vw;
	background: #f2f2f2;
}

#lp_contact .form_table {
	width: 100%;
	background: #fff;
	border-collapse: collapse;
}

#lp_contact .form_table th,
#lp_contact .form_table td {
	padding: 1em;
	vertical-align: top;
	border: 4px solid #fff;
}

#lp_contact .form_table th {
	font-weight: 500;
	text-align: left;
	white-space: nowrap;
	background: rgba(253,150,132,0.2);
}

#lp_contact .form_table th .req {
	display: inline-block;
	margin-left: 0.5em;
	color: #e60012;
	font-size: 16px;
}

#lp_contact input[type="text"],
#lp_contact input[type="tel"],
#lp_contact input[type="email"],
#lp_contact textarea {
	width: 100%;
	padding: 0.5em;
	border: 1px solid #bfbfbf;
}

#lp_contact select {
	padding: 0.5em;
}

.wpcf7 input.wpcf7-submit {
	position: relative;
	display: inline-block;
	width: 225px;
	height: 48px;
	margin: 0.5em !important;
	padding: 0.5em 2em;
	background-color: #023a91 !important;
	cursor: pointer;
	border: 1px solid #023a91;
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.5;
	outline: none;
	-webkit-transition: all .3s;
	transition: all .3s;
	border-radius: 2em;
}

.wpcf7 input.wpcf7-submit:hover {
	color: #023a91;
	background-color: #fff !important;	
}

.wpcf7-previous {
	display: inline-block;
	width: 225px !important;
	height: 48px;
	margin: 0.5em;
	padding: 0.5em 2em;
	color: #fff;
	text-decoration: none;
	border-radius: 2em !important;
	background: #cb9a08;
	border: 1px solid #cb9a08;	
}

.wpcf7-previous:hover {
	color: #cb9a08;
	text-decoration: none;
	background: #fff;	
}

@media screen and (max-width:768px) {
#lp_contact {
	padding: 10vw 5vw;
}

#lp_contact .form_table th,
#lp_contact .form_table td {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 1em;
}

#lp_contact .form_table th .req {
	font-size: 4vw;
}

}

/*--------------------

footer

--------------------*/
.lp_footer {
	padding: 10px 5vw;
	background: rgba(252,151,135,0.2);
}

.lp_footer .inner {
	padding: 100px 0;
	font-size: 14px;
}

.lp_footer p {
	font-size: 14px;
}

.lp_footer small {
	display: block;
	font-size: 14px;
	text-align: center;
}

@media screen and (max-width:768px) {
.lp_footer .inner {
	padding: 10vw 0;
	font-size: 3.5vw;
}
	
.lp_footer p {
	font-size: 3vw;
}

.lp_footer small {
	font-size: 3.5vw;
}
}
