@charset "UTF-8";

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    margin-top: 0;
    padding: 0;
    font-family: "Inter", sans-serif;
    /* font-optical-sizing: auto;
    font-weight:normal;
    font-style: normal;
    font-variation-settings:"slnt" 0; */
}

/*---ボタン---*/
.rectbutton {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 40px;
    padding: 8px 24px;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    color: #fff;
    text-align: center;
    overflow-wrap: anywhere;
    background-color: #6fa24a;
    text-decoration: none;
}

@media (any-hover: hover) {
    .rectbutton {
        transition: background-color 0.2s;
    }

    .rectbutton:hover {
        background-color: #54802f;
    }
}

/*---ヘッダー---*/
#header {
    width: 100%;
    background-color: #E0E0E0;
    position: relative;
    top: 0;
    display: flex;
    align-items: center;
}

#header a {
    text-decoration: none;
}

#header h1 {
    align-items: center;
    display: flex;
    margin-right: auto;
    margin-left: auto;
}

#header ul {
    list-style: none;
    display: flex;
    align-items: center;
}

#header li {
    display: flex;
    margin: 0 0 0 15px;
}

header .nav-page {
    margin-left: 20px;
    display: flex;
    text-align: center;
    width: calc(100% / 3);
    color: #000000;
}

#header .nav-login {
    display: flex;
    width: calc(100% / 3);
    text-align: center;
    color: #6fa24a;
}

/*---Home---*/
#home {
    padding-top: 50px;
    width: 100%;
    height: 100%;
    margin: auto;
    display: flex;
    background-color: #E0E0E0;
    font-family: "Inter", sans-serif;
}

#home img {
    margin-left: 288px;
    margin-right: 288px;
}

#home li {
    list-style: none;
}

#home ul {
    margin-right: 288px;
    margin-left: 288px;
    text-align: left;
    align-items: center;
}

#home .toplist {
    width: auto;
    align-items: center;
    text-align: left;
    padding-bottom: 50px;
}

#home .titleblack {
    color: #000000;
    font-size: 44.5px;
    font-weight: bold;
}

#home .titlegreen {
    color: #6fa24a;
    font-size: 44.5px;
    font-weight: bold;
}

#home .text {
    color: #000000;
}

#home .img {
    width: auto;
    align-items: center;
    margin-right: 100px;
    margin-left: -50px;
}

/*--client--*/
#client {
    text-align: center;
    align-items: center;
    padding-bottom: 50px;
}

#client .list {
    list-style: none;
}

#client .text {
    align-items: center;
    text-align: center;
    color: #000000;
    font-size: 30px;
    font-weight: 700;
}

#client .description {
    align-items: center;
    text-align: center;
    color: #636161;
}

#client .images {
    list-style: none;
    display: flex;
    margin-right: 288px;
    margin-left: 288px;
    align-items: center;
    justify-content: space-between;
}

/*--description--*/
#description {
    text-align: center;
    align-items: center;
}

#description li {
    list-style: none;
}

#description .title {
    align-items: center;
    text-align: center;
    color: #000000;
    font-size: 30px;
    font-weight: 700;
}

#description .text {
    align-items: center;
    text-align: center;
    color: #636161;
}

#description .images {
    list-style: none;
    display: flex;
    margin-right: 288px;
    margin-left: 400px;
    align-items: center;
    justify-content: space-between;
}

#description .list {
    margin-right: 288px;
    margin-left: 288px;
    display: flex;
    width: auto;
    align-items: center;
    text-align: left;
    padding-bottom: 50px;
}

#description .illust {
    margin-right: 100px;
    margin-left: -50px;
    width: 500px;
}

#description h3 {
    align-items: center;
    text-align: left;
    width: auto;
    color: #000000;
    font-size: 43px;
    font-weight: 700;
}

#description h4 {
    align-items: center;
    text-align: left;
    width: auto;
    color: #636161;
    font-weight: normal;
}

/*---numbers---*/
#numbers {
    background-color: #E0E0E0;
    padding-top: 50px;
    padding-bottom: 50px;
}

#numbers .contents {
    display: flex;
    align-items: center;
}

#numbers .textlist {
    width: calc(100% / 2);
    list-style: none;
    margin-left: 288px;
}

#numbers .text-black {
    font-size: 30px;
    font-weight: 700;
    color: #000000;
    text-align: left;
}

#numbers .text-green {
    font-size: 43px;
    font-weight: 700;
    color: #6fa24a;
    text-align: left;
}

#numbers .smalltext {
    text-align: left;
    color: #636161;
    font-weight: normal;
}

#numbers .number {
    width: calc(100% / 2);
    margin-right: 288px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}

#numbers .numbertext {
    font-size: 30px;
    font-weight: 700;
    color: #000000;
    text-align: left;
}

#numbers .numberinfo {
    text-align: left;
    color: #636161;
    font-weight: normal;
    font-size: 20px;
}

#numbers .iconlist {
    margin: 0;
    width: 300px;
    height: 150px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    text-align: left;
    justify-content: space-between;
    list-style: none;
}

#numbers .icon {
    margin-top: 10px;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
    align-items: center;
}

#numbers p {
    margin: auto;
}

#numbers h3 {
    margin: auto;
    font-size: 20px;
}

#numbers h2 {
    font-size: 43px;
    font-weight: 700;
    color: #000000;
    text-align: left;
}

#numbers img {
    transform: translateY(-10px);
}

/*---howto---*/
#howto {
    background-color: #ffffff;
}

#howto {
    text-align: center;
    align-items: center;
}

#howto li {
    list-style: none;
}

#howto .title {
    align-items: center;
    text-align: center;
    color: #000000;
    font-size: 30px;
    font-weight: 700;
}

#howto .text {
    align-items: center;
    text-align: center;
    color: #636161;
}

#howto .list {
    margin-right: 288px;
    margin-left: 288px;
    display: flex;
    width: auto;
    align-items: center;
    text-align: left;
    padding-bottom: 50px;
}

#howto .illust {
    margin-left: -50px;
    margin-right: 100px;
    width: 500px;
}

#howto h3 {
    align-items: center;
    text-align: left;
    width: auto;
    color: #000000;
    font-size: 43px;
    font-weight: 700;
}

#howto h4 {
    align-items: center;
    text-align: left;
    width: auto;
    color: #636161;
    font-weight: normal;
}

/*---testimonial---*/
#testimonial {
    background-color: #E0E0E0;
    padding-top: 50px;
    padding-bottom: 50px;
}

#testimonial .pic {
    margin-left: 280px;
    margin-right: 50px;
}

#testimonial ul {
    display: flex;
    list-style: none;
    margin-right: 100px;
    flex-wrap: wrap;
}

#testimonial img {
    padding-right: 50px;
}

#testimonial .lineheight {
    line-height: 30px;
    align-items: center;
}

#testimonial .name {
    font-size: 20px;
    color: #6fa24a;
}

#testimonial .companyname {
    color: #a3a3a3;
}

#testimonial .companies {
    width: calc(100% / 2);
    text-align: left;
    align-items: center;
}

#testimonial p{
    color: #6fa24a;
    text-decoration: none;
}

#testimonial .link {
    font-size: 20px;
    font-weight: 700;
    color: #6fa24a;
    text-align: right;
    align-items: center;
}

#testimonial a {
    text-decoration: none;
}

/*---news---*/
#news {
    width: auto;
    padding-top: 30px;
    margin-right: 280px;
    margin-left: 230px;
}

#news .title {
    align-items: center;
    text-align: center;
    width: auto;
    color: #000000;
    font-size: 43px;
    font-weight: 700;
}

#news .text {
    width: 650px;
    text-align: center;
    margin: 0 auto;
    line-height: 30px;
    padding-bottom: 30px;
}

#news ul {
    list-style: none;
}

#news .image {
    width: auto;
    margin-left: 40px;
    align-items: center;
    display: flex;
    justify-content: space-between;
}

#news .background {
    padding-top: -100px;
    margin-top: -100px;
    transform: translateY(-100px);
    transform: translateX(10px);
}

#news .description {
    width: 250px;
    transform: translate(59px, -140px);
    margin-top: -0px;
    align-items: center;
    display: flex;
    text-align: center;
    justify-content: space-between;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    line-height: 25px;
}

#news .descriptionsize {
    width: 200px;
}

#news .link {
    font-size: 20px;
    font-weight: 700;
    color: #6fa24a;
    text-align: right;
    align-items: center;

    padding-left: 0%;
    margin-left: 150px;
    margin-right: 250px;
    transform: translate(59px, -150px);
    margin-top: -30px;
    align-items: center;
    display: flex;
    text-align: center;
    justify-content: space-between;
    top: 0;
    left: 0;
}
#news a{
    text-decoration: none;
    color: #6fa24a;
}

/*---faq---*/
#faq {
    align-items: center;
    text-align: center;
    background-color: #E0E0E0;
    padding-bottom: 30px;
}

#faq .text {
    width: 900px;
    align-items: center;
    text-align: center;
    width: auto;
    color: #000000;
    font-size: 55px;
    font-weight: 700;
}

#faq a {
    padding-top: -20px;
    margin: auto;
    align-items: center;
}

/*---footer---*/
#footer {
    height: 100%;
    background-color: #003a42;
    background-size: auto;
    color: #fff;
    padding: 2rem;
    font-size: 15px;
}

input {
    float: left;
    width: 100%;
    max-width: 100%;
    border: none;
    margin: 0.5rem 0;
    padding: 0.5rem 1rem;
    border-radius: 0.3rem;
    background: darken(#f9f9f9, 10%);
    color: darken(#f9f9f9, 50%);
}

#footer .grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem;
    margin-bottom: 1.5rem;
}

#footer .icons{
    width: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    list-style: none;
}

#footer a {
    text-decoration: none;
    color: #ffffff;
}

#footer .footer__navi-heading {
    font-weight: 600;
}

#footer .footer__logo {
    display: inline-block;
    margin-bottom: 1.5rem;
}

#footer .footer__navi li {
    margin-bottom: 0.75rem;
    text-decoration: none;
    color: #ffffff;
}

#footer .footer__address {
    margin-bottom: 2rem;
}

#footer .footer__address a {
    text-decoration: underline;
}

@media (min-width: 768px) {
    .md-flex {
        margin-right: 288px;
        margin-left: 288px;
        display: flex;
    }

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

    .grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .footer__address a {
        text-decoration: none;
        pointer-events: none;
    }
}

@media (min-width: 1024px) {
    .lg-flex {
        display: flex;
        margin-right: 288px;
        margin-left: 288px;
    }
}