@charset "UTF-8";
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 200;
    src: url('/font/NotoSansCJKjp-L.woff') format('woff'),
		 url('/font/NotoSansCJKjp-L.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 400;
    src: url('/font/NotoSansCJKjp-R.woff') format('woff'),
		 url('/font/NotoSansCJKjp-R.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 500;
    src: url('/font/NotoSansCJKjp-M.woff') format('woff'),
		 url('/font/NotoSansCJKjp-M.otf') format('opentype');
}
@font-face {
    font-family: NotoSansCJKjp;
	font-weight: 700;
    src: url('/font/NotoSansCJKjp-B.woff') format('woff'),
		 url('/font/NotoSansCJKjp-B.otf') format('opentype');
}

* {
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}
body {
	width: 100%;
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #37414f;
	font-size: 1.4rem;
	line-height: 1.5;
	font-family: roboto, NotoSansCJKjp, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
main {
	width: 100%;
	height: auto;
	margin: 0 auto;
    position: relative;
	background-color: #fff;
	overflow: hidden;
}
img {
	vertical-align: bottom;
}
.sp_show, .pc_none {
	display: none;
}
.clear:after {
	content: " ";
	display: block;
	clear: both;
}
.fixed {
	position: fixed;
	top: 0;
	left: 0;
}
ul.alignment li {
	padding-left: 1em;
	text-indent: -1em;
}
ol.alignment {
	counter-reset: number 0;
}
.contents_wrap {
	max-width: 1000px;
	height: auto;
	margin: 0 auto;
}

/*common*/
section:not(#mainvisual) {
    padding: 80px 0;
}
.logo img,
#lede .bg_wrap figure img,
#example figure img,
#example .arrow img,
#conversion .flexbox02 dl dd img,
#conversion figure img,
#service .flexbox03 dl dd img {
    width: 100%;
    height: auto;
}
table {
	width: 100%;
	border-collapse: collapse;
}
.w25per {width: 25%;}
.w4per {width: 4%;}
.w20per {width: 20%;}
.w76per {width: 76%;}
h2 {
    margin-bottom: 60px;
    font-size: 4rem;
    text-align: center;
    line-height: 1;
}
h2 img {
    display: inline-block;
    margin-bottom: 20px;
}
.form_btn a {
    display: block;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 50px;
    background: #f28d41;
    background: -moz-linear-gradient(left, #f28d41 0%, #f28056 46%, #f27269 100%);
    background: -webkit-linear-gradient(left, #f28d41 0%,#f28056 46%,#f27269 100%);
    background: linear-gradient(to right, #f28d41 0%,#f28056 46%,#f27269 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f28d41', endColorstr='#f27269',GradientType=1 );
}
.form_btn a:hover {
    background: #f25441;
    background: -moz-linear-gradient(left, #f25441 0%, #f22e69 100%);
    background: -webkit-linear-gradient(left, #f25441 0%,#f22e69 100%);
    background: linear-gradient(to right, #f25441 0%,#f22e69 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f25441', endColorstr='#f22e69',GradientType=1 );
}


/*header*/
header {
    padding-top: 100px;
}
nav.fixed {
    z-index: 999;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}
nav .contents_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100px;
}
nav h1 {
    display: flex;
    align-items: center;
}
nav .logo {
    max-width: 138px;
}
nav .logo img {
    display: block;
}
.catchcopy {
    position: relative;
    margin: 0 30px;
    font-size: 1.4rem;
    font-weight: normal;
}
.catchcopy::before {
    content: "";
    position: absolute;
    z-index: 997;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 230px;
    height: 1px;
    background-color: #37414f;
}
.catchcopy span {
    position: relative;
    z-index: 998;
    padding: 0 4px;
    background-color: #fff;
}
.tel {
    max-width: 310px;
    font-size: 1.2rem;
    text-align: center;
}
.tel a {
    display: inline-block;
    padding-left: 60px;
    color: #37414f;
    font-size: 3.8rem;
    line-height: 40px;
    background: url("/lpppc/images/freedial_ic.png") no-repeat left center;
    text-decoration: none;
}
nav .form_btn a {
    width: 240px;
    padding: 17px 0;
    font-size: 2rem;
}
nav .form_btn a span {
    display: inline-block;
}

/*mainvisual*/
#mainvisual {
    background-color: #f27269;
}
#mainvisual .bg_wrap {
    max-width: 1200px;
    margin: 0 auto;
    background: url("/lpppc/images/mv_deco.png"), url("/lpppc/images/mv_bg.png");
    background-repeat: no-repeat;
    background-position: right top 30px, left top;
    background-size: auto, contain;
}
#mainvisual .mv_text {
    padding-top: 2.5%;
    color: #fff;
    font-size: 4.4rem;
    text-align: center;
    line-height: 1.2;
    text-shadow: 0 0 10px rgba(0,0,0,0.65);
}
#mainvisual .mv_text small {
    display: inline-block;
    padding: 60px 0 1.5%;
    font-size: 2.4rem;
    background: url("/lpppc/images/mv_text_deco.png") no-repeat center top;
}
#mainvisual .mv_text span {
    font-size: 6.6rem;
}

.mv_tag {
    padding: 2.5% 0 4%;
}
.mv_tag .variable_wrap {
    max-width: 1000px;
    margin: 0 auto;
}
.mv_tag .flexbox01 {
    display: flex;
    justify-content: space-around;
}
.mv_tag li {
    width: 30%;
    padding: 20px 0 10px;
    max-width: 260px;
    font-size: 2rem;
    text-align: center;
    line-height: 1.2;
    background: url("/lpppc/images/mv_tag_bg.png") no-repeat center bottom / cover;
}
.mv_tag li p {
    padding-top: 60px;
}
.mv_tag li:nth-of-type(1) p {
    background: url("/lpppc/images/mv_tag_ic01.png") no-repeat center top;
}
.mv_tag li:nth-of-type(2) p {
    background: url("/lpppc/images/mv_tag_ic02.png") no-repeat center top;
}
.mv_tag li:nth-of-type(3) p {
    background: url("/lpppc/images/mv_tag_ic03.png") no-repeat center top;
}
.mv_tag li p small {
    display: inline-block;
    margin-top: 10px;
    font-size: 1.2rem;
}

.label01 {
    padding: 20px 0;
    background-color: #37414f;
}
.label01 .form_btn a {
    max-width: 400px;
    margin: 0 auto;
    padding: 18px 0 16px;
    font-size: 2.8rem;
}
.label01 .form_btn a span {
    padding-right: 32px;
    background: url("/lpppc/images/btn_ic01.png") no-repeat right center;
}


/*lede*/
#lede {
    background-color: #e4e8e9;
}
#lede p {
    text-align: center;
}
#lede p.lede {
    margin-bottom: 60px;
    font-size: 1.8rem;
    line-height: 1.7;
}
#lede p.lede span {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 3rem;
    font-weight: bold;
}
#lede p.lede strong {
    color: #f27e5d;
}
#lede .bg_wrap {
    position: relative;
}
#lede .bg_wrap::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 58%;
    background: #ee8941;
    background: -moz-linear-gradient(left, #ee8941 0%, #ee7269 100%);
    background: -webkit-linear-gradient(left, #ee8941 0%,#ee7269 100%);
    background: linear-gradient(to right, #ee8941 0%,#ee7269 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ee8941', endColorstr='#ee7269',GradientType=1 );
}
#lede .bg_wrap .contents_wrap {
    position: relative;
    z-index: 3;
}
#lede p.caption {
    padding: 60px 0 40px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
}
#lede .bg_wrap figure {
    padding: 40px 9%;
    background-color: #fff;
}


/*example*/
#example {
    background: url("/lpppc/images/bg_dot.png") repeat left top;
}
#example figure {
    text-align: center;
}
#example figure figcaption {
    margin-bottom: 30px;
    font-size: 2.4rem;
}
#example figure:nth-of-type(1) img {
    max-width: 774px;
}
#example figure:nth-of-type(2) img {
    max-width: 630px;
}
#example .arrow {
    max-width: 200px;
    margin: 60px auto 40px;
}

.label02 {
    padding: 60px 0;
    background: #ee8941;
    background: -moz-linear-gradient(left, #ee8941 0%, #ee7269 100%);
    background: -webkit-linear-gradient(left, #ee8941 0%,#ee7269 100%);
    background: linear-gradient(to right, #ee8941 0%,#ee7269 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ee8941', endColorstr='#ee7269',GradientType=1 );
}
.label02 p {
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
}

/*conversion*/
#conversion {
    background: url("/lpppc/images/bg_windowpane.png") repeat;
}
#conversion .flexbox02 {
    display: flex;
    justify-content: space-between;
    max-width: 350px;
    margin: 0 auto 40px;
}
#conversion .flexbox02 dl dd {
    max-width: 110px;
    margin: 0 auto 10px;
}
#conversion .flexbox02 dl dt {
    font-size: 1.8rem;
    text-align: center;
}
#conversion .client, #conversion .operator {
    display: flex;
    align-items: center;
    min-height: 126px;
}
#conversion .client {
    margin-bottom: 30px;
    padding: 0 160px;
    background: url("/lpppc/images/conversion_ic03.png") no-repeat left 40px center;
}
#conversion .operator {
    margin-bottom: 60px;
    padding: 0 160px;
    background: url("/lpppc/images/conversion_ic04.png") no-repeat right 6px center
}
#conversion .client p, #conversion .operator p {
    position: relative;
    width: 100%;
    padding: 30px 20px;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.7;
    background-color: #fff;
}
#conversion .operator p strong {
    color: #ee7e5d;
    font-size: 2.4rem;
}
#conversion .operator p small {
    font-size: 1.2rem;
}
#conversion .client p::before, #conversion .operator p::before {
	content: "";
	position: absolute;
	top: 50%;
 	margin-top: -15px;
	border: 15px solid transparent;
}
#conversion .client p::before {
	left: -45px;
	border-right: 30px solid #fff;
}
#conversion .operator p::before {
	right: -45px;
	border-left: 30px solid #fff;
}
#conversion figure {
    max-width: 760px;
    margin: 0 auto 30px;
}
#conversion .finish {
    padding: 16px 0 32px;
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
    text-align: center;
    background: url("/lpppc/images/conversion_deco01.png") no-repeat center top / contain;
}


/*service*/
#service {
    background: url("/lpppc/images/bg_dot.png") repeat left top;
}
#service p {
    font-size: 2.4rem;
    text-align: center;
}
#service [class^="flexbox0"] {
    display: flex;
    flex-wrap: wrap;
}
#service .flexbox03 {
    justify-content: center;
    margin: 60px 0 30px;
}
#service .flexbox03 dl {
    margin: 0 13px 30px;
}
#service .flexbox03 dl dd {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    width: 140px;
    height: 140px;
    padding: 15px 10px;
    background-color: #ee7e5d;
}
#service .flexbox03 dl dd::before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 50%;
    height: 100%;
    background-color: rgba(255,255,255,0.2);
}
#service .flexbox03 dl dd img {
    position: relative;
    z-index: 4;
}
#service .flexbox03 dl dt {
    margin-top: 10px;
    font-size: 1.8rem;
    text-align: center;
}
#service .flexbox04 {
    justify-content: start;
    padding: 10px;
    background-color: #fff;
    border: solid 2px #37414f;
}
#service .flexbox04 img {
    max-height: 42px;
    height: 100%;
    width: auto;
    margin: 20px 15px;
}
#service .flexbox04 img:nth-of-type(8) {
    max-height: 66px;
    margin: 8px 20px;
}
#service .flexbox04 img:nth-of-type(9) {
    max-height: 76px;
    margin: 5px 20px;
}


/*question*/
#question {
    background-color: #e0e4e5;
}
#question dl {
    padding: 0 15px;
    background-color: #fff;
    border-radius: 4px;
}
#question dl:nth-of-type(n+2) {
    margin-top: 40px;
}
#question dl dt {
    padding: 25px 0 25px 60px; 
    font-size: 1.8rem;
    background: url("/lpppc/images/question_ic01.png") no-repeat left center / 40px;
    border-bottom: solid 1px #37414f;
}
#question dl dd {
    padding: 25px 0 25px 60px; 
    font-size: 1.8rem;
    line-height: 1.7;
    background: url("/lpppc/images/question_ic02.png") no-repeat left top 18px / 40px;
}
#question dl dd small {
    font-size: 1.2rem;
}


/*form*/
#contact {
    background: url("/lpppc/images/bg_dot.png") repeat left top;
}
#contact .tag {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0 auto 40px;
    font-size: 2.4rem;
    text-align: center;
}
#contact .tag span {
    width: 200px;
}
#contact .form_wrap + .tag span {
    width: 350px;
}
#contact .tag::before, #contact .tag::after {
    border-top: 1px solid #37414f;
    content: "";
    flex-grow: 1;
}
#form {
    margin-top: -100px;
    padding-top: 100px;
}
#contact .telbox {
    margin-bottom: 60px;
    text-align: center;
}
#contact .telbox p {
    margin-top: 20px;
    font-size: 1.8rem;
}
#contact .telbox .tel {
    padding-left: 70px;
    color: #37414f;
    font-size: 5rem;
    line-height: 1.2;
    text-decoration: none;
    background: url("/lpppc/images/contact_ic01.png") no-repeat left center /contain;
}
#contact #form p {
    font-size: 1.8rem;
    text-align: center;
}
.error_box {
    padding: 30px 0;
    font-size: 1.6rem;
}
.error_box div {
    margin-bottom: 4px;
}
#contact .form_wrap {
    margin: 40px 0 60px;
    padding: 0 6% 30px;
    background: #ee8941;
    background: -moz-linear-gradient(left, #ee8941 0%, #ee7269 100%);
    background: -webkit-linear-gradient(left, #ee8941 0%,#ee7269 100%);
    background: linear-gradient(to right, #ee8941 0%,#ee7269 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ee8941', endColorstr='#ee7269',GradientType=1 );
}
#contact [class$="_area"] th, #contact [class$="_area"] td {
	display: block;
	width: 100%;
}
#contact [class$="_area"] th {
	position: relative;
    margin-bottom: 10px;
    color: #fff;
	font-size: 1.8rem;
    font-weight: normal;
	text-align: left;
}
#contact .input_area th .required {
    display: inline-block;
    padding: 4px 8px 1px;
    color: #ee8941;
    font-size: 1.4rem;
    background-color: #fff;
}
#contact .input_area th .required, #contact .input_area th span {
    margin-left: 18px;
}
#contact [class$="_area"] td {
	margin-bottom: 30px;
}
#contact .input_area input, #contact .input_area textarea {
	width: 100%;
	padding: 10px;
    background-color: #fff;
    border-radius: 4px;
}
#contact .input_area textarea {
    height: 200px;
}
#contact table.confirm_area textarea {
    width: 100%;
    overflow: auto;
}
.radio input, .check input {
	display: none;
}
.radio {
	display: flex;
    justify-content: space-between;
}
.radio label {
	position: relative;
    display: inline-block;
	padding: 0 0 0 38px;
    color: #fff;
	font-size: 1.6rem;
	line-height: 40px;
    cursor: pointer;
}
.radio label:nth-of-type(n+2) {
    margin-left: 30px;
}
.radio label::before, .radio label::after {
	position: absolute;
	content: "";
	display: block;
}
.radio label::before {
    top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background-color: #fff;
	border-radius: 50%;
}
.radio label:after {
    top: 50%;
	left: 6px;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-color: #ee8941;
	border-radius: 50%;
	opacity: 0;
}
.radio label.on:after {
	opacity: 1;
}
.check {
    font-size: 1.8rem;
	text-align: center;
    margin-top: 30px;
}
.check label {
	position: relative;
	display: inline-block;
	padding-left: 40px;
    line-height: 30px;
    cursor: pointer;
}
.check label::before, .check label::after {
	position: absolute;
	content: "";
	display: block;
}
.check label:after {
    top: 9px;
    left: 5px;
    width: 20px;
    height: 14px;
    background: url("/lpppc/images/form_ic01.png") no-repeat center center /contain;
	opacity: 0;
}
.check label::before {
    top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-color: #fff;
    border: solid 1px #37414f;
    border-radius: 4px;
}
.check label.on:after {
	opacity: 1;
}
.privacybox {
	height: 230px;
    margin-bottom: 40px;
	padding: 0 30px;
    font-size: 1.6rem;
	overflow-y: scroll;
	overflow-x: hidden;
	word-break: break-all;
	background-color: #fff;
    border: solid 1px #37414f;
}
.privacybox::-webkit-scrollbar {
	width: 16px;
	padding: 1px;
	background-color: #f2f4f6;
}
.privacybox::-webkit-scrollbar-thumb {
	background-color: #dddfe3;
}
.privacybox p span {
	font-size: 1.8rem;
}
.privacybox > p {
	margin-top: 30px;
}
.privacybox > p:last-of-type {
	margin-bottom: 30px;
}
.privacybox > ol {
	margin-top: 20px;
}
.privacybox ol > li {
	margin-top: 16px;
}
.privacybox > ul, .privacybox ol > li > dl:nth-of-type(1) {
	margin-top: 10px;
}
.privacybox ol > li > dl:nth-of-type(n+2) {
	margin-top: 2px;
}
.privacybox ol > li:nth-of-type(n+2) {
	margin-left: 1.5em;
}
.privacybox ol > li > dl {
	display: flex;
}
.privacybox ol > li > dl dt {
	word-break: keep-all;
}
.privacybox a:link, .privacybox a:visited {
	color: #0d59b8;
	text-decoration: none;
}
.privacybox a:hover, .privacybox a:active {
	text-decoration: underline;
}
.privacybox table tr {
	height: 28px;
}
.privacybox table th {
	padding-left: 4px;
	font-weight: 400;
	background-color: #e6e9ed;
}
.privacybox table th, .privacybox table td {
	border: solid 1px #ccc;
}
.privacybox table td:nth-of-type(1) {
	text-align: center;
}
.privacybox table td:nth-of-type(n+2) {
	padding: 4px;
}

#contact .confirm_area th {
    margin-bottom: 10px;
    padding-left: 20px;
}
#contact .confirm_area td {
    padding: 10px 20px;
    color: #fff;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
    word-break: break-all;
}
#contact .thanks {
    padding: 60px 0 20px;
}
#contact .thanks p {
    color: #fff;
	font-size: 1.6rem;
	text-align: center;
}
#contact .thanks p:nth-of-type(1) {
	padding: 0 0 30px;
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.2;
}

#contact .error {
    padding: 50px 0 20px;
    color: #fff;
}
#contact .error p {
	font-size: 1.6rem;
	text-align: center;
}
#contact .error p:nth-of-type(1) {
	padding: 0 0 30px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
}

#contact .error p.error-tel {
    font-size: 2.2rem;
    padding-top: 20px;
}

#contact .error p.error-tel a {
    text-decoration: none;
}

#contact .error p.error-tel-time {
    font-size: 1.4rem;
}

/*button*/
#contact .consent_btn ,#contact .prev_btn {
    display: block;
    text-align: center;
}
#contact .consent_btn {
    position: relative;
    max-width: 400px;
    margin: 40px auto 0;
    height: 82px;
}
#contact .next_btn img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 100%;
    max-width: 400px;
}
#contact .next_btn:hover img {
    opacity: 0.8;
}
#contact .next_btn input {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
#contact .next_btn {
    max-width: 400px;
    width: 100%;
    height: 76px;
    margin: 40px auto 0;
    display: block;
}
#contact .prev_btn {
    max-width: 240px;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
#contact .prev_btn:hover,
#contact .next_btn input:hover {
    opacity: 0.9;
}


/* footer */
footer {
    position: relative;
    background-color: #fff;
    box-shadow: 0 -2px 6px 3px rgba(0,0,0,0.2);
}
footer .adsip {
    margin: 0 auto;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #ccc;
}
footer .adsip ul li {
    margin-bottom: 12px;
}
footer .adsip ul li:last-child {
    margin-bottom: 0;
}
footer .adsip ul li p.footer_logo img {
    width: 150px;
    height: auto;
}
footer .adsip ul li p.tell {
    font-size: 1.1rem;
    line-height: 180%;
    text-align: center;
}
footer .adsip ul li p.tell a {
    padding-left: 36px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 20px;
    background: url(../../images/common/freedial_ic.png) no-repeat left center;
}
footer .adsip p.footer_etoc img {
    width: 64px;
    height: auto;
}
footer .adsip p.footer_etoc {
    margin-left: 24px;
}
footer .adsip ul li p.tell a:link,
footer .adsip ul li p.tell a:visited {
    color: #333;
    text-decoration: none;
}
footer .contents_wrap {
    position: relative;
    padding: 40px 0;
}
footer .logo {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2;
}
footer .logo a {
    display: block;
    width: 138px;
}
footer p {
    color: #000;
    font-size: 1.8rem;
    text-align: center;
}
footer .copyright {
    font-size: 1.2rem;
}


@media screen and (min-width: 769px) and (max-width: 1000px) {
	.contents_wrap, #mainvisual .variable_wrap {
		padding: 0 20px;
	}
    nav .tel {
        display: none;
    }
    #mainvisual .form_btn {
        bottom: 40px;
    }
    .lede_child01 .left dt, .lede_child02 .right dt {
        font-size: 3rem;
    }
    .lede_child02 .left {
        width: 58%;
    }
    .lede_child02 .right {
        width: 40%;
    }
    #benefit h2 {
        padding-bottom: 20px;
        background: url("/lpppc/images/benefit_h2_deco02.png") no-repeat right 0 bottom / contain;
    }
    footer .logo {
        left: 20px;
    }
}
@media screen and (min-width: 375px) and (max-width: 768px) {
	.contents_wrap {
		padding: 0 	20px;
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.2rem;
	}
	.sp_none {
		display: none;
	}
	.sp_show {
		display: block;
	}

    /*common*/
    section:not(#mainvisual) {
        padding: 40px 0;
    }
    h2 {
        margin-bottom: 30px;
        font-size: 2rem;
        line-height: 1.3;
    }
    h2 img {
        margin-bottom: 10px;
    }
    

    /*header*/
    header {
        padding-top: 50px;
    }
    nav .tel, nav .catchcopy {
        display: none;
    }
    nav .contents_wrap {
        height: 50px;
    }
    nav .logo {
        max-width: 100px;
    }
    nav .form_btn a {
        width: 140px;
        padding: 10px 0;
        font-size: 1.2rem;
    }
    
    /*mainvisual*/
    #mainvisual .bg_wrap {
        background: url("/lpppc/images/mv_deco.png"), url("/lpppc/images/mv_bg_sp.png");
        background-repeat: no-repeat;
        background-position: right top 8px, left top;
        background-size: 24px 196px, contain;
    }
    #mainvisual .mv_text {
        padding-top: 2.5%;
        font-size: 2rem;
        line-height: 1.2;
    }
    #mainvisual .mv_text small {
        padding-top: 30px;
        font-size: 1.5rem;
        background: url("/lpppc/images/mv_text_deco.png") no-repeat center top / 61px 25px;
    }
    #mainvisual .mv_text span {
        font-size: 3rem;
    }
    .mv_tag {
        padding: 2.5% 0 4%;
    }
    .mv_tag .variable_wrap {
        padding: 0 10px;
    }
    .mv_tag li {
        width: 32%;
        padding: 10px 0 5px;
        max-width: 260px;
        font-size: 0.9rem;
        line-height: 1.2;
        background: url("/lpppc/images/mv_tag_bg.png") no-repeat center bottom / cover;
    }
    .mv_tag li p {
        padding-top: 30px;
    }
    .mv_tag li:nth-of-type(1) p, .mv_tag li:nth-of-type(2) p, .mv_tag li:nth-of-type(3) p {
        background-size: 21px 20px;
    }
    .mv_tag li p small {
        margin-top: 4px;
        font-size: 0.7rem;
    }
    .label01 {
        padding: 20px 0;
    }
    .label01 .form_btn a {
        width: 80%;
        padding: 12px 0;
        font-size: 1.6rem;
    }
    .label01 .form_btn a span {
        padding-right: 16px;
        background-size: 14px 10px;
    }
    
    /*lede*/
    #lede p.lede {
        margin-bottom: 30px;
        font-size: 1.3rem;
    }
    #lede p.lede span {
        font-size: 2rem;
    }
    #lede .bg_wrap::before {
        height: 62%;
    }
    #lede p.caption {
        padding: 30px 0 20px;
        font-size: 1.3rem;
    }
    #lede .bg_wrap figure {
        padding: 20px 4%;
    }

    /*example*/
    #example {
        background-size: 12px 11px;
    }
    #example h2 img {
        width: 56px;
        height: auto;
    }
    #example figure figcaption {
        margin-bottom: 20px;
        font-size: 1.4rem;
    }
    #example .arrow {
        width: 30%;
        margin: 30px auto 20px;
    }
    .label02 {
        padding: 30px 0;
    }
    .label02 p {
        font-size: 1.5rem;
    }

    /*conversion*/
    #conversion {
        background-size: 8px;
    }
    #conversion h2 img {
        width: 72px;
        height: auto;
    }
    #conversion .flexbox02 {
        max-width: 350px;
        width: 80%;
        margin: 0 auto 30px;
    }
    #conversion .flexbox02 dl dd {
        margin: 0 auto 10px;
        padding: 0 10%;
    }
    #conversion .flexbox02 dl dt {
        font-size: 1.3rem;
    }
    #conversion .client, #conversion .operator {
        min-height: unset;
    }
    #conversion .client {
        margin-bottom: 15px;
        padding: 0 42px;
        background: url("/lpppc/images/conversion_ic03.png") no-repeat left center / auto 45px;
    }
    #conversion .operator {
        margin-bottom: 30px;
        padding: 0 42px;
        background: url("/lpppc/images/conversion_ic04.png") no-repeat right center / auto 45px;
    }
    #conversion .client p, #conversion .operator p {
        padding: 15px 10px;
        font-size: 1.3rem;
        line-height: 1.6;
    }
    #conversion .operator p strong {
        font-size: 1.4rem;
    }
    #conversion .operator p small {
        font-size: 1rem;
    }
    #conversion .client p::before, #conversion .operator p::before {
        margin-top: -5px;
        border: 5px solid transparent;
    }
    #conversion .client p::before {
        left: -15px;
        border-right: 10px solid #fff;
    }
    #conversion .operator p::before {
        right: -15px;
        border-left: 10px solid #fff;
    }
    #conversion figure {
        margin: 0 auto 20px;
    }
    #conversion .finish {
        padding: 10px 0 18px;
        font-size: 1.6rem;
    }

    /*service*/
    #service {
        background-size: 12px 11px;
    }
    #service h2 img {
        width: 48px;
        height: auto;
    }
    #service p {
        font-size: 1.3rem;
    }
    #service [class^="flexbox0"] {
        display: flex;
        flex-wrap: wrap;
    }
    #service .flexbox03 {
        justify-content: space-between;
        margin: 30px 0 10px;
    }
    #service .flexbox03 dl {
        margin: 0 0 20px;
    }
    #service .flexbox03 dl dd {
        width: 95px;
        height: 95px;
        padding: 10px;
    }
    #service .flexbox03 dl dt {
        font-size: 1.2rem;
    }
    #service .flexbox04 {
        justify-content: center;
    }
    #service .flexbox04 img {
        max-height: 40px;
        margin: 10px 20px;
    }
    #service .flexbox04 img:nth-of-type(8) {
        max-height: 46px;
        margin: 7px 20px;
    }
    #service .flexbox04 img:nth-of-type(9) {
        max-height: 54px;
        margin: 3px 20px;
    }

    /*question*/
    #question h2 img {
        width: 57px;
        height: auto;
    }
    #question dl {
        padding: 0 10px;
    }
    #question dl:nth-of-type(n+2) {
        margin-top: 20px;
    }
    #question dl dt {
        padding: 20px 0 15px 30px; 
        font-size: 1.3rem;
        background: url("/lpppc/images/question_ic01.png") no-repeat left top 19px/ 20px;
        border-bottom: solid 1px #37414f;
    }
    #question dl dd {
        padding: 15px 0 20px 30px; 
        font-size: 1.3rem;
        background: url("/lpppc/images/question_ic02.png") no-repeat left top 17px / 20px;
    }
    #question dl dd small {
        font-size: 1rem;
    }

    /*form*/
    #contact {
        background-size: 12px 11px;
    }
    #contact h2 img {
        width: 49px;
        height: auto;
    }
    #contact .tag {
        margin: 0 auto 20px;
        font-size: 1.2rem;
    }
    
    #contact .tag span {
        width: 100px;
    }
    #contact .form_wrap + .tag span {
        width: 170px;
    }
    #contact .tag::before, #contact .tag::after {
        border-top: 1px solid #37414f;
        content: "";
        flex-grow: 1;
    }
    #form {
        margin-top: -50px;
        padding-top: 50px;
    }
    #contact .telbox {
        margin-bottom: 30px;
    }
    #contact .telbox p {
        margin-top: 10px;
        font-size: 1.2rem;
    }
    #contact .telbox .tel {
        padding-left: 42px;
        font-size: 3rem;
    }
    #contact #form p {
        font-size: 1.3rem;
    }
.error_box {
    padding: 15px 0;
    font-size: 1.2rem;
}
.error_box div {
    margin-bottom: 2px;
}
    #contact .form_wrap {
        margin: 20px 0 30px;
        padding: 0 4% 15px;
    }
    #contact [class$="_area"] th {
        font-size: 1.2rem;
    }
    #contact .input_area th .required {
        padding: 2px 6px 1px;
        font-size: 1.2rem;
    }
    #contact .input_area th .required, #contact .input_area th span {
        margin-left: 10px;
    }
    #contact [class$="_area"] td {
        margin-bottom: 15px;
    }
    #contact .input_area input, #contact .input_area textarea {
        padding: 4px;
    }
    .radio label {
        width: 50%;
        padding: 0 0 0 24px;
        font-size: 1.2rem;
        line-height: 26px;
    }
    .radio label:nth-of-type(n+2) {
        margin-left: 0;
    }
    .radio label:before, .radio label:after {
        position: absolute;
        content: "";
        display: block;
    }
    .radio label:before {
        width: 20px;
        height: 20px;
    }
    .radio label:after {
        left: 4px;
        width: 12px;
        height: 12px;
    }
    .check {
        font-size: 1.2rem;
    }
    .check label {
        padding-left: 30px;
        line-height: 20px;
    }
    .check label:after {
        top: 8px;
        width: 10px;
        height: 7px;
    }
    .check label::before {
        width: 20px;
        height: 20px;
    }
    .privacybox {
        height: 200px;
        margin-bottom: 30px;
        padding: 0 10px;
        font-size: 1.2rem;
    }
    .privacybox p span {
        font-size: 1.4rem;
    }
    .privacybox > p {
        margin-top: 20px;
    }
    .privacybox > p:last-of-type {
        margin-bottom: 20px;
    }
    .privacybox > ol {
        margin-top: 10px;
    }
    .privacybox ol > li {
        margin-top: 8px;
    }
    .privacybox > ul, .privacybox ol > li > dl:nth-of-type(1) {
        margin-top: 6px;
    }

    #contact .confirm_area th {
        margin-bottom: 4px;
        padding-left: 10px;
    }
    #contact .confirm_area td {
        padding: 4px 10px;
    }
    #contact .thanks {
        padding: 30px 0 10px;
    }
    #contact .thanks p {
        font-size: 1.3rem;
    }
    #contact .thanks p:nth-of-type(1) {
        padding: 0 0 20px;
        font-size: 2rem;
    }

/*button*/
    #contact .next_btn {
        width: 80%;
        margin: 20px auto 0;
    }
    #contact .prev_btn {
        width: 60%;
    }

    /* footer */
    footer .contents_wrap {
        padding: 20px 0;
    }
    footer .logo {
        left: 10px;
    }
    footer .logo a {
        width: 83px;
    }
    footer p {
        padding-left: 32px;
        font-size: 1.2rem;
    }
    footer .adsip p.footer_etoc {
        padding-left: 0;
    }
    footer .copyright {
        font-size: 1rem;
    }

}
@media screen and (max-width: 374px) {
	.contents_wrap {
		padding: 0 	10px;
	}
}