select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact
}

[type=checkbox]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")
}

[type=radio]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")
}

[type=checkbox]:indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

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

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

html {
    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, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", Segoe UI Symbol, "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal
}

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-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-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button,
select {
    text-transform: none
}

button,
[type=button],
[type=reset],
[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
}

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
}

[type=text],
[type=email],
[type=url],
[type=password],
[type=number],
[type=date],
[type=datetime-local],
[type=month],
[type=search],
[type=tel],
[type=time],
[type=week],
[multiple],
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    border-radius: 0;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000
}

[type=text]:focus,
[type=email]:focus,
[type=url]:focus,
[type=password]:focus,
[type=number]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=month]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=time]:focus,
[type=week]:focus,
[multiple]:focus,
textarea:focus,
select:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty, );
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    border-color: #2563eb
}

input::-moz-placeholder,
textarea::-moz-placeholder {
    color: #6b7280;
    opacity: 1
}

input::placeholder,
textarea::placeholder {
    color: #6b7280;
    opacity: 1
}

::-webkit-datetime-edit-fields-wrapper {
    padding: 0
}

::-webkit-date-and-time-value {
    min-height: 1.5em
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0
}

select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
    background-position: right .5rem center;
    background-repeat: no-repeat;
    background-size: 1.5em 1.5em;
    padding-right: 2.5rem;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact
}

[multiple] {
    background-image: initial;
    background-position: initial;
    background-repeat: unset;
    background-size: initial;
    padding-right: .75rem;
    -webkit-print-color-adjust: unset;
    print-color-adjust: unset
}

[type=checkbox],
[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    display: inline-block;
    vertical-align: middle;
    background-origin: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    flex-shrink: 0;
    height: 1rem;
    width: 1rem;
    color: #2563eb;
    background-color: #fff;
    border-color: #6b7280;
    border-width: 1px;
    --tw-shadow: 0 0 #0000
}

[type=checkbox] {
    border-radius: 0
}

[type=radio] {
    border-radius: 100%
}

[type=checkbox]:focus,
[type=radio]:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-inset: var(--tw-empty, );
    --tw-ring-offset-width: 2px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: #2563eb;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)
}

[type=checkbox]:checked,
[type=radio]:checked {
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

[type=checkbox]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")
}

[type=radio]:checked {
    background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")
}

[type=checkbox]:checked:hover,
[type=checkbox]:checked:focus,
[type=radio]:checked:hover,
[type=radio]:checked:focus {
    border-color: transparent;
    background-color: currentColor
}

[type=checkbox]:indeterminate {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
    border-color: transparent;
    background-color: currentColor;
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat
}

[type=checkbox]:indeterminate:hover,
[type=checkbox]:indeterminate:focus {
    border-color: transparent;
    background-color: currentColor
}

[type=file] {
    background: unset;
    border-color: inherit;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-size: unset;
    line-height: inherit
}

[type=file]:focus {
    outline: 1px solid ButtonText;
    outline: 1px auto -webkit-focus-ring-color
}

:root {
    --font-main: "Noto Sans JP", sans-serif;
    --clr-text: #333333
}

html {
    scroll-behavior: smooth
}

body {
    font-family: var(--font-main);
    grid-template-rows: auto 1fr auto;
    display: grid;
    min-height: 100vh;
    color: var(--clr-text)
}

main {
    min-height: 100vh
}

img {
    display: block;
    height: auto;
    width: 100%
}

*,
: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:
}

::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:
}

.container {
    width: 100%;
    margin-right: auto;
    margin-left: auto
}

@media (min-width: 640px) {
    .container {
        max-width: 640px
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1536px
    }
}

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

.static {
    position: static
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-x-0 {
    left: 0;
    right: 0
}

.inset-y-0 {
    top: 0;
    bottom: 0
}

.bottom-0 {
    bottom: 0
}

.bottom-2 {
    bottom: .5rem
}

.left-0 {
    left: 0
}

.left-\[50\%\] {
    left: 50%
}

.right-0 {
    right: 0
}

.right-2 {
    right: .5rem
}

.right-\[0\] {
    right: 0
}

.right-\[2\%\] {
    right: 2%
}

.right-\[50\%\] {
    right: 50%
}

.right-\[8\%\] {
    right: 8%
}

.right-\[var\(--modal-close-right\)\] {
    right: var(--modal-close-right)
}

.top-0 {
    top: 0
}

.top-1\/2 {
    top: 50%
}

.top-\[0\] {
    top: 0
}

.top-\[50\%\] {
    top: 50%
}

.top-\[9\%\] {
    top: 9%
}

.top-\[var\(--modal-close-top\)\] {
    top: var(--modal-close-top)
}

.-z-10 {
    z-index: -10
}

.z-40 {
    z-index: 40
}

.z-50 {
    z-index: 50
}

.z-\[-1\] {
    z-index: -1
}

.z-\[100\] {
    z-index: 100
}

.z-\[1\] {
    z-index: 1
}

.z-\[2\] {
    z-index: 2
}

.z-\[99\] {
    z-index: 99
}

.m-auto {
    margin: auto
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.my-\[50px\] {
    margin-top: 50px;
    margin-bottom: 50px
}

.my-\[8px\] {
    margin-top: 8px;
    margin-bottom: 8px
}

.my-\[clamp\(1\.875rem\,0\.750rem\+4\.8vw\,3rem\)\] {
    margin-top: clamp(1.875rem, .75rem + 4.8vw, 3rem);
    margin-bottom: clamp(1.875rem, .75rem + 4.8vw, 3rem)
}

.mb-20 {
    margin-bottom: 5rem
}

.mb-\[12px\] {
    margin-bottom: 12px
}

.mb-\[15px\] {
    margin-bottom: 15px
}

.mb-\[20px\] {
    margin-bottom: 20px
}

.mb-\[24px\] {
    margin-bottom: 24px
}

.mb-\[25px\] {
    margin-bottom: 25px
}

.mb-\[30px\] {
    margin-bottom: 30px
}

.mb-\[45px\] {
    margin-bottom: 45px
}

.mb-\[clamp\(1\.625rem\,0\.625rem\+4\.267vw\,2\.625rem\)\] {
    margin-bottom: clamp(1.625rem, .625rem + 4.267vw, 2.625rem)
}

.mt-\[-10\%\] {
    margin-top: -10%
}

.mt-\[15px\] {
    margin-top: 15px
}

.mt-\[16\%\] {
    margin-top: 16%
}

.mt-\[17px\] {
    margin-top: 17px
}

.mt-\[28px\] {
    margin-top: 28px
}

.mt-\[30px\] {
    margin-top: 30px
}

.mt-\[35px\] {
    margin-top: 35px
}

.block {
    display: block
}

.flex {
    display: flex
}

.table {
    display: table
}

.contents {
    display: contents
}

.hidden {
    display: none
}

.aspect-\[660\/435\] {
    aspect-ratio: 660/435
}

.aspect-video {
    aspect-ratio: 16 / 9
}

.h-2 {
    height: .5rem
}

.h-6 {
    height: 1.5rem
}

.h-\[100\%\] {
    height: 100%
}

.h-\[100vh\] {
    height: 100vh
}

.h-\[18px\] {
    height: 18px
}

.h-\[40vh\] {
    height: 40vh
}

.h-full {
    height: 100%
}

.min-h-\[20rem\] {
    min-height: 20rem
}

.min-h-\[5rem\] {
    min-height: 5rem
}

.min-h-\[calc\(clamp\(1\.125rem\,0\.375rem\+3\.2vw\,1\.875rem\)\*2\.5\)\] {
    min-height: calc(clamp(1.125rem, .375rem + 3.2vw, 1.875rem)/.4)
}

.w-2 {
    width: .5rem
}

.w-6 {
    width: 1.5rem
}

.w-\[100\%\] {
    width: 100%
}

.w-\[17px\] {
    width: 17px
}

.w-\[30\%\] {
    width: 30%
}

.w-\[42\%\] {
    width: 42%
}

.w-\[48\%\] {
    width: 48%
}

.w-\[50\%\] {
    width: 50%
}

.w-\[60\%\] {
    width: 60%
}

.w-\[90\%\] {
    width: 90%
}

.w-\[95\%\] {
    width: 95%
}

.w-\[98\%\] {
    width: 98%
}

.w-\[9px\] {
    width: 9px
}

.w-fit {
    width: -moz-fit-content;
    width: fit-content
}

.w-full {
    width: 100%
}

.w-max {
    width: -moz-max-content;
    width: max-content
}

.max-w-\[600px\] {
    max-width: 600px
}

.max-w-screen-md {
    max-width: 768px
}

.max-w-screen-sm {
    max-width: 640px
}

.origin-center {
    transform-origin: center
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-\[-50\%\] {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-x-\[50\%\] {
    --tw-translate-x: 50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-\[-50\%\] {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.cursor-auto {
    cursor: auto
}

.cursor-pointer {
    cursor: pointer
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-end {
    align-items: flex-end
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.justify-start {
    justify-content: flex-start
}

.gap-2 {
    gap: .5rem
}

.gap-\[4\%\] {
    gap: 4%
}

.space-y-\[clamp\(1\.688rem\,0\.625rem\+4\.533vw\,2\.75rem\)\]>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(clamp(1.688rem, .625rem + 4.533vw, 2.75rem) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(clamp(1.688rem, .625rem + 4.533vw, 2.75rem) * var(--tw-space-y-reverse))
}

.space-y-\[clamp\(1rem\,-0\.500rem\+6\.4vw\,2\.5rem\)\]>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(clamp(1rem, -.5rem + 6.4vw, 2.5rem) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(clamp(1rem, -.5rem + 6.4vw, 2.5rem) * var(--tw-space-y-reverse))
}

.space-y-\[clamp\(2\.5rem\,1\.000rem\+6\.4vw\,4rem\)\]>:not([hidden])~:not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(clamp(2.5rem, 1rem + 6.4vw, 4rem) * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(clamp(2.5rem, 1rem + 6.4vw, 4rem) * var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.overflow-y-auto {
    overflow-y: auto
}

.rounded-\[10px\] {
    border-radius: 10px
}

.rounded-r-xl {
    border-top-right-radius: .75rem;
    border-bottom-right-radius: .75rem
}

.border-\[1px\] {
    border-width: 1px
}

.border-\[2px\] {
    border-width: 2px
}

.border-b-\[1px\] {
    border-bottom-width: 1px
}

.border-b-\[3px\] {
    border-bottom-width: 3px
}

.border-\[\#4d3d44\] {
    --tw-border-opacity: 1;
    border-color: rgb(77 61 68 / var(--tw-border-opacity))
}

.border-\[\#ec7aac\] {
    --tw-border-opacity: 1;
    border-color: rgb(236 122 172 / var(--tw-border-opacity))
}

.bg-\[\#4d3d44\] {
    --tw-bg-opacity: 1;
    background-color: rgb(77 61 68 / var(--tw-bg-opacity))
}

.bg-\[\#ddf1f3\] {
    --tw-bg-opacity: 1;
    background-color: rgb(221 241 243 / var(--tw-bg-opacity))
}

.bg-\[\#ec7aac\] {
    --tw-bg-opacity: 1;
    background-color: rgb(236 122 172 / var(--tw-bg-opacity))
}

.bg-\[\#f0f9fa\] {
    --tw-bg-opacity: 1;
    background-color: rgb(240 249 250 / var(--tw-bg-opacity))
}

.bg-gray-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(156 163 175 / var(--tw-bg-opacity))
}

.bg-green-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(74 222 128 / var(--tw-bg-opacity))
}

.bg-orange-200 {
    --tw-bg-opacity: 1;
    background-color: rgb(254 215 170 / var(--tw-bg-opacity))
}

.bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity))
}

.bg-yellow-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(253 224 71 / var(--tw-bg-opacity))
}

.bg-yellow-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(250 204 21 / var(--tw-bg-opacity))
}

.stroke-gray-400 {
    stroke: #9ca3af
}

.stroke-\[3px\] {
    stroke-width: 3px
}

.p-2 {
    padding: .5rem
}

.p-4 {
    padding: 1rem
}

.p-6 {
    padding: 1.5rem
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-\[15px\] {
    padding-left: 15px;
    padding-right: 15px
}

.px-\[18px\] {
    padding-left: 18px;
    padding-right: 18px
}

.px-\[20px\] {
    padding-left: 20px;
    padding-right: 20px
}

.px-\[24px\] {
    padding-left: 24px;
    padding-right: 24px
}

.px-\[25px\] {
    padding-left: 25px;
    padding-right: 25px
}

.px-\[4\%\] {
    padding-left: 4%;
    padding-right: 4%
}

.px-\[clamp\(1\.25rem\,0\.625rem\+2\.667vw\,1\.875rem\)\] {
    padding-left: clamp(1.25rem, .625rem + 2.667vw, 1.875rem);
    padding-right: clamp(1.25rem, .625rem + 2.667vw, 1.875rem)
}

.px-\[clamp\(1\.563rem\,0\.625rem\+4vw\,2\.5rem\)\] {
    padding-left: clamp(1.563rem, .625rem + 4vw, 2.5rem);
    padding-right: clamp(1.563rem, .625rem + 4vw, 2.5rem)
}

.px-\[clamp\(2rem\,-0\.063rem\+8\.8vw\,4\.063rem\)\] {
    padding-left: clamp(2rem, -.063rem + 8.8vw, 4.063rem);
    padding-right: clamp(2rem, -.063rem + 8.8vw, 4.063rem)
}

.py-\[0px\] {
    padding-top: 0;
    padding-bottom: 0
}

.py-\[5px\] {
    padding-top: 5px;
    padding-bottom: 5px
}

.py-\[15px\] {
    padding-top: 15px;
    padding-bottom: 15px
}

.py-\[3\%\] {
    padding-top: 3%;
    padding-bottom: 3%
}

.py-\[30px\] {
    padding-top: 30px;
    padding-bottom: 30px
}

.py-\[32px\] {
    padding-top: 32px;
    padding-bottom: 32px
}

.py-\[40px\] {
    padding-top: 40px;
    padding-bottom: 40px
}

.py-\[45px\] {
    padding-top: 45px;
    padding-bottom: 45px
}

.py-\[6px\] {
    padding-top: 6px;
    padding-bottom: 6px
}

.py-\[7px\] {
    padding-top: 7px;
    padding-bottom: 7px
}

.pb-\[15px\] {
    padding-bottom: 15px
}

.pb-\[18px\] {
    padding-bottom: 18px
}

.pb-\[50px\] {
    padding-bottom: 50px
}

.pl-\[25px\] {
    padding-left: 25px
}

.pr-\[15px\] {
    padding-right: 15px
}

.pt-\[22px\] {
    padding-top: 22px
}

.pt-\[10px\] {
    padding-top: 10px
}

.text-center {
    text-align: center
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem
}

.text-\[10px\] {
    font-size: 10px
}

.text-\[17px\] {
    font-size: 17px
}

.text-\[19px\] {
    font-size: 19px
}

.text-\[32px\] {
    font-size: 32px
}

.text-\[clamp\(0\.625rem\,0\.250rem\+1\.6vw\,1rem\)\] {
    font-size: clamp(.625rem, .25rem + 1.6vw, 1rem)
}

.text-\[clamp\(0\.875rem\,0\.375rem\+2\.133vw\,1\.375rem\)\] {
    font-size: clamp(12px, 15px, 2.5vw)
}

.text-\[clamp\(0\.938rem\,0\.375rem\+2\.4vw\,1\.5rem\)\] {
    font-size: clamp(.938rem, .375rem + 2.4vw, 1.5rem)
}

.text-\[clamp\(1\.125rem\,-0\.950rem\+8\.853vw\,3\.2rem\)\] {
    font-size: clamp(2.3rem, 3.6rem, 9.6vw)
}

.text-\[clamp\(1\.125rem\,0\.375rem\+3\.2vw\,1\.875rem\)\] {
    font-size: clamp(0.9rem, .575rem + 1.1vw, 1.875rem)
}

.text-\[clamp\(1\.125rem\,0\.500rem\+2\.667vw\,1\.75rem\)\] {
    font-size: clamp(1.125rem, .5rem + 2.667vw, 1.75rem)
}

.text-\[clamp\(1\.188rem\,0\.500rem\+2\.933vw\,1\.875rem\)\] {
    font-size: clamp(1.188rem, .5rem + 2.933vw, 1.875rem)
}

.text-\[clamp\(1\.438rem\,0\.625rem\+3\.467vw\,2\.25rem\)\] {
    font-size: clamp(1.438rem, .625rem + 3.467vw, 2.25rem)
}

.text-\[clamp\(1rem\,0\.438rem\+2\.4vw\,1\.563rem\)\] {
    font-size: clamp(1rem, .438rem + 2.4vw, 1.563rem)
}

.text-\[clamp\(2\.063rem\,0\.825rem\+5\.28vw\,3\.3rem\)\] {
    font-size: clamp(2.063rem, .825rem + 5.28vw, 3.3rem)
}

.text-\[clamp\(2rem\,0\.813rem\+5\.067vw\,3\.188rem\)\] {
    font-size: clamp(2rem, .813rem + 5.067vw, 3.188rem)
}

.text-\[clamp\(2rem\,0\.875rem\+4\.8vw\,3\.125rem\)\] {
    font-size: clamp(2rem, .875rem + 4.8vw, 3.125rem)
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.font-normal {
    font-weight: 400
}

.leading-\[1\] {
    line-height: 1
}

.leading-relaxed {
    line-height: 1.625
}

.leading-tight {
    line-height: 1.25
}

.tracking-\[2px\] {
    letter-spacing: 2px
}

.tracking-tighter {
    letter-spacing: -.05em
}

.text-\[\#4d3d44\] {
    --tw-text-opacity: 1;
    color: rgb(77 61 68 / var(--tw-text-opacity))
}

.text-\[\#6e7578\] {
    --tw-text-opacity: 1;
    color: rgb(110 117 120 / var(--tw-text-opacity))
}

.text-\[\#ec7aac\] {
    --tw-text-opacity: 1;
    color: rgb(236 122 172 / var(--tw-text-opacity))
}

.text-red-400 {
    --tw-text-opacity: 1;
    color: rgb(248 113 113 / var(--tw-text-opacity))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity))
}

.opacity-0 {
    opacity: 0
}

.drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.duration-300 {
    transition-duration: .3s
}

.\[--modal-close-right\:5\%\] {
    --modal-close-right: 5%
}

.\[--modal-close-top\:5\%\] {
    --modal-close-top: 5%
}

html {
    scroll-padding: 12vw
}

html * {
    font-family: Zen Maru Gothic, sans-serif;
    color: #4d3d44
}

.c-globalmenu-button {
    background-color: transparent;
    border: 0;
    position: absolute;
    width: 30px;
    height: 22px;
    top: 9vw;
    translate: 0 -50%;
    right: 6%;
    cursor: pointer;
    z-index: 101
}

@media (min-width: 767px) {
    .c-globalmenu-button {
        top: 60px;
        width: 60px;
        height: 44px
    }
}

.c-globalmenu-button .c-globalmenu-icon {
    overflow: visible
}

.c-globalmenu-button .c-globalmenu-icon .p-globalmenu-icon__line {
    stroke: #ec7aac;
    stroke-width: 2px;
    transition: .4s
}

.c-globalmenu-button .c-globalmenu-icon .p-globalmenu-icon__line--1 {
    transform-origin: top
}

.c-globalmenu-button .c-globalmenu-icon .p-globalmenu-icon__line--2 {
    transform-origin: center
}

.c-globalmenu-button .c-globalmenu-icon .p-globalmenu-icon__line--3 {
    transform-origin: bottom
}

.c-globalmenu-button.is-open .c-globalmenu-icon .p-globalmenu-icon__line--1 {
    rotate: 405deg;
    translate: 0 calc(50% - 1px);
    transition-duration: .4s;
    transition-delay: .2s
}

.c-globalmenu-button.is-open .c-globalmenu-icon .p-globalmenu-icon__line--2 {
    transform: scaleX(0);
    transition: .2s
}

.c-globalmenu-button.is-open .c-globalmenu-icon .p-globalmenu-icon__line--3 {
    rotate: -405deg;
    translate: 0 calc(-50% + 1px);
    transition-duration: .4s;
    transition-delay: .2s
}

.p-globalmenu-description {
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0)
}

.c-globalmenu-inner {
    width: 80%;
    background-color: #fff;
    position: absolute;
    top: clamp(60rem / var(16), 60rem / var(16) + 60 * (100vw - 375rem / var(16)) / 375, 120rem / var(16));
    translate: 100% 0;
    transition: .4s;
    right: 0;
    z-index: 100;
    overflow-y: auto;
    max-height: 80vh;
    visibility: hidden
}

.c-globalmenu-inner.is-show {
    visibility: visible;
    translate: 0 0
}

.fixed-container {
    visibility: hidden
}

.fixed-container.is-shown {
    visibility: visible
}

@media (min-width: 768px) {
    .md\:my-\[100px\] {
        margin-top: 100px;
        margin-bottom: 100px
    }

    .md\:my-\[16px\] {
        margin-top: 16px;
        margin-bottom: 16px
    }

    .md\:mb-\[24px\] {
        margin-bottom: 24px
    }

    .md\:mb-\[30px\] {
        margin-bottom: 30px
    }

    .md\:mb-\[40px\] {
        margin-bottom: 40px
    }

    .md\:mb-\[48px\] {
        margin-bottom: 48px
    }

    .md\:mb-\[50px\] {
        margin-bottom: 50px
    }

    .md\:mb-\[60px\] {
        margin-bottom: 60px
    }

    .md\:mb-\[90px\] {
        margin-bottom: 90px
    }

    .md\:mt-\[30px\] {
        margin-top: 30px
    }

    .md\:mt-\[35px\] {
        margin-top: 35px
    }

    .md\:mt-\[56px\] {
        margin-top: 56px
    }

    .md\:mt-\[60px\] {
        margin-top: 60px
    }

    .md\:mt-\[70px\] {
        margin-top: 70px
    }

    .md\:h-12 {
        height: 3rem
    }

    .md\:h-4 {
        height: 1rem
    }

    .md\:h-\[27px\] {
        height: 27px
    }

    .md\:w-12 {
        width: 3rem
    }

    .md\:w-4 {
        width: 1rem
    }

    .md\:w-\[18px\] {
        width: 18px
    }

    .md\:w-\[34px\] {
        width: 34px
    }

    .md\:px-\[30px\] {
        padding-left: 30px;
        padding-right: 30px
    }

    .md\:px-\[36px\] {
        padding-left: 36px;
        padding-right: 36px
    }

    .md\:px-\[38px\] {
        padding-left: 38px;
        padding-right: 38px
    }

    .md\:px-\[40px\] {
        padding-left: 40px;
        padding-right: 40px
    }

    .md\:px-\[50px\] {
        padding-left: 50px;
        padding-right: 50px
    }

    .md\:py-\[15px\] {
        padding-top: 15px;
        padding-bottom: 15px
    }

    .md\:py-\[16px\] {
        padding-top: 16px;
        padding-bottom: 16px
    }

    .md\:py-\[30px\] {
        padding-top: 30px;
        padding-bottom: 30px
    }

    .md\:py-\[60px\] {
        padding-top: 60px;
        padding-bottom: 60px
    }

    .md\:py-\[65px\] {
        padding-top: 65px;
        padding-bottom: 65px
    }

    .md\:py-\[80px\] {
        padding-top: 80px;
        padding-bottom: 80px
    }

    .md\:py-\[90px\] {
        padding-top: 90px;
        padding-bottom: 90px
    }

    .md\:pb-\[100px\] {
        padding-bottom: 100px
    }

    .md\:pb-\[30px\] {
        padding-bottom: 30px
    }

    .md\:pb-\[35px\] {
        padding-bottom: 35px
    }

    .md\:pl-\[50px\] {
        padding-left: 50px
    }

    .md\:pr-\[30px\] {
        padding-right: 30px
    }

    .md\:pt-\[15px\] {
    padding-top: 15px
    }

    .md\:pt-\[45px\] {
        padding-top: 45px
    }

    .md\:text-\[20px\] {
        font-size: 20px
    }

    .md\:text-\[34px\] {
        font-size: 34px
    }

    .md\:text-\[38px\] {
        font-size: 38px
    }

    .md\:text-\[64px\] {
        font-size: 64px
    }
}

.\[\&\>p\]\:text-\[clamp\(1rem\,0\.438rem\+2\.4vw\,1\.563rem\)\]>p {
    font-size: clamp(1rem, .438rem + 2.4vw, 1.563rem)
}

.tokucho:where(.astro-CHFNZYGV) {
    background-image: url(../assets/tokucho.webp);
    background-size: cover;
    background-repeat: no-repeat
}

.title:where(.astro-CHFNZYGV) {
    filter: drop-shadow(4px 0px 0px rgba(255, 255, 255, 1)) drop-shadow(-4px 0px 0px rgba(255, 255, 255, 1)) drop-shadow(0px 4px 0px rgba(255, 255, 255, 1)) drop-shadow(0px -4px 0px rgba(255, 255, 255, 1))
}

:where(.details):where(.astro-7BKJNAD2) .summary:where(.astro-7BKJNAD2) {
    position: relative;
    display: block
}

:where(.details):where(.astro-7BKJNAD2) .summary:where(.astro-7BKJNAD2)::-webkit-details-marker {
    display: none
}

.faq:where(.astro-5UY652ZQ) .details .summary {
    padding: .5rem;
    font-weight: 700
}

.faq:where(.astro-5UY652ZQ) .details .show-open {
    display: none
}

.faq:where(.astro-5UY652ZQ) .details[open] .show-open {
    display: inline-block
}

.faq:where(.astro-5UY652ZQ) .details .show-close {
    display: inline-block
}

.faq:where(.astro-5UY652ZQ) .details[open] .show-close {
    display: none
}

.faq:where(.astro-5UY652ZQ) .details[open] .icon {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.faq:where(.astro-5UY652ZQ) .details .icon {
    position: absolute;
    top: 50%;
    right: 2%;
    margin: auto;
    transform-origin: center;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .3s
}

.faq:where(.astro-JUYWRS47) .details {
    margin-bottom: 15px
}

@media (min-width: 768px) {
    .faq:where(.astro-JUYWRS47) .details {
        margin-bottom: 30px
    }
}

.faq:where(.astro-JUYWRS47) .details .summary {
    background-color: #ddf1f3;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: clamp(2rem, -.063rem + 8.8vw, 4.063rem);
    padding-right: clamp(2rem, -.063rem + 8.8vw, 4.063rem)
}

@media (min-width: 768px) {
    .faq:where(.astro-JUYWRS47) .details .summary {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.faq:where(.astro-JUYWRS47) .details .show-open {
    display: none
}

.faq:where(.astro-JUYWRS47) .details[open] .show-open {
    display: inline-block
}

.faq:where(.astro-JUYWRS47) .details .show-close {
    display: inline-block
}

.faq:where(.astro-JUYWRS47) .details[open] .show-close {
    display: none
}

.faq:where(.astro-JUYWRS47) .details[open] .icon {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.faq:where(.astro-JUYWRS47) .details .icon {
    position: absolute;
    top: 50%;
    right: 8%;
    margin: auto;
    width: 17px;
    transform-origin: center;
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .3s
}

@media (min-width: 768px) {
    .faq:where(.astro-JUYWRS47) .details .icon {
        width: 34px
    }
}

.underline{
    text-decoration: underline;
    color: #1a0dab;
}

.top-15px{
    top: -15px;
}

.disease{
    height: 100px;
    width: auto;
    margin: 0 auto;
}

.shadow{
    filter: drop-shadow(0 3px 7px #525252);
}