@charset "UTF-8";

/* -----------------------------------------------------------
Landingpage
----------------------------------------------------------- */

.lp .heading02 {
letter-spacing: 0;
}

.lp section#main {
padding-top: 6.875em;
}

.lp #kv {
margin-bottom: 0;
padding: 3.125em 0;
}

.lp #kv p.catch-copy {
font-size: 250%;
margin-top: 1em;
}

.lp #kv p.catch-copy em.marker {
display: inline-block;
font-size: 125%;
line-height: 1em;
}

.lp #kv .btn-cv {
padding: 0.75em 1.5em;
}

.lp #intro .row {
margin-top: 6.25em;
}

.lp #intro .row:nth-child(1) {
margin-top: 0;
}

.lp #intro .read-copy.text-brand {
font-size: 175%;
}

.lp #msg {
margin-top: 6.25em;
}

.lp #msg .read-copy strong {
font-size: 140%;
}

.lp #msg .body-copy {
margin: 4em 0;
}

.lp #msg .marker {
font-size: 100%;
}

.lp #case .sec-lg {
padding: 6.25em 0 11.25em;
}

.lp #case .text-group dd {
margin-top: 1.5em;
}

.lp #case-list .container {
position: relative;
}

.lp #case-list .heading03 {
width: 100%;
text-align: center;
margin-bottom: 0;
position: absolute;
top: -2em;
left: 0;
right: 0;
}

.lp #case-list .heading03 .balloon {
display: inline-block;
font-size: 100%;
font-weight: 700;
padding: 0 2em 1.5em;
position: relative;
}

.lp #case-list .heading03 .balloon::before, .lp #case-list .heading03 .balloon::after {
height: 150%;
top: auto;
bottom: 0;
}

.lp #case-list .heading03 .balloon::before {
transform: rotate(-45deg);
}

.lp #case-list .heading03 .balloon::after {
transform: rotate(45deg);
}

.lp #case-list ul.row {
justify-content: center;
}

.lp #case-list ul.row li span.text-20 {
background: #fff;
display: flex;
align-items: center;
justify-content: center;
flex-grow: 1;
text-align: center;
line-height: 1.75em;
padding: 0.625em 1.5em;
}

/*.lp #case-list ul.row li:nth-child(n+4) span.text-20 {
padding-right: 1.5em;
padding-left: 1.5em;
}*/

.lp #case-list ul.row li span.text-20 small {
font-size: 80%;
padding-left: 0.25em;
}

.lp #case-list p.notice {
font-size: 87.5%;
}

.lp #appeal {
margin-top: 7.5em;
}

.lp #appeal .read-copy.text-brand {
font-size: 175%;
}

.lp #appeal .read-copy.text-brand .text-lg {
font-size: 140%;
}

.lp #appeal .read-copy .text-marker::after {
bottom: -0.5em;
}

.lp #about {
padding: 4.375em 0;
}

.lp #feature #about .row .text-group dt {
font-size: 112.5%;
}

.lp #feature #about .row .text-group dt small {
font-size: 67%;
padding-left: 1em;
}

.lp #support .subheading02 {
font-size: 125%;
}

.lp #flow dl dt span.text-lg {
font-size: 130%;
}

.lp #voice .item {
border: 1px solid #C5C7D1;
padding: 2.75em 3.125em;
}

.lp #voice .row .text-group .catch-copy strong {
-webkit-background: linear-gradient(transparent 60%, #F8F2CC 40%);
-moz-background: linear-gradient(transparent 60%, #F8F2CC 40%);
background: linear-gradient(transparent 60%, #F8F2CC 40%);
display: inline-block;
line-height: 1.75em;
}

.lp #faq dl dt {
font-size: 112.5%;
font-weight: 700;
margin-top: 4em;
padding: 0.5em 0;
position: relative;
}

.lp #faq dl dt:nth-of-type(1) {
margin-top: 0;
}

.lp #faq dl dt::before {
background: #f7f7f7;
content: "";
width: 100vw;
height: 100%;
transform: translateX(-50%);
position: absolute;
top: 0;
left: 50%;
z-index: -1;
}

.lp #faq dl dt span {
position: relative;
}

.lp #faq dl dt span::before {
content: "Q";
padding-right: 1em;
}

.lp #faq dl dd {
margin-top: 2.5em;
}

.lp #faq dl dd p {
margin-top: 0;
}

/**
 * form
 */

.lp input[type="text"], .lp input[type="tel"], .lp input[type="email"], .lp textarea, .lp select {
appearance: none;
background: #fff;
border: 1px solid #C5C7D1;
box-sizing: border-box;
margin: 0;
padding: 0.5em;
}

.lp textarea {
vertical-align: bottom;
}

.lp .wpcf7 .form-item input:focus, .lp .wpcf7 .form-item textarea:focus {
outline: none;
}

.lp input[type="text"], .lp input[type="tel"], .lp input[type="email"], .lp textarea {
border-radius: 5px;
width: 100%;
font-size: 100%;
line-height: 1.75em;
}

.lp input[type="checkbox"], .lp input[type="radio"] {
display:none;
}

.lp input[type="submit"], .lp input[type="button"], .lp input[type="reset"] {
box-sizing: border-box;
appearance: none;
border: none;
cursor: pointer;
width: 100%;
}

/*.lp .form-item input[type="submit"] {
min-width: 318px;
max-width: 328px;
}*/

.lp .checkbox, .lp .radio {
box-sizing: border-box;
cursor: pointer;
/*padding-left: 30px;*/
position: relative;
}

/*.checkbox:hover::after, .radio:hover::after {
border-color:#aacf52;
}*/

.lp .checkbox span.wpcf7-list-item-label::after, 
.lp .wpcf7-acceptance span.wpcf7-list-item-label::after {
background: #fff;
border: 1px solid #C5C7D1;
border-radius: 2px;
box-sizing: border-box;
display: block;
content: "";
width: 20px;
height: 20px;
transition: border-color 0.25s linear;
margin-top: auto;
margin-bottom: auto;
position: absolute;
top: 0;
bottom: 0;
left: 0;
z-index: 1;
}

/*.radio::after {
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
border: 2px solid #eaeef1;
display: block;
content: "";
width: 16px;
height: 16px;
-webkit-transition: border-color 0.25s linear;
transition: border-color 0.25s linear;
margin-top: -10px;
padding-left: -1.25em;
position: absolute;
top: 50%;
left: 0;
}*/

.lp .checkbox span.wpcf7-list-item-label {
position: relative;
margin: 0;
}

.lp .checkbox span.wpcf7-list-item-label::before, 
.lp .wpcf7-acceptance span.wpcf7-list-item-label::before {
border-right: 3px solid #3F4667;
border-bottom: 3px solid #3F4667;
display: block;
width: 5px;
height: 9px;
content: "";
opacity: 0;
transform: rotate(45deg);
margin-top: -7px;
margin-bottom: auto;
position: absolute;
top: 50%;
bottom: 0;
left: 6px;
z-index: 2;
}

/*.radio::before {
background-color: #aacf52;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
display: block;
width: 8px;
height: 8px;
content: "";
opacity: 0;
-webkit-transition: opacity 0.25s linear;
transition: opacity 0.25s linear;
margin-top: -4px;
position: absolute;
top: 50%;
left: 6px;
}*/

.lp span.wpcf7-list-item {
margin-left: 0;
}

.lp .checkbox span.wpcf7-list-item-label, 
.lp .wpcf7-acceptance span.wpcf7-list-item-label {
cursor: pointer;
display: flex;
align-items: center;
margin: 0.9375em 3.125em 0.9375em 0;
padding-left: 30px;
}

.lp .checkbox span.has-free-text {
display: flex;
flex-wrap: wrap;
align-items: center;
}

.lp .checkbox span.has-free-text span.wpcf7-list-item-label {
margin-right: 0.9375em;
}

.lp .checkbox span.has-free-text input.wpcf7-free-text {
width: calc(100% - 3em - 30px - 0.9375em);
margin: 0.9375em 0;
}

.lp input[type="checkbox"]:checked + span.wpcf7-list-item-label::before {
opacity: 1.0;
}

.lp input[type="submit"]:disabled {
background: #636363;
}

.lp span.wpcf7-not-valid-tip {
font-size: 87.5%;
margin-top: 0.5em;
}

/*input["type=radio"]::checked + .radio:before {
opacity: 1.0;
}*/

.lp .chk-list li {
display: flex;
align-items: center;
margin: 0.9375em 3.125em 0.9375em 0;
}

.lp .chk-list div.row {
align-items: center;
margin: 0.9375em 0;
}

.lp .chk-list div.row .notes {
width: calc(100% - 6em);
margin-left: 0.9375em;
}

.lp small.aster {
font-size: 75%;
color: #3F4667;
padding-left: 0.5em;
}

.lp .form-item dt {
margin-top: 3.125em;
margin-bottom: 0.5625em;
}

.lp .form-item dt:nth-of-type(1) {
margin-top: 0;
}

.lp .form-item dd textarea {
margin-top: 0.75em;
}

.lp div.wpcf7 .ajax-loader {
display: none;
}


/* -----------------------------------------------------------
MediaQueries(PC)
----------------------------------------------------------- */

@media only screen and (min-width: 1025px) {

.lp #kv .btn-container {
margin-top: 0;
position: fixed;
top: 1.5625em;
right: 1.875em;
z-index: 999;
}

.lp #last-btn-cv {
display: none;
}

.lp #feature .row {
align-items: center;
justify-content: space-between;
padding-right: 5.625em;
padding-left: 5.625em;
}

}

@media only screen  and (min-width: 1025px) and (max-width: 1280px) {


}

@media only screen and (min-width: 1025px) and (max-width: 1200px) {

.lp #feature .row {
padding-right: 0;
padding-left: 0;
}

}


/* -----------------------------------------------------------
MediaQueries(PC and TB)
----------------------------------------------------------- */

@media only screen and (max-width: 1024px) {

.lp #header.stickey {
align-items: center;
padding-top: 1.25em;
/*padding-bottom: 1.25em;*/
padding-bottom: 1.40625em;
}

.lp #header.stickey #header-brand {
width: 47%;
min-width: inherit;
max-width: 162px;
}

.lp #header.stickey #header-brand a {
justify-content: space-between;
height: auto;
}

.lp #header.stickey .logo-main {
margin-top: 0.59375em;
}

.lp #header.stickey .logomark {
margin-right: 0;
}

#header-corp {
width: 88.2%;
max-width: 304px;
margin-top: 1.3625em;
order: 2;
}

.lp section#main {
padding-top: 0;
}

.lp #feature .row {
align-items: center;
justify-content: space-between;
}

.lp #kv .btn-container {
margin-top: 2.5em;
}

}

@media only screen and (min-width: 835px) and (max-width: 1024px) {


}

@media only screen and (min-width: 835px) {

.lp #intro .row, .lp #case .row {
align-items: center;
justify-content: space-between;
}

.lp #case-list .row {
align-items: stretch;
}

.lp #intro .row:nth-child(odd) {
flex-direction: row-reverse;
}

.lp #intro .text-group {
width: 46.6%;
max-width: 512px;
}

.lp #intro .text-group p:not(.read-copy){
margin-top: 2em;
}

.lp #intro .pic {
width: 47.3%;
max-width: 520px;
}

.lp #case .text-group {
width: 63.2%;
max-width: 695px;
}

.lp #case .pic {
width: 32.3%;
max-width: 355px;
}

.lp #case-list ul#case-thumb {
margin-bottom: 1.25em;
}

.lp #case-list ul#case-thumb li {
display: flex;
flex-direction: column;
width: 29.1%;
max-width: 320px;
height: auto;
margin-left: 6.35%;
}

.lp #case-list ul#case-thumb li:nth-child(1) {
margin-left: 0;
}

.lp #case-list ul#case-text li {
margin: 1.25em 0.7em;
}

.lp #case-list p.notice {
margin-top: 0;
}

.lp .cv .btn-cv {
padding: 0.614em 2.75em;
}

.lp input[type="submit"].btn-cv {
width: 54.7%;
max-width: 328px;
padding: 0.614em 2.75em;
}

.lp #feature .row .pic {
width: 45.7%;
max-width: 420px;
}

.lp #feature .row .text-group {
width: 47.9%;
max-width: 440px;
}

.lp #feature #about .row {
margin-top: 5em;
padding-right: 0;
padding-left: 0;
}

.lp #feature #about .row .pic {
width: 27.5%;
max-width: 220px;
}

.lp #feature #about .row .text-group {
width: 68.75%;
max-width: 550px;
}

.lp #feature #about .row .text-group dd {
font-size: 87.5%;
margin-top: 1.5em;
}

.lp #flow dl {
width: 89.4%;
max-width: 983px;
margin-right: auto;
margin-left: auto;
}

.lp #flow dl dt {
font-size: 125%;
margin-top: 2.5em;
margin-bottom: 1.5em;
}

.lp #flow dl dt:nth-of-type(1) {
margin-top: 0;
}

.lp #flow dl dd {
display: flex;
align-items: center;
padding-left: 15.5%;
position: relative;
}

.lp #flow dl dd:before {
content: "";
width: 15.5%;
height: 100%;
position: absolute;
left: 0;
}

.lp #flow dl dd.icon01::before {
background: url("../img/lp/icon_flow01.svg") no-repeat center center / 60% auto;
}

.lp #flow dl dd.icon02::before {
background: url("../img/lp/icon_flow02.svg") no-repeat center center / 60% auto;
}

.lp #flow dl dd.icon03::before {
background: url("../img/lp/icon_flow03.png") no-repeat center center / 60% auto;
}

.lp #flow dl dd.icon04::before {
background: url("../img/lp/icon_flow04.svg") no-repeat center center / 60% auto;
}

.lp #flow dl dd.icon05::before {
background: url("../img/lp/icon_flow05.svg") no-repeat center center / 60% auto;
}

.lp #flow dl dd div.bg {
display: block;
width: 100%;
padding: 1.5em 1.875em;
}

.lp #voice .sec-xlg {
padding-bottom: 5em;
}

.lp #voice .row {
align-items: flex-start;
justify-content: space-between;
flex-direction: row-reverse;
}

.lp #voice .row .pic {
width: 21.9%;
max-width: 240px;
}

.lp #voice .row .pic img {
margin-top: 3.0625em;
}

.lp #voice .row .pic img:nth-child(1) {
margin-top: 0;
}

.lp #voice .row .text-group {
width: 72.8%;
max-width: 800px;
}

.lp #voice .row .text-group .item {
margin-top: 3.125em;
}

.lp #voice .row .text-group .item:nth-child(1) {
margin-top: 0;
}

.lp #voice .row .text-group .catch-copy {
font-size: 112.5%;
font-weight: 700;
margin-top: 1.5em;
}

.lp #voice .row .text-group .text-15 {
margin-top: 1.3em;
}

}

@media only screen and (min-width: 481px) {

.lp .read-copy.text-brand {
margin-top: 0;
}

.lp #appeal .pic-group {
margin-top: 5em;
padding-right: 0;
padding-left: 0;
}

.lp #appeal .pic-group li {
width: 18.6%;
max-width: 204px;
margin: 1.75% 0 0 1.75%;
}

.lp #appeal .pic-group li:nth-child(-n+5) {
margin-top: 0;
}

.lp #appeal .pic-group li:nth-child(5n+1) {
margin-left: 0;
}

}


/* -----------------------------------------------------------
MediaQueries(TB and SP)
----------------------------------------------------------- */

@media only screen and (max-width: 834px) {

.lp #kv p.catch-copy {
margin-top: 1.5em;
font-size: clamp(162.5%, 4.8vw, 250%);
}

.lp #kv p.catch-copy span.text-small {
font-size: 80%;
}

.lp #intro .read-copy.text-brand {
font-size: clamp(125%, 3.4vw, 175%);
text-align: center;
margin-top: 0;
margin-bottom: 1.25em;
}

.lp #intro.sec-xlg {
padding: 3.125em 0;
}

.lp #intro .text-group p:not(.read-copy) {
margin-top: 1.75em;
}

.lp #intro .row {
margin-top: 4.375em;
}

.lp #intro .row .text-group {
width: 100%;
}

.lp #intro .row .pic {
margin-top: 3.125em;
}

.lp #msg {
margin-top: 5em;
}

.lp #msg .body-copy {
margin: 3.125em 0 4.5em;
}

.lp #msg .text-center {
text-align: left;
}

.lp #case .sec-lg {
padding-bottom: 9.375em;
}

.lp #case .heading03 {
font-size: clamp(150%, 3.4vw, 175%);
margin-bottom: 1.5em;
}

.lp #case .subheading02 {
padding-top: 0.5em;
padding-bottom: 0.5em;
}

.lp #case .subheading02:nth-of-type(1) {
margin-top: 0;
}

.lp #case .row .pic {
width: 100%;
margin-bottom: 2.375em;
}

.lp #case .row .pic img {
width: 100%;
}

.lp #case-list .heading03 {
font-size: clamp(125%, 3.4vw, 175%);
top: -3.5em;
}

.lp #case-list .heading03 span.br-sp {
margin-top: 0.6em;
}

.lp #case-list .heading03 .balloon {
padding-bottom: 1.25em;
}

.lp #case-list .heading03 .balloon::before, .lp #case-list .heading03 .balloon::after {
height: 75%;
top: auto;
bottom: 0;
}

.lp #case-list ul.row li span.text-20 {
padding: 0.875em;
}

.lp #case-list ul#case-thumb li {
width: 100%;
margin-top: 2.5em;
}

.lp #case-list ul#case-text {
margin-top: 1.25em;
}

.lp #case-list ul#case-text li {
width: 100%;
margin-top: 0.625em;
}

.lp #case-list ul#case-thumb li:nth-child(1), 
.lp #case-list ul#case-text li:nth-child(1) {
margin-top: 0;
}

.lp #case-list ul#case-text li span {
flex-wrap: wrap;
position: relative;
z-index: 1;
}

.lp #case-list ul#case-text li span::before {
background: #fff;
content: "";
width: 100vw;
height: 100%;
transform: translateX(-50%);
position: absolute;
top: 0;
left: 50%;
z-index: -1;
}

.lp #case-list p.notice {
font-size: clamp(81.25%, 1.7vw, 87.5%);
}

.lp .cv .btn-container.mt-60 {
margin-top: 3.125em;
}

.lp .cv .btn-cv, 
.lp .wpcf7 .btn-cv {
padding-top: 0.829em;
padding-bottom: 0.829em;
}

.heading02.num {
align-items: flex-start;
font-size: clamp(125%, 3.8vw, 200%);
margin-bottom: 1em;
}

.lp #feature .row .pic {
margin-bottom: 1.875em;
}

.lp #feature .row .text-group {
width: 94.3%;
margin-right: auto;
margin-left: auto;
}

.lp #appeal .read-copy.text-brand {
font-size: clamp(150%, 3.4vw, 175%);
}

.lp #about {
padding: 3.125em 0;
}

.lp #feature #about p.text-16 {
font-size: clamp(81.25%, 1.9vw, 100%);
}

.lp #feature #about ul.text-right {
text-align: left;
margin-top: 1.875em;
margin-bottom: 3em;
}

.lp #feature #about ul.text-right li {
font-size: clamp(87.5%, 1.9vw, 100%);
}

.lp #feature #about .row .pic {
width: 69.2%;
margin-right: auto;
margin-bottom: 2.5em;
margin-left: auto;
}

.lp #feature #about .text-group dd {
font-size: clamp(81.25%, 1.9vw, 100%);
line-height: 1.75em;
margin-top: 1.5em;
}

.lp #support .sec-xlg {
padding-top: 5em;
padding-bottom: 5em;
}

.lp #support .subheading02 {
margin-bottom: 3.25em;
position: relative;
z-index: 1;
}

.lp #support .subheading02::before {
background: #777D9D;
content: "";
width: 100vw;
height: 100%;
transform: translateX(-50%);
position: absolute;
top: 0;
left: 50%;
z-index: -1;
}

.lp #flow dl dt {
font-size: clamp(112.5%, 2.4vw, 125%);
margin-top: 3em;
margin-bottom: 1.5em;
padding-top: 4em;
position: relative;
}

.lp #flow dl dt:nth-of-type(1) {
margin-top: 0;
}

.lp #flow dl dt:before {
content: "";
width: 100%;
height: 4em;
position: absolute;
top: 0;
left: 0;
}

.lp #flow dl dt.icon01::before {
background: url("../img/lp/icon_flow01.svg") no-repeat center top / 70px auto;
}

.lp #flow dl dt.icon02::before {
background: url("../img/lp/icon_flow02.svg") no-repeat center top / 70px auto;
}

.lp #flow dl dt.icon03::before {
background: url("../img/lp/icon_flow03.png") no-repeat center top / 70px auto;
}

.lp #flow dl dt.icon04::before {
background: url("../img/lp/icon_flow04.svg") no-repeat center top / 70px auto;
}

.lp #flow dl dt.icon05::before {
background: url("../img/lp/icon_flow05.svg") no-repeat center top / 70px auto;
}

.lp #flow dl dd div.bg {
padding: 1.5em;
}

.lp .cv .body-copy.text-22 {
font-size: clamp(100%, 2.7vw, 137.5%);
}

.lp #voice .container-md {
width: 100%;
padding-top: 6.25em;
padding-bottom: 0;
}

.lp #voice .item {
margin-top: 1.875em;
}

.lp #voice .item:nth-child(1) {
margin-top: 0;
}

.lp #voice .text-group {
width: 90%;
margin: 0 auto;
}

.lp #voice .row .text-group .catch-copy {
margin-top: 1.25em;
}

.lp #voice .row .text-group .text-15 {
margin-top: 1.5em;
}

.lp #voice .pic {
display: flex;
justify-content: space-between;
width: 100%;
margin-top: 1.875em;
}

.lp #voice .pic img {
width: 49.3%;
}

.lp #voice .pic .sp-none {
display: none;
}

.lp #faq dl dt {
font-size: clamp(87.5%, 2.2vw, 112.5%);
margin-top: 3.5em;
padding: 0.75em 0;
}

.lp label.checkbox, 
.lp .checkbox span.wpcf7-list-item-label, .lp .wpcf7-acceptance span.wpcf7-list-item-label {
font-size: clamp(87.5%, 1.9vw, 100%);
}

.lp #last-btn-cv.btn-container .text-20 {
font-size: 112.5%;
padding-top: 0.5em;
padding-bottom: 0.5em;
}

.lp span.wpcf7-not-valid-tip {
font-size: clamp(81.25%, 1.7vw, 87.5%);
}

.lp #footer {
padding-bottom: 5em;
}

}

@media only screen and (min-width: 481px) and (max-width: 834px) {


}


/* -----------------------------------------------------------
MediaQueries(SP)
----------------------------------------------------------- */

@media only screen and (max-width: 480px) {

.lp #kv {
padding-top: 0;
}

.lp #feature .sec {
padding-bottom: 5em;
}

.lp #appeal .pic-group {
width: 94.3%;
margin-top: 3.75em;
margin-right: auto;
margin-left: auto;
}

.lp #appeal .pic-group li {
width: 47.5%;
margin: 5% 0 0 5%;
}

.lp #appeal .pic-group li:nth-child(-n+2) {
margin-top: 0;
}

.lp #appeal .pic-group li:nth-child(odd) {
margin-left: 0;
}

.lp #voice .item {
padding: 1.25em;
}

}