/* -------------------------------------------------------
    variables
------------------------------------------------------- */
:root {
    --fontSize16: clamp(.875rem, .795rem + .34vw, 1rem);
    --fontSize18: clamp(1rem, .92rem + .34vw, 1.125rem);
    --fontSize20: clamp(1rem, .859rem + .6vw, 1.25rem);
    --fontSize24: clamp(1.125rem, .914rem + .9vw, 1.5rem);
    --fontSize32: clamp(1.5rem, 1.179rem + 1.37vw, 2rem);
    --fontSize40: clamp(1.5rem, .936rem + 2.41vw, 2.5rem);
}


/* -------------------------------------------------------
    common
------------------------------------------------------- */
.for-sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .for-pc {
        display: none;
    }

    .for-sp {
        display: block;
    }
}



/* -------------------------------------------------------
    parts
------------------------------------------------------- */



/* -------------------------------------------------------
    contents
------------------------------------------------------- */

/* mainvisual */
.mainvisual {
    background: url("../images/mainvisual.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: calc(8px * 10);
}

.mainvisual .container {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 360px;
    justify-content: center;
}

.mainvisualArea {
    align-items: center;
    display: flex;
}

.mainvisualArea__img img {
    max-width: 505px;
}

.mainvisualArea__content {
    margin-left: -20px;
}

.mainvisual__title {
    color: #fff;
    font-size: var(--fontSize32);
    letter-spacing: 2px;
    line-height: 1.5;
    text-align: center;
}

.mainvisual__title span {
    border: 1px solid #fff;
    font-size: var(--fontSize40);
    padding: 4px;
}

.mainvisualList {
    display: flex;
    justify-content: center;
    margin-top: calc(8px * 5);
}

.mainvisualList__inner {
    align-items: center;
    background: rgba(0, 40, 82, .5);
    column-gap: calc(8px * 3);
    display: flex;
    justify-content: center;
    padding: calc(8px * 2.5) calc(8px * 3.5);
}

.mainvisualList__box {
    align-items: center;
    column-gap: 8px;
    display: flex;
}

.mainvisualList__box--img img {
    height: 48px;
    width: auto;
}

.mainvisualList__box--word {
    color: #fff;
    font-size: 10px;
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .mainvisual {
        padding-top: 60px;
    }

    .mainvisual .container {
        height: 300px;
    }

    .mainvisualArea {
        flex-direction: column;
        gap: 20px;
    }

    .mainvisualArea__img img {
        max-width: 200px;
    }

    .mainvisualArea__content {
        margin-left: 0;
    }

    .mainvisual__title {
        letter-spacing: 0;
        line-height: 1.7;
    }

    .mainvisualList {
        margin-top: calc(8px * 3);
    }

    .mainvisualList__inner {
        column-gap: calc(8px * 2);
        padding: calc(8px * 2) calc(8px * 3);
    }

    .mainvisualList__box--img img {
        height: 36px;
        width: auto;
    }

    .mainvisualList__box--word {
        font-size: 8px;
        line-height: 1.7;
    }
}

/* sponsorship */
.sponsorship {
    background: #fff;
    column-gap: 32px;
    display: flex;
    padding: 24px 0;
}

.sponsorship__list {
    align-items: center;
    animation: slide_alternate var(--duration, 60s) linear infinite;
    column-gap: 40px;
    display: flex;
}

.sponsorship__list img {
    width: 100px;
}

@keyframes slide_alternate {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

@media screen and (min-width:768px) and (max-width:1040px) {
    .sponsorship {
        column-gap: 24px;
        padding: 12px 0;
    }

    .sponsorship__list {
        column-gap: 32px;
    }

    .sponsorship__list li img {
        width: 80px;
    }
}

@media screen and (max-width: 767px) {
    .sponsorship {
        column-gap: 24px;
        padding: calc(8px * 1) 0;
    }

    .sponsorship__list {
        column-gap: 32px;
    }

    .sponsorship__list img {
        width: 80px;
    }
}

/* cv */
.cv {
    background: url("../images/bg_cv.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 96px;
    position: relative;
    text-align: center;
}

.cvButton {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 40px;
    z-index: 100;
}

.cvButton img {
    height: auto;
    max-width: 640px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .cv {
        height: 64px;
    }

    .cvButton {
        left: 0;
        margin: auto;
        position: absolute;
        right: 0;
        top: 30px;
        width: 100%;
    }

    .cvButton img {
        height: auto;
        max-width: 640px;
        width: 90%;
    }
}

/* exhibition */
.exhibition {
    background: #f1f1f1;
    padding: calc(8px * 12) 0 calc(8px * 8);
    position: relative;
}

.exhibition .commonHeading {
    font-size: var(--fontSize24);
}

.exhibition .commonHeading span {
    font-size: var(--fontSize32);
}

.exhibitionMain {
    margin-top: calc(8px * 7);
}

.exhibitionMain__inner {
    column-gap: calc(8px * 5);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.evaluationMain__boxWorries {
    align-items: center;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .16);
    display: flex;
    height: 122px;
    justify-content: center;
    position: relative;
}

.evaluationMain__boxWorries::before {
    background: #fff;
    bottom: -24px;
    clip-path: polygon(30% 0, 100% 100%, 100% 0);
    content: "";
    height: 33px;
    left: -45px;
    margin: auto;
    position: absolute;
    right: 0;
    width: 45px;
}

.evaluationMain__boxWorries--head {
    background: #004ea1;
    color: #fff;
    font-size: var(--fontSize16);
    font-weight: bold;
    left: -8px;
    padding: calc(8px * .5) calc(8px * 2) calc(8px * .5) calc(8px * 3);
    position: absolute;
    top: -8px;
}

.evaluationMain__boxWorries--head span {
    font-size: var(--fontSize16);
}

.evaluationMain__boxWorries--head::before {
    background: #7fb8f5;
    bottom: -8px;
    clip-path: polygon(0 0, 100% 46%, 100% 0);
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    width: 8px;
}

.evaluationMain__boxWorries--head::after {
    background: #004ea1;
    bottom: 0;
    clip-path: polygon(100% 0, 0% 100%, 0 0);
    content: "";
    height: 24px;
    position: absolute;
    right: -12px;
    width: 12px;
}

.evaluationMain__boxWorries--word {
    font-size: var(--fontSize16);
    line-height: 1.7;
    text-align: center;
}

.evaluationMain__boxWorries--word span {
    color: #004ea1;
    font-size: var(--fontSize18);
    font-weight: bold;
}

.evaluationMain__boxWorries--img {
    bottom: calc(-8px * 8);
    position: absolute;
    right: calc(8px * 2);
}

.evaluationMain__boxWorries--img img {
    height: 96px;
    width: auto;
}

.evaluationMain__boxArrow {
    margin: 40px 0;
    text-align: center;
}

.evaluationMain__boxArrow--img img {
    height: 160px;
    width: auto;
}

.exhibitionMain__middle {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 43%;
    width: 100%;
}

.exhibitionMain__middle__inner {
    position: relative;
    width: 100%;
}

.exhibitionMain__middle__inner::before {
    background: url("../images/ribon_left.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -16px;
    content: "";
    height: 48px;
    left: -40px;
    position: absolute;
    width: 80px;
    z-index: 100;
}

.exhibitionMain__middle__inner::after {
    background: url("../images/ribon_right.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -16px;
    content: "";
    height: 48px;
    position: absolute;
    right: -40px;
    width: 80px;
    z-index: 100;
}

.exhibitionMain__middleBox {
    background: #004ea1;
    padding: 8px 0;
    position: relative;
    z-index: 200;
}

.exhibitionMain__middleBox--word {
    color: #fff;
    font-size: var(--fontSize24);
    font-weight: bold;
    text-align: center;
}

.exhibitionMain__middleBox--word span {
    font-size: var(--fontSize32);
}

.evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--word {
    margin-top: calc(8px * 2);
}

.evaluationMain__boxSolution {
    background: #fff;
    border: 4px solid #004ea1;
    border-radius: 16px;
    height: 280px;
    padding: 32px calc(8px * 3) 0;
    position: relative;
}

.evaluationMain__boxSolution--ribon {
    content: "";
    height: 64px;
    left: -4px;
    overflow: hidden;
    position: absolute;
    top: -4px;
    width: 64px;
}

.evaluationMain__boxSolution--ribon::before {
    color: #fff;
    content: "解決";
    font-size: 12px;
    left: 10px;
    position: absolute;
    top: 15px;
    transform: rotate(-45deg);
    z-index: 10;
}

.evaluationMain__boxSolution--ribon::after {
    background: #f39800;
    content: "";
    height: 25px;
    left: -24px;
    position: absolute;
    top: 8px;
    transform: rotate(-45deg);
    width: 90px;
}

.evaluationMain__boxSolution--head {
    display: flex;
    justify-content: center;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: -24px;
    width: 100%;
}

.evaluationMain__boxSolution--head span {
    align-items: center;
    background: #004ea1;
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: var(--fontSize16);
    height: 48px;
    justify-content: center;
    width: 48px;
}

.evaluationMain__boxSolution--word {
    color: #004ea1;
    font-size: var(--fontSize16);
    font-weight: bold;
    line-height: 1.7;
    text-align: center;
}

.evaluationMain__boxSolution--word span {
    font-size: var(--fontSize20);
}

.evaluationMain__boxSolution--icon {
    align-items: center;
    display: flex;
    height: 65px;
    justify-content: center;
    margin-top: calc(8px * 4);
    position: relative;
    text-align: center;
}

.evaluationMain__boxSolution--icon::before {
    background: #ecf7fa;
    border-radius: 999px;
    content: "";
    height: 120px;
    left: 50%;
    position: absolute;
    top: -28px;
    transform: translateX(-50%);
    width: 120px;
}

.evaluationMain__box .evaluationMain__boxSolution--icon img {
    position: relative;
    z-index: 10;
}

.evaluationMain__box:nth-of-type(1) .evaluationMain__boxSolution--icon img {
    height: 65px;
    width: auto;
}

.evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--icon img {
    height: 23px;
    width: auto;
}

.evaluationMain__box:nth-of-type(3) .evaluationMain__boxSolution--icon img {
    height: 45px;
    width: auto;
}

.evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--icon {
    margin-top: calc(8px * 7);
}

.evaluationMain__boxSolution--text {
    font-size: var(--fontSize16);
    line-height: 1.7;
    margin-top: calc(8px * 3);
}

.evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--text {
    margin-top: calc(8px * 6);
}

.evaluationMain__box:nth-of-type(3) .evaluationMain__boxSolution--text {
    margin-top: calc(8px * 5);
}

.evaluationMain__boxSolution--img {
    bottom: -20px;
    display: flex;
    justify-content: center;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 100%;
}

.evaluationMain__boxSolution--img img {
    height: 128px;
    width: auto;
}

@media screen and (min-width:768px) and (max-width:1040px) {
}

@media screen and (max-width: 767px) {
    .exhibition {
        padding: calc(8px * 10) 0 calc(8px * 5);
        position: relative;
    }

    .exhibition .commonHeading span {
        margin: 0 4px;
    }

    .exhibitionMain {
        margin-top: calc(8px * 3);
        overflow-x: scroll;
    }

    .exhibitionMain__inner {
        border-collapse: collapse;
        column-gap: 24px;
        padding: 20px;
        width: 100%;
    }

    .evaluationMain__box {
        width: 300px;
    }

    .evaluationMain__boxWorries {
        border-radius: 16px;
        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .16);
        height: 100px;
    }

    .evaluationMain__boxWorries::before {
        bottom: -24px;
        height: 33px;
        width: 33px;
    }

    .evaluationMain__boxWorries--head {
        font-size: 12px;
        left: -8px;
        padding: 4px 8px;
        top: -8px;
    }

    .evaluationMain__boxWorries--head span {
        font-size: var(--fontSize16);
    }

    .evaluationMain__boxWorries--head::before {
        height: 8px;
        left: 0;
        width: 8px;
    }

    .evaluationMain__boxWorries--head::after {
        height: 20px;
        right: -8px;
        width: 8px;
    }

    .evaluationMain__boxWorries--word {
        font-size: var(--fontSize16);
        line-height: 1.7;
    }

    .evaluationMain__boxWorries--word span {
        color: #004ea1;
        font-size: var(--fontSize18);
        font-weight: bold;
    }

    .evaluationMain__boxWorries--img {
        bottom: -50px;
        right: 20px;
    }

    .evaluationMain__boxWorries--img img {
        height: 80px;
    }

    .evaluationMain__boxArrow {
        margin: 40px 0;
    }

    .evaluationMain__boxArrow--img img {
        height: 120px;
    }

    .evaluationMain__boxSolution {
        height: 240px;
        padding: calc(8px * 4) calc(8px * 4) 0;
    }

    .evaluationMain__boxSolution--head {
        top: -24px;
        width: 100%;
    }

    .evaluationMain__boxSolution--head span {
        height: 48px;
        width: 48px;
    }

    .evaluationMain__boxSolution--word {
        line-height: 1.5;
    }

    .evaluationMain__boxSolution--icon {
        margin-top: 8px;
    }

    .evaluationMain__boxSolution--icon img {
        height: 100px;
    }

    .evaluationMain__boxSolution--text {
        margin-top: calc(8px * 1);
    }

    .evaluationMain__boxSolution--img {
        bottom: -20px;
        width: 100%;
    }

    .evaluationMain__boxSolution--img img {
        height: 100px;
    }

    .exhibitionMain__middle {
        top: 47%;
    }

    .exhibitionMain__middle__inner {
        position: relative;
        width: 100%;
    }

    .exhibitionMain__middle__inner::before {
        bottom: -16px;
        height: 48px;
        left: -40px;
        width: 80px;
        z-index: 100;
    }

    .exhibitionMain__middle__inner::after {
        bottom: -16px;
        height: 48px;
        right: -40px;
        width: 80px;
    }

    .exhibitionMain__middleBox {
        padding: 8px 0;
    }

    .evaluationMain__boxSolution--icon {
        margin-top: calc(8px * 5);
    }

    .evaluationMain__box:nth-of-type(1) .evaluationMain__boxSolution--icon img {
        height: 65px;
    }

    .evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--icon img {
        height: 23px;
    }

    .evaluationMain__box:nth-of-type(3) .evaluationMain__boxSolution--icon img {
        height: 45px;
    }

    .evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--icon {
        margin-top: calc(8px * 5);
    }

    .evaluationMain__boxSolution--text {
        margin-top: calc(8px * 2);
    }

    .evaluationMain__box:nth-of-type(2) .evaluationMain__boxSolution--text {
        margin-top: calc(8px * 5.5);
    }

    .evaluationMain__box:nth-of-type(3) .evaluationMain__boxSolution--text {
        margin-top: calc(8px * 4);
    }
}

/* --------------------------------------------
    measures
--------------------------------------------  */
.measures {
    padding: calc(8px * 10) 0 calc(8px * 8);
    position: relative;
}

.measures::after {
    background: url("../images/bg_rectangle_dot.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
    content: "";
    height: 280px;
    position: absolute;
    width: 100vw;
    z-index: 0;
}

.measures .commonHeading {
    font-size: var(--fontSize24);
    line-height: 1.5;
}

.measures .commonHeading span {
    font-size: var(--fontSize32);
}

.measuresTable {
    margin-top: 32px;
    position: relative;
    z-index: 100;
}

.measuresTable__box thead tr th,
.measuresTable__box thead tr td {
    background: #fff;
    height: 80px;
    width: 20%;
}

.measuresTable__box thead tr th {
    background: #fff;
}

.measuresTable__box thead tr th span {
    background: #004ea1;
    border-radius: 30px;
    color: #fff;
    display: inline-block;
    font-size: var(--fontSize16);
    font-weight: 400;
    padding: 6px 50px;
}

.measuresTable__box thead tr td {
    border: 1px solid #fff;
    border-radius: 16px 16px 0 0;
    color: #fff;
    font-size: var(--fontSize16);
    line-height: 1.5;
    text-align: center;
}

.measuresTable__box thead tr td:nth-child(even) {
    background: #004ea1;
}

.measuresTable__box thead tr td:nth-child(odd) {
    background: #999;
}

.measuresTable__box tbody th {
    background: #fff;
    border-top: 1px solid #f1f1f1;
    color: #004ea1;
    font-size: var(--fontSize16);
    padding: calc(8px * 2) 0;
    position: relative;
    z-index: -200;
}

.measuresTable__box tbody th:last-of-type {
    border-bottom: 1px solid #f1f1f1;
}

.measuresTable__box tbody tr td {
    border: 1px solid #fff;
    font-size: var(--fontSize16);
    font-weight: bold;
    line-height: 1.5;
    padding: 16px;
    text-align: center;
}

.measuresTable__box tbody tr td:nth-child(even) {
    background: #ecf7fa;
}

.measuresTable__box tbody tr td:nth-child(odd) {
    background: #f1f1f1;
}

.measuresTable__box tbody tr:nth-child(even) td {
    background: #f6fbfc;
}

.measuresTable__box tbody tr:nth-child(even) td:nth-child(odd) {
    background: #f8f8f8;
}

.measuresTable__box tbody tr:last-child th {
    line-height: 1.5;
    vertical-align: top;
}

.measuresTable__box tbody tr:last-child td {
    position: relative;
}

.measuresTable__box tbody tr:last-child td::after {
    background: #004ea1;
    border-radius: 0 0 16px 16px;
    bottom: 0;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    width: 100%;
}

.measuresTable__box tbody tr:last-child td:nth-child(odd)::after {
    background: #999;
}

.measuresComment {
    margin-top: 48px;
    position: relative;
    z-index: 100;
}

.measuresComment__box {
    align-items: center;
    column-gap: 48px;
    display: flex;
    justify-content: center;
}

.measuresComment__box--word {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    font-size: var(--fontSize16);
    font-weight: bold;
    line-height: 1.7;
    padding: 24px 0;
    position: relative;
    text-align: center;
    width: 520px;
}

.measuresComment__box--word::after {
    background: #fff;
    bottom: 50%;
    clip-path: polygon(0 40%, 0% 100%, 100% 100%);
    content: "";
    height: 28px;
    left: unset;
    position: absolute;
    right: -27px;
    width: 28px;
}

.measuresComment__box--img img {
    height: 104px;
    width: auto;
}

@media screen and (max-width: 767px) {
    .measures {
        padding: 64px 0 24px;
    }

    .measuresTable {
        overflow-x: scroll;
    }

    .measuresTable__box {
        border-collapse: collapse;
        white-space: nowrap;
        width: 100%;
    }

    .measuresTable__box thead tr th,
    .measuresTable__box thead tr td {
        height: 60px;
    }

    .measuresTable__box thead tr th span {
        padding: 4px 16px;
    }

    .measuresTable__box thead tr td {
        border-radius: 10px 10px 0 0;
    }

    .measuresTable__box tbody th {
        padding: 16px 20px;
    }

    .measuresComment {
        margin-top: 48px;
        position: relative;
        z-index: 100;
    }

    .measuresComment__box {
        flex-wrap: wrap;
    }

    .measuresComment__box--word {
        padding: 24px 20px;
        width: 1000%;
    }

    .measuresComment__box--word::after {
        bottom: -20px;
        clip-path: polygon(0 0, 0% 100%, 76% 0);
        height: 24px;
        left: 0;
        margin: auto;
        right: 0;
        width: 24px;
    }

    .measuresComment__box--img {
        margin-top: 24px;
    }

    .measuresComment__box--img img {
        height: 100px;
    }
}


/* product */
.product {
    padding: 128px 0 0;
}

.itemProduct {
    margin-top: 8px;
    position: relative;
}

.itemProduct__inner {
    align-items: center;
    column-gap: 80px;
    display: flex;
    margin: 0 auto;
    max-width: 1040px;
    width: 100%;
}

.itemProduct__img img {
    height: 320px;
    width: auto;
}

.itemProduct__word {
    font-size: var(--fontSize16);
    line-height: 1.7;
}

.itemProduct__word span {
    color: #004ea1;
    font-size: var(--fontSize20);
    font-weight: bold;
}

.itemProduct:nth-of-type(2) {
    margin-top: 60px;
    padding-bottom: 80px;
}

.itemProduct:nth-of-type(2) .itemProduct__inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.itemProduct:nth-of-type(2) .itemProduct__box {
    text-align: center;
}

.itemProduct:nth-of-type(2) .itemProduct__box--img {
    margin-top: 20px;
}

.itemProduct:nth-of-type(2) .itemProduct__box--title {
    font-size: 24px;
    font-weight: 700;
}

.itemProduct:nth-of-type(2) .itemProduct__box--text {
    font-weight: 700;
    line-height: 1.75;
    margin-top: 10px;
}

.itemProduct:nth-of-type(2) .itemProduct__box--icon img {
    margin-top: 10px;
    max-width: 26px;
}

.itemProduct:nth-of-type(2) .itemProduct__box--emphasis {
    color: #004ea1;
    font-size: var(--fontSize20);
    font-weight: 700;
    line-height: 1.75;
    margin-top: 20px;
}

.itemProduct:nth-of-type(2) .itemProduct__box--emphasis span {
    border: 2px solid #004ea1;
    border-radius: 3px;
    padding: 10px 10px 8px;
}

.itemProduct:nth-of-type(3) {
    background: #f1f1f1;
    margin-top: 48px;
    padding: 48px 0;
    position: relative;
}

.itemProduct:nth-of-type(3)::before {
    background: #f1f1f1;
    clip-path: polygon(100% 40%, 0% 100%, 100% 100%);
    content: "";
    height: 110px;
    position: absolute;
    top: -109px;
    width: 100vw;
    z-index: -100;
}

.itemProduct:nth-of-type(3)::after {
    background: #f1f1f1;
    bottom: -109px;
    clip-path: polygon(100% 0, 0 0, 100% 60%);
    content: "";
    height: 110px;
    position: absolute;
    width: 100vw;
    z-index: -100;
}

.itemProduct:nth-of-type(3) .itemProduct__inner {
    display: grid;
    grid-template-columns: 100%;
    row-gap: 16px;
}

.itemProduct__comment {
    align-items: center;
    column-gap: 64px;
    display: flex;
}

.itemProduct__comment:nth-of-type(2) {
    justify-content: flex-end;
}

.itemProduct__comment--img img {
    height: 104px;
    width: auto;
}

.itemProduct__comment--word {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    font-size: var(--fontSize16);
    font-weight: bold;
    line-height: 1.5;
    padding: 32px 0;
    position: relative;
    text-align: center;
    width: 520px;
}

.itemProduct__comment--word::before {
    background: #fff;
    bottom: 50%;
    clip-path: polygon(100% 40%, 0 100%, 100% 100%);
    content: "";
    height: 28px;
    left: -27px;
    position: absolute;
    width: 28px;
}

.itemProduct__comment:nth-of-type(2) .itemProduct__comment--img {
    order: 2;
}

.itemProduct__comment:nth-of-type(2) .itemProduct__comment--word {
    order: 1;
}

.itemProduct__comment:nth-of-type(2) .itemProduct__comment--word::before {
    clip-path: polygon(0 40%, 0% 100%, 100% 100%);
    left: unset;
    right: -27px;
}

.itemProduct:nth-of-type(4) {
    padding: 80px 0;
}

.itemProduct:nth-of-type(4) .itemProduct__inner {
    padding-left: 80px;
}

.itemProduct:nth-of-type(4) .itemProduct__inner:nth-child(2) {
    margin-top: 40px;
}

.itemProduct:nth-of-type(4) .itemProduct__img img {
    height: 210px;
    width: auto;
}

.itemProduct:nth-of-type(4) .itemProduct__inner:nth-child(2) .itemProduct__img img {
    height: 305px;
}

.itemProduct:nth-of-type(1) .itemProduct__inner {
    display: block;
}

.itemFlow {
    border: 4px solid #004ea1;
    border-radius: 16px;
    margin-top: 60px;
    padding: 40px 50px;
    position: relative;
}

.itemFlow--title {
    background: #fff;
    color: #004ea1;
    font-size: var(--fontSize20);
    left: 50%;
    padding: 0 40px;
    position: absolute;
    top: -10px;
    transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
    .product {
        padding: 80px 0 0;
    }

    .itemProduct {
        margin-top: 8px;
        padding-bottom: 40px;
    }

    .itemProduct__inner {
        column-gap: 0;
        display: grid;
        grid-template-columns: 100%;
        padding: 0 20px;
        width: auto;
    }

    .itemProduct__img {
        margin-top: 32px;
        text-align: center;
    }

    .itemProduct__img img {
        height: auto;
        width: 60%;
    }

    .itemProduct__word {
        margin-top: 16px;
        text-align: center;
        width: 100%;
    }

    .itemProduct__word span {
        color: #004ea1;
        font-size: var(--fontSize20);
        font-weight: bold;
    }

    .itemProduct:nth-of-type(2) {
        margin-top: 0;
    }

    .itemProduct:nth-of-type(2) .itemProduct__inner {
        gap: 40px;
        grid-template-columns: 100%;
    }

    .itemProduct:nth-of-type(4) .itemProduct__inner {
        padding: 0 20px;
    }

    .itemProduct:nth-of-type(4) .itemProduct__inner:nth-child(2) .itemProduct__img img {
        height: 210px;
    }

    .itemProduct__comment {
        display: grid;
        grid-template-columns: 100%;
    }

    .itemProduct__comment:nth-of-type(2) {
        justify-content: flex-end;
    }

    .itemProduct__comment--img {
        text-align: center;
    }

    .itemProduct__comment--img img {
        height: 104px;
        width: auto;
    }

    .itemProduct__comment--word {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        font-size: var(--fontSize16);
        font-weight: bold;
        padding: 32px 0;
        position: relative;
        text-align: center;
        width: 100%;
    }

    .itemProduct__comment--word::before {
        bottom: 93%;
        left: 65%;
        transform: rotate(90deg);
    }

    .itemProduct__comment:nth-of-type(2) .itemProduct__comment--img {
        order: 1;
    }

    .itemProduct__comment:nth-of-type(2) .itemProduct__comment--word {
        order: 2;
    }

    .itemProduct__comment:nth-of-type(2) .itemProduct__comment--word::before {
        bottom: 93%;
        clip-path: polygon(100% 40%, 0 100%, 100% 100%);
        left: 65%;
        transform: rotate(90deg);
    }

    .itemProduct:nth-of-type(5) {
        padding: 24px 0;
    }

    .itemProduct:nth-of-type(5) .itemProduct__inner {
        padding-left: 20px;
    }

    .itemProduct:nth-of-type(5) .itemProduct__img img {
        height: 140px;
    }

    .itemFlow {
        margin-top: 40px;
        padding: 20px;
    }

    .itemFlow .scrollFlow {
        margin: 10px 0 20px;
    }

    .itemFlow__img {
        overflow-x: scroll;
    }

    .itemFlow__img img {
        width: 600px;
    }
}


/* maFunction */
.maFunction {
    background: #f1f1f1;
    padding: 64px 0;
}

.maFunction .commonHeading {
    font-size: var(--fontSize24);
}

.maFunction .commonHeading span {
    font-size: var(--fontSize32);
}

.maFunction__list {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    margin-top: 48px;
}

.itemFunction {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    padding: 4px 28px 24px;
}

.itemFunction__img {
    align-items: center;
    display: flex;
    height: 100px;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.itemFunction__img img {
    height: auto;
    width: 56px;
}

.itemFunction__title {
    color: #004ea1;
    font-size: var(--fontSize20);
    font-weight: bold;
    text-align: center;
}

.itemFunction__text {
    font-size: var(--fontSize16);
    line-height: 1.7;
    margin-top: 16px;
    text-align: center;
}

.itemFunction__more {
    margin-top: 24px;
    text-align: center;
}

.itemFunction__more--button {
    border: 1px solid #004ea1;
    border-radius: 30px;
    color: #004ea1;
    display: inline-block;
    font-size: 14px;
    padding: 4px 24px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .maFunction {
        padding: 40px 0;
    }

    .maFunction .commonHeading {
        font-size: var(--fontSize24);
    }

    .maFunction .commonHeading span {
        font-size: var(--fontSize32);
    }

    .maFunction__list {
        gap: 16px;
        grid-template-columns: 100%;
        margin-top: 32px;
    }

    .itemFunction {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
        padding: 4px 28px 24px;
    }

    .itemFunction__img {
        align-items: center;
        display: flex;
        height: 100px;
        justify-content: center;
        text-align: center;
        width: 100%;
    }

    .itemFunction__img img {
        height: auto;
        width: 56px;
    }

    .itemFunction__title {
        color: #004ea1;
        font-size: var(--fontSize20);
        font-weight: bold;
        text-align: center;
    }

    .itemFunction__text {
        font-size: var(--fontSize16);
        line-height: 1.7;
        margin-top: 16px;
        text-align: center;
    }

    .itemFunction__more {
        margin-top: 24px;
        text-align: center;
    }

    .itemFunction__more--button {
        border: 1px solid #004ea1;
        border-radius: 30px;
        color: #004ea1;
        display: inline-block;
        font-size: 14px;
        padding: 4px 24px;
        text-align: center;
    }
}

/* evaluation */
.evaluation {
    padding: 64px 0;
}

.evaluationList {
    column-gap: calc(8px * 10);
    display: flex;
    justify-content: center;
    margin-top: 48px;
}

.evaluationList__box {
    text-align: center;
}

.evaluationList__box--icon {
    align-items: center;
    display: flex;
    height: 190px;
    justify-content: center;
}

.evaluationList__boxBody {
    margin-top: 40px;
}

.evaluationList__boxBody--title {
    color: #004ea1;
    font-size: var(--fontSize18);
    font-weight: bold;
}

.evaluationList__boxBody--title small {
    font-weight: 300;
}

.evaluationList__boxBody--title span {
    font-size: var(--fontSize24);
    margin: 0 4px;
}

.evaluationList__boxBody--text {
    font-size: var(--fontSize16);
    line-height: 1.7;
    margin-top: 16px;
}

.evaluationList li:nth-child(1) .evaluationList__box--icon img {
    height: auto;
    width: 144px;
}

.evaluationList li:nth-child(2) .evaluationList__box--icon img {
    height: auto;
    width: 232px;
}

.evaluationList li:nth-child(3) .evaluationList__box--icon img {
    height: auto;
    width: 199px;
}

@media screen and (max-width: 767px) {
    .evaluation {
        padding: 40px 0;
    }

    .evaluationList {
        grid-template-columns: 100%;
        margin-top: 32px;
        row-gap: 32px;
    }

    .evaluationList__box--icon {
        height: auto;
    }

    .evaluationList__boxBody {
        margin-top: 24px;
    }

    .evaluationList__boxBody--title span {
        margin: 0 2px;
    }

    .evaluationList__boxBody--text {
        margin-top: 8px;
    }

    .evaluationList li:nth-child(1) .evaluationList__box--icon img {
        width: 70px;
    }

    .evaluationList li:nth-child(2) .evaluationList__box--icon img {
        width: 100px;
    }

    .evaluationList li:nth-child(3) .evaluationList__box--icon img {
        width: 70px;
    }
}


/* voice */
.voice {
    background: url("../images/voice_bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 128px 0 64px;
}

.voieAbove {
    margin-top: 48px;
}

.itemVoice {
    margin: 40px auto 0;
    max-width: 870px;
}

.itemVoice__box .commonText {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 3px 3px rgba(0, 0, 0, .16);
    padding: 32px 32px 40px;
    position: relative;
}

.itemVoice__box .commonText::after {
    background: #fff;
    bottom: -24px;
    clip-path: polygon(0 0, 0% 100%, 76% 0);
    content: "";
    height: 33px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    width: 33px;
}

.itemVoice__boxProfile {
    align-items: center;
    column-gap: 16px;
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.itemVoice__boxProfile--img img {
    border: 4px solid #fff;
    border-radius: 50%;
    height: 90px;
    width: auto;
}

.itemUser__name span {
    background: #fff;
    border: 1px solid #004ea1;
    border-radius: 999px;
    color: #004ea1;
    display: inline-block;
    font-size: 10px;
    padding: 5px 12px 3px;
}

.itemUser__type {
    font-size: 12px;
    line-height: 1.4;
    margin-top: 10px;
}

.itemUser__type span {
    display: inline-block;
}

.itemUser__person {
    font-size: 12px;
    margin-top: 10px;
}

.itemUser__person span {
    font-size: 14px;
    font-weight: 700;
}

.itemVoice:nth-of-type(3) {
    margin-top: 40px;
}

.itemVoice:nth-of-type(3) .itemVoice__box:nth-of-type(1) .commonText {
    padding-bottom: 24px;
}

.itemVoice:nth-of-type(3) .itemVoice__box:nth-of-type(2) .commonText {
    padding-bottom: 106px;
}

@media screen and (max-width: 767px) {
    .voice {
        padding: 80px 0 32px;
    }

    .voieAbove {
        margin-top: 24px;
    }

    .itemVoice {
        grid-template-columns: 100%;
        row-gap: 16px;
    }

    .itemVoice__box .commonText {
        border-radius: 10px;
        padding: 16px 20px 24px;
    }

    .itemVoice__box .commonText::after {
        bottom: -20px;
        height: 24px;
        width: 24px;
    }

    .itemVoice__boxProfile--img img {
        border: 2px solid #fff;
        height: 72px;
    }
}


/* overview */
.overview {
    padding: 64px 0 80px;
    position: relative;
}

.overview::before {
    background: #f1f1f1;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -200;
}

.overviewBox {
    column-gap: 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.overviewBox__above--list {
    align-items: center;
    background: #fff;
    border-radius: 16px;
    column-gap: 48px;
    display: flex;
    justify-content: center;
    margin-top: 48px;
    padding: 20px 0;
}

.overviewBox__above--list li:nth-child(1) img {
    height: auto;
    width: 67px;
}

.overviewBox__above--list li:nth-child(2) img {
    height: auto;
    width: 71px;
}

.overviewBox__above--list li:nth-child(3) img {
    height: auto;
    width: 91px;
}

.overviewBox__below {
    align-items: center;
    background: #fff;
    border: 4px solid #004ea1;
    border-radius: 16px;
    display: flex;
    padding: 0 40px 0 32px;
    position: relative;
}

.overviewBox__below::after {
    background: url("../images/orange_dot_bg.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 8px;
    bottom: -20px;
    content: "";
    height: 100%;
    position: absolute;
    right: -20px;
    width: 100%;
    z-index: -100;
}

.overviewBox__below__inner {
    width: 100%;
}

.overviewBox__below--head {
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: -14px;
    width: 100%;
}

.overviewBox__below--head span {
    background: #004ea1;
    border-radius: 30px;
    color: #fff;
    display: inline-block;
    font-size: var(--fontSize16);
    font-weight: 700;
    padding: 4px 32px;
}

.overviewBox__belowItem {
    align-items: center;
    display: grid;
    grid-template-columns: 20% auto;
}

.overviewBox__belowItem:nth-of-type(n+2) {
    margin-top: 32px;
}

.overviewBox__belowItem--title {
    color: #004ea1;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.7;
    width: auto;
}

.overviewBox__belowItem--title span {
    background: url("../images/orange_dot.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3px 10px;
}

.overviewBox__belowItem--word {
    font-size: var(--fontSize16);
    line-height: 1.7;
}

@media screen and (max-width: 767px) {
    .overview {
        padding: 32px 0 40px;
    }

    .overviewBox {
        grid-template-columns: 100%;
    }

    .overviewBox__above--logo {
        text-align: center;
    }

    .overviewBox__above--logo img {
        height: auto;
        width: 60%;
    }

    .overviewBox__above--list {
        border-radius: 10px;
        margin-top: 24px;
        padding: 16px 0;
    }

    .overviewBox__above--list li:nth-child(1) img {
        width: 50px;
    }

    .overviewBox__above--list li:nth-child(2) img {
        width: 50px;
    }

    .overviewBox__above--list li:nth-child(3) img {
        width: 50px;
    }

    .overviewBox__below {
        border: 3px solid #004ea1;
        border-radius: 10px;
        margin-top: 32px;
        padding: 32px 20px 20px 20px;
    }

    .overviewBox__belowItem {
        column-gap: 16px;
    }

    .overviewBox__belowItem:nth-of-type(n+2) {
        margin-top: 24px;
    }
}


/* faq */
.faq {
    padding: 64px 0 96px;
}

.faqContent {
    margin-top: 32px;
}

.itemFaq {
    margin-top: 64px;
    position: relative;
}

.itemFaq:nth-of-type(n+2) {
    margin-top: 32px;
}

.itemFaq__question {
    border: 6px solid var(--colorLightGray);
    border-radius: 16px;
    cursor: pointer;
    font-size: var(--fontSize18);
    font-weight: bold;
    margin: 0 40px 0 20px;
    padding: 20px 48px;
    position: relative;
}

.itemFaq__question::before {
    background: url("../images/icon_faq.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 64px;
    left: -4%;
    position: absolute;
    top: -50%;
    width: 64px;
    z-index: 100;
}

.itemFaq__answer {
    background: var(--colorLightYellow);
    border: 6px solid var(--colorYellow);
    border-radius: 16px;
    display: none;
    font-size: var(--fontSize16);
    font-weight: 400;
    line-height: 1.7;
    margin-left: 60px;
    padding: 20px 48px;
    position: relative;
    top: -16px;
}

@media screen and (max-width: 767px) {
    .faq {
        padding: 32px 0 48px;
    }

    .faqContent {
        margin-top: 16px;
    }

    .itemFaq {
        margin-top: 32px;
    }

    .itemFaq__question {
        border: 4px solid var(--colorLightGray);
        border-radius: 10px;
        line-height: 1.7;
        margin: 0;
        padding: 16px 24px 16px 32px;
        width: auto;
    }

    .itemFaq__question::before {
        height: 48px;
        left: -5%;
        top: -40%;
        width: 48px;
    }

    .itemFaq__answer {
        border: 4px solid var(--colorYellow);
        border-radius: 10px;
        margin-left: 20px;
        padding: 20px 24px;
    }
}
