body {
    margin: 0 auto;
    background-color: #ffffff;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif,Arial;
}

/* -----------------------------
text style
----------------------------- */
h1 {
    font-size: 48px;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.4;
    padding: 16px 0 24px 0;
    text-align: left;
}

h3 {
    font-weight: bold;
    font-size: 24px;
    color: #005660;
    line-height: 1.4;
}

.bold {
    font-weight: bold;
    span {
      background: linear-gradient(transparent 60%, #FFFE03 60%);
    }
}

p {
    font-size: 18px;
    line-height: 1.4;
    color: #333333;
}

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

a:hover {
    text-decoration: underline;
    font-weight: bold;
}

.contents-title {
    text-align: center;

    p {
        font-size: 16px;
        font-weight: bold;
        color: #005660;
        position: relative;
        text-align: center;
    }

    p::before {
        position: absolute;
        left: 50%;
        bottom: -4px;
        content: "";
        background-color: #005660; 
        border-radius: 5px;
        height: 3px;
        transform: translateX(-50%);
        width: 24px;
    }

    h2 {
        margin-top: 24px;
        font-size:24px;
        font-weight: bold;
        color: #005660;
    }
}

/*  タブレット＆スマホ */
@media (max-width:991px){
    h1 {
        font-size: 32px;
    }

    p {
        font-size: 16px;
    }

    br {
        display: none;
    }

    .contents-title {
        p {
            font-size: 14px;
        }
        h2 {
            font-size: 20px;
        }
    }
}

/* -----------------------------
button
----------------------------- */
.button {
    text-align: center;
    font-weight: bold;

    a {
        display: block;
        text-align: center;
        text-decoration: none;
        min-width: 200px;
        max-width: 300px;
        margin: auto;
        padding: 20px 40px;
        font-weight: bold;
        color: #ffffff;
        transition: 0.5s;
        border-radius: 60px;
        background: linear-gradient(90deg, rgba(255,112,30,1) 0%, rgba(255,191,48,1) 50%, rgba(255,77,48,1) 100%);
        background-size: 200% 100%;
        border: none;
    }
}

.button{
    a:hover {
        background-position: 100% 0;
    }
}

@media (max-width:991px){
    .button{
        width: 100%;
    }
}
/* -----------------------------
back ground
----------------------------- */
.is-green {
    background-color: #F0F4F5;
}

.is-darkgreen {
    background: linear-gradient(to bottom right, #005660, #008FB4);
}

.is-white {
    color: #ffffff;
}


/* -----------------------------
header
----------------------------- */
.header {
   background-color: #ffffff;
   max-width: 1000px;
   margin: 0 auto;
}


nav {
    display:flex;
    justify-content: space-between;
    align-items:center;
    margin:0 auto;
    padding: 16px 0;
    

    a {
        font-size: 14px;
        margin-left:40px;
        color:#333333;
        letter-spacing:.1em;
    }

    .logo {
        width:70px;
        height:20px;
        margin-right:auto;
        margin-left:0;
    }
    
    .logo img {
        height: 20px;
    }
}

@media (max-width:991px){
    .header{
        display: none;
    }
}

/* -----------------------------
main-visual
----------------------------- */
.main-visual {
    height: 500px;
    background-image: url("../img/main-visual.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    position: relative;

    .logo {
        display: none;
    }

    .copy {
        display:flex;
        justify-content:center;
        align-items:flex-start;
        flex-direction: column;
        position: absolute;
        top: 25%;
        right: 48%;

        p {
            font-size: 14px;
            color: #ffffff;
        }
        span {
            font-weight: bold;
            font-size: 18px;
        }
    }
}

@media (max-width:991px){
    .main-visual {
        height: 100vh;
        background-position: 55% 50%;

        .logo {
            display: block;
            padding: 16px;

            img {
                height: 16px;
            }
        }

        .copy {
            top: 35%;
            right: unset;
            padding: 16px;
            
            span {
                display: block;
            }
        }
    }
}


/* -----------------------------
layout
----------------------------- */
.contents-wrapper {
    margin:0 auto;
    padding: 80px 160px;
    gap: 20px 30px;
}

.contents.row {
    flex-direction: row;
}

.contents {
    display:flex;
    justify-content:center;
    align-items:center;
    flex-direction: column;
    gap: 48px;
    margin-top: 64px;
}

.list {
    /* width: 100%; */
    display: flex;
    flex-direction: row;
    gap: 16px;

    .list-item {
        text-align: center;
        flex: 1;
        img {
            background-color: #ffffff;
        }
        
        h3 {
            margin-top: 24px;
        }

        p {
            margin-top: 8px;
            text-align: left;
        }
    }
}

@media (max-width:991px){
    .contents-wrapper {
        padding: 32px 16px;
    }

    .contents.row {
        flex-direction: column;
    }

    .contents {
        gap: 16px;
        margin-top: 32px;

        .list {
            flex-direction: column;

            gap: 24px;
            
                h3 {
                    margin-top: 8px;
                    font-size: 18px;
                }

        }
    }
}




/* -----------------------------
about
----------------------------- */
.product-ui {
    img {
        width: 480px
    }
}

@media (max-width:991px){
    .product-ui {
        text-align: center;
        img {
            width: 80%;
        }
    }
}


/* -----------------------------
service
----------------------------- */
.list-item {
    .list-item-img {
        background-color: #ffffff;
        padding: 24px 0;
    }
}

.list-item-img {
    img {
        height: 120px;
    }
}


/* -----------------------------
use-vioce
----------------------------- */
.use-vioce {
    display: flex;
    flex-direction: row;
    gap: 24px;
    max-width: 50%;

    .detail {
        display: flex;
        flex-direction: column;

        .message {
            padding: 16px;
            border-radius: 8px;
            background-color: #F0F4F5;
        }
        .company {
            font-size: 14px;
            margin-top: 8px;
            color: #999999;
        }
    }
}

.use-vioce {
    .list-item-img {
        img {
            height: 80px;
        }
    }    
}

@media (max-width:991px){
    .use-vioce {
        flex-direction: column;
        gap: 8px;
        max-width: 100%;

        .detail {
            .company {
                text-align: right;
            }
        }
    }

    .use-vioce:nth-child(2n) {
        flex-direction: column-reverse;
    }

    .use-vioce {
        .list-item-img {
            text-align: center;
        }    
    }
}


/* -----------------------------
info
----------------------------- */
.contents-wrapper.info {
    .contents {
        gap: 16px;
    }
    h2 {
        color: #ffffff;
    }

    .contents{
       p{
        color: #ffffff;
       }
    }

    .links {
        display: flex;
        gap: 16px;
        margin-top: 60px;
    }
}
