@charset "UTF-8";


:root {
    --green: #5f8a9d;
    --dark-green: #293b43;
    --border: #cac4d0;
}


html, body {
    margin: 0;
    padding: 0;
    background-color: var(--green);
}
body {
    font-family: "Yu Gothic", "YuGothic", sans-serif;
    color: #1d1b20;
}

.page-container {
    background-color: #fff;
    margin: auto;
    max-width: 1280px;
    min-width: 360px;
}

.hidden {
	display: none !important;
}

.pc_only {
    display: inherit;
}
.sp_only {
    display: none;
}
@media (max-width: 768px) {
    .pc_only {
        display: none;
    }
    .sp_only {
        display: inherit;
    }
}

.line-login .buttons-container {
    margin-top: 10px;
    text-align: center;
}
.line-login .buttons-container a {
    display: inline-block;
    line-height: 2rem;
    font-size: 1.2rem;
    border-radius: 100vh;
    padding: 5px 40px;
    color: #fff;
    background-color: var(--dark-green);
    text-decoration: none;
    position: relative;
}
.line-login .buttons-container a svg {
    position: absolute;
    width: 10px;
    height: 10px;
    left: 20px;
    top: calc((100% - 10px) / 2);
    fill: #fff;
}
.line-login .notice {
    margin-top: 10px;
    font-size: 0.9rem;
    text-align: center;
}

a {
    color: var(--dark-green);
}

/********** header **********/
header {
    color: #000;
    background-image: url(../../images/lp/title_bg.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}
header .inner {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 10px;
    border-radius: 10px;
    max-width: 960px;
}
header .inner .logo-container {
    padding-left: 40px;
    padding-right: 40px;
    display: flex;
    justify-content: center;
}
header .inner .logo-container img {
    max-width: 100%;
}
header .inner .description {
    margin-top: 10px;
    font-size: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
header .inner .description span {
    white-space: nowrap;
    word-break: keep-all;
}
@media (max-width: 768px) {
    header .inner .logo-container {
        padding-left: 10px;
        padding-right: 10px;
        display: flex;
        justify-content: center;
    }
    header .inner .description {
        font-size: 1.2rem;
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 480px) {
    header .inner {
        max-width: 90%;
        height: auto;
    }
    header .inner .description {
        max-width: 90%;
        height: auto;
        display: flex;
        justify-content: center;
        text-align: center;
        padding-left: 10px;
        padding-right: 10px;
    }
    header .inner .description span {
        white-space: normal;
        word-break: break-word; 
    }
}

header nav {
    margin-top: 10px;
    background-color: #eaf0f4;
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-items: start;
}
header nav a {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 25%;
    text-decoration: none;
    display: flex;
    justify-content: center;
    padding: 20px 0px 5px 0px;
}
header nav a .item-container {
    color: #333;
}
header nav a .item-container .icon-container {
    text-align: center;
}
header nav a .item-container .icon-container img {
    width: 32px;
    height: 32px;
}
header nav a .item-container .caption {
    color: #333;
    font-size: 0.9rem;
    text-align: center;
}

/********** section **********/
section {
    margin-top: 0px;
    padding: 40px 20px;
}
section .section-caption-container {
    text-align: center;
}
section .section-caption-container .section-caption {
    max-width: 60%;
    margin: auto;
    white-space: nowrap;
    word-break: keep-all;
    border-bottom: 1px solid var(--border);
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
}
@media (max-width: 768px) {
    section {
        padding: 10px;
    }
    section .section-caption-container .section-caption {
        max-width: 80%;
    }
}

/********** type0-container **********/
.type0-container {
    border: 1px solid var(--border);
    background-color: #f7feff;
    margin: 20px 10px 10px 10px;
    padding: 20px;
    border-radius: 10px;
}
.type0-container .header {
    font-size: 1.2rem;
    font-weight: bold;
}
@media (max-width: 768px) {
    .type0-container {
        padding: 10px;
    }
}

/********** feature **********/
#feature .type0-container .image-container {
    text-align: center;
}
#feature .type0-container .image-container img {
    max-width: 200px;
    height: auto;
}
#feature .type0-container.item3 .image-container img {
    width: 90%;
    height: auto;
}
#feature .type0-container.item4 .image-container img {
    max-width: 50%;
    height: auto;
}
@media (max-width: 768px) {
    #feature .type0-container.item4 .image-container img {
        max-width: 90%;
        height: auto;
    }
}

/********** usecase **********/
#usecase .item-container {
    margin-top: 30px;
    text-align: center;
}
#usecase .item-container .text {
    font-weight: bold;
}
#usecase .item-container .image-container {
    text-align: center;
    margin-top: 10px;
}
#usecase .item-container .image-container img {
    width: 300px;
    height: auto;
}
@media (max-width: 768px) {
    #usecase .item-container .image-container img {
        max-width: 90%;
        height: auto;
    }
}

/********** procedure **********/
#procedure {
    background-color: var(--green);
}
#procedure .section-caption {
    color: #fff;
}
#procedure .sample-container {
    text-align: center;
}
#procedure .sample-container input[name=sample] {
    color: #666;
    line-height: 1.5rem;
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #ccc;
}
#procedure .type0-container .image-container {
    text-align: center;
    margin-top: 20px;
}
#procedure .type0-container.item3 .image-container img {
    max-width: 640px;
    height: auto;
}
#procedure .type0-container.item4 .image-container img {
    max-width: 360px;
    height: auto;
}
@media (max-width: 768px) {
    #procedure .type0-container .image-container img {
        width: 90%;
        height: auto;
    }
}

/********** faq **********/
#faq .type0-container .header:before {
    content: 'Q.';
}
#faq .type0-container .content:before {
    content: 'A.';
}
