body {
    margin: 0;
    overflow-x: hidden;
}

button {
    background-color: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
}
button:active, button:focus {
    outline: none !important;
    box-shadow: none !important;
}
button:disabled {
    cursor: default;
}

img {
    display: block;
}
img.img-cover-w {
    width: 100%;
    height: auto;
}
img.img-cover-h {
    height: 100%;
    width: auto;
}
div.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width: 768px) {
    .pc {
        display: block;
    }
    .mobile {
        display: none;
    }
}
@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .mobile {
        display: block;
    }
}

.section {
    width: 100%;
}

.section.banner {
    background-color: #9fa09f;
}

.tab-list {
    height: 100%;
    background-color: #9fa09f;
    display: flex;
    align-items: center;
}
.tab-list .segment-btn {
    height: 100%;
}
.pc .tab-list {
    padding-left: 12.8%;
}
.pc .tab-list .segment-btn {
    width: 25%;
}
.pc .tab-list .segment-btn:not(:last-child) {
    margin-right: 15px;
}
.mobile .tab-list {
    padding: 0 10px;
}
.mobile .tab-list .segment-btn:not(:last-child) {
    margin-right: 5px;
}

.section .title {
    width: 100%;
}
.section.survey .title {
    position: relative;
}
.section.survey .title .title-step-btn {
    height: 100%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
}
.section.survey .title .title-step-btn.prev {
    background-position: left;
    left: 0;
}
.section.survey .title .title-step-btn.next {
    background-position: right;
    right: 0;
}
.pc .section.survey .title .title-step-btn {
    width: 68px;
}
.pc .section.survey .title .title-step-btn.prev {
    background-image: url('../image/survey/title_previous.png');
}
.pc .section.survey .title .title-step-btn.next.sp1 {
    background-image: url('../image/survey/part1/title_next.png');
}
.pc .section.survey .title .title-step-btn.next.sp2 {
    background-image: url('../image/survey/part2/title_next.png');
}
.mobile .section.survey .title .title-step-btn {
    width: 88px;
}
.mobile .section.survey .title .title-step-btn.prev {
    background-image: url('../image/survey/title_previous_m.png');
}
.mobile .section.survey .title .title-step-btn.next {
    background-image: url('../image/survey/title_next_m.png');
}

.section .content {
    width: 100%;
    background-color: #dfe1e1;
    position: relative;
}
.section .content .decoration {
    position: absolute;
    top: 15px;
}
.section .content .decoration.left {
    left: 25px;
}
.section .content .decoration.right {
    right: 25px;
}
.section .content .chart {
    margin: 0 auto;
    display: flex;
    align-items: center;
}
.section .content .chart.direction-column {
    flex-direction: column;
}
.section .content .chart.align-right {
    justify-content: flex-end;
}
.chart .chart-item {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.chart.spacing-right .chart-item:not(:last-child) {
    margin-right: 100px;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .chart.spacing-right .chart-item:not(:last-child) {
        margin-right: 50px;
    }
}
.chart-item.marg-b-specific {
    margin-bottom: -80px;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
    .chart-item.marg-b-specific {
        margin-bottom: -40px;
    }
}
.pc .section .content {
    padding-bottom: 100px;
}
.pc .section .content .decoration {
    width: 15%;
}
.pc .section .content .chart {
    max-width: 80%;
    padding-top: 200px;
}
.pc .chart.spacing-bottom .chart-item:not(:last-child) {
    margin-bottom: 50px;
}
.mobile .section .content {
    padding-bottom: 50px;
}
.mobile .section .content .decoration {
    width: 25.6%;
}
.mobile .section .content .chart {
    padding-top: 50px;
}
.mobile .chart .chart-item.text-obj {
    width: 50%;
}
.mobile .chart .chart-item.text-obj.lg {
    width: 80%;
}
.mobile .chart .chart-item.chart-obj {
    width: 80%;
}
.mobile .chart .chart-item.chart-obj.sm {
    width: 50%;
}
.mobile .chart.spacing-bottom .chart-item:not(:last-child) {
    margin-bottom: 20px;
}

.section .progress {
    width: 100%;
}

.section .survey-summary {
    width: 100%;
    position: relative;
}
.section .survey-summary .summary-step-btn {
    position: absolute;
}
.pc .section .survey-summary .summary-step-btn {
    width: 23.1%;
    bottom: 50px;
}
.pc .section .survey-summary .summary-step-btn.prev {
    left: 50px;
}
.pc .section .survey-summary .summary-step-btn.next {
    right: 50px;
}
.mobile .section .survey-summary .summary-step-btn {
    width: 88px;
    height: 100%;
    background-size: auto 100%;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
}
.mobile .section .survey-summary .summary-step-btn.prev {
    background-position: left;
    background-image: url('../image/survey/summary_previous_m.png');
    left: 0;
}
.mobile .section .survey-summary .summary-step-btn.next {
    background-position: right;
    background-image: url('../image/survey/summary_next_m.png');
    right: 0;
}
