@font-face {
    font-family: Material Icons;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons.woff2) format("woff2"), url(./material-icons.woff) format("woff")
}

@font-face {
    font-family: Material Icons Outlined;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-outlined.woff2) format("woff2"), url(./material-icons-outlined.woff) format("woff")
}

@font-face {
    font-family: Material Icons Round;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-round.woff2) format("woff2"), url(./material-icons-round.woff) format("woff")
}

@font-face {
    font-family: Material Icons Sharp;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-sharp.woff2) format("woff2"), url(./material-icons-sharp.woff) format("woff")
}

@font-face {
    font-family: Material Icons Two Tone;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-two-tone.woff2) format("woff2"), url(./material-icons-two-tone.woff) format("woff")
}

@font-face {
    font-display: swap;
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 400;
    src: url(./NotoSansJP-Regular.woff2) format("woff2")
}

@font-face {
    font-display: swap;
    font-family: Noto Sans JP;
    font-style: normal;
    font-weight: 700;
    src: url(./NotoSansJP-Bold.woff2) format("woff2")
}

*, :before, :after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb
}

:before, :after {
    --tw-content: ""
}

html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px
}

abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
}

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

b, strong {
    font-weight: bolder
}

code, kbd, samp, pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
    font-feature-settings: normal;
    font-variation-settings: normal;
    font-size: 1em
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button, select {
    text-transform: none
}

button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

progress {
    vertical-align: baseline
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

summary {
    display: list-item
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
    margin: 0
}

fieldset {
    margin: 0;
    padding: 0
}

legend {
    padding: 0
}

ol, ul, menu {
    list-style: none;
    margin: 0;
    padding: 0
}

dialog {
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder, textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

button, [role=button] {
    cursor: pointer
}

:disabled {
    cursor: default
}

img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle
}

img, video {
    max-width: 100%;
    height: auto
}

[hidden] {
    display: none
}

html {
    font-size: 10px;
    scroll-behavior: smooth
}

body {
    -webkit-text-size-adjust: 100%;
    font-family: Noto Sans JP, sans-serif;
    text-rendering: optimizeLegibility
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700
}

h1 {
    font-size: 2em
}

h2 {
    font-size: 1.5em
}

h3 {
    font-size: 1.17em
}

h4 {
    font-size: 1em
}

h5 {
    font-size: .83em
}

h6 {
    font-size: .67em
}

img {
    border: 0;
    max-width: 100%;
    height: auto;
    vertical-align: top
}

*, :before, :after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

.l-container {
    width: 100%;
    max-width: 60rem;
    margin: 0 auto;
    background-color: #fff
}

.c-header {
    color: #fff;
    text-align: center
}

.c-header__image img {
    width: 10rem;
    height: auto;
    border-radius: 50%
}

.c-header__text h1 {
    font-size: 2.4rem;
    margin: 1rem 0
}

.c-header__text p {
    font-size: 1.8rem;
    margin: .5rem 0
}

.c-campaign {
    text-align: center;
    background-color: #C65767;
    padding: 2rem
}

.c-campaign h2 {
    font-size: 4.8rem;
    font-weight: 900;
    line-height: 118.2%;
    text-align: center;
    background: linear-gradient(95.16deg, #fff 4.89%, #ffe600 100.09%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    text-shadow: 0rem .4rem .4rem rgba(0, 0, 0, .25)
}

.c-campaign svg {
    margin-left: auto;
    margin-right: auto
}

.c-campaign__list {
    display: flex;
    justify-content: space-around;
    margin-top: 1rem
}

.c-campaign__item {
    font-size: 1.8rem;
    color: #000
}

.c-survey {
    background-color: #fff
}

.c-survey__title {
    padding: 3.2rem 1.6rem
}

.c-survey__title__button {
    display: flex;
    padding: 1.6rem;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    border-radius: 1rem;
    background: var(--Yellow, #fcee21);
    align-self: stretch;
    cursor: pointer;
    text-decoration: none;
    color: #181818;
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    transition: all ease .2s
}

.c-survey__title__button span {
    display: flex;
    align-items: center
}

.c-survey__title__button svg {
    margin-right: .8rem
}

.c-survey__title__button:hover {
    opacity: .8
}

.c-form {
    margin-top: 0rem
}

.c-form__group div {
    font-size: 1.4rem;
    color: #000
}

.c-form__submit {
    text-align: center;
    display: flex;
    padding: 3.2rem 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
    align-self: stretch
}

.c-form__submit button {
    padding: 1.6rem;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    align-self: stretch;
    border-radius: 1rem;
    background: var(--LINE-GREEN, #07c656);
    color: #fff;
    text-align: center;
    font-size: 2rem;
    line-height: normal;
    display: flex;
    font-weight: 700
}

.c-form__submit button:hover {
    background-color: #ffc107
}

.c-form__group {
    background-color: #FFDFE4;
    padding: 4rem 2rem
}

.c-form__group:nth-child(2n) {
    background-color: #FFF7F8
}

.c-form__group label {
    display: block;
    font-size: 1.8rem;
    color: #000;
    margin-bottom: 1.5rem;
    font-weight: 700;
    display: flex;
    line-height: 2.3rem
}

.c-form__group div {
    display: flex;
    flex-direction: column
}

.c-form__group input[type=radio] {
    display: none
}

.c-form__group input[type=radio]+label {
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 .4rem #0000001a;
    border-radius: 10rem;
    padding: 1rem 2rem;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    min-height: 7.6rem;
    padding: 0rem 2.4rem;
    align-items: center;
    align-self: stretch;
    line-height: 1.2
}

.c-form__group input[type=radio]:checked+label {
    background-color: #DD8390;
    border-color: #DD8390;
    color: #fff
}

.c-form__group input[type=radio]+label:before {
    content: "";
    width: 2.8rem;
    height: 2.8rem;
    background: #fff;
    border: .1rem solid #ababab;
    border-radius: 10rem;
    margin-right: 0.5rem
}

.c-form__group input[type=radio]:checked+label:before {
    content: "";
    display: block;
    background-color: gold;
    border-radius: 50%;
    margin-right: 1rem;
    border: none
}

.c-form__group input[type=radio]+label .percentage {
    margin-left: auto;
    background-color: gold;
    color: #000;
    border-radius: 2rem;
    padding: 1rem 1rem;
    font-size: 1.4rem;
    text-align: right;
    width: 0%;
    justify-content: flex-end;
    align-items: center;
    gap: .8rem;
    transition: all ease .2s;
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    opacity: 0;
    width: 0;
    transition: all .5s ease
}

.c-form__group input[type=radio]:checked+label .percentage {
    display: flex;
    opacity: 1
}

.c-form__group.is-checked input[type=radio]+label .percentage {
    opacity: 1
}

.question-number {
    background: #DD8390;
    color: #fff;
    font-size: 2.4rem;
    border-radius: 5rem;
    padding: 0rem;
    margin-right: 1.6rem;
    display: flex;
    width: 5.2rem;
    height: 5.2rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .8rem
}

.c-cta__present {
    display: flex;
    padding: 2.4rem 1.6rem 3.2rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    align-self: stretch;
    background: #C65767;
}

.c-cta__present__title {
    text-align: center;
    width: 100%
}

.c-cta__present__title svg {
    margin-left: auto;
    margin-right: auto;
    display: block
}

.c-cta__present__line__button {
    display: flex;
    padding: 1.6rem;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    align-self: stretch;
    border-radius: 1rem;
    background: var(--LINE-GREEN, #07c656);
    box-shadow: 0 4px 4px #00000040;
    width: 100%
}

.c-cta__present__line {
    width: 100%
}

.c-cta__present__line__button span:last-child {
    color: #fff;
    text-align: center;
    font-family: Noto Sans JP;
    font-size: 3rem;
    font-style: normal;
    font-weight: 900;
    line-height: 118.2%
}

.c-footer {
    background-color: #fff;
    text-align: center;
    padding: 2rem
}

.c-footer img {
    display: inline-block
}

.c-footer p {
    margin: .5rem 0;
    color: #000;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 400
}

.c-footer .c-footer__privacy, .c-footer .c-footer__copyright {
    font-size: 1.4rem
}

.c-form__group.is-checked .percentage {
    display: inline-block;
    transition: width .5s ease
}

#submitButton {
    border: none;
    color: #fff;
    cursor: pointer
}

#submitButton.success {
    background-color: #bbb
}

#submitButton.success svg path {
    fill: #fff
}

#loadingOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #00000080;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    display: none
}

.spinner {
    border: 16px solid #f3f3f3;
    border-top: 16px solid #3498db;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

@font-face {
    font-family: Material Icons;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons.woff2) format("woff2"), url(./material-icons.woff) format("woff")
}

.material-icons {
    font-family: Material Icons;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga"
}

@font-face {
    font-family: Material Icons Outlined;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-outlined.woff2) format("woff2"), url(./material-icons-outlined.woff) format("woff")
}

.material-icons-outlined {
    font-family: Material Icons Outlined;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga"
}

@font-face {
    font-family: Material Icons Round;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-round.woff2) format("woff2"), url(./material-icons-round.woff) format("woff")
}

.material-icons-round {
    font-family: Material Icons Round;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga"
}

@font-face {
    font-family: Material Icons Sharp;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-sharp.woff2) format("woff2"), url(./material-icons-sharp.woff) format("woff")
}

.material-icons-sharp {
    font-family: Material Icons Sharp;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga"
}

@font-face {
    font-family: Material Icons Two Tone;
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url(./material-icons-two-tone.woff2) format("woff2"), url(./material-icons-two-tone.woff) format("woff")
}

.material-icons-two-tone {
    font-family: Material Icons Two Tone;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "liga"
}