@charset "utf-8";

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
sub,
sup,
var,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: 0 0;
    word-break: break-all
}

table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    margin: 0;
    outline: 0;
    font-size: 100%;
    font-weight: 400;
    vertical-align: top;
    word-break: break-all
}

body {
    line-height: 1.3
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

:focus {
    outline: 0
}

ins {
    text-decoration: none
}

del {
    text-decoration: line-through
}

.cf {
    zoom: 1
}

.cf:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
    font-size: .1em;
    line-height: 0
}

* html .cf {
    height: 1%
}

.cf {
    display: block
}

@charset "UTF-8";

html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    margin: .67em 0;
    font-size: 2em
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-size: 1em;
    font-family: monospace, monospace
}

a {
    background-color: transparent
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-size: 1em;
    font-family: monospace, monospace
}

small {
    font-size: 80%
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-size: 100%;
    line-height: 1.15;
    font-family: inherit
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    padding: 0;
    border-style: none
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    display: table;
    max-width: 100%;
    padding: 0;
    color: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

figure {
    margin: 0
}

ul,
ol,
dd {
    margin: 0;
    padding: 0;
    list-style: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0
}

p {
    margin: 0
}

dl {
    margin: 0
}

html {
    font-size: 62.5%
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    overflow-x: hidden;
    font-style: normal;
    font-size: 1.6rem;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuPro-W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, sans-serif;
    font-optical-sizing: auto;
    letter-spacing: 0.03em;
}

a {
    text-decoration: none
}

@media screen and (min-width: 600px) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

*,
*:before,
*:after {
    box-sizing: border-box
}

a:hover {
    opacity: .8
}

img {
    width: 100%;
    height: auto
}

:root {
    --main-color: #85a708;
    --secondary-color: #8c6f53;
    --accent-color: #ff8c00;
    --light-color: #f4f9eb;
    --text-color: #010101;
    --sns-line: #00c300;
    --arial: Arial, Helvetica, sans-serif
}

#toc_container {
    display: none
}

.page-lp {
    overflow: hidden
}

.lp-container {
    width: min(100%, 1240px);
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px
}



.lp-title {
    margin: 0;
    padding: 0;
    color: var(--main-color);
    font-size: min(50px, 5vw);
    text-align: center;
}

.lp-title .large {
    font-size: 1.5em;
    letter-spacing: -0.15em;
}

.lp-title_sub {
    padding-bottom: min(25px, 2.5vw);
    font-size: min(3.1rem, 3.1vw);
    line-height: 1.5;
    text-align: center;
    font-weight: 700;
}

h3 {
    font-size: min(3rem, 3vw);
    color: #fff;
    background: linear-gradient(45deg, var(--main-color), #bdd466);
    padding: min(9px, 0.9vw) min(20px, 2vw);
    margin: 0;
}

.lp-title_green {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--main-color);
    font-size: clamp(30px, 16.4px + 3.6vw, 60px);
    text-align: center
}

.lp-title_underline {
    display: inline-block;
    position: relative;
    color: #56954d;
    font-size: clamp(24px, 13.1px + 2.9vw, 48px);
    text-align: center
}

.lp-title_underline:after {
    position: absolute;
    bottom: -10px;
    left: 50%;
    width: 86px;
    height: 3px;
    transform: translateX(-50%);
    background-color: #56954d;
    content: ""
}

.btn-contact a {
    position: relative;
    display: flex;
    justify-content: center;
    width: min(52vw, 750px);
    background-color: var(--accent-color);
    box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, .5);
    color: #fff;
    box-sizing: border-box;
    height: min(131px, 11vw);
    align-items: center;
    padding: 0 0 0 19%
}

.btn-contact_text {
    display: flex;
    position: absolute;
    top: -8px;
    left: clamp(0px, -42.9px + 7.1vw, 50px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: clamp(57px, .4px + 9.4vw, 123px);
    height: clamp(57px, .4px + 9.4vw, 123px);
    border: solid 3px;
    background-color: #fff;
    color: var(--accent-color);
    font-weight: 700;
    font-size: clamp(11px, 6px + 1.3vw, 22px);
    text-align: center;
    white-space: nowrap
}

.btn-contact_text .large {
    display: contents;
    font-size: clamp(29px, 20.1px + 2.4vw, 58px);
    font-family: var(--arial)
}

.btn-contact_tel {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: min(5.4rem, 5.1vw);
    font-family: var(--arial);
    letter-spacing: 0;
}

.btn-contact_tel:before {
    display: inline-block;
    width: clamp(24px, 0px + 4vw, 52px);
    height: clamp(18px, 1.7px + 2.7vw, 37px);
    background-image: url(/wp-content/uploads/lp-icon-tel_orange.png);
    background-size: contain;
    background-repeat: no-repeat;
    content: ""
}

.btn-contact_time {
    font-size: min(1.6rem, 1.4vw);
    display: block;
    text-align: center;
}

.btn-icon {
    -moz-column-gap: clamp(10px, -230px + 20vw, 50px);
    display: flex;
    position: relative;
    column-gap: clamp(10px, -230px + 20vw, 50px);
    align-items: center;
    justify-content: flex-start;
    width: min(40vw, 480px);
    padding-top: clamp(6px, 2.6px + .6vw, 10px);
    padding-bottom: clamp(6px, 2.6px + .6vw, 10px);
    padding-left: clamp(18px, -.9px + 3.1vw, 40px);
    border-radius: 40px;
    background-color: #fff;
    color: var(--text-color);
    font-weight: 700;
    font-size: min(2.4vw, 24px);
    text-align: center;
    box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, .5);
}

.btn-icon:before {
    display: inline-block;
    width: clamp(30px, 4.3px + 4.3vw, 60px);
    height: clamp(30px, 4.3px + 4.3vw, 60px);
    border-radius: 50%;
    background-position: center;
    background-size: 60%;
    background-repeat: no-repeat;
    content: ""
}

.btn-icon:after {
    position: absolute;
    top: 50%;
    right: clamp(15px, -15px + 5vw, 50px);
    width: clamp(8px, 1.1px + 1.1vw, 16px);
    height: clamp(10px, 2.3px + 1.3vw, 19px);
    transform: translateY(-50%);
    content: "";
    clip-path: polygon(0% 0%, 0% 100%, 100% 50%)
}

.btn-icon.mail:before {
    background-image: url(/wp-content/uploads/lp-icon-mail.png);
    background-color: var(--secondary-color)
}

.btn-icon.mail:after {
    background-color: var(--secondary-color)
}

.btn-icon.line:before {
    background-image: url(/wp-content/uploads/lp-icon-line.png);
    background-size: 80%;
    background-color: var(--sns-line)
}

.btn-icon.line:after {
    background-color: var(--sns-line)
}

.btn-green {
    display: inline-block;
    position: relative;
    width: 100%;
    max-width: 850px;
    padding-top: clamp(16px, 9.6px + 1.7vw, 30px);
    padding-right: clamp(20px, 10.9px + 2.4vw, 40px);
    padding-bottom: clamp(16px, 9.6px + 1.7vw, 30px);
    border-radius: 45px;
    background-color: var(--main-color);
    color: #fff;
    font-weight: 700;
    font-size: clamp(16px, 9.6px + 1.7vw, 30px)
}

.btn-green:before {
    position: absolute;
    top: 50%;
    right: clamp(25px, -27.3px + 13.9vw, 140px);
    width: clamp(20px, 10.9px + 2.4vw, 40px);
    height: clamp(20px, 10.9px + 2.4vw, 40px);
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #fff;
    content: ""
}

.btn-green:after {
    position: absolute;
    top: 50%;
    right: calc(clamp(25px, -27.3px + 13.9vw, 140px) + 15px);
    width: clamp(7px, 3.8px + .8vw, 14px);
    height: clamp(7px, 3.8px + .8vw, 14px);
    transform: translateY(-50%) rotate(45deg);
    border-top: 4px solid #ad987a;
    border-right: 4px solid #ad987a;
    content: ""
}

.btn-green_line {
    display: inline-block;
    position: relative;
    width: 100%;
    max-width: 850px;
    padding-top: clamp(16px, 9.6px + 1.7vw, 30px);
    padding-right: clamp(20px, 10.9px + 2.4vw, 40px);
    padding-bottom: clamp(16px, 9.6px + 1.7vw, 30px);
    border: solid 5px #56954d;
    border-radius: 50px;
    background-color: #fff;
    color: #56954d;
    font-weight: 700;
    font-size: clamp(16px, 9.6px + 1.7vw, 30px);
    text-align: center
}

.btn-green_line:before {
    position: absolute;
    top: 50%;
    right: clamp(25px, -27.3px + 13.9vw, 140px);
    width: clamp(20px, 10.9px + 2.4vw, 40px);
    height: clamp(20px, 10.9px + 2.4vw, 40px);
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #56954d;
    content: ""
}

.btn-green_line:after {
    position: absolute;
    top: 50%;
    right: calc(clamp(25px, -27.3px + 13.9vw, 140px) + 15px);
    width: clamp(7px, 3.8px + .8vw, 14px);
    height: clamp(7px, 3.8px + .8vw, 14px);
    transform: translateY(-50%) rotate(45deg);
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    content: ""
}

.lp-header_left {
    display: flex;
    flex: 1;
    align-items: center;
    gap: min(20px, 1.7vw);
}

.lp-header_site_icon {
    width: min(84px, 7vw);
}

.lp-header_site_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-header_title {
    width: min(316px, 26vw);
}

.lp-header_title img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-header_company {
    font-size: min(2rem, 1.7vw);
    color: #fff;
    letter-spacing: .01em;
    padding: min(10px, 1vw) 0 0;
}

.lp-header_right {
    display: flex;
    align-items: center;
    gap: min(50px, 3vw);
    color: #fff;
    text-align: center;
}

.lp-header_office_list {
    display: flex;
    gap: min(10px, 0.7vw);
    padding: min(15px, 1.5vw) 0 0 0;
}

.lp-header_office_item {
    border: 1px solid;
    border-radius: 5px;
    font-size: min(1.8rem, 1.5vw);
    width: min(179px, 13vw);
    box-sizing: border-box;
    line-height: 2;
}

.lp-header_office_title {
    font-weight: bold;
    font-size: min(2rem, 1.8vw);
}

.lp-header_tel {
    text-align: center;
}

.lp-header_tel a {
    display: flex;
    flex-direction: column;
    align-items: center
}

.lp-header_tel-text {
    display: inline-block;
    padding: 0 min(45px, 3vw);
    border-radius: 11px;
    background-color: #fff;
    color: var(--main-color);
    font-size: min(1.6rem, 1.4vw);
    text-align: center;
    line-height: 1.44;
}

.lp-header_tel-number {
    position: relative;
    color: #fff;
    font-weight: 700;
    font-size: min(4.4rem, 3.9vw);
    font-family: var(--arial);
    letter-spacing: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: min(8px, 0.5vw);
    padding: min(3px, 0.3vw) 0 0 0;
}

.lp-header_tel-number:before {
    width: min(37px, 2.96vw);
    height: min(35px, 2.8vw);
    background-image: url(/wp-content/uploads/lp-icon-tel_green.png);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.lp-header_tel-time {
    color: #fff;
    font-size: min(1.4rem, 1.2vw);
    text-align: center;
}


/* .lp-mainvisual */
.lp-mainvisual {
    padding-top: min(50px, 5vw);
    background-image: url(/wp-content/uploads/lp-bg-mainvisual.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative
}

.lp-mainvisual:after {
    content: '';
    display: block;
    width: 100%;
    height: min(296px, 24vw);
    left: 0;
    bottom: 0;
    background: rgb(255, 255, 255, 0.6);
    position: absolute;
}


.lp-mainvisual_left-container {
    width: 52%;
    text-align: center;
    padding: 0 0 min(25px, 2.5vw) 0;
    position: relative;
    z-index: 2;
}

.lp-mainvisual .btn-contact a {
    background-color: var(--secondary-color);
}

.lp-mainvisual .btn-contact_text {
    color: var(--secondary-color);
}

.lp-mainvisual .btn-contact .btn-contact_tel:before {
    background-image: url(/wp-content/uploads/lp-icon-tel_brown.png)
}

.lp-mainvisual_contact-title {
    font-size: min(2.6rem, 2.2vw);
    font-weight: 700;
    position: relative;
    margin: 0 0 25px;
    padding: 0 min(25px, 2.5vw);
    text-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, -2px -2px 10px #fff
}

.lp-mainvisual_contact-title:before {
    content: '';
    display: block;
    width: 2px;
    height: 75%;
    background: #333;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    left: 0;
    position: absolute;
    box-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, -2px -2px 10px #fff
}

.lp-mainvisual_contact-title:after {
    content: '';
    display: block;
    width: 2px;
    height: 75%;
    background: #333;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 0;
    position: absolute;
    box-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, -2px -2px 10px #fff
}

.lp-mainvisual_contact-title span {
    position: relative;
    display: block
}

.lp-mainvisual_contact-title span:before {
    content: '';
    display: block;
    width: 2px;
    height: 75%;
    background: #ababab;
    top: 45%;
    transform: translateY(-50%) rotate(-37deg);
    left: -3.5%;
    position: absolute;
    box-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, -2px -2px 10px #fff
}

.lp-mainvisual_contact-title span:after {
    content: '';
    display: block;
    width: 2px;
    height: 75%;
    background: #ababab;
    top: 45%;
    transform: translateY(-50%) rotate(37deg);
    right: -3.5%;
    position: absolute;
    box-shadow: 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, 2px 2px 10px #fff, -2px 2px 10px #fff, 2px -2px 10px #fff, -2px -2px 10px #fff
}

h1 {
    text-align: center;
    text-shadow: #fff 2px 0px 10px, #fff -2px 0px 12px, #fff 0px -2px 12px, #fff -2px 0px 12px, #fff 2px 2px 12px, #fff -2px 2px 12px, #fff 2px -2px 12px, #fff -2px -2px 12px, #fff 1px 2px 12px, #fff -1px 2px 12px, #fff 1px -2px 12px, #fff -1px -2px 12px, #fff 2px 1px 12px, #fff -2px 1px 12px, #fff 2px -1px 12px, #fff -2px -1px 12px, #fff 1px 1px 12px, #fff -1px 1px 12px, #fff 1px -1px 12px, #fff -1px -1px 12px;
    display: inline-block;
    font-size: min(10rem, 6.5vw)
}

h1 strong {
    color: var(--accent-color);
}

.h1__m-text {
    font-size: .57em;
    display: block
}

.h1__l-text {
    font-size: .75em
}

.h1__s-text {
    font-size: .43em;
    display: block
}

.lp-mainvisual_image {
    position: absolute;
    right: 0;
    width: 83%;
    height: auto;
    top: min(50px, 5vw);
}

.lp-mainvisual_image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: min(100%, 1600px);
    margin: 0 auto;
    padding: 0 min(85px, 4vw) 0 min(25px, 2vw);
    background-color: var(--main-color);
    height: min(125px, 12.5vw);
}

.lp-mainvisual_point-list {
    display: flex;
    justify-content: center;
    gap: min(25px, 2.5vw);
    padding: min(30px, 3vw) 0 0 0
}

.lp-mainvisual_point-item {
    width: min(235px, 23.5vw);
    font-size: min(18px, 1.3vw);
    font-weight: 700;
    color: #634214;
    position: relative;
    text-shadow: #fff 2px 0px 10px, #fff -2px 0px 7px, #fff 0px -2px 7px, #fff -2px 0px 7px, #fff 2px 2px 7px, #fff -2px 2px 7px, #fff 2px -2px 7px, #fff -2px -2px 7px, #fff 1px 2px 7px, #fff -1px 2px 7px, #fff 1px -2px 7px, #fff -1px -2px 7px, #fff 2px 1px 7px, #fff -2px 1px 7px, #fff 2px -1px 7px, #fff -2px -1px 7px, #fff 1px 1px 7px, #fff -1px 1px 7px, #fff 1px -1px 7px, #fff -1px -1px 7px
}

.lp-mainvisual_point-text-container {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center
}

.lp-mainvisual_point-item strong {
    color: #e20015
}

.lp-mainvisual_point-item-01 strong {
    font-size: 2.4em
}

.lp-mainvisual_point-item-01 .lp-mainvisual_point-m-text {
    font-size: 1.55em;
    margin: -10px 0 0
}

.lp-mainvisual_point-item-02 .lp-mainvisual_point-text-container {
    box-sizing: border-box;
    gap: min(13px, 1.3vw);
}

.lp-mainvisual_point-item-02 strong {
    font-size: 1.6em;
}

.lp-mainvisual_point-item-02 .lp-mainvisual_point-m-text {
    font-size: 1.1em
}

.lp-mainvisual_point-item-03 strong {
    font-size: 1.6em
}

.lp-mainvisual_point-item-03 .lp-mainvisual_point-m-text {
    font-size: 1.1em
}

.lp-mainvisual_point-item-03 .lp-mainvisual_point-m-text span {
    font-size: .7em
}

.lp-mainvisual_inner {
    width: min(98%, 1560px);
    margin-right: auto;
    margin-left: auto;
    padding-top: min(40px, 4vw);
    position: relative;
    height: min(835px, 60vw);
    box-sizing: border-box;
}

.lp-mainvisual_inner h1 img {
    width: 100%
}

.lp-mainvisual_contact {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: min(90px, 7vw);
    position: relative;
    z-index: 2;
}

.lp-mainvisual_contact-btn {
    display: flex;
    row-gap: 20px;
    flex-direction: column
}

.lp-mainvisual_contact-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.lp-mainvisual_contact-wrapper img {
    width: 68%
}

/* .lp-problem */
.lp-problem {
    padding-bottom: 150px;
    background-image: url(/wp-content/uploads/lp-bg-problem.png);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    clip-path: polygon(0 0, 100% 0, 100% 95%, 50% 100%, 0 95%)
}

.lp-problem_top {
    padding-top: 115px
}

.lp-problem_top-inner {
    color: #fff;
    text-align: center
}

.lp-problem_top-inner h2 {
    font-weight: 700;
    font-size: clamp(26px, 14.2px + 3.2vw, 52px);
    color: #fff
}

.lp-problem_bottom {
    display: flex;
    flex-direction: column;
    align-items: center
}

.lp-img-solution_title {
    width: 48%;
    margin: min(40px, 4vw) auto 0;
}

.lp-img-solution_title img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-problem_bottom-person {
    width: min(100%, 1260px);
    margin: 0 auto;
    padding: 130px 0 0
}

.lp-problem_bottom-person img {
    width: 100%
}

.lp-problem_bottom-text {
    background-color: rgba(255, 255, 255, .5);
    font-weight: 700;
    font-size: clamp(18px, 4.4px + 3.6vw, 48px);
    letter-spacing: .1em;
    width: min(830px, 83vw);
    color: #111;
    padding: 22px 0;
    box-sizing: border-box;
    margin: 0 auto
}

.lp-problem_bottom-risk {
    width: min(100%, 1474px);
    margin: 0 auto;
    position: relative;
    left: -4%;
}

.lp-problem_bottom-risk img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* .lp-solution */
.lp-solution {
    margin-top: max(-160px, -16vw);
    padding-top: min(160px, 16vw);
    padding-bottom: min(75px, 7.5vw);
    background-image: linear-gradient(to bottom, #f3faa1 0%, #fff 30%, #fff 100%);
}

.lp-solution_text {
    display: inline-block;
    position: relative;
    padding: min(10px, 1vw) min(20px, 2vw);
    color: var(--accent-color);
    font-weight: 700;
    text-align: center;
    font-size: min(2.8rem, 2.8vw);
    border: 2px solid;
    margin: 0 auto;
}

.lp-solution_office-list {
    display: flex;
    justify-content: center;
    gap: min(90px, 9vw);
    padding: min(70px, 7vw) 0 0 0;
}

.lp-solution_office-item {
    text-align: center;
    width: 32%
}

.lp-solution_office-title {
    font-size: min(2.2rem, 2.2vw);
    font-weight: 700;
    background: var(--main-color);
    color: #fff;
    border-radius: 50px;
    width: min(286px, 28.6vw);
    margin: 0 auto;
    line-height: 1.77;
}

.lp-solution_office-place {
    font-size: min(1.8rem, 1.8vw);
    box-sizing: border-box;
    height: min(96px, 9.6vw);
    place-content: center
}

.lp-solution_office-img {
    width: 100%;
}

.lp-solution_office-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-solution_inner {
    position: relative;
    text-align: center
}

.lp-solution_company {
    text-align: center;
    font-size: min(2.8rem, 2.8vw);
    padding: 0 0 35px
}

.lp-solution_title {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 700;
    font-size: clamp(20px, 10.9px + 2.4vw, 40px);
    line-height: 1.8;
    letter-spacing: .1em
}

.lp-solution_person img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.lp-solution_person {
    width: min(580px, 58vw);
    margin: 45px auto 30px
}

.lp-support_onestop_title {
    width: 48%;
    margin: 0 auto;
}

/* .lp-cta */
.lp-cta {
    padding-top: clamp(18px, 3.5px + 3.9vw, 50px);
    padding-bottom: clamp(18px, 3.5px + 3.9vw, 50px);
    background-color: var(--main-color)
}

.lp-cta .lp-container {
    width: min(100%, 1340px)
}

.lp-cta_contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: clamp(0px, -280px + 20vw, 40px)
}

.lp-cta_contact-text {
    position: relative;
    margin-bottom: min(25px, 2.3vw);
    padding-right: min(30px, 3vw);
    padding-left: min(30px, 3vw);
    color: #fff;
    font-weight: 700;
    font-size: min(2.6rem, 2.4vw);
    letter-spacing: .05em
}

.lp-cta_contact-text:before,
.lp-cta_contact-text:after {
    position: absolute;
    top: 50%;
    width: min(20px, 2vw);
    height: min(23px, 2.3vw);
    transform: translateY(-50%);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.lp-cta_contact-text:before {
    left: 0;
    background-image: url("/wp-content/uploads/lp-img-dobleline_left.png")
}

.lp-cta_contact-text:after {
    right: 0;
    background-image: url("/wp-content/uploads/lp-img-dobleline_right.png")
}

.lp-cta_contact-btn {
    display: flex;
    row-gap: 20px;
    flex-direction: column
}

.lp-cta_contact-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.lp-cta_contact-wrapper img {
    width: 100%
}

/* .lp-support */
.lp-support {
    padding: min(130px, 13vw) 0 min(100px, 10vw);
    background-image: url(/wp-content/uploads/bg-support.png);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    background: repeating-linear-gradient(-45deg, #f5fee4, #f5fee4 7px, #edf6dd 5px, #edf6dd 12px);
}

.lp-support .lp-container {
    position: relative
}

.lp-support .lp-container:before {
    content: '';
    display: block;
    background-image: url(/wp-content/uploads/lp-bg-support.png);
    width: 388px;
    height: 398px;
    position: absolute;
    left: 0;
    top: max(-105px, -10.5vw);
    transform: translateX(-100%);
    background-size: contain;
}

.lp-support .lp-container:after {
    content: '';
    display: block;
    background-image: url(/wp-content/uploads/lp-bg-support.png);
    width: 388px;
    height: 398px;
    position: absolute;
    right: 0;
    bottom: max(-70px, -7vw);
    transform: translateX(100%);
    background-size: contain;
}

.lp-support_field {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    padding: min(65px, 5vw) min(100px, 7vw);
    border-radius: 10px;
    background-color: var(--secondary-color)
}

.lp-support_field:after {
    position: absolute;
    bottom: -36px;
    left: 50%;
    width: 78px;
    height: 38px;
    transform: translateX(-50%);
    background-color: var(--secondary-color);
    content: "";
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%)
}

.lp-support_text {
    color: #fff;
    font-size: clamp(18px, 14.4px + 1vw, 26px);
    text-align: center
}

.lp-support_title {
    display: inline-block;
    position: relative;
    color: #fff;
    font-size: clamp(24px, 13.1px + 2.9vw, 48px);
    text-align: center;
    padding: 0 0 clamp(28px, 13.1px + 2.9vw, 55px) 0;
    background: 0 0
}

.lp-support_list {
    display: flex;
    gap: min(50px, 4vw) min(75px, 5vw);
    flex-wrap: wrap;
    justify-content: center
}

.lp-support_list li {
    width: calc((100% - 85px)/2);
    border-radius: 15px;
    background-color: #fff
}

.lp-support_list li dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: min(30px, 3vw) min(35px, 2vw) min(45px, 4.5vw) min(35px, 2vw);
}

.lp-support_list li dl dt {
    display: inline-block;
    position: relative;
    width: 100%;
    padding: 0 0 min(20px, 2vw) 0;
    font-weight: 700;
    font-size: min(3.4rem, 3.1vw);
    text-align: center
}

.lp-support_list li dl dt:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 90%;
    height: 2px;
    transform: translateX(-50%);
    background-image: linear-gradient(to right, var(--accent-color) 50%, transparent 50%);
    background-size: 5px 1px;
    background-repeat: repeat-x;
    content: ""
}

.lp-support_list li dl dd {
    padding: min(15px, 1.5vw) 0 0 0;
    font-weight: 700;
    font-size: min(2.2rem, 1.9vw);
    text-align: center;
    line-height: 1.36
}

.lp-icon-support {
    position: absolute;
    right: min(30px, 2vw);
    top: max(-20px, -2vw);
    width: min(75px, 7vw);
}

.lp-icon-support img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-support_onestop {
    padding: min(80px, 8vw) 0 min(20px, 2vw);
}

.lp-support_onestop img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-support_onestop_message span {
    background: linear-gradient(transparent 70%, #fffc00 70%);
    display: inline-block
}

.lp-support_onestop_message span:nth-child(1) {
    display: block;
    width: min(405px, 40vw);
    margin: 0 auto
}

.lp-support_onestop_message span:nth-child(2) {
    padding: 0 0 0 20px
}

.lp-support_onestop_message span:nth-child(3) {
    padding: 0 20px 0 0
}

.lp-support_onestop_message {
    text-align: center;
    font-weight: 700;
    font-size: min(57px, 5.7vw)
}


/* .lp-reason */
.lp-reason {
    padding-top: min(105px, 10.5vw);
}

.lp-reason .lp-title {
    font-size: min(6rem, 6vw)
}

.lp-reason_list {
    display: flex;
    flex-direction: column
}

.lp-reason_list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: min(120px, 12vw) 0 min(105px, 10.5vw);
}

.lp-reason_list li:nth-child(2n) {
    background-color: var(--light-color)
}

.lp-reason_list li dl {
    width: 47%
}

.lp-reason_list li dl dt {
    padding: min(40px, 4vw) 0 min(35px, 3.5vw);
    font-size: min(3.2rem, 3.2vw);
    letter-spacing: .1em;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    gap: min(10px, 1vw);
}

.lp-reason_item_sub_title {
    line-height: 1.2;
}

.lp-reason_item_title {
    font-size: min(4.2rem);
    color: var(--main-color);
    line-height: 1.4;
}

.lp-reason_item_title span {
    display: inline-block;
    background: linear-gradient(transparent 80%, #f1fd4e 80%);
    line-height: 1.1;
}

.lp-reason_list li dl dd {
    font-size: min(2rem, 2vw);
    line-height: 1.7;
    letter-spacing: .1em;
}

.lp-reason_list-wrapper {
    display: flex;
    position: relative;
    column-gap: min(35px, 3.5vw);
    width: min(100%, 1240px);
    padding: 0 min(25px, 2.5vw);
}

.lp-reason_list-wrapper.reverse {
    flex-direction: row-reverse
}

.lp-reason_list-number {
    display: flex;
    position: absolute;
    top: 0;
    transform: translateY(-50%);
    left: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: min(100px, 10vw);
    height: min(100px, 10vw);
    border: solid 2px #fff;
    background-color: var(--accent-color);
    content: "";
    color: #fff;
    font-size: min(4.8rem, 4.8vw);
    line-height: 1;
    font-family: var(--arial);
    letter-spacing: 0;
    font-weight: 700;
    box-sizing: border-box;
}

.reverse .lp-reason_list-number {
    right: 0;
    left: auto
}

.lp-reason_list-number .small {
    font-size: 0.42em;
    font-weight: 400
}

.lp-reason_list-img {
    width: 61%
}

.lp-reason_list-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.lp-reason_location {
    width: min(100%, 1240px);
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
    padding-right: 20px;
    padding-left: 20px
}

.lp-reason_location dt {
    padding-top: 20px;
    padding-bottom: 20px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    background-color: #57964e;
    color: #fff;
    font-weight: 700;
    font-size: clamp(16px, 10.5px + 1.5vw, 28px);
    text-align: center
}

.lp-reason_location dd {
    -moz-column-gap: 30px;
    display: flex;
    column-gap: 30px;
    padding-top: 40px;
    padding-right: clamp(15px, 1.4px + 3.6vw, 45px);
    padding-bottom: 40px;
    padding-left: clamp(15px, 1.4px + 3.6vw, 45px);
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    background-image: linear-gradient(to right, rgba(134, 235, 120, .35) 0%, rgba(245, 249, 127, .35) 47%, rgba(247, 251, 235, .35) 100%)
}


.lp-reason_location-list {
    -moz-column-gap: clamp(6px, -2.6px + 2.3vw, 25px);
    display: flex;
    column-gap: clamp(6px, -2.6px + 2.3vw, 25px);
    justify-content: center
}

.lp-reason_location-list li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: clamp(105px, 61.8px + 11.5vw, 200px);
    height: clamp(105px, 61.8px + 11.5vw, 200px);
    border-radius: 50%;
    background-color: #fff;
    font-weight: 700;
    font-size: clamp(11px, 5.1px + 1.6vw, 24px);
    text-align: center
}

.lp-reason_location-list li .large {
    display: contents;
    color: #57964e;
    font-weight: 700;
    font-size: clamp(34px, 22.2px + 3.2vw, 60px)
}

.lp-reason_location-list li .small {
    font-size: clamp(10px, 6.4px + 1vw, 18px)
}

.lp-reason_location-inner {
    position: relative
}

.lp-reason_location-text {
    font-weight: 700;
    font-size: clamp(17px, 13.8px + .8vw, 24px);
    line-height: 1.6;
    letter-spacing: .05em
}

.lp-reason_location-text .green {
    color: #57964e
}

.lp-reason_location-icon {
    position: absolute;
    right: 0;
    bottom: 0;
    width: clamp(35px, -70px + 11.7vw, 70px);
    height: clamp(50px, -100px + 16.7vw, 100px)
}

/* .lp-voice */
.lp-voice {
    padding: min(90px, 9vw) 0 min(130px, 13vw);
    background-color: var(--light-color)
}

.lp-voice .lp-title_wrapper {
    padding-bottom: min(65px, 6.5vw);
}

.lp-voice_list {
    display: flex;
    flex-direction: column;
    gap: min(50px, 5vw);
}

.lp-voice_list li {
    display: flex;
    gap: min(70px, 7vw);
    padding: min(60px, 6vw);
    background-color: #fff;
    box-shadow: 3px 3px 5px rgba(154, 154, 154, .35);
}

.lp-voice_list li dl {
    flex: 1
}

.lp-voice_list li dl dt {
    padding-bottom: clamp(16px, 20.5px + 1.5vw, 25px);
    color: #8c6f53;
    font-weight: 700;
    font-size: clamp(17px, 10.2px + 1.8vw, 32px);
    line-height: 1.5
}

.lp-voice_list li dl dd {
    font-size: clamp(15px, 12.3px + .7vw, 21px);
    line-height: 1.6;
    letter-spacing: .05em
}

.lp-voice_list-img {
    width: min(100%, 177px)
}

.lp-voice_list-img img {
    width: 100%
}

.lp-voice_list-name {
    padding-top: 20px;
    color: #000;
    font-size: clamp(9px, 5.4px + 1vw, 17px);
    text-align: center
}

/* .lp-step */
.lp-step {
    padding-top: clamp(45px, -25.5px + 18.8vw, 120px);
    padding-bottom: clamp(90px, -25.5px + 18.8vw, 200px)
}

.lp-step_list {
    display: flex;
    row-gap: 40px;
    flex-wrap: wrap;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: clamp(30px, -12.3px + 11.3vw, 123px)
}

.lp-step_list li {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    width: 33.3333333333%;
    padding-right: 20px;
    padding-left: 20px
}

.lp-step_list li:last-child:before,
.lp-step_list li:nth-child(3n):not(:last-child):before {
    left: 25%;
    width: 50%
}

.lp-step_list li dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 35px
}

.lp-step_list li dl dt {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: clamp(17px, 11.1px + 1.6vw, 30px);
    letter-spacing: .1em;
    text-align: center;
    color: var(--main-color);
    padding: 0 0 50px
}

.lp-step_list li dl dd {
    display: flex;
    flex-grow: 1;
    align-items: flex-start;
    font-size: clamp(14px, 11.3px + .7vw, 20px);
    line-height: 1.5
}

.lp-step_list-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    width: clamp(70px, -16.4px + 23vw, 260px);
    min-width: 0;
    height: clamp(70px, -16.4px + 23vw, 260px);
    border: solid 3px var(--main-color);
    border-radius: 50%;
    background-color: #fff;
    position: relative
}

.lp-step_list li:not(:last-child) .lp-step_list-icon:before {
    z-index: -1;
    position: absolute;
    top: calc(clamp(70px, -16.4px + 23vw, 260px)/2);
    width: 100%;
    height: 3px;
    transform: translateX(100%);
    background-color: var(--main-color);
    content: "";
    right: 0
}

.lp-step_list-icon img {
    width: 45%
}


.lp-step_list-number {
    display: flex;
    position: absolute;
    top: 0;
    left: 12%;
    align-items: center;
    justify-content: center;
    width: clamp(25px, 4.5px + 5.5vw, 71px);
    height: clamp(25px, 4.5px + 5.5vw, 71px);
    border-radius: 50%;
    background-color: var(--main-color);
    color: #fff;
    font-weight: 700;
    font-size: clamp(11px, 2.4px + 2.3vw, 30px);
    z-index: 2
}

/* .lp-faq */
.lp-faq {
    padding-bottom: min(12vw, 100px);
    background-color: var(--light-color);
    position: relative
}

.lp-faq .lp-title {
    color: var(--main-color)
}

.lp-faq:before {
    position: absolute;
    width: calc(100vw + 200px);
    top: -80px;
    background: var(--light-color);
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    height: 200px;
    margin-left: -100px;
    margin-right: -100px;
    padding-left: 100px;
    padding-right: 100px;
    padding-top: 100px;
    content: "";
    z-index: -1
}

.lp-faq_list {
    display: flex;
    row-gap: clamp(22px, 4.7px + 4.6vw, 60px);
    flex-direction: column;
    padding-top: clamp(44px, 7.2px + 9.8vw, 125px)
}

.lp-faq_list li {
    display: flex;
    flex-direction: column
}

.lp-faq_list li dl {
    margin-top: 0;
    margin-bottom: 0;
    overflow: hidden;
    border: solid 2px var(--main-color);
    border-radius: 10px
}

.lp-faq_list li dl dt {
    position: relative;
    padding-top: clamp(14px, 7.6px + 1.7vw, 22px);
    padding-right: clamp(30px, -1.8px + 8.5vw, 100px);
    padding-bottom: clamp(14px, 7.6px + 1.7vw, 22px);
    padding-left: clamp(37px, 22px + 4vw, 70px);
    background-color: var(--main-color);
    color: #fff;
    font-weight: 700;
    font-size: min(4.4vw, 26px);
    line-height: 1.4;
    letter-spacing: .01em
}

.lp-faq_list li dl dt:before {
    position: absolute;
    top: clamp(14px, 7.6px + 1.7vw, 28px);
    left: clamp(12px, 3.8px + 2.2vw, 30px);
    content: "Q.";
    font-family: var(--arial)
}

.lp-faq_list li dl dd {
    position: relative;
    padding-top: clamp(14px, 4.5px + 2.5vw, 35px);
    padding-right: clamp(30px, -1.8px + 8.5vw, 100px);
    padding-bottom: clamp(14px, 4.5px + 2.5vw, 35px);
    padding-left: clamp(37px, 22px + 4vw, 70px);
    background-color: #fff;
    font-size: clamp(14px, 10.8px + .8vw, 21px);
    line-height: 1.5;
    letter-spacing: .05em
}

.lp-faq_list li dl dd:before {
    position: absolute;
    top: clamp(14px, 4.5px + 2.5vw, 35px);
    left: clamp(12px, 3.8px + 2.2vw, 30px);
    content: "A.";
    color: var(--accent-color);
    font-weight: 700;
    font-family: var(--arial)
}

/* .lp-access */
.lp-access {
    position: relative;
    padding: min(14vw, 140px) 0 min(11vw, 110px);
}

.lp-access .lp-container {
    position: relative
}

.lp-access .lp-container:before {
    z-index: -1;
    position: absolute;
    top: max(-90px, -9vw);
    right: 9%;
    width: min(194px, 19.4vw);
    height: 100%;
    background-image: url(/wp-content/uploads/lp-bg-access.png);
    background-position: top;
    background-size: contain;
    background-repeat: no-repeat;
    content: "";
}

.lp-access .btn-wrapper {
    display: flex;
    row-gap: clamp(14px, 7.6px + 1.7vw, 28px);
    flex-direction: column;
    align-items: center
}

.lp-access_container {
    padding-top: clamp(15px, 3.6px + 3vw, 40px);
    padding-bottom: clamp(15px, 3.6px + 3vw, 40px);
    border-bottom: dotted 2px #57964e
}

.lp-access_container.line-none {
    border-bottom: none
}

.lp-access_container .lp-title_wrapper {
    text-align: center
}

.lp-access table {
    width: 62.5%;
    margin: min(60px, 6vw) auto;
}

.lp-access th {
    color: var(--main-color);
    font-size: min(2.4rem, 2.1vw);
    border-bottom: dotted 2px var(--main-color);
    width: 18%;
    box-sizing: border-box;
    text-align: right;
    vertical-align: middle;
    font-weight: 700;
    padding: min(35px, 3.5vw) 0;
}

.lp-access td {
    font-size: min(2.3rem, 2vw);
    border-bottom: dotted 2px var(--main-color);
    width: 82%;
    box-sizing: border-box;
    padding: min(35px, 3.5vw) 0 min(35px, 3.5vw) min(40px, 3vw);
    vertical-align: middle
}

.lp-access tr:last-child th,
.lp-access tr:last-child td {
    border: none
}

.lp-access_item-content {
    display: flex;
    justify-content: space-between;
    gap: 35px
}

.lp-access_list-img {
    width: 46%;
    height: auto
}


.lp-access_list-iframe iframe {
    width: 100%;
    height: 100%
}

.lp-access_list-iframe {
    width: 52%
}

.lp-access_item-address {
    line-height: 1.55;
    padding: 20px 0;
    font-size: 2rem
}

.lp-access_list {
    display: flex;
    flex-direction: column;
    gap: 55px;
    padding: 50px 0 0
}

.lp-access_container-title {
    padding-bottom: clamp(13px, 6.2px + 1.8vw, 28px);
    color: #57964e;
    font-weight: 700;
    font-size: clamp(15px, 10.9px + 1.1vw, 24px)
}

.lp-access_container-text {
    font-size: clamp(13px, 8.5px + 1.2vw, 23px);
    line-height: 2
}

.lp-access_group {
    display: inline-block;
    color: #57964e;
    text-decoration: underline
}

.lp-access_container-link {
    -moz-column-gap: 100px;
    display: flex;
    column-gap: 100px;
    row-gap: 30px;
    align-items: center;
    justify-content: center
}


.lp-access_container-link a {
    width: 100%;
    max-width: 487px
}

.lp-access_container-link a img {
    width: 100%
}

.lp-access_container-link a p {
    padding-top: clamp(14px, 12.2px + .5vw, 18px);
    color: #000;
    text-align: center
}

.pc {
    display: block
}

.sp {
    display: none
}

/* max-width: 900px
======================================================== */
@media screen and (max-width: 900px) {
    .lp-reason_location dd {
        row-gap: 30px;
        flex-direction: column
    }

    .lp-access_container-link {
        flex-direction: column
    }
}

/* max-width: 600px
======================================================== */

@media screen and (max-width: 600px) {
    .pc {
        display: none
    }

    .sp {
        display: block
    }

    .lp-container {
        padding-right: 15px;
        padding-left: 15px
    }

    .lp-title {
        font-size: 7.5vw;
    }

    .lp-reason .lp-title {
        font-size: 8vw;
    }

    .lp-title_sub {
        padding-bottom: 0;
        font-size: 4.2vw;
    }

    .lp-title .new-line {
        display: block
    }

    h3 {
        font-size: 4.4vw;
        padding: 2vw 3vw
    }

    .lp-title_greenline:after {
        bottom: 10px
    }

    .btn-contact a {
        justify-content: center;
        width: 100%;
        border-radius: 60px;
        padding: 0 6vw 0 28vw;
        height: 22vw;
        line-height: 1.1;
    }

    .btn-contact_text {
        left: 8vw;
        width: 15vw;
        height: 15vw;
        border-width: 1px;
        top: -1vw;
    }

    .btn-contact_tel {
        font-size: 7.5vw;
        padding: 0 0 .5vw;
    }

    .btn-contact_time {
        font-size: 2.9vw;
        text-align: left;
        font-weight: bold;
        width: 94%;
    }

    .btn-icon {
        font-size: 3.7vw;
        width: 48%;
        line-height: 1.2
    }

    .btn-green:after {
        right: calc(clamp(25px, -27.3px + 13.9vw, 140px) + 7px);
        border-top: 2px solid #ad987a;
        border-right: 2px solid #ad987a
    }

    .btn-green_line {
        border: solid 3px #56954d
    }

    .btn-green_line:after {
        right: calc(clamp(25px, -27.3px + 13.9vw, 140px) + 7px);
        border-top: 2px solid #fff;
        border-right: 2px solid #fff
    }

    /* 	.lp-header */
    .lp-header {
        padding: 0 1.5vw;
        height: 13vw;
    }

    .lp-header_site_icon {
        width: 11vw;
    }

    .lp-header_title {
        width: 42vw;
    }

    .lp-header_office_title {
        font-size: 2.8vw;
    }

    .lp-header_office_item {
        border-radius: 3px;
        font-size: 2.2vw;
        width: 19vw;
        border-width: 0.2vw;
    }

    .lp-header_company {
        font-size: 2.8vw;
        padding: .3vw 0 0
    }

    /* 	.lp-mainvisual */
    .lp-mainvisual {
        padding-top: 0;
        background-image: url(/wp-content/uploads/lp-bg-mainvisual_top-sp.png);
        background-position: center top;
        height: 175vw
    }

    .lp-mainvisual:after {
        height: 65vw;
    }

    .lp-mainvisual_left-container {
        width: 100%;
        padding: 0 0 2vw 0;
    }

    .lp-mainvisual_contact-title {
        font-size: 4vw;
        margin: 0 0 2vw
    }

    .lp-mainvisual_contact-title:before {
        width: 1px
    }

    .lp-mainvisual_contact-title:after {
        width: 1px
    }

    .lp-mainvisual_contact-title span:before {
        width: 1px;
        left: -2.5%
    }

    .lp-mainvisual_contact-title span:after {
        width: 1px;
        right: -2.5%
    }

    h1 {
        text-shadow: #fff 2px 0px 10px, #fff -2px 0px 7px, #fff 0px -2px 7px, #fff -2px 0px 7px, #fff 2px 2px 7px, #fff -2px 2px 7px, #fff 2px -2px 7px, #fff -2px -2px 7px, #fff 1px 2px 7px, #fff -1px 2px 7px, #fff 1px -2px 7px, #fff -1px -2px 7px, #fff 2px 1px 7px, #fff -2px 1px 7px, #fff 2px -1px 7px, #fff -2px -1px 7px, #fff 1px 1px 7px, #fff -1px 1px 7px, #fff 1px -1px 7px, #fff -1px -1px 7px;
        font-size: 12vw;
        display: block;
        line-height: 1.3
    }

    .lp-mainvisual_image {
        right: inherit;
        width: 100vw;
        top: 38vw;
        left: 50%;
        transform: translateX(-50%)
    }

    .lp-mainvisual_point-list {
        gap: 0;
        padding: 44vw 0 0;
        justify-content: space-between
    }

    .lp-mainvisual_point-item {
        width: 32%;
        font-size: 2.4vw
    }

    .lp-mainvisual_inner {
        width: 92%;
        height: auto;
    }

    .lp-mainvisual_contact {
        row-gap: 2vw;
        flex-direction: column
    }

    .lp-mainvisual_contact-btn {
        flex-direction: row;
        justify-content: space-between;
        width: 100%
    }

    .lp-mainvisual_contact-wrapper {
        width: 100%
    }

    .lp-mainvisual_contact-wrapper img {
        width: 95%;
        padding: 0 0 1vw
    }

    .lp-problem {
        padding-bottom: 15vw;
        background-image: url(/wp-content/uploads/lp-bg-problem_sp.png);
        clip-path: polygon(0 0, 100% 0, 100% 97%, 50% 100%, 0 97%);
    }

    .lp-problem_top {
        padding-top: 14vw
    }

    .lp-problem_top-inner {
        padding-bottom: 0
    }

    .lp-problem_bottom-risk {
        left: 0;
    }

    .lp-img-solution_title {
        width: 80%;
        margin: 4vw auto 0
    }

    .lp-problem_bottom-person {
        padding-top: 5vw
    }

    .lp-problem_bottom-text {
        padding: 3vw 0;
        width: 85%
    }

    .lp-solution_text {
        font-size: 4vw;
        border-width: 1px;
        line-height: 1.4;
        padding: 1vw 4vw
    }

    .lp-solution_office-list {
        flex-wrap: wrap;
        gap: 9vw;
        justify-content: center
    }

    .lp-solution_office-item {
        width: 75%
    }

    .lp-solution_office-title {
        font-size: 4vw;
        width: 75%
    }

    .lp-solution_office-place {
        font-size: 3.8vw;
        padding: 3vw 0 4vw;
        height: auto
    }

    .lp-solution {
        margin-top: -60vw;
        padding-top: 60vw;
        padding-bottom: 7vw
    }

    .lp-solution_name {
        display: inline-block;
        position: absolute;
        top: -30px;
        right: calc(50% - 120px);
        transform: translateX(50%);
        content: "";
        font-size: 10px;
        text-align: center
    }

    .lp-solution_name name {
        font-size: 12px
    }

    .lp-solution_company {
        font-size: 3.8vw;
        letter-spacing: .01em;
        padding: 0 0 4vw;
    }

    .lp-solution_text span {
        display: block
    }

    .lp-solution_title {
        margin-top: 2rem;
        text-align: center
    }

    .lp-solution_person {
        width: 75%;
        margin: 2vw auto 2vw
    }

    .lp-support_onestop_title {
        width: 83%
    }

    .lp-cta_contact {
        row-gap: 17px;
        flex-direction: column
    }

    .lp-cta_contact-text {
        margin-bottom: 3vw;
        padding-right: 5vw;
        padding-left: 5vw;
        font-size: 4vw;
    }

    .lp-cta_contact-text:before,
    .lp-cta_contact-text:after {
        width: 4vw;
        height: 4.6vw;
    }

    .lp-cta_contact-btn {
        flex-direction: row;
        justify-content: space-between;
        width: 100%
    }

    .lp-cta_contact-wrapper {
        width: 100%;
        max-width: 370px
    }

    .lp-support {
        padding: 10vw 0;
        background: repeating-linear-gradient(-45deg, #f5fee4, #f5fee4 4px, #edf6dd 3px, #edf6dd 7px)
    }

    .lp-support .lp-container:before {
        content: none
    }

    .lp-support_field:after {
        bottom: -4vw;
        left: 50%;
        width: 10vw;
        height: 5vw
    }

    .lp-support_list {
        row-gap: 3vw;
        flex-direction: column;
        width: 100%
    }

    .lp-support_list li {
        width: 100%;
        border-radius: 7px
    }

    .lp-support_title {
        white-space: nowrap
    }

    .lp-support_list li dl {
        padding: 4vw 5vw
    }

    .lp-support_list li dl dt {
        font-size: 5.2vw;
    }

    .lp-support_list li dl dd {
        font-size: 3.6vw;
    }

    .lp-support_field {
        padding: 8vw 7vw;
        border-radius: 7px;
    }

    .lp-icon-support {
        right: 9vw;
        top: -2vw;
        width: 10vw;
    }

    .lp-support_list li:nth-child(even) .lp-icon-support {
        left: 9vw;
        right: inherit
    }

    .lp-support_onestop_message span:nth-child(1) {
        display: inline-block;
        width: inherit;
        padding: 0 3vw
    }

    .lp-support_onestop_message span:nth-child(2) {
        padding: 0 3vw
    }

    .lp-support_onestop_message span:nth-child(3) {
        padding: 0 3vw
    }

    .lp-support_onestop_message {
        font-size: 7.5vw
    }

    /* .lp-reason */
    .lp-reason_list li {
        padding: 14vw 3vw
    }

    .lp-reason_list li dl {
        width: 100%
    }

    .lp-reason_list li dl dd {
        font-size: 4vw;
        line-height: 1.6;
    }

    .lp-reason_item_title {
        font-size: 6.2vw;
        line-height: 1.2;
    }

    .lp-reason_list li dl dt .new-line {
        display: block
    }

    .lp-reason_list li dl dt {
        padding: 4vw 0 3vw;
        font-size: 4.8vw;
        gap: 2vw;
    }

    .lp-reason_list li dl dd .small {
        display: block;
        font-size: 9px;
        text-align: right
    }

    .lp-reason_list-wrapper {
        flex-direction: column;
        padding: 0 3vw
    }

    .lp-reason_list-wrapper.reverse {
        flex-direction: column
    }

    .lp-reason_list-number {
        width: 14vw;
        height: 14vw;
        font-size: 6.5vw;
        border-width: 1px;
    }

    .reverse .lp-reason_list-number {
        right: auto;
        left: 0
    }

    .lp-reason_list-img {
        width: 95%;
        height: 50vw;
        margin: 0 auto
    }

    .lp-reason_list-img img {
        object-fit: cover;
    }

    /* .lp-voice */

    .lp-voice {
        padding: 16vw 0 13vw;
    }

    .lp-voice .lp-title_sub {
        padding-bottom: 3vw;

    }

    .lp-voice .lp-title_wrapper {
        padding-bottom: 8vw;
    }

    .lp-voice_list li dl dt {
        display: flex;
        column-gap: 4vw;
        line-height: 1.4
    }

    .lp-voice_list-img {
        width: 100%;
        max-width: 90px
    }

    .lp-voice_list-name {
        padding-top: 0
    }

    /* .lp-step */
    .lp-step_list {
        flex-direction: column;
        row-gap: 9vw
    }

    .lp-step_list li {
        -moz-column-gap: 10px;
        column-gap: 10px;
        flex-direction: row;
        align-items: flex-start;
        width: 100%;
        padding-right: 0;
        padding-left: 0
    }

    .lp-step_list li:first-child:before,
    .lp-step_list li:nth-child(3n+1):not(:first-child):before {
        left: calc(clamp(70px, -16.4px + 23vw, 260px)/2);
        width: 2px
    }

    .lp-step_list li:last-child:before,
    .lp-step_list li:nth-child(3n):not(:last-child):before {
        left: calc(clamp(70px, -16.4px + 23vw, 260px)/2);
        width: 2px
    }

    .lp-step_list li:before {
        top: 90%;
        left: calc(clamp(70px, -16.4px + 23vw, 260px)/2);
        width: 2px;
        height: 100%;
        transform: translateY(-50%);
        background-size: 2px 100%;
        background-repeat: repeat-y
    }

    .lp-step_list li:first-child:before {
        top: 100%;
        height: 100%
    }

    .lp-step_list li:last-child:before {
        top: 25%;
        height: 50%
    }

    .lp-step_list li dl {
        align-items: flex-start;
        width: 67%;
        padding-top: 2vw;
        padding-bottom: 0
    }

    .lp-step_list li dl dt {
        text-align: left;
        padding: 0 0 2vw
    }

    .lp-step_list li dl dd {
        line-height: 1.3
    }

    .lp-step_list-icon {
        border-width: 1px
    }

    .lp-step_list li:not(:last-child) .lp-step_list-icon:before {
        top: inherit;
        width: 1px;
        height: 36vw;
        transform: translateX(100%);
        background: var(--main-color);
        right: inherit;
        bottom: -50vw;
        transform: translateY(-50%);
        left: 50%
    }

    .lp-step_list-icon img {
        width: 50%
    }

    .lp-step_list-number {
        left: calc(clamp(25px, 4.5px + 5.5vw, 70px) - 30px)
    }

    .lp-faq:before {
        top: -30px;
        height: 30px
    }

    .lp-faq_list li dl {
        border-width: 1px
    }

    .lp-access .lp-container:before {
        top: -7vw;
        right: 3%;
        width: 27vw
    }

    .lp-access table {
        width: 95%;
        margin: 5vw auto 11vw
    }

    .lp-access th {
        font-size: 4vw;
        border: none;
        width: 100%;
        padding: 3vw 0 2vw;
        display: block;
        text-align: center;
        height: inherit
    }

    .lp-access td {
        font-size: 3.8vw;
        border-bottom-width: 1px;
        width: 100%;
        padding: 0;
        display: block;
        text-align: center;
        padding: 0 0 4vw
    }

    .lp-access td .new-line {
        display: block
    }

    .lp-access_item-content {
        gap: 4vw;
        flex-wrap: wrap-reverse;
        justify-content: center
    }

    .lp-access_list-img {
        width: 100%
    }

    .lp-access_list-iframe {
        width: 100%;
        height: 55vw
    }

    .lp-access_item-address {
        line-height: 1.4;
        padding: 3vw 0 5vw;
        font-size: 3.8vw
    }

    .lp-access_item-address span {
        display: block
    }

    .lp-access_list {
        gap: 11vw;
        padding: 8vw 0 0;
        width: 92%;
        margin: 0 auto
    }

    .lp-access_container .address {
        margin-left: 1.5em;
        text-indent: -1.5em
    }

    .lp-access_container-map iframe {
        width: 100%;
        height: 217px
    }
}