@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: border-box;
    background-repeat: no-repeat
}

html,
body,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
input,
ul,
ol,
li,
a,
section,
form,
table,
td,
tr,
tbody,
select,
label,
figure {
    margin: 0;
    padding: 0
}

body {
    font-family: var(--font-family);
    background-color: #fff;
    color: #1a1a1a;
    font-size: 1rem
}

a {
    color: inherit;
    text-decoration: none
}

a:hover {
    text-decoration: none
}

a.link--text {
    text-decoration: underline
}

.up_arrow {
    position: fixed;
    right: 20px;
    bottom: 150px;
    cursor: pointer;
    z-index: 999999;
    visibility: hidden;
    opacity: 0;
    transition: all .3s ease-in-out
}

.show_arrow {
    visibility: visible;
    opacity: 1
}

.scroll_side {
    color: #000;
    left: auto;
    right: 50px;
    top: 0;
    font-weight: 700
}

.scroll_side_wrapper {
    position: relative;
    z-index: 9;
    opacity: 0
}

.scroll_side_wrapper:before,
.scroll_side_wrapper:after {
    content: "";
    display: block;
    height: 200px;
    width: 1px;
    position: absolute;
    left: 170px;
    top: -90px;
    background-color: #000;
    z-index: -1;
    transform: rotate(90deg)
}

.scroll_side_wrapper:after {
    height: 13px;
    width: 13px;
    border-radius: 50%;
    top: 3px
}

:root {
    --form-section-radius: 10px;
    --form-section-gap: 50px;
    --container-padding-x: 20px
}

@media(prefers-reduced-motion:no-preference) {
    html {
        scroll-behavior: smooth
    }
}

.img-fluid {
    max-width: 100%;
    height: auto
}

.fw-bold {
    font-weight: 700
}

.errorlist {
    color: #ee3f5f;
    list-style: none
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0
}

@media(max-width:767.8px) {
    br.md {
        display: none
    }
}

@media(min-width:768px) {
    br.sm {
        display: none
    }
}

.up_arrow {
    display: none !important
}

#header .container {
    --container-width: 1000px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x)
}

@media(min-width:768px) {
    #header .container {
        padding-right: 0;
        padding-left: 0
    }
}

.header_wrapper {
    display: flex;
    align-items: center;
    padding: 9px 0
}
.header_left figure {
    display: inline-block
}

.header_left figure img:not([height]) {
    width: 100%;
    height: auto;
    max-height: 40px
}

.header_left a {
    display: block
}

@media(min-width:768px) {
    .header_left a {
        display: flex;
        flex-wrap: wrap;
        align-items: center
    }
}

.header_left a p {
    font-weight: 700;
    font-size: 16px
}

@media(min-width:768px) {
    .header_left a p {
        font-size: 35px
    }
}

.header_right {
    margin: 0 0 0 auto
}

.go_btn {
    position: relative;
    line-height: 1;
    --btn-num-block-size: 44px;
    --btn-num-left: 22px;
    --btn-num-top: 16px;
    padding: var(--btn-num-top) 0 var(--btn-num-top) var(--btn-num-left)
}

@media(min-width:768px) {
    .go_btn {
        --btn-num-block-size: 70px;
        --btn-num-left: 45px;
        --btn-num-top: 20px
    }
}

.go_btn_num {
    position: absolute;
    border-radius: 100px;
    background-color: var(--bg-color-light);
    font-size: 13px;
    text-align: center;
    line-height: var(--btn-num-block-size);
    font-weight: 700;
    width: var(--btn-num-block-size);
    height: var(--btn-num-block-size);
    top: 0;
    left: 0
}

@media(min-width:768px) {
    .go_btn_num {
        font-size: 22px
    }
}

.go_btn_text {
    color: #fff;
    display: inline-block;
    border-radius: 100px;
    background: var(--bg-color-first) url(../images/arrow-right-white-7x14.2657ab0af14e.svg) no-repeat right .4444444444em center;
    box-shadow: 7px 7px 5px rgba(var(--bg-color-shadow-rgb), 0.15);
    font-size: 14px;
    white-space: nowrap;
    padding: 15px calc(var(--btn-num-block-size) * 0.6)
}

@media(min-width:768px) {
    .go_btn_text {
        font-size: 27px
    }
}

body.page-others .go_btn {
    visibility: hidden
}

#footer {
    text-align: center;
    padding: 2em 0;
    font-size: 13px
}

@media(min-width:768px) {
    #footer {
        font-size: 18px
    }
}

.footer_content {}

.footer_content img {
    max-width: 100%
}

.footer_content img:not([height]) {
    height: auto
}

.banner {
    background: no-repeat right top;
    background-image: url(./banner_1.png);
    background-size: cover;
    padding: 70px 0 175px;
    --font-size-1: 27px;
    --font-size-2: 17px;
    --font-size-3: 43px;
    font-weight: 700;
    text-shadow: 4px 0 6px #fff, 0 4px 6px #fff
}

@media(min-width:768px) {
    .banner {
        padding: 150px 0 250px;
        --font-size-1: 50px;
        --font-size-2: 30px;
        --font-size-3: 75px
    }
}

.banner .container {
    --container-width: 1000px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x)
}

@media(min-width:768px) {
    .banner .container {
        padding-right: 0;
        padding-left: 0
    }
}

.banner_content {
    width: max-content;
    margin: auto;
    text-align: center
}

.banner_content>* {
    justify-content: center
}

@media(min-width:768px) {
    .banner_content {
        margin-left: 0
    }
}

.banner_content_1 {
    font-size: var(--font-size-1);
    color: var(--bg-color-first);
    display: flex;
    align-items: center;
    letter-spacing: .06em
}

.banner_content_1::before {
    display: inline-block;
    content: "";
    width: calc(var(--font-size-1) * 1.3);
    height: calc(var(--font-size-1) * 1.3);
    background-image: url(../images/tick-black-on-white.99fc9ffa91d9.png);
    background-size: contain
}

.banner_content_2 {
    font-size: var(--font-size-2);
    letter-spacing: .1em
}

@media(max-width:767.8px) {
    .banner_content_2 {
        margin-top: 1em
    }

    .banner_content_2>* {
        display: inline-block
    }

    .banner_content_2::after {
        display: block;
        content: "";
        width: 100%;
        height: 1px;
        background-color: currentcolor;
        box-shadow: 0 0 8px 4px #fff
    }
}

@media(min-width:768px) {
    .banner_content_2 {
        text-align: center;
        margin: 1.1666666667em .8em 0;
        display: block
    }

    .banner_content_2 .banner_content_2__chunk::after {
        display: block;
        content: "";
        width: 100%;
        height: 1px;
        background-color: currentcolor;
        box-shadow: 0 0 8px 4px #fff
    }
}

.banner_content_3 {
    font-size: var(--font-size-3);
    letter-spacing: .04em
}

.banner_content_3 small {
    font-size: 80%
}

.featured {
    margin-top: -100px
}

@media(min-width:768px) {
    .featured {
        padding-bottom: 55px
    }
}

.featured .container {
    --container-width: 900px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x);
    background-color: #fff;
    padding-top: 20px;
    border-radius: 25px
}

@media(min-width:768px) {
    .featured .container {
        padding-right: 0;
        padding-left: 0
    }
}

@media(min-width:768px) {
    .featured .container {
        padding-top: 45px;
        border-radius: 45px
    }
}

.featured_medals {
    width: 100%;
    max-width: 730px;
    margin: 0 auto 80px;
    display: block
}

.featured_title {
    text-align: center;
    font-weight: 700;
    letter-spacing: .1em
}

.featured_title_1 {
    font-size: 27px
}

@media(min-width:768px) {
    .featured_title_1 {
        font-size: 45px
    }
}

.featured_title_2 {
    font-size: 36px;
    color: var(--bg-color-first)
}

@media(min-width:768px) {
    .featured_title_2 {
        font-size: 60px
    }
}

.featured_description {
    text-align: center;
    margin: 2rem 0
}

.featured_description svg {
    max-width: 560px;
    width: 100%;
    height: auto
}

.featured_description .st1 {
    fill: var(--bg-color-second) !important
}

.featured_description .st3 {
    fill: var(--bg-color-light) !important
}

.featured_description p {
    font-size: 14px;
    line-height: 1.7857142857;
    margin-bottom: 0
}

@media(min-width:768px) {
    .featured_description p {
        font-size: 18px
    }
}

@media(min-width:768px) {
    .featured_description p {
        line-height: 2.1111111111
    }
}

.form_sec {
    --mobile-fig-height: 112px;
    --mobile-fig-out-x: 0.4;
    margin-top: calc(var(--mobile-fig-height) * var(--mobile-fig-out-x));
    padding-top: calc(var(--mobile-fig-height) * (1 - var(--mobile-fig-out-x)) - 2.5rem);
    position: relative;
    background-color: var(--bg-color-third)
}

@media(min-width:768px) {
    .form_sec {
        --mobile-fig-height: min(25vw, 300px);
        --mobile-fig-out-x: 0.2;
        padding-top: calc(var(--mobile-fig-height) * 0.3)
    }
}

.form_sec .container {
    --container-width: 900px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
    padding-left: 0
}

@media(min-width:768px) {
    .form_sec .container {
        padding-right: 0;
        padding-left: 0
    }
}

.form_header {
    --container-width: 1108px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: 0;
    padding-left: 0
}

@media(min-width:768px) {
    .form_header {
        padding-right: 0;
        padding-left: 0
    }
}

.form_header__img {
    position: absolute;
    z-index: 1;
    top: calc(var(--mobile-fig-height) * var(--mobile-fig-out-x) * -1);
    height: var(--mobile-fig-height)
}

.form_header__img figure,
.form_header__img img {
    display: block;
    height: 100%;
    width: auto
}

.has-start-arrow,
.result-heading,
.form_header__text {
    background-image: url(../images/form-start-b.f9ecb567f820.svg);
    background-size: auto 20px;
    padding-bottom: 35px;
    background-position: center bottom;
    margin-bottom: 35px
}

@media(min-width:768px) {

    .has-start-arrow,
    .result-heading,
    .form_header__text {
        background-size: 60px 33px;
        padding-bottom: 60px
    }
}

.form_header__text {
    position: relative;
    z-index: 2;
    text-align: center;
    display: flex;
    flex-direction: column;
    font-size: 30px;
    line-height: 1;
    gap: 18px
}

@media(min-width:768px) {
    .form_header__text {
        font-size: 50px
    }
}

.form_header__text .sub {
    font-weight: 400;
    font-size: 24px;
    letter-spacing: .1em;
    color: var(--bg-color-first)
}

@media(min-width:768px) {
    .form_header__text .sub {
        font-size: 35px
    }
}

@media(min-width:768px) {
    .form_header__text .sub {
        letter-spacing: .4em
    }
}

.form_header__text .main {
    letter-spacing: .1em
}

@media(min-width:768px) {
    .form_header__text {
        gap: 26px
    }
}

.form_wrapper {
    counter-reset: formSectionCounter
}

.form_wrapper>.each_form_sec {
    counter-increment: formSectionCounter
}

.each_form_sec {
    --outer-x: 20px;
    --outer-y: 23px;
    --inner-y: 12px;
    --number-width: 47px;
    --gutter-l: var(--outer-x);
    --gutter-r: 29px
}

@media(min-width:768px) {
    .each_form_sec {
        --outer-x: 20px;
        --outer-y: 24px;
        --inner-y: 12px;
        --number-width: 87px;
        --gutter-l: var(--outer-x);
        --gutter-r: 41px
    }
}

.each_form_sec_inner {
    border-radius: var(--form-section-radius);
    box-shadow: 10px 10px 10px rgba(var(--bg-color-shadow-rgb), 0.1);
    display: grid;
    background-color: #fff;
    grid-template-columns: var(--number-width) 1fr;
    grid-template-areas: "number main";
    gap: 0 var(--gutter-l);
    position: relative;
    align-items: center;
    align-content: center;
    padding: var(--outer-y) var(--outer-x)
}

@media(min-width:768px) {
    .each_form_sec_inner {
        --outer-y: 33px;
        --inner-y: 15px
    }
}

.each_form_sec_inner .each_form_sec_num {
    font-size: 37px;
    line-height: 1;
    font-weight: 500;
    display: block;
    grid-area: number;
    text-align: center;
    color: var(--bg-color-first);
    font-family: var(--font-family)
}

@media(min-width:768px) {
    .each_form_sec_inner .each_form_sec_num {
        font-size: 60px
    }
}

.each_form_sec_inner .each_form_main {
    border-left: 1px solid var(--bg-color-first);
    grid-area: main;
    padding: var(--inner-y) 0 var(--inner-y) var(--gutter-r)
}

.each_form_sec_inner h4 {
    font-size: 17px;
    letter-spacing: .1em;
    margin-bottom: 1em
}

@media(min-width:768px) {
    .each_form_sec_inner h4 {
        font-size: 25px
    }
}

.each_form_sec+.each_form_sec::before {
    content: "";
    background-image: url(../images/form-interval-b.e90786b33360.png);
    background-position: center center;
    background-size: contain;
    width: 100%;
    height: var(--form-section-gap);
    display: block;
    position: relative;
    top: 0
}

.form-control,
.each_form_inputs select,
.each_form_inputs input[type=number],
.each_form_inputs textarea,
.each_form_inputs input[type=text],
.each_form_inputs input[type=email],
.each_form_inputs input[type=tel] {
    accent-color: var(--bg-color-second);
    border: 1px solid var(--bg-color-second);
    border-radius: 4px;
    padding: 6px 14px;
    line-height: 1;
    font-size: 18px
}

.form-control:focus,
.each_form_inputs select:focus,
.each_form_inputs input[type=number]:focus,
.each_form_inputs textarea:focus,
.each_form_inputs input[type=text]:focus,
.each_form_inputs input[type=email]:focus,
.each_form_inputs input[type=tel]:focus {
    outline-color: var(--bg-color-second)
}

.each_form_inputs {
    font-size: 13px
}

@media(min-width:768px) {
    .each_form_inputs {
        font-size: 18px
    }
}

.each_form_inputs label span {
    font-size: 16px;
    color: #ee3f5f;
    padding-left: 10px
}

.each_form_inputs input[type=number] {
    width: 5em
}

.each_input {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 1ch
}

.each_input>* {
    flex-basis: 100%
}

.each_input .errorlist {
    flex-basis: 100%
}

@media(min-width:768px) {
    .each_input {
        align-items: center;
        gap: 0
    }

    .each_input>:not(label) {
        flex-basis: auto;
        flex-grow: 1
    }

    .each_input>label {
        flex-basis: 242px
    }

    .each_input .errorlist {
        margin-left: 242px
    }
}

.each_input span.required {
    font-size: 88.8888888889%;
    background-color: var(--bg-color-light);
    color: #000;
    padding: 2px 4px;
    border-radius: 4px;
    display: inline-block;
    margin-left: 1em
}

.each_input+.each_input {
    margin-top: 20px
}

.form_pp {
    --container-width: 620px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x);
    font-size: 12px;
    letter-spacing: .075em;
    line-height: 2;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 25px
}

@media(min-width:768px) {
    .form_pp {
        padding-right: 0;
        padding-left: 0
    }
}

@media(min-width:768px) {
    .form_pp {
        font-size: 15px
    }
}

@media(min-width:768px) {
    .form_pp {
        margin-top: 72px;
        margin-bottom: 20px
    }
}

.form_pp .inner {
    border-image-slice: 25;
    border-image-width: 12px;
    border-image-outset: 0;
    border-image-repeat: repeat;
    border-image-source: url(../images/border-brackets.f5c6f9f89e29.png);
    padding-top: 1em;
    padding-bottom: 1em
}

.form_pp .inner>* {
    margin: 0 12px
}

@media(min-width:768px) {
    .form_pp .inner>* {
        margin: 0 34px
    }
}

.form_term {
    text-align: center;
    margin-bottom: 11px;
    font-size: 13px
}

@media(min-width:768px) {
    .form_term {
        font-size: 18px
    }
}

@media(min-width:768px) {
    .form_term {
        margin-bottom: 20px
    }
}

.form_term a {
    color: var(--bg-color-first)
}

.form_captcha {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    justify-content: center;
    align-items: center
}

@media(min-width:768px) {
    .form_captcha {
        margin-bottom: 46px
    }
}

.submit_btn {
    --container-width: 1000px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x);
    text-align: center;
    padding-bottom: 80px
}

@media(min-width:768px) {
    .submit_btn {
        padding-right: 0;
        padding-left: 0
    }
}

@media(min-width:768px) {
    .submit_btn {
        padding-bottom: 100px
    }
}

.submit_btn button {
    font-size: 25px;
    width: 100%;
    max-width: 500px;
    padding: .92em 0;
    line-height: 1;
    display: inline-block;
    background: var(--bg-color-first) url(../images/arrow-right-white-7x14.2657ab0af14e.svg) no-repeat right .4444444444em center;
    background-size: auto 10px;
    letter-spacing: .1em;
    font-weight: 400;
    color: #fff;
    border-radius: 7.5px;
    box-shadow: 7px 7px 5px rgba(var(--bg-color-shadow-rgb), 0.15)
}

@media(min-width:768px) {
    .submit_btn button{
        font-size: 35px
    }
}

@media(min-width:768px) {
    .submit_btn button {
        border-radius: 15px;
        background-size: 7px 14px
    }
}

.submit_btn button:disabled {
    opacity: .8;
    color: #ccc
}

.form-input--toggle {
    --toggler-size: 40px;
    --indicator-size: 35px;
    --inditactor-transition-duration: 0;
    position: relative;
    font-size: 18px;
    width: 8.5em;
    height: var(--toggler-size)
}

@media(prefers-reduced-motion:no-preference) {
    .form-input--toggle {
        --inditactor-transition-duration: 0.2s
    }
}

.form-input--toggle input[type=radio],
.form-input--toggle label {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block
}

.form-input--toggle input[type=radio] {
    opacity: 0;
    z-index: 2
}

.form-input--toggle input[type=radio]:checked {
    z-index: 0
}

.form-input--toggle label {
    z-index: 1;
    opacity: 0;
    text-align: center;
    line-height: var(--toggler-size)
}

.form-input--toggle .toggle-state {
    display: block;
    background-color: #ccc;
    padding: calc((var(--toggler-size) - var(--indicator-size)) * 0.5);
    border-radius: 100px;
    border: transparent solid 2px;
    transition: border-color calc(var(--inditactor-transition-duration) * 0.5) ease-out
}

.form-input--toggle .toggle-indicator {
    display: block;
    position: relative;
    left: 0;
    background-color: #fff;
    border-radius: 100px;
    width: var(--indicator-size);
    height: var(--indicator-size);
    transition: all var(--inditactor-transition-duration) ease-out
}

.form-input--toggle input[type=radio]:hover~.toggle-state,
.form-input--toggle input[type=radio]:focus~.toggle-state {
    border-color: var(--bg-color-second)
}

.form-input--toggle input:checked+label {
    opacity: 1
}

.form-input--toggle input[value="1"]:checked+label {
    color: #fff
}

.form-input--toggle input[value="1"]:checked~.toggle-state {
    background-color: var(--bg-color-first)
}

.form-input--toggle input[value="1"]:checked~.toggle-state .toggle-indicator {
    left: calc(100% - var(--indicator-size))
}

.alert-danger {
    padding: 1rem;
    text-align: center;
    border-radius: var(--form-section-radius);
    margin-bottom: var(--form-section-gap);
    color: #721c24;
    font-size: 25px;
    font-weight: 500;
    background-color: #f8d7da
}

.result-section {
    padding-top: 42px
}

@media(min-width:768px) {
    .result-section {
        padding-top: 100px
    }
}

.result-section .result-items {
    --container-width: 810px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: 30px;
    padding-left: 30px
}

@media(min-width:768px) {
    .result-section .result-items {
        padding-right: 0;
        padding-left: 0
    }
}

.result-section .sum-area {
    --container-width: 1000px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x)
}

@media(min-width:768px) {
    .result-section .sum-area {
        padding-right: 0;
        padding-left: 0
    }
}

.result-heading {
    text-align: center
}

.result-heading h3 {
    font-size: 35px;
    letter-spacing: .1em
}

@media(min-width:768px) {
    .result-heading h3 {
        font-size: 50px
    }
}

.result-items {
    font-size: 14px;
    line-height: 1
}

@media(min-width:768px) {
    .result-items {
        font-size: 18px
    }
}

.result-items ol {
    counter-reset: formSectionCounter;
    list-style: none
}

.result-items ol>li {
    counter-increment: formSectionCounter;
    line-height: 1.7857142857;
    margin-bottom: 20px
}

.result-items .field-name {
    display: flex;
    margin-right: 2em;
    gap: 1ex
}

.result-items .field-name::before {
    content: counter(formSectionCounter, decimal-leading-zero) ".";
    font-weight: 700;
    font-family: var(--font-family)
}

.result-items .field-content {
    text-align: right;
    color: var(--bg-color-first);
    white-space: nowrap
}

.result-items .field--name-only .field-name::before {
    visibility: hidden
}

@media(min-width:768px) {
    .result-items ol>li {
        display: flex;
        margin-bottom: 2.6em
    }

    .result-items .field-name {
        flex-grow: 1
    }
}

.sum-area .inner {
    padding: 54px 0 100px;
    background-image: url(../images/result-divider.ece01c060a6c.svg);
    background-position: top center;
    text-align: center;
    font-size: 26px;
    letter-spacing: .1em;
    font-weight: 700;
    line-height: 1
}

@media(min-width:768px) {
    .sum-area .inner {
        font-size: 35px
    }
}

@media(max-width:767.8px) {
    .sum-area .inner .field {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px
    }

    .sum-area .inner .field>* {
        width: max-content;
        padding-bottom: 6px;
        background-image: linear-gradient(0deg, #FFF6A4 12px, transparent 12px)
    }
}

@media(min-width:768px) {
    .sum-area .inner {
        padding: 87px 0 80px
    }

    .sum-area .inner .field {
        display: flex;
        justify-content: center;
        width: max-content;
        margin: 0 auto;
        gap: 1ch;
        background-image: linear-gradient(0deg, #FFF6A4 12px, transparent 12px)
    }
}

.sum-area .inner .field-content {
    color: var(--bg-color-first)
}

.appendix-section {
    background-color: var(--bg-color-third);
    padding-top: 25px;
    padding-bottom: 58px
}

@media(min-width:768px) {
    .appendix-section {
        padding-top: 80px;
        padding-bottom: 100px
    }
}

.appendix-section .container {
    --container-width: 1000px;
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-right: var(--container-padding-x);
    padding-left: var(--container-padding-x)
}

@media(min-width:768px) {
    .appendix-section .container {
        padding-right: 0;
        padding-left: 0
    }
}

.appendix-section .container+.container {
    padding-top: 60px
}

@media(min-width:768px) {
    .appendix-section .container+.container {
        padding-top: 80px
    }
}

.appendix-section h3 {
    text-align: center;
    font-size: 23px;
    font-weight: 500;
    letter-spacing: .1em;
    margin-bottom: 1.23em
}

@media(min-width:768px) {
    .appendix-section h3 {
        font-size: 35px
    }
}

.appendix-section .subsidy-list,
.appendix-section .product-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px 20px
}

@media(min-width:768px) {
    .appendix-section .product-list {
        grid-template-columns: repeat(2, 1fr)
    }
}

.product-banner {
    display: block;
    height: 100%
}

.product-banner--text {
    display: flex;
    background-color: #999;
    color: #f0f0f0;
    text-transform: uppercase;
    justify-content: center;
    text-align: center;
    align-items: center;
    min-height: 180px
}