@font-face {
    font-family: 'Afacad';
    src: url('./fonts/Afacad-Regular.woff') format('woff');
    font-display: swap;
    font-weight: 400;
}

@font-face {
    font-family: 'Afacad';
    src: url('./fonts/Afacad-Medium.woff') format('woff');
    font-display: swap;
    font-weight: 500;
}

@font-face {
    font-family: 'Afacad';
    src: url('./fonts/Afacad-Bold.woff') format('woff');
    font-display: swap;
    font-weight: 700;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 56px;
    font-size: 62.5%;
}

body {
    color: #303030;
}

p {
    font-size: 2rem;
    line-height: 2;
}

img,
video {
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: bottom;
    width: 100%;
}

section {
    overflow: hidden;
}

.flex {
    justify-content: space-between;
}

.wrap {
    max-width: 1080px;
    margin: auto;
}

.c_lp {
    color: #00B5B8;
}

.ttl {
    margin: 0 0 60px;
    text-align: center;
}

.en_txt {
    font-family: "Afacad", sans-serif;
    font-weight: 500;
    font-size: 2rem;
    line-height: 1;
    margin: 0 auto 20px;
    position: relative;
}

.en_txt::before {
    content: "●";
    color: #00B5B8;
    padding: 0 1% 0 0;
}

.ttl h2 {
    font-size: 3.6rem;
}

header {
    top: 40px;
    width: 100%;
    z-index: 99;
    background-color: transparent;
    height: 56px;
    max-width: 1320px;
    background: #fff;
    padding: 1rem 2%;
}

header .flex {
    align-items: center;
}

header ul.flex {
    width: 100%;
    justify-content: right;
}

header nav.flex {
    width: 70%;
}

header img {
    max-width: 150px;
    padding: 0;
}

header li {
    margin: 0 1.5%;
}

header li:last-child {
    margin-right: 0;
}

header li a {
    font-weight: 600;
    letter-spacing: normal;
    font-size: 1.4rem;
    color: #303030;
}

header li a.lp_cta {
    color: #fff;
    background: #F06292;
    padding: 1.5rem 2rem;
    border-radius: 7px;
    display: block;
    text-align: center;
    font-family: "NotoSansJP", sans-serif;
    border: solid 1px #F06292;
}

header li a.lp_cta:hover,
.btns:hover,
#contact .submit .btn:hover {
    background: #fff;
    color: #F06292;
    opacity: 1;
}

nav a:before {
    display: none;
}

.lp_mv {
    padding: 150px 0 50px;
    background: url(./img/lp/mv_bg.jpg) no-repeat center/cover;
}

.lp_mv .wrap {
    max-width: 1130px;
}

.mv_l {
    width: 45%;
}

.mv_l h1 {
    font-size: 5rem;
    line-height: 1.6;
    letter-spacing: .2rem;
    font-weight: 600;
}

.mv_l h1 span {
    font-weight: 700;
}

.mv_l p {
    font-size: 1.7rem;
    margin: 20px 0 30px;
}

.mv_l a {
    margin: 0;
}

.mv_point {
    display: block;
    width: 65%;
    min-width: 300px;
    margin: 60px auto 30px;
}

.btns {
    font-size: 1.8rem;
    font-weight: 600;
    padding: 2.5rem 0;
    display: block;
    width: 320px;
    min-width: 300px;
    text-align: center;
    color: #fff;
    background: #F06292;
    box-shadow: 0 4px 20px rgba(0, 181, 184, .4);
    position: relative;
    border-radius: 12px;
    margin: auto;
    border: solid 1px #F06292;
}

.btns::after {
    content: "";
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2rem;
    height: 1rem;
    background: url(./img/lp/arrow.png) no-repeat center/contain;
}

.mv_r {
    width: 55%;
}

.lp_mv small {
    display: block;
    width: fit-content;
    margin: auto;
    font-size: 1.4rem;
    line-height: 1.7;
}

.logo_list {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

.logo_list .flex {
    align-items: center;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0 auto;
}

.logo_list p {
    text-align: center;
    padding: 5px 0 20px;
    font-weight: 600;
    font-size: 1.6rem;
}

.logo_wrap {
    position: relative;
    display: flex;
    width: 100%;
    overflow: hidden;
}

.logo_wrap ul {
    width: 100vw;
    flex-shrink: 0;
}

.logo_wrap li {
    display: inline-block;
    width: 100%;
    text-align: center;
    margin: 0 1%;
}

.logo_wrap ul:first-child {
    animation: slide1 60s -30s linear infinite;
}

.logo_wrap ul:last-child {
    animation: slide2 60s linear infinite;
}

li.el_logo {
    margin: 0 -1.5%;
}

.el_logo img {
    width: 55%;
    margin: 0 auto;
    display: block;
}

.ns_logo img {
    width: 80%;
    margin: 0 auto;
    display: block;
}

.s_item {
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.s_item label {
    font-size: 2rem;
    font-weight: 600;
    width: 50%;
}

.s_item input {
    box-sizing: border-box;
    border: solid 1px #DFDFDF;
    border-radius: 8px;
    font-size: 1.8rem;
    width: 100%;
    padding: 10px;
    min-height: 40px;
    background-color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.select_wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.custom_select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 1rem;
    font-size: 1.8rem;
    border: 1px solid #DFDFDF;
    border-radius: 8px;
    background-color: #fff;
    box-sizing: border-box;
    position: relative;
    color: #1E1E1E;
}

.select_wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20%;
    transform: translateY(-50%);
    pointer-events: none;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml;utf8,<svg fill='gray' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>") no-repeat center;
    background-size: contain;
}

.contact_lp .custom_select {
    width: fit-content;
}

.s_item div {
    width: 50%;
    display: flex;
    align-items: center;
}

.simulator {
    margin: 50px auto 0;
    max-width: 680px;
}

.s_item small {
    font-size: 1.6rem;
    display: block;
    width: 20%;
    text-align: center;
}

.s_item button {
    display: block;
    color: #fff;
    background: #343434;
    min-width: 230px;
    width: 270px;
    padding: 1.5rem 0;
    font-size: 1.6rem;
    border-radius: 8px;
    margin: 40px auto 30px;
    font-weight: 600;
    cursor: pointer;
    border: solid 1px #343434;
    transition: .25s;
}

.s_item button:hover {
    color: #343434;
    background: #fff;
}

#result {
    margin-top: -100px;
    padding-top: 100px;
}

.s_result p {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 40px;
}

.s_result p strong {
    color: #00B5B8;
    font-size: 5.2rem;
    padding: 0 2%;
    position: relative;
}

.s_result p strong::after {
    content: "";
    position: absolute;
    bottom: .1rem;
    left: 0;
    width: 100%;
    height: 2px;
    background: #303030;
}

.simulator .btns {
    width: 340px;
}

@keyframes slide1 {
    0% {
        transform: translateX(100%);
    }

    to {
        transform: translateX(-100%);
    }
}

@keyframes slide2 {
    0% {
        transform: translateX(0);
    }

    to {
        transform: translateX(-200%);
    }
}

.s_result {
    opacity: 0;
    transition: opacity 0.8s ease;
    display: none;
}

.s_result.show {
    opacity: 1;
}

#simulation {
    padding: 80px 0;
    background: #ECF2F3;
    position: relative;
    z-index: 0;
    overflow: visible;
}

#simulation::before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 50px 0 50px;
    border-color: #ECF2F3 transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}

#simulation p {
    text-align: center;
    font-size: 1.8rem;
}

#solutions {
    padding: 100px 0 150px;
}

.recommend {
    margin: 0 0 50px;
}

.recommend p {
    font-size: 2.7rem;
    font-weight: 600;
    text-align: center;
}

.recommend ul {
    margin: 50px auto 70px;
    width: fit-content;
}

.recommend ul li {
    font-size: 3rem;
    font-weight: 700;
    margin: 0 0 40px;
    padding: 0 0 10px;
    position: relative;
    border-bottom: solid 2px #00B5B8;
}

.recommend ul li::before {
    content: "";
    position: absolute;
    left: -8%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 3rem;
    height: 3rem;
    background: url(./img/lp/check.png) no-repeat center/contain;
}

.result h3 {
    font-size: 1.8rem;
    color: #00B5B8;
    border-radius: 8px;
    border: solid 1px #00B5B8;
    padding: 1rem 3rem;
    width: fit-content;
    margin: 100px auto 0;
}

.result ul {
    margin: 50px 0 40px;
}

.result ul li {
    width: 27%;
    border: solid 1px #fff;
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(0, 181, 184, .4);
    padding: 20px 2% 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
}

.result h4 {
    color: #fff;
    background: #00B5B8;
    border-radius: 8px;
    padding: 3px 0;
    font-weight: 600;
    font-size: 2.4rem;
    margin: 0 0 20px;
}

.value {
    display: flex;
    align-items: center;
    flex-grow: 1;
    justify-content: space-between;
}

.value p {
    color: #00B5B8;
    line-height: 1;
    font-weight: 600;
    width: 85%;
}

.value p strong {
    font-size: 10rem;
    font-weight: 600;
    font-style: italic;
}

.value p:nth-of-type(1) {
    font-size: 2.5rem;
    width: 15%;
}

.value p small {
    font-size: 4rem;
}

.value p span {
    display: block;
    font-size: 2rem;
    margin: 1rem 0 0;
}

.result ul li:nth-child(2) span {
    margin: 0;
    display: unset;
}

.result ul li:nth-child(2) p small {
    font-size: 3.5rem;
}

.result ul li:nth-child(2) p small:nth-of-type(1) {
    margin: 0 0 10%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.attention {
    text-align: end;
    font-size: 1.4rem;
}

#flow {
    padding: 0 0 100px;
}

#flow ul {
    margin: 90px 0 0;
}

#flow ul li {
    border-bottom: solid 1px #DCDCDC;
    padding: 0 0 40px;
    margin: 0 0 40px;
}

#flow ul li:nth-child(even) {
    flex-direction: row-reverse;
}

#flow ul li:last-child {
    border: none;
}

.flow_l {
    width: 100%;
    margin: 0 0 30px;
}

.flow_l h3 {
    font-size: 2.5rem;
    margin: 0 0 40px;
}

.flow_r {
    width: 100%;
}

.flow_r video {
    border-radius: 7px;
}

.lp_cta {
    padding: 60px 0;
    text-align: center;
    background: url(./img/lp/cta_bg.jpg) no-repeat center/cover;
}

.lp_cta h2 {
    color: #fff;
    font-size: 2.4rem;
    letter-spacing: .3rem;
}

.lp_cta p {
    color: #fff;
    width: fit-content;
    margin: 30px auto 20px;
    position: relative;
    font-size: 1.4rem;
    font-weight: 600;
}

.lp_cta p::before {
    content: "";
    position: absolute;
    left: -20%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2rem;
    height: 3rem;
    background: url(./img/lp/cta_l.png) no-repeat center/contain;
}

.lp_cta p::after {
    content: "";
    position: absolute;
    right: -20%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 2rem;
    height: 3rem;
    background: url(./img/lp/cta_r.png) no-repeat center/contain;
}

#reason {
    padding: 100px 0;
}

#reason ul li {
    width: 20%;
    text-align: center;
    padding: 30px 1% 50px;
    border-radius: 16px;
    box-shadow: 8px 8px 18px rgba(0, 181, 184, .4);
}

#reason ul li img {
    max-width: 40%;
    margin: auto;
}

#reason ul li h3 {
    font-size: 2rem;
    margin: 20px 0;
}

#reason ul li p {
    font-size: 1.6rem;
}

.case_area {
    position: relative;
    z-index: 1;
    margin: 0 0 0 auto;
    max-width: 85%;
    background: #EDEDED;
    border-radius: 20px 0 0 20px;
    padding: 0 0 10px;
}

#case .slick-dotted.slick-slider {
    padding: 40px 0 100px;
}

#case .slick-prev,
#case .slick-next {
    top: 90%;
    bottom: 0;
    z-index: 10;
}

#case .slick-prev {
    left: 5%;
}

#case .slick-next {
    right: auto;
    left: 15%;
}

#case .slick-prev:before {
    background: no-repeat center / contain url(./img/lp/prev.png);
    content: "";
    width: 10rem;
    height: 4.4rem;
    display: block;
    opacity: 1;
}

#case .slick-next:before {
    background: no-repeat center / contain url(./img/lp/next.png);
    content: "";
    width: 10rem;
    height: 4.4rem;
    display: block;
    opacity: 1;
}

#case .slick-dots li button:before {
    color: #000;
    opacity: .5;
    font-size: 10px;
}

#case .slick-dots li.slick-active button:before {
    color: #00B5B8;
    opacity: 1;
}

.case_area .slick-dots {
    bottom: 5% !important;
}

.case_cont {
    margin: 0 .9% 0 .1%;
    position: relative;
}

.case_cont img {
    border-radius: 15px;
}

.case_cont h3 {
    font-size: 1.8rem;
    margin: 10px 0;
}

.case_cont small {
    font-size: 1.4rem;
    display: block;
    padding: 0 0 10px;
    font-weight: 600;
}

.case_cont p {
    font-size: 1.7rem;
    padding: 10px 0 0;
    line-height: 1.6;
    border-top: solid 2px #D0D0D0;
}

#price {
    padding: 100px 0;
}

#price p {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
}

#price table {
    border-collapse: collapse;
    margin: 60px 0 0;
}

#price table th,
#price table td {
    font-size: 2rem;
    vertical-align: middle;
    padding: 10px 0;
    border-bottom: solid 1px #808080;
}

#price table tr:nth-child(2) th,
#price table tr:nth-child(2) td {
    border: none;
}

#price table th {
    text-align: center;
    color: #fff;
    background: transparent;
    width: 30%;
}

#price table th div {
    background: #343434;
    border-radius: 8px;
    padding: 2rem 0;
}

#price table th small {
    font-size: 1.6rem;
    display: block;
}

#price table td {
    padding: 0 0 0 3%;
    font-weight: 600;
}

#price td span {
    background: #E8E8E8;
    border-radius: 8px;
    padding: 1.2rem 3%;
}

#faq {
    padding: 100px 0 60px;
}

#faq ul li {
    background: #F9F9F9;
    border: solid 1px #CFCFCF;
    margin: 0 0 20px;
    border-radius: 10px;
    padding: 0 3%;
}

.toggle {
    display: none;
}

.question {
    font-size: 2.3rem;
    line-height: 1.4;
    position: relative;
    display: block;
    font-weight: 700;
    padding: 30px 5%;
    cursor: pointer;
}

.question::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 35px;
    height: 35px;
    background: no-repeat center / contain url(./img/lp/faq_plus.png);
}

.question span {
    font-size: 3.4rem;
    font-weight: 600;
    color: #00B5B8;
    position: absolute;
    top: 20%;
    bottom: 0;
    left: 0;
    font-family: "Afacad", sans-serif;
}

input,
select {
    vertical-align: middle;
}

.answer {
    max-height: 0;
    overflow: hidden;
    position: relative;
    padding: 0 5%;
}

.answer span {
    font-size: 3.4rem;
    font-weight: 600;
    color: #FF92D0;
    position: absolute;
    top: 0;
    left: 0;
    font-family: "Afacad", sans-serif;
}

.toggle:checked+.question+.answer {
    max-height: 1800px;
    transition: all 1.5s;
}

.answer p {
    font-size: 2rem;
    line-height: 1.6;
    margin: 0 0 40px;
}

#contact {
    background: #F4F4F4;
    padding: 100px 0;
}

footer {
    padding: 60px 0 30px;
    background: #343434;
}

#contact ul {
    max-width: 900px;
    margin: auto;
}

#contact ul li {
    margin: 0 0 30px;
}

#contact ul li p {
    margin: 0 0 10px;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 600;
}

#contact ul li p .must {
    color: #dc3232;
    font-size: 1.2rem;
}

#contact ul li input,
#contact ul li textarea,
#contact ul li select {
    width: 100%;
    border: solid 1px #DFDFDF;
    border-radius: 8px;
    font-size: 1.6rem;
    padding: 10px;
}

#contact ul li input,
#contact ul li select {
    height: 40px;
}

#contact ul li select {
    max-width: 300px;
}

#contact .submit .btn {
    min-width: 280px;
    display: block;
    margin: 30px auto 0;
    cursor: pointer;
    background: #F06292;
    border: solid 1px #F06292;
    border-radius: 12px;
    padding: 2.4rem 1rem;
    width: 30%;
}

#contact .submit {
    text-align: center;
}

#contact .submit .wpcf7-list-item {
    margin: 0;
}

#contact .spam1 {
    top: 0px;
}

#contact.confirm_page {
    padding: 180px 0 130px;
}

#contact.confirm_page th,
#contact.confirm_page td {
    padding: 1.5rem;
    font-size: 1.8rem;
}

#contact .submit .wpcf7-previous {
    background: #343434;
    border: solid 1px #343434;
    color: #fff;
}

#contact .submit .wpcf7-previous:hover {
    background: #fff;
    color: #343434;
}

.isms {
    margin: 0 0 30px;
}

.corporate p {
    font-size: 14px;
    margin: 20px 0 10px;
}



@media screen and (min-width: 1650px) {
    .logo_list li {
        margin: 0 2%;
    }

    li.el_logo {
        margin: 0;
    }
}

@media screen and (min-width: 2100px) {
    .logo_list li {
        margin: 0 2.5%;
    }

    li.el_logo {
        margin: 0 1%;
    }

    .case_area {
        margin: auto;
        max-width: 1080px;
        border-radius: 20px;
    }
}

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

    header {
        max-width: 93%;
    }

    header li {
        margin: 0 1%;
    }

    header nav.flex {
        width: 90%;
    }

    header img {
        max-width: 130px;
        padding: 0 0 0 10%;
    }
}

@media screen and (max-width: 1200px) {
    html {
        font-size: 58%;
    }

    .lp_mv .wrap,
    .wrap {
        max-width: 93%;
    }

    .mv_l h1 {
        font-size: 3.6rem;
    }

    .lp_mv {
        padding: 100px 0 50px;
    }

    .mv_point {
        width: 85%;
        margin: 60px auto 30px;
    }

    .ttl h2 {
        font-size: 3rem;
    }

    .recommend ul li {
        font-size: 2.5rem;
        margin: 0 0 30px;
    }

    .result h4 {
        font-size: 2rem;
    }

    .value p strong {
        font-size: 7rem;
    }

    .value p small,
    .result ul li:nth-child(2) p small {
        font-size: 3rem;
    }

    .value p span {
        font-size: 1.6rem;
    }

    .value p:nth-of-type(1) {
        font-size: 2rem;
    }

    .case_area {
        margin: 0 auto;
        max-width: 100%;
        border-radius: 0;
    }

    #case .slick-next {
        left: 20%;
    }
}

@media screen and (max-width: 980px) {
    header nav.flex {
        width: auto;
    }

    .sp-menu {
        background-color: #ECF2F3;
        position: absolute;
        top: 56px;
        width: 100%;
        right: 0;
        height: 100vh;
        z-index: 999;
        transform: scaleY(0);
        transform-origin: top right;
        transition: transform 0.3s ease-in-out;
    }

    .menu-btn:checked~.sp-menu {
        transform: scaleY(1);
    }

    .menu-icon {
        cursor: pointer;
        width: 80px;
        height: 68px;
        display: inline-block;
        position: relative;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 0;
    }

    .navicon,
    .close-icon {
        background: #303030;
        display: block;
        height: 2px;
        width: 20px;
        position: relative;
        margin: 0 auto;
        top: 35px;
        z-index: 99999;
    }

    .menu-btn {
        display: none;
    }

    .navicon::before {
        content: "";
        display: block;
        height: 100%;
        width: 100%;
        bottom: 9px;
        position: absolute;
        background: #303030;
        transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    }

    .navicon::after {
        content: "";
        display: block;
        height: 100%;
        width: 100%;
        top: 9px;
        position: absolute;
        background: #303030;
        transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
    }


    .menu-btn:checked~.menu-icon .close-icon:before,
    .menu-btn:checked~.menu-icon .close-icon:after {
        background: #303030;
    }

    .sp-menu li {
        position: relative;
        margin: 5px 30px;
        padding-bottom: 10px;
        text-align: left;
        border-bottom: solid 1px #303030;
    }

    .sp-menu li:last-child {
        margin: 5px 30px;
    }

    .sp-menu a {
        padding-left: 20px;
        font-weight: 600;
        height: 45px;
        line-height: 3.2;
        display: flex;
        border-radius: 50px;
        width: 100%;
        font-size: 18px;
        background-color: unset;
        color: #343434;
    }

    .sp-menu li::before {
        display: none;
    }

    header {
        top: 0;
        border-radius: 0;
        max-width: 100%;
        padding: 0;
    }
}

@media screen and (max-width: 850px) {
    .slick-arrow {
        display: block !important;
    }
}

@media screen and (max-width: 780px) {
    html {
        font-size: 62.5%;
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .logo_wrap ul {
        width: 180vw;
    }

    .logo_list li {
        margin: 0 .5%;
    }

    .ns_logo img {
        width: 100%;
    }

    .lp_mv {
        background: url(./img/lp/mv_bg.jpg) no-repeat right / cover;
    }

    .mv_l {
        width: fit-content;
        margin: auto;
    }

    .mv_l p {
        margin: 10px 0 20px;
    }

    .mv_r {
        width: 100%;
    }

    .lp_mv .flex {
        flex-direction: column-reverse;
    }

    .mv_l a {
        margin: auto;
    }

    .btns {
        font-size: 1.6rem;
        max-width: 250px;
        min-width: auto;
        padding: 1.5rem 0;
    }

    .mv_point {
        width: 100%;
        margin: 40px auto 30px;
    }

    .mv_l h1 {
        font-size: 3.2rem;
    }

    .ttl h2 {
        font-size: 2.5rem;
    }

    .en_txt {
        font-size: 1.6rem;
        margin: 0 auto 10px;
    }

    .s_item label {
        font-size: 1.8rem;
        width: 100%;
        margin: 0 0 10px;
    }

    .s_item div {
        width: 100%;
    }

    .ttl {
        margin: 0 0 40px;
    }

    .s_item input,
    .s_item select {
        font-size: 1.6rem;
        min-height: 25px;
    }

    #simulation {
        padding: 60px 0;
    }

    .recommend ul {
        margin: 30px auto 70px;
    }

    .recommend ul li {
        font-size: 1.6rem;
        margin: 0 0 20px;
    }

    .recommend ul li::before {
        width: 2rem;
        height: 2rem;
    }

    .recommend p {
        font-size: 2.1rem;
        line-height: 1.7;
    }

    .result h3 {
        margin: 60px auto 0;
    }

    .result ul {
        margin: 40px 0 10px;
    }

    .result ul li {
        width: 100%;
        margin: 0 0 30px;
    }

    .value p strong {
        font-size: 7rem;
    }

    #flow {
        padding: 0 0 40px;
    }

    .lp_cta h2 {
        font-size: 2rem;
    }

    #reason {
        padding: 70px 0;
    }

    #reason ul li {
        width: 48%;
        margin: 0 0 20px;
        padding: 20px 0 30px;
    }

    #reason ul li p {
        font-size: 1.3rem;
    }

    #reason ul li h3 {
        font-size: 1.8rem;
        margin: 20px 0 10px;
    }

    .slick-arrow {
        display: none !important;
    }

    #case .slick-dotted.slick-slider {
        padding: 40px 0 50px;
    }

    .case_cont {
        margin: 0 .3%;
    }

    #price p {
        font-size: 1.6rem;
    }

    #price table th,
    #price table td {
        font-size: 1.6rem;
    }

    #price table th small {
        font-size: 1.3rem;
    }

    #price table td {
        text-align: center;
        padding: 10px 0 10px 3%;
    }

    #price td span {
        padding: 1.2rem 0%;
        display: block;
        text-align: center;
    }

    .question {
        font-size: 1.4rem;
        padding: 20px 5% 20px 8%;
    }

    .question span {
        font-size: 2.5rem;
    }

    .question::after {
        width: 20px;
        height: 20px;
    }

    .answer span {
        font-size: 2.5rem;
        top: -5%;
    }

    .answer p {
        font-size: 1.4rem;
        margin: 0 0 30px;
    }

    #faq {
        padding: 60px 0 60px;
    }

    #contact ul li input,
    #contact ul li textarea,
    #contact ul li select {
        width: 90%;
    }

    #contact ul li p {
        font-size: 1.6rem;
    }

    #simulation p {
        font-size: 1.6rem;
    }

    .s_result p strong {
        font-size: 4rem;
    }

    .simulator a.btns {
        width: 320px;
        max-width: unset;
    }

    .flow_l h3 {
        font-size: 2.2rem;
        margin: 0 0 20px;
    }

    .flow_l p {
        font-size: 1.6rem;
        line-height: 1.6;
    }

    #contact.confirm_page {
        padding: 120px 0 130px;
    }

    .result ul li:nth-child(2) p small:nth-of-type(1) {
        margin: 0 0 10px;
    }

    .value p small,
    .result ul li:nth-child(2) p small {
        font-size: 2.5rem;
    }

    .s_item {
        margin: 0 auto 20px;
        max-width: 260px;
    }
}

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

    .contact th,
    .contact td {
        width: 90%;
        display: block;
    }
}