@charset "UTF-8";

html {
    font-family: var(--font-family-main);
    text-size-adjust: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: var(--header-height)
}

body {
    color: var(--color--base);
    font-weight: 500;
    line-break: strict;
    line-height: var(--line-height--medium);
    min-width: 320px;
    overflow-wrap: anywhere;
    overflow-y: scroll;
    scrollbar-gutter: stable;
    word-break: normal
}

body * {
    font-feature-settings: "palt";
    letter-spacing: .05em
}

body:has(dialog[open]) {
    overflow: hidden
}

::selection {
    background-color: hsla(0, 0%, 50%, .25)
}

.grecaptcha-badge {
    visibility: hidden
}

*,
:after,
:before {
    -webkit-appearance: revert;
    appearance: revert;
    border-style: solid;
    border-width: 0;
    box-sizing: border-box
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: var(--line-height--small)
}

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

p+p:where(:not(.not-give)) {
    margin-block-start: var(--spacing-p)
}

embed,
iframe,
img,
object,
svg {
    vertical-align: middle
}

hr {
    border-top-width: 1px;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

b,
strong {
    font-weight: bolder
}

em {
    font-style: normal
}

code,
kbd,
pre,
samp {
    font-family: ui-monospace, monospace;
    font-size: inherit
}

pre {
    white-space: pre
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: .688em;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    inset-block-end: -.75em
}

sup {
    inset-block-start: -.5em
}

s {
    text-decoration: line-through
}

table {
    border-collapse: collapse;
    width: 100%
}

textarea {
    overflow-wrap: revert;
    resize: revert;
    white-space: revert
}

label {
    display: inline-block
}

[type=button],
[type=reset],
[type=submit],
button,
label {
    cursor: pointer
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
    cursor: default
}

:focus {
    outline: revert
}

details,
progress,
summary {
    all: revert
}

summary {
    display: block
}

summary::-webkit-details-marker {
    display: none
}

:where(button, [type=button], [type=reset], [type=submit]) {
    touch-action: manipulation
}

.font-sub {
    font-family: var(--font-family-sub);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--font-sub--letter-spacing, 0);
    line-height: var(--font-sub--line-height, 1)
}

a {
    color: var(--anchor--color--base, var(--color--base));
    cursor: pointer;
    text-decoration: none;
    transition: var(--duration)
}

a.under {
    text-decoration: underline
}

a:not(:has(img), :has(svg))[target=_blank]:after {
    aspect-ratio: 1;
    background-color: currentColor;
    content: "";
    display: inline-block;
    height: fit-content;
    margin-inline: .3em;
    mask: url(../../svg/ex-link.svg) no-repeat center center/contain;
    vertical-align: baseline;
    width: .75em
}

::placeholder {
    color: var(--color--use--border)
}

input,
textarea {
    font-family: var(--font-family-default);
    font-weight: inherit
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
select,
textarea {
    background-color: var(--_input--bg-color, var(--color--theme--secondary-pale));
    border-color: var(--_input--border-color, var(--color--theme--secondary-pale));
    border-radius: var(--radius-s);
    border-style: solid;
    border-width: 2px;
    box-sizing: border-box;
    font-size: 1rem;
    padding: .75em;
    transition: border var(--duration);
    vertical-align: baseline;
    width: min(100%, 40em)
}

input[type=date]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
    --_input--border-color: var(--color--theme--secondary);
    outline: none
}

select {
    width: auto
}

input[type=date] {
    align-items: center;
    display: inline-flex;
    min-width: 10em
}

button[type=submit],
input[type=submit] {
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--_submit--bg-color, var(--color--theme--primary-dull));
    border-radius: var(--radius-oval);
    border-width: 0;
    color: var(--color--use--above);
    cursor: pointer;
    font-size: 1rem;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--small);
    margin: 0 .625em;
    min-width: 10rem;
    padding: 1.2em var(--spacing-m);
    position: relative;
    text-align: center;
    transition: all var(--duration) ease-out
}

button[type=submit]:hover,
input[type=submit]:hover {
    --_submit--bg-color: var(--color--theme--secondary)
}

button[type=submit][disabled],
input[type=submit][disabled] {
    --_submit--bg-color: var(--color--base);
    opacity: .2
}

.iw-s {
    width: min(100%, 8em) !important
}

.iw-m {
    width: min(100%, 12em) !important
}

.iw-l {
    width: min(100%, 24em) !important
}

.breadcrumb {
    --anchor--color--base: var(--color--use--above);
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(.75rem, 1.367vw, .875rem)
}

.breadcrumb>li:not(:last-child):after {
    content: "/";
    margin: 0 .4em
}

.page-title {
    position: relative;
    z-index: 101
}

.page-title__container {
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    border-start-start-radius: var(--_page-title--radius, 0);
    color: var(--color--use--above);
    font-size: var(--clamp--font-size-3xl);
    font-weight: 700;
    padding-block: var(--chg--spacing-4xl) var(--spacing-2xl)
}

.page-title__wrapper {
    translate: var(--_page-title-wrapper--translate, 0) 0
}

.page-title__en {
    color: var(--color--theme--secondary);
    font-size: .4em;
    margin-block-end: var(--spacing-xs)
}

.page-title__text {
    margin-block-end: var(--spacing-l)
}

.title-1 {
    font-size: var(--_title-1--font-size, var(--clamp--font-size-2xl));
    margin-block-end: var(--spacing-s);
    position: relative
}

.title-1--small {
    --_title-1--font-size: 1rem
}

.title-1__en {
    margin-block-end: var(--_title-1-en--margin-bottom, var(--spacing-xs));
    max-width: 48vw
}

.title-1__en--rotate {
    --_title-1-en--margin-bottom: var(--spacing-xl);
    rotate: -10deg
}

.title-1__ja,
.title-2 {
    font-weight: var(--font-weight-bold)
}

.title-2 {
    align-items: center;
    display: flex;
    font-size: var(--_title-2--font-size, var(--clamp--font-size-xl));
    gap: .333em
}

.title-2--small {
    --_title-2--font-size: var(--clamp--font-size-l)
}

.title-2:before {
    aspect-ratio: 1;
    background-color: var(--color--theme--secondary);
    border-radius: 50%;
    content: "";
    width: .375rem
}

.title-3 {
    background-color: var(--color--use--bg);
    border-radius: var(--radius-xs);
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-xl);
    padding-block: var(--spacing-xs);
    padding-inline: var(--spacing-s)
}

.l-content {
    line-height: var(--line-height);
    overflow: clip;
    padding-block-end: var(--l--content--padding-end, var(--section));
    position: relative
}

.l-content:has(.c-bg-pale--cover) {
    --l--content--padding-end: 0
}

.l-column-2 {
    display: grid;
    gap: var(--section) var(--chg--spacing-2xl)
}

.l-column-2__main,
.l-column-2__side {
    position: relative
}

.l-site-top {
    display: none
}

.l-header {
    min-height: var(--header-height);
    position: relative
}

.l-footer {
    background-color: var(--color--theme--secondary-pale);
    padding-block: var(--spacing-2xl) var(--spacing-4xl)
}

.l-copyright {
    display: block;
    font-size: var(--font-size--10);
    margin-block-start: var(--spacing-2xl);
    text-align: center
}

#pagetop {
    display: none
}

.c-bg-pale {
    --_bg-pale: var(--color--theme--secondary-pale);
    background-color: var(--_bg-pale);
    border-image-outset: var(--c--bg--outset-top, 0) 0 var(--c--bg--outset-bottom, 0) 0;
    border-image-repeat: stretch;
    border-image-slice: 0 fill;
    border-image-source: linear-gradient(90deg, var(--_bg-pale), var(--_bg-pale));
    border-image-width: 1;
    padding-block: var(--c--bg--padding-block, var(--spacing-2xl));
    position: relative;
    z-index: 1
}

.c-bg-pale--padding-large {
    --c--bg--padding-block: var(--chg--spacing-4xl)
}

.c-bg-pale--cover {
    --c--bg--outset-top: var(--spacing-xl);
    --c--bg--padding-block: var(--section)
}

.p-nav-sub+.c-bg-pale {
    --c--bg--outset-top: calc(var(--spacing-2xl) + var(--spacing-m))
}

.c-trim {
    aspect-ratio: var(--c--trim--ratio, 3/2);
    background-color: var(--c--trim--bg, var(--color--base--light));
    overflow: hidden;
    position: var(--c--trim--position, relative)
}

.c-trim--bg {
    --c--trim--ratio: auto;
    --c--trim--position: absolute;
    inset: 0;
    z-index: -1
}

.c-trim--bg:after {
    background-color: rgba(0, 0, 0, .6);
    content: "";
    inset: 0;
    position: absolute;
    transition: var(--duration)
}

a:has(.c-trim):hover .c-trim--bg:after {
    background-color: rgba(0, 0, 0, .8)
}

.c-trim>img {
    height: 100%;
    inset: 0;
    margin: auto;
    object-fit: cover;
    position: absolute;
    transition: var(--duration) ease-in-out;
    width: 100%
}

.c-plusminus {
    aspect-ratio: var(--c--plusminus--ratio, 1/1);
    background-color: var(--c--plusminus--bg-color, transparent);
    border-radius: var(--c--plusminus--radius, var(--radius-oval));
    flex: 0 0 auto;
    position: relative;
    width: var(--c--plusminus--size, 1.875em)
}

.c-plusminus:after,
.c-plusminus:before {
    background-color: var(--c--plusminus--color, var(--color--theme--primary));
    content: "";
    height: var(--c--plusminus--height, 3px);
    inset: 0;
    margin: auto;
    position: absolute;
    transition: all .4s;
    width: var(--c--plusminus--width, 1em)
}

.c-plusminus:before {
    transform: rotate(0deg)
}

.c-plusminus:after {
    transform: rotate(90deg)
}

details[open] .c-plusminus:after {
    transform: rotate(180deg)
}

.c-svg-area {
    height: 0;
    inset-inline-start: -9999px;
    overflow: hidden;
    position: absolute;
    visibility: hidden
}

.c-arrow {
    aspect-ratio: 16/15;
    width: var(--c--arrow--width, 1em)
}

.c-arrow,
.c-out-link {
    flex-shrink: 0;
    fill: var(--c--arrow--fill, currentColor);
    transition: inherit
}

.c-out-link {
    aspect-ratio: 1;
    width: var(--c--out-link--width, .667em)
}

.c-circle {
    --c--arrow--fill: var(--c--circle-arrow--fill, var(--color--use--above));
    --c--arrow--width: 44.44444%;
    aspect-ratio: 1;
    background-color: var(--c--circle-hover--bg-color, var(--c--circle--bg-color, var(--color--theme--secondary)));
    border-radius: var(--c--circle--radius, 50%);
    display: grid;
    flex-shrink: 0;
    place-items: center;
    transition-duration: var(--duration);
    transition-property: background;
    width: var(--c--circle--width, 2.25rem)
}

.c-circle-n-text {
    align-items: flex-start;
    display: flex;
    gap: .625rem
}

.c-circle-n-text:before {
    aspect-ratio: 1;
    border: 3px solid var(--c--circle-n-text--border-color, var(--color--theme--secondary));
    border-radius: 50%;
    content: "";
    flex-shrink: 0;
    translate: 0 calc(.5lh - .3125rem);
    width: .625rem
}

.c-triangle {
    aspect-ratio: 4/5;
    background-color: var(--c--triangle--bg-color, var(--color--use--above));
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    width: var(--c--triangle--width, .4em)
}

.c-lemon-01 {
    width: min(29.313rem, 50svw)
}

.c-lemon-01,
.c-lemon-02 {
    pointer-events: none;
    position: absolute
}

.c-lemon-02 {
    width: min(32.875rem, 50svw)
}

.c-lemon-03 {
    width: min(9.375rem, 13svw)
}

.c-lemon-03,
.c-lemon-04 {
    pointer-events: none;
    position: absolute
}

.c-lemon-04 {
    width: min(6.125rem, 13svw)
}

.c-kuma {
    aspect-ratio: 783/930;
    opacity: var(--c--kuma--opacity, .02);
    position: absolute;
    width: min(50rem, var(--c--kuma--width, 40.7291666667%));
    z-index: var(--c--kuma--z-index, -1);
    fill: var(--c--kuma--fill, var(--color--theme--primary-dull))
}

.c-button-wrap {
    margin-block-start: var(--spacing-xl);
    text-align: center
}

.c-button-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    justify-content: center
}

.c-btn {
    --c--arrow--width: 1rem;
    align-items: center;
    background-color: var(--c--button--color, var(--color--theme--secondary));
    border-radius: var(--radius-oval);
    display: inline-flex;
    font-size: var(--c--button--font-size, var(--clamp--font-size-l));
    font-weight: var(--font-weight-bold);
    gap: 1em;
    line-height: var(--line-height--medium);
    padding: .417em var(--spacing-s);
    position: relative;
    text-align: var(--c--button--text-align, start)
}

.c-btn--center {
    --c--button--text-align: center
}

.c-btn--min-width {
    min-width: min(var(--c--button--min-width, 25rem), 100%)
}

.c-btn--small {
    --c--button--font-size: 1rem
}

.c-btn__label {
    flex: 1
}

.c-btn__sub {
    font-size: var(--font-size--12)
}

.c-btn-black {
    --anchor--color--base: var(--color--use--above);
    --c--triangle--width: 0.8em;
    --c--triangle--bg-color: currentColor;
    background-color: var(--c--btn-black--bg-color, var(--color--theme--primary-dull));
    border: 1px solid var(--color--theme--primary-dull);
    border-radius: var(--radius-oval);
    display: flex;
    font-size: var(--font-size--14);
    gap: var(--spacing-s);
    justify-content: space-between;
    margin-inline: auto;
    padding: var(--spacing-xs);
    width: fit-content
}

.c-btn-black,
.c-btn-underline {
    align-items: center;
    line-height: var(--line-height--small)
}

.c-btn-underline {
    border-block-end: 2px solid;
    display: inline-flex;
    gap: 1em;
    padding-block-end: .5em
}

.p-reserve-button {
    --anchor--color--hover: var(--color--theme--primary);
    align-items: center;
    background-color: var(--_home-info-reserve--bg-color, var(--color--theme--secondary));
    border: 1px solid var(--_home-info-reserve--border-color, var(--color--theme--secondary));
    border-radius: var(--radius-oval);
    clear: both;
    display: flex;
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-2xs);
    justify-content: center;
    line-height: var(--line-height--medium);
    padding-block: var(--spacing-2xs);
    padding-inline: var(--spacing-s)
}

.p-reserve-button__icon {
    aspect-ratio: 1;
    width: 1.75rem;
    fill: currentColor
}

.p-reserve-button__out {
    aspect-ratio: 1;
    width: .938rem;
    fill: currentColor
}

.c-table-grid {
    line-height: var(--line-height--medium)
}

.c-table-grid>tbody>tr {
    display: grid;
    gap: var(--cell-space--gap, 0);
    grid-template-columns: minmax(0, 1fr)
}

.c-table-grid>tbody>tr>:where(th, td) {
    border-block: 1px solid var(--cell-space--border-color, currentColor);
    padding-block: var(--cell-space--padding-block, var(--spacing-s));
    padding-inline: var(--cell-space--padding-inline, 0)
}

.c-table-grid>tbody>tr>th {
    --cell-space--border-color: var(--color--theme--secondary)
}

.c-table-lattice {
    --c--lattice--border: 1px solid var(--c--lattice--border-color, var(--color--use--border));
    background-color: var(--color--use--border);
    border: var(--c--lattice--border);
    font-size: clamp(.75rem, 2.5vw, 1rem);
    overflow: hidden
}

.c-table-lattice thead {
    --c--lattice--bg-color: var(--color--theme--primary-pale);
    color: var(--color--theme--primary)
}

.c-table-lattice :where(tr) {
    border-block-end: var(--c--lattice--border)
}

.c-table-lattice tbody tr:last-child {
    border-block-end-width: 0
}

.c-table-lattice :where(th, td) {
    background-color: var(--c--lattice--bg-color, var(--color--use--above));
    border-inline-end: var(--c--lattice--border);
    padding: var(--c--table--padding, var(--spacing-xs) var(--spacing-m));
    vertical-align: middle
}

.c-table-lattice__small {
    --c--table--padding: var(--spacing-xs);
    font-size: .889em
}

.c-table-keep {
    overflow-x: auto
}

.c-box {
    background-color: var(--c--box--color, var(--color--use--bg));
    border-radius: var(--c--box--radius, var(--radius));
    padding: var(--c--box--padding, var(--spacing-m))
}

.c-box--white {
    --c--box--color: var(--color--use--above)
}

.c-box--yellow {
    --c--box--color: var(--color--accent--yellow-very-pale)
}

.c-box--shadow {
    box-shadow: var(--box-shadow)
}

.c-box--padding-s {
    --c--box--padding: var(--spacing-s)
}

.c-box--padding-l {
    --c--box--padding: var(--spacing-l)
}

.c-column {
    display: grid;
    gap: var(--chg--spacing-2xl);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--c--column--static-width, 30rem)), 1fr))
}

.c-media-object {
    display: grid;
    gap: var(--c--media--gap, 0 var(--chg--spacing-2xl));
    grid-template-areas: "title" "image" "content";
    grid-template-columns: minmax(0, 1fr)
}

.c-media-object--align-center {
    --c--media--title--align-self: end;
    --c--media--content--align-self: start;
    --c--media--template-row: max-content
}

.c-media-object--align-end {
    --c--media--title--align-self: end;
    --c--media--content--align-self: end;
    --c--media--template-row: 1fr max-content
}

.c-media-object--40 {
    --c--media--image--width-fluid: 40%
}

.c-media-object--50 {
    --c--media--image--width-fluid: 50%
}

.c-media-object--gap-s {
    --c--media--gap: 0 var(--spacing-s)
}

.c-media-object--gap-m {
    --c--media--gap: 0 var(--spacing-m)
}

.c-media-object--gap-l {
    --c--media--gap: 0 var(--spacing-l)
}

.c-media-object--gap-xl {
    --c--media--gap: 0 var(--chg--spacing-xl)
}

.c-media-object--gap-2xl {
    --c--media--gap: 0 var(--chg--spacing-2xl)
}

.c-media-object__title {
    align-self: var(--c--media--title--align-self, inherit);
    grid-area: title
}

.c-media-object__content {
    align-self: var(--c--media--content--align-self, inherit);
    grid-area: content;
    margin-block-start: var(--spacing-s);
    position: relative
}

.c-media-object__image {
    grid-area: image;
    justify-self: center;
    position: relative
}

.c-one-side {
    --_one-side--variable-spacing: var(--spacing--use--variable-basic);
    --c--media--image--width-fluid: 48%;
    padding-inline: var(--_one-side--padding-inline, var(--_one-side--variable-spacing) 0)
}

.c-one-side--left {
    --_one-side--padding-inline: 0 var(--_one-side--variable-spacing);
    --_one-side-content--padding-inline: var(--spacing--use--outside) 0
}

.c-one-side--large {
    --_one-side--variable-spacing: var(--spacing--use--variable-large)
}

.c-one-side__content {
    padding-inline: var(--_one-side-content--padding-inline, 0 var(--spacing--use--outside))
}

.c-tab-nav {
    align-items: flex-end;
    border-block-end: 3px solid var(--color--theme--secondary);
    display: flex;
    font-size: clamp(.75rem, 1.974vw, 1.875rem);
    gap: var(--spacing-2xs)
}

.c-tab-nav__button {
    background-color: var(--c--tab-nav-button--bg-color, var(--color--use--bg));
    border: solid var(--c--tab-nav-button--border-color, currentColor);
    border-radius: var(--radius) var(--radius) 0 0;
    border-width: 1px 1px 0;
    color: var(--c--tab-nav-button--color, var(--anchor--color--base, var(--color--base)));
    display: inline-block;
    flex: 1;
    line-height: var(--line-height--small);
    padding-block: var(--spacing-xs);
    padding-inline: 1em;
    transition: revert
}

.c-tab-nav__button[aria-selected=true] {
    --c--tab-nav-button--bg-color: var(--color--theme--secondary);
    --c--tab-nav-button--border-color: var(--color--theme--secondary);
    --c--tab-nav-button--color: var(--color--use--above);
    --c--circle-n-text--border-color: currentColor;
    pointer-events: none
}

.c-tab-panel__container {
    background-color: var(--color--use--bg);
    border-radius: 0 0 var(--radius) var(--radius)
}

.c-tab-panel__container:not([hidden=until-found]) {
    border: 1px solid;
    border-top: 0 solid;
    padding: var(--spacing-m)
}

.p-header {
    background-color: var(--color--base--white);
    overflow-x: clip;
    position: relative;
    width: 100%;
    z-index: 103
}

.p-header-logo {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: min(.5em, 1vw) var(--spacing-xs)
}

.p-header-logo__note {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(.5rem, .521vw, .625rem);
    gap: 0 1em;
    line-height: var(--line-height--small)
}

.p-gnav-button:after,
.p-gnav-button:before,
.p-gnav-button__line {
    background-color: var(--color--base);
    height: var(--_button-border--height);
    inset-inline: 0;
    margin-inline: auto;
    position: absolute;
    transition: all .5s;
    width: var(--_button-inner--size)
}

.p-gnav__container {
    translate: 100% 0
}

.p-gnav-button {
    --_button-bg-color: color-mix(in srgb, var(--color--theme--primary) 40%, transparent);
    --_button-size: 72px;
    --_button-inner--size: calc(var(--_button-size)/2);
    --_button-border--height: 3px;
    --_button-border--position: calc(var(--_button-inner--size)/2);
    aspect-ratio: 1;
    background-color: var(--_button-bg-color);
    border-width: 0;
    display: block;
    height: var(--_button-size);
    position: relative
}

.p-gnav-button:after,
.p-gnav-button:before {
    content: ""
}

.p-gnav-button:before {
    inset-block-start: var(--_button-border--position)
}

.p-gnav-button#gnavClose:before {
    inset-block-start: 50%;
    rotate: z 45deg;
    translate: 0 -50%
}

.p-gnav-button:after {
    inset-block-end: var(--_button-border--position)
}

.p-gnav-button#gnavClose:after {
    inset-block-end: 50%;
    rotate: z -45deg;
    translate: 0 50%
}

.p-gnav-button__line {
    appearance: none;
    display: block;
    inset-block-start: 50%;
    margin-block: 0;
    translate: 0 -50%
}

.p-gnav-button__line:focus {
    outline-width: 0
}

#gnavClose .p-gnav-button__line {
    opacity: 0;
    translate: 50% -50%
}

.p-gnav-sub {
    align-items: center;
    display: flex;
    font-size: .625em;
    gap: 1em;
    justify-content: center;
    line-height: var(--line-height--small);
    padding: var(--_gnav-sub--padding, var(--spacing-s))
}

.p-gnav-sub__anchor {
    --c--circle--width: 1em;
    align-items: center;
    display: flex;
    gap: .333em
}

.p-main-nav {
    --_main-nav--padding-inline: min(1vw, 0.938rem)
}

.p-main-nav__details {
    height: 100%
}

.p-main-nav__summary {
    display: flex;
    height: 100%;
    justify-content: space-between
}

.p-main-nav__link {
    align-items: center;
    display: flex;
    height: 100%;
    padding-block: 1em;
    padding-inline: var(--_main-nav--padding-inline-start, 2em) var(--_main-nav--padding-inline);
    position: relative;
    z-index: 1
}

.p-main-nav__link:before {
    aspect-ratio: 1;
    background-color: var(--_main-nav-link-before--bg-color, transparent);
    border-radius: 50%;
    content: "";
    inset-block-start: 50%;
    inset-inline-end: 100%;
    position: absolute;
    translate: calc(var(--_main-nav--padding-inline-start, 2em) - .462em) -50%;
    width: .813em
}

.p-main-nav__item:has(.p-mega .is-current) .p-main-nav__link,
.p-main-nav__link.is-current {
    --_main-nav-link-before--bg-color: var(--color--theme--secondary)
}

.p-mega {
    background-color: var(--color--accent--yellow-very-pale)
}

.p-mega-parent {
    display: none
}

.p-mega-list {
    flex: 1
}

.p-mega-btn {
    --c--plusminus--color: var(--color--theme--primary);
    --c--plusminus--bg-color: var(--color--use--bg-blue);
    --c--plusminus--size: 4.5rem;
    --c--plusminus--border-color: transparent;
    --c--plusminus--ratio: auto;
    --c--plusminus--radius: 0;
    transition: var(--duration)
}

#overlay {
    backdrop-filter: blur(1px);
    cursor: default;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: all var(--duration);
    z-index: -1
}

.p-gnav-icon:has(#gnav-check:checked)~#overlay {
    background-color: var(--color--theme--primary);
    opacity: .8;
    pointer-events: visible;
    z-index: 106
}

.p-footer {
    --_schedule--font-size: clamp(0.75rem, 1.367vw, 0.875rem);
    display: grid;
    gap: var(--spacing-2xl)
}

.p-footer__first {
    display: grid;
    gap: var(--spacing-s)
}

.p-footer__logo {
    font-size: var(--font-size--12);
    text-align: center
}

.p-footer-info__term {
    border-block-end: 1px solid;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--medium);
    margin-block-end: var(--spacing-2xs);
    padding-block-end: var(--spacing-2xs)
}

dd+.p-footer-info__term {
    margin-block-start: var(--spacing-xs)
}

.p-footer-info__desc {
    font-size: var(--font-size--13)
}

.p-footer-map {
    background-color: var(--color--use--above);
    border-radius: var(--radius);
    display: block;
    height: min(29.375rem, 40vh);
    width: 100%
}

.p-footer-address {
    align-items: center;
    display: flex;
    font-size: var(--font-size--14);
    gap: var(--spacing-2xs);
    margin-block: var(--spacing-xs)
}

.p-footer-address__icon {
    aspect-ratio: 12/16;
    width: 1em;
    fill: var(--color--theme--secondary)
}

.p-footer-access {
    display: grid;
    gap: var(--spacing-xs)
}

.p-footer-access__container {
    align-items: baseline;
    display: grid;
    font-size: var(--font-size--12);
    gap: var(--spacing-2xs);
    grid-template-columns: 5em 1fr
}

.p-footer-access__term {
    background-color: var(--color--theme--secondary-light);
    border-radius: var(--radius-xs);
    font-size: var(--font-size--10);
    padding-block: .2em;
    text-align: center
}

.p-footer-nav {
    --c--circle--width: 0.5em;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    font-size: var(--font-size--14);
    gap: var(--spacing-xs) var(--spacing-m);
    margin-block-start: var(--spacing-xl)
}

.p-footer-nav__list {
    align-content: start;
    display: grid;
    gap: var(--spacing-xs)
}

.p-footer-nav__anchor {
    align-items: center;
    display: flex;
    gap: .5em
}

.p-footer-nav-child {
    display: grid;
    gap: .333em var(--spacing-m);
    margin-block-start: .25em;
    margin-inline-start: 1em
}

.p-fixed {
    --anchor--color--base: var(--color--use--above);
    --anchor--color--hover: var(--color--use--above);
    display: grid;
    gap: var(--spacing-2xs);
    grid-template-columns: var(--_fixed--columns, 1fr 1fr max-content);
    inset-block: var(--_fixed--inset-block, auto 0);
    inset-inline: var(--_fixed--inset-inline, 0);
    margin-inline: var(--_fixed--margin-inline, auto);
    position: fixed;
    translate: var(--_fixed--translate, 0 0);
    width: var(--_fixed--width, fit-content);
    z-index: 104
}

.p-fixed__anchor {
    align-items: center;
    background-color: var(--_fixed-anchor--bg-color, var(--color--theme--secondary));
    border-radius: var(--_fixed-anchor--radius, var(--radius-xs) var(--radius-xs) 0 0);
    display: flex;
    font-size: var(--_fixed-anchor--font-size, clamp(.75rem, 1.758vw, 1.125rem));
    gap: var(--spacing-2xs);
    justify-content: center;
    line-height: var(--line--height--small);
    padding-block: var(--_fixed-anchor--padding-block, 0);
    padding-inline: var(--_fixed-anchor--padding-inline, var(--spacing-xs));
    text-orientation: var(--_fixed-anchor--orientation, inherit);
    writing-mode: var(--_fixed-anchor--writing-mode, inherit)
}

.p-fixed__anchor--main-site {
    display: none
}

.p-fixed__circle {
    aspect-ratio: 1;
    background-color: var(--color--use--above);
    border-radius: 50%;
    display: grid;
    place-content: center;
    place-items: center;
    width: 2.222em
}

.p-fixed__icon {
    aspect-ratio: 1;
    width: 1.333em;
    fill: var(--color--accent--orange)
}

.p-fixed__label {
    letter-spacing: 0
}

.p-fixed-ig {
    aspect-ratio: 1;
    border-radius: var(--_fixed-anchor--radius, var(--radius-xs) var(--radius-xs) 0 0);
    overflow: hidden;
    position: relative;
    width: 3.75rem
}

.p-fixed-ig>img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.p-fixed-ig__icon {
    opacity: var(--_fixed-ig--opacity, 1);
    position: relative;
    transition: opacity .2s;
    z-index: 2
}

.p-fixed-ig__hover {
    inset: 0;
    position: absolute;
    z-index: 1
}

.p-side {
    --c--circle--width: 1.714em;
    background-color: var(--color--accent--yellow-pale);
    border-radius: var(--radius);
    font-size: var(--font-size--14);
    line-height: var(--line-height--medium);
    padding: var(--_side--padding, var(--spacing-s))
}

.p-side-parent {
    --c--circle-arrow--fill: var(--color--base);
    --c--circle--bg-color: var(--color--use--above);
    align-items: center;
    display: flex;
    gap: var(--spacing-xs);
    margin-block-end: var(--spacing-s)
}

.p-side-links {
    display: var(--_side-links--display, grid);
    font-size: var(--_side-links--font-size, inherit);
    gap: var(--_side-links--gap, var(--spacing-xs));
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 14.375rem), 1fr))
}

.p-side-links--small {
    --_side-links--gap: var(--spacing-2xs);
    --_side-anchor--padding-block: 0.5em;
    --_side-anchor--padding-inline: 0.65em;
    --_side-links--font-size: var(--font-size--13);
    --c--circle--width: 1.25em;
    --_side-links--display: flex;
    flex-wrap: wrap
}

.p-side-links__anchor {
    align-items: center;
    background-color: var(--_side-anchor--bg-color, var(--color--use--above));
    border-radius: var(--radius-s);
    display: flex;
    gap: var(--spacing-xs);
    justify-content: space-between;
    padding-block: var(--_side-anchor--padding-block, 1em);
    padding-inline: var(--_side-anchor--padding-inline, 1.143em)
}

.p-tel {
    --anchor--color--base: var(--color--theme--secondary);
    display: block
}

.p-tel--header {
    --anchor--color--base: var(--color--base);
    margin-inline: auto;
    width: fit-content
}

.p-tel--cta {
    --_tel--font-size: clamp(1.25rem, 2.368vw, 2.25rem);
    --_tel-note--font-size: var(--font-size--12);
    flex-wrap: wrap;
    gap: 0 var(--spacing-xs);
    justify-content: center;
    margin-block: var(--spacing-2xs)
}

.p-tel--cta,
.p-tel__container {
    align-items: center;
    display: flex
}

.p-tel__container {
    font-size: var(--_tel--font-size, var(--clamp--font-size-l));
    gap: .125em
}

.p-tel__icon {
    aspect-ratio: 15/20;
    width: .625em;
    fill: var(--_tel-icon--fill, var(--color--theme--primary));
    translate: 0 .05lh
}

.p-tel__number {
    white-space: nowrap
}

.p-tel__note {
    color: var(--color--theme--primary);
    font-size: var(--_tel-note--font-size, .625rem);
    line-height: var(--line-height--small);
    margin-block-start: .5em
}

.p-accordion {
    --c--plusminus--size: var(--spacing-m);
    --c--plusminus--bg-color: var(--color--theme--secondary);
    background-color: var(--color--base--white);
    border-radius: var(--radius-xs);
    overflow: hidden
}

.p-accordion[open] {
    --_accordion-title--bg-color: var(--color--theme--secondary);
    --_symptom-title-before--bg-color: var(--color--use--above);
    --c--plusminus--bg-color: var(--color--use--above)
}

.p-accordion+.p-accordion {
    margin-block-start: var(--spacing-s)
}

.p-accordion__title {
    align-items: center;
    background-color: var(--_accordion-title--bg-color, transparent);
    cursor: pointer;
    display: flex;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-s);
    justify-content: space-between;
    padding-block: calc(var(--spacing-2xs)*1.5);
    padding-inline: var(--chg--spacing-xl) var(--spacing-s);
    transition: background var(--duration)
}

.p-accordion__panel {
    margin-inline: var(--chg--spacing-xl);
    padding-block: var(--spacing-m)
}

dialog {
    --_modal--duration: 0.5s;
    --_modal--overlay-color: color-mix(in srgb, var(--color--base), transparent 20%);
    transition-duration: var(--_modal--duration);
    transition-property: opacity, scale, translate, visibility, box-shadow
}

dialog[data-dialog-active=true] {
    box-shadow: 0 0 0 100vmax var(--_modal--overlay-color)
}

dialog::backdrop {
    backdrop-filter: blur(2px);
    opacity: 0;
    transition: opacity .5s
}

dialog[data-dialog-active=true]::backdrop {
    opacity: 0
}

.p-modal {
    --_modal--gutter: max(5vi, var(--spacing-s));
    --_modal--background: var(--color--base);
    background-color: var(--color--base--white);
    block-size: min(100svb - var(--_modal--gutter) * 2, 475px);
    contain: strict;
    inline-size: min(100% - var(--_modal--gutter) * 2, 840px);
    margin: auto
}

.p-modal:not([data-dialog-active=true]) {
    opacity: 0;
    scale: .95
}

.p-modal__container {
    block-size: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    padding: var(--_modal--gutter)
}

.p-modal__close {
    --_modal-close: var(--color--base);
    --_modal-close--active: var(--color--accent--yellow);
    --_modal-close--icon-color: var(--color--base);
    --_modal-close--duration: 0.3s;
    appearance: none;
    aspect-ratio: 1;
    background-color: transparent;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    inline-size: 3em;
    inset-block-start: 4px;
    inset-inline-end: 4px;
    position: absolute;
    transition: background-color var(--_modal-close--duration);
    z-index: 1
}

.p-modal__close:after,
.p-modal__close:before {
    background-color: var(--_modal-close--icon-color);
    content: "";
    height: 2px;
    inset: 0;
    margin: auto;
    position: absolute;
    width: 45%
}

.p-modal__close:before {
    rotate: 45deg
}

.p-modal__close:after {
    rotate: 135deg
}

.p-modal__close:focus-visible {
    background-color: var(--_modal-close--active)
}

.p-banner__anchor {
    --c--circle--bg-color: var(--color--use--above);
    --c--circle-arrow--fill: var(--color--base);
    background-color: var(--_banner--bg-color, var(--color--theme--secondary));
    border-radius: var(--radius-l);
    display: flex;
    overflow: hidden
}

.p-banner__thumb {
    --c--trim--ratio: var(--_banner-thumb--ratio, 30/16);
    width: min(var(--_banner-thumb--width, 18.75rem), var(--_banner-thumb--width-ps, 32%))
}

.p-banner__content {
    align-items: center;
    display: flex;
    flex: 1;
    gap: var(--spacing-s);
    justify-content: space-between;
    padding-block: var(--_banner-content--padding-block, var(--spacing-m));
    padding-inline: var(--_banner-content--padding-inline, var(--spacing-s))
}

.p-banner__label {
    font-size: var(--_banner-label--font-size, var(--clamp--font-size-l));
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--small);
    margin-block-end: var(--spacing-2xs)
}

.p-banner-small {
    display: grid;
    gap: var(--spacing-l) var(--chg--spacing-2xl);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 30em), 1fr))
}

.p-banner-small+.p-banner-large {
    margin-block-start: var(--chg--spacing-2xl)
}

.p-banner-general {
    display: grid;
    gap: var(--chg--spacing-2xl);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 30em), 1fr));
    margin-inline: auto;
    width: min(var(--content--width--large), 100%)
}

.p-banner-general__anchor {
    background-color: var(--_banner--bg-color, var(--color--theme--secondary-pale));
    border-radius: var(--radius-l);
    display: grid;
    grid-template-columns: 30fr 42fr;
    overflow: hidden;
    position: relative
}

.p-banner-general__thumb>img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.p-banner-general__content {
    padding: var(--spacing-m)
}

.p-banner-general__label {
    border-block-end: 1px solid;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--small);
    margin-block-end: var(--spacing-s);
    padding-block-end: var(--spacing-2xs);
    width: 76.4705882353%
}

.p-banner-general__arrow {
    inset-block-start: var(--spacing-s);
    inset-inline-end: var(--spacing-s);
    position: absolute
}

.p-schedule__table {
    background-color: var(--_schedule--bg-color, var(--color--use--border));
    border: 1px solid var(--color--use--border);
    border-radius: var(--radius-xs);
    font-size: var(--_schedule--font-size, clamp(.813rem, 1.563vw, 1rem));
    max-width: 40rem;
    overflow: hidden;
    table-layout: fixed;
    text-align: center
}

.p-schedule :where(th, td) {
    border: 1px solid var(--_schedule--border-color, var(--color--use--border));
    line-height: var(--line-height--small);
    padding-block: 1em
}

.p-schedule__head {
    --_schedule--border-color: var(--color--use--above);
    color: var(--color--use--above)
}

.p-schedule__body td {
    background-color: var(--color--use--above);
    color: var(--_schedule-td--color, var(--color--theme--secondary))
}

.p-schedule__body td:first-child {
    --_schedule-td--color: var(--color--theme--primary)
}

.p-schedule-first {
    width: clamp(7.5rem, 15.625vw, 10rem)
}

.p-schedule-note {
    font-size: clamp(.75rem, 1.367vw, .875rem);
    line-height: var(--line-height--medium);
    margin-block-start: var(--spacing-2xs)
}

.p-schedule-note__container {
    display: grid;
    gap: var(--_schedule-note-container--gap, 1em);
    grid-template-columns: var(--_schedule-note-container--column-first, 5em) 1fr
}

.p-loop-gallery__slide {
    width: min(25rem, 50vw)
}

.p-loop-gallery__deco {
    inset-block-end: 100%;
    inset-inline-end: 2%;
    position: absolute;
    rotate: -6deg;
    translate: 0 16%;
    width: min(51.688rem, 40vw)
}

.p-button-list {
    --c--circle-n-text--border-color: currentColor
}

.p-button-list__header {
    border-block-end: 2px solid var(--color--theme--secondary);
    margin-block-end: var(--spacing-s);
    padding-block-end: var(--spacing-s)
}

.p-button-list__content {
    display: grid;
    gap: var(--_button-list-content--gap, var(--spacing-2xs)) var(--spacing-s);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5em), 1fr))
}

.p-button-list__anchor {
    align-items: center;
    background-color: var(--_home-symptoms-anchor--bg-color, var(--color--use--above));
    border-radius: var(--radius-s);
    display: flex;
    gap: .75em;
    height: 100%;
    padding: 1em var(--spacing-xs)
}

.p-button-list__anchor:before {
    aspect-ratio: 1;
    background-color: var(--_home-symptoms-anchor-before--bg-color, var(--color--theme--secondary));
    border-radius: 50%;
    content: "";
    width: .313em
}

.p-button-list__anchor .c-arrow {
    margin-inline: auto 0
}

.p-nav-sub {
    position: var(--_nav-sub--position, relative);
    z-index: 102
}

.p-nav-sub__container {
    align-items: center;
    background-color: var(--color--use--above);
    border-radius: var(--radius);
    box-shadow: var(--box-shadow);
    display: grid;
    font-size: clamp(.875rem, 1.579vw, 1.5rem);
    gap: var(--spacing-xs) var(--spacing-s);
    grid-template-columns: var(--_nav-sub--columns, 1fr);
    line-height: var(--line-height--medium);
    margin-block-start: calc(var(--spacing-m)*-1);
    padding-block: calc(var(--spacing-xs)*.75);
    padding-inline: var(--spacing-s);
    width: var(--_nav-sub--width, 100%)
}

.p-nav-sub-parent {
    --anchor--color--base: var(--color--theme--secondary);
    color: var(--color--theme--secondary)
}

.p-nav-sub-parent__anchor {
    --c--circle--width: 1.25em;
    align-items: center;
    display: flex;
    gap: var(--spacing-2xs)
}

.p-nav-sub-parent__label {
    text-decoration-line: underline;
    text-decoration-skip-ink: none;
    text-decoration-thickness: 2px;
    text-underline-offset: .4em
}

.p-nav-sub-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-s)
}

.p-nav-sub-child__anchor {
    --c--circle--width: 1em;
    --c--circle--bg-color: var(--color--use--above);
    --c--circle-arrow--fill: currentColor;
    align-items: center;
    background-color: var(--color--theme--secondary-pale);
    border-radius: var(--radius-xs);
    display: flex;
    gap: var(--spacing-2xs);
    padding-block: .25em;
    padding-inline: var(--spacing-xs)
}

.p-cta__title {
    font-weight: var(--font-weight-bold);
    text-align: center
}

.p-home-mo {
    padding-inline: var(--_home-mo--padding-inline, var(--spacing--use--variable-large) 0)
}

.p-home-mo--left {
    --_home-mo--padding-inline: 0 var(--spacing--use--variable-large);
    --_home-mo-content--padding-inline: var(--spacing--use--outside) 0
}

.p-home-mo__content {
    padding-inline: var(--_home-mo-content--padding-inline, 0 var(--spacing--use--outside))
}

.p-home-title {
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-m);
    margin-inline: auto;
    position: relative;
    text-align: center;
    width: fit-content
}

.p-home-title__ja {
    justify-content: center;
    margin-block-start: var(--spacing-2xs)
}

.p-home-fv {
    position: relative;
    width: 100%;
    z-index: 2
}

.p-home-fv__container {
    position: relative;
    width: 100%;
    z-index: 3
}

.p-home-fv__slide {
    width: var(--_fv-slide--width, 60vw)
}

.p-home-fv__image {
    border-radius: var(--radius-l);
    object-fit: cover;
    width: 100%
}

.p-home-fv-content {
    align-content: center;
    align-items: center;
    display: grid;
    gap: var(--spacing-m);
    padding-block: var(--spacing-xl);
    padding-inline: var(--spacing--use--outside);
    position: var(--_fv-content--position, relative);
    text-align: center;
    z-index: 5
}

.p-home-fv-content__catch {
    margin-inline: auto
}

.p-home-fv-info {
    display: grid;
    gap: var(--spacing-xs);
    grid-template-columns: repeat(3, 1fr)
}

.p-home-fv-info__icon {
    width: min(3.75rem, 38.961038961%);
    fill: var(--color--theme--primary-light)
}

.p-home-fv-info__text {
    font-size: var(--_fv-info-text--font-size, .75rem);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--medium);
    margin-block-start: var(--spacing-xs);
    white-space: nowrap
}

.p-home-fv-info__em {
    font-size: 1.25em
}

.p-home-fv-info__large {
    font-size: 1.5em
}

.p-home-fv__lemon {
    inset-block-start: 100%;
    inset-inline-start: 0;
    translate: -10% -44%;
    z-index: 4
}

.p-home-info {
    padding-block: var(--spacing-2xl) var(--spacing-3xl);
    position: relative;
    z-index: 1
}

.p-home-info__bg {
    background-color: var(--color--theme--secondary-pale);
    border-radius: var(--spacing-2xl) 0 0 var(--spacing-2xl);
    height: calc(100% + var(--spacing-xl));
    inset-block-end: 0;
    inset-inline-end: 0;
    position: absolute;
    width: calc(102vw - var(--spacing--use--variable-large));
    z-index: -1
}

.p-home-info__container {
    align-items: start;
    display: grid;
    gap: var(--spacing-m);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 22.5em), 1fr));
    margin-block-start: var(--spacing-xl)
}

.p-home-info-news {
    align-items: center;
    display: grid;
    font-size: clamp(.813rem, 1.563vw, 1rem);
    gap: var(--spacing-s) var(--spacing-m);
    justify-items: var(--_home-info-news--justify-items, center)
}

.p-home-info-news__container {
    align-items: center;
    background-color: var(--color--use--above);
    border-radius: var(--radius-oval);
    display: grid;
    gap: var(--spacing-xs) 0;
    grid-template-columns: max-content 1fr;
    padding-inline-start: var(--spacing-s)
}

.p-home-info-contact {
    --_tel--font-size: clamp(1.5rem, 3.158vw, 3rem);
    --_tel-note--font-size: clamp(0.625rem, 1.172vw, 0.75rem);
    background-color: var(--color--use--above);
    border: 1px solid var(--color--use--border);
    border-radius: var(--radius-l);
    display: flow-root;
    padding: var(--spacing-s)
}

.p-home-info-contact__deco {
    float: inline-end;
    margin-block-end: var(--spacing-2xs);
    width: min(min(22.8571428571%, 8rem), 12vw)
}

.p-home-info-contact__label {
    font-size: clamp(.875rem, 1.579vw, 1.5rem);
    font-weight: var(--font-weight-bold)
}

.p-home-info-contact .p-tel {
    margin-block-end: var(--spacing-xs)
}

.p-home-info__lemon {
    inset-block-start: 100%;
    inset-inline-end: 0;
    translate: 2% -28%
}

.p-home-feature {
    padding-block-end: var(--spacing-2xl);
    position: relative;
    z-index: 1
}

.p-home-feature__container {
    display: grid;
    gap: var(--spacing-m);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20em), 1fr));
    position: relative;
    z-index: 2
}

.p-home-feature__anchor {
    background-color: var(--_home-feature--bg-color, var(--color--use--above));
    border-radius: var(--radius-l);
    box-shadow: var(--box-shadow);
    display: grid;
    gap: var(--spacing-xs);
    padding: var(--spacing-s);
    padding-block-start: var(--spacing-xs)
}

.p-home-feature__count {
    color: var(--color--theme--secondary);
    font-size: clamp(1.125rem, 2.344vw, 1.875rem)
}

.p-home-feature__icon {
    display: block;
    margin-inline: auto
}

.p-home-feature__label {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--medium)
}

.p-home-feature__deco {
    background-color: var(--color--theme--secondary-pale);
    border-radius: var(--spacing-2xl) 0 0 var(--spacing-2xl);
    height: calc(100% - var(--spacing-3xl));
    inset-block-end: 0;
    inset-inline-end: 0;
    position: absolute;
    width: calc(102vw - var(--spacing--use--variable-large));
    z-index: -1
}

.p-home-symptom {
    display: grid;
    gap: var(--chg--spacing-xl)
}

.p-home-symptom__button {
    font-size: var(--font-size--12);
    text-align: end
}

.p-home-medical {
    --_banner--bg-color: var(--color--use--above);
    padding-block-end: var(--spacing-2xl);
    z-index: 1
}

.p-home-medical,
.p-home-medical__image {
    position: relative
}

.p-home-medical__lemon {
    inset-block-end: 100%;
    inset-inline-end: 0;
    translate: -80% 32%
}

.p-home-medical__deco {
    background-color: var(--color--theme--secondary-pale);
    height: calc(100% - clamp(7.813rem, 20.508vw, 13.125rem));
    inset-block-end: 0;
    inset-inline: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.p-home-about {
    position: relative
}

.p-home-about__kuma {
    inset-block-start: 0;
    inset-inline-start: 0;
    translate: -4% -16%
}

.p-home-gallery {
    margin-block-start: clamp(7.438rem, 19.531vw, 12.5rem);
    position: relative
}

.p-home-gallery__header {
    position: relative;
    z-index: 3
}

.p-home-news {
    padding-block-end: var(--spacing-4xl);
    position: relative;
    z-index: 1
}

.p-home-news__container {
    display: grid;
    gap: 0 var(--chg--spacing-2xl);
    grid-template-areas: var(--_home-news-container--area, "title" "content" "anchor");
    grid-template-columns: var(--_home-news-container--columns, 1fr)
}

.p-home-news__title {
    grid-area: title;
    justify-self: var(--_home-news-title--justify-self, auto);
    translate: var(--_home-news-title--translate, 0 0)
}

.p-home-news__content {
    grid-area: content;
    padding-block-start: var(--_home-news-content--padding-top, 0)
}

.p-home-news__anchor {
    font-size: var(--font-size--12);
    grid-area: anchor;
    justify-self: var(--_home-news-anchor--justify-self, auto);
    margin-block-start: var(--spacing-m)
}

.p-home-news__deco {
    margin-block-end: 1em;
    text-align: end
}

.p-home-news__bg {
    background-color: var(--color--theme--secondary-pale);
    border-radius: var(--_home-news-bg--radius, 0);
    height: calc(100% - clamp(5.938rem, 15.625vw, 10rem));
    inset-block-end: 0;
    inset-inline-end: 0;
    position: absolute;
    width: var(--_home-news-bg--width, 100vw);
    z-index: -1
}

.p-home-blog {
    position: relative
}

.p-home-blog__lemon01 {
    inset-block-start: 100%;
    inset-inline-end: 0;
    scale: -1 1;
    translate: 18% -42%
}

.p-home-blog__lemon02 {
    inset-block-start: 0;
    inset-inline-start: 0;
    scale: -1 1;
    translate: -10% -36%
}

.p-home-recruit {
    margin-inline: auto;
    padding-inline: var(--spacing--use--outside);
    position: relative;
    width: min(58.75rem + var(--spacing--use--outside) * 2, 100%)
}

.p-home-recruit__anchor {
    background-color: var(--_hoe-recruit--bg-color, var(--color--theme--secondary-pale));
    border: 1px solid var(--color--use--border);
    border-radius: var(--radius-l);
    display: grid;
    gap: 0 0;
    grid-template-columns: 47.6595744681% 1fr;
    overflow: hidden;
    position: relative
}

.p-home-recruit__thumb {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.p-home-recruit__container {
    padding-block: var(--spacing-s);
    padding-inline: var(--spacing-m)
}

.p-home-recruit__content {
    padding-inline-start: var(--spacing-xs)
}

.p-home-recruit__title {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    margin-block: var(--spacing-xs) var(--spacing-2xs)
}

.p-home-recruit__lemon {
    inset-block-start: 0;
    inset-inline-start: var(--spacing--use--outside);
    translate: -40% -62%
}

.p-clinic-intro__kuma {
    --c--kuma--width: 30.72917%;
    --c--kuma--opacity: 1;
    --c--kuma--fill: var(--color--use--above);
    inset-block-end: 0;
    inset-inline-end: 0
}

.p-clinic-feature {
    counter-reset: featureCount
}

.p-clinic-feature__container {
    margin-block-start: var(--spacing-2xl);
    padding-block: var(--spacing-2xl);
    position: relative;
    z-index: 1
}

.p-clinic-feature__bg {
    background-color: var(--color--theme--secondary-pale);
    content: "";
    inset-block: 0;
    position: absolute;
    width: 120vw;
    z-index: -1
}

.p-clinic-feature__bg[data-radius-position=top-right] {
    inset-inline-end: calc(var(--spacing-3xl)*-1)
}

.p-clinic-feature__bg[data-radius-position=top-left] {
    inset-inline-start: calc(var(--spacing-3xl)*-1)
}

.p-clinic-feature__title {
    align-items: center;
    display: flex;
    font-size: var(--clamp--font-size-xl);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-2xs);
    margin-block-end: var(--spacing-2xs);
    translate: calc(var(--spacing-xs)*-1) 0
}

.p-clinic-feature__icon {
    flex-shrink: 0;
    width: min(8.125rem, 21.6666666667%)
}

.p-clinic-feature__image {
    padding-inline-start: var(--chg--spacing-2xl);
    position: relative
}

.p-clinic-feature__number {
    align-items: center;
    color: var(--color--theme--secondary);
    display: grid;
    font-size: clamp(.75rem, 1.974vw, 1.875rem);
    inset-block-start: 0;
    inset-inline-start: 0;
    place-content: center;
    position: absolute;
    text-align: center;
    translate: 0 -24%
}

.p-clinic-feature__number:before {
    content: "FEATURES"
}

.p-clinic-feature__number:after {
    content: counter(featureCount, decimal-leading-zero);
    counter-increment: featureCount;
    font-size: 4.267em
}

.p-flow-intro {
    position: relative
}

.p-flow-intro__deco {
    display: block;
    margin-block-start: var(--spacing-s);
    width: min(73.25rem, 88vw)
}

.p-flow-bring {
    display: grid;
    gap: var(--spacing-m);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 25em), 1fr))
}

.p-flow-bring__title {
    align-items: center;
    border-block-end: 2px solid var(--color--theme--secondary);
    display: flex;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-m);
    margin-block-end: var(--spacing-s);
    padding-block-end: var(--spacing-xs)
}

.p-flow-bring__icon {
    width: min(5.625rem, 16.6666666667%)
}

.p-flow-content {
    counter-reset: flowCount
}

.p-flow-content__item {
    margin-block-start: var(--spacing-2xl)
}

.p-flow-content__title {
    align-items: center;
    border-block-end: 1px solid;
    display: flex;
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-s);
    margin-block-end: var(--spacing-s);
    padding-block-end: var(--spacing-xs)
}

.p-flow-content__number {
    color: var(--color--theme--secondary);
    flex-shrink: 0;
    font-size: 1.667em
}

.p-flow-content__number:before {
    content: counter(flowCount, decimal-leading-zero);
    counter-increment: flowCount
}

.p-profile {
    margin-block-start: var(--section)
}

.p-profile__container {
    position: relative;
    z-index: 2
}

.p-profile__title {
    align-items: center;
    display: flex;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    gap: 1em;
    margin-block-end: var(--spacing-xs)
}

.p-profile__title:after {
    background-color: currentColor;
    content: "";
    flex: 1;
    height: 1px
}

.p-profile-sign {
    align-items: center;
    display: flex;
    font-size: clamp(.75rem, 1.563vw, 1rem);
    gap: var(--spacing-xs);
    justify-content: flex-end
}

.p-profile-sign__name {
    font-size: 1.5em
}

.p-career {
    background-color: var(--color--use--above);
    border-radius: var(--radius-l);
    margin-block-start: var(--_career--margin-top, var(--spacing-2xl));
    padding-block: var(--chg--spacing-2xl);
    padding-inline: var(--chg--spacing-3xl);
    position: relative;
    z-index: 1
}

.p-career__deco {
    inset-block-start: 0;
    inset-inline-start: 0;
    position: var(--_career-deco--position, relative);
    translate: -12% var(--_career-deco--translate-v, -36%);
    width: min(42.75rem, 53.4375%)
}

.p-career__content {
    display: grid;
    gap: var(--chg--spacing-xl) var(--chg--spacing-2xl);
    grid-template-columns: var(--_career-content--columns, 1fr)
}

.p-career__term {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold)
}

.p-logo-mark {
    background-color: var(--color--accent--yellow-very-pale);
    padding-block: var(--spacing-xl);
    padding-inline: var(--spacing--use--variable-basic);
    position: relative
}

.p-logo-mark__container {
    align-items: flex-end;
    display: flex;
    flex-direction: var(--_logo-mark-container--direction, column);
    gap: 0;
    padding-block-end: var(--spacing-s)
}

.p-logo-mark__image {
    margin-inline: auto;
    position: relative;
    text-align: center;
    width: var(--_logo-mark-image--width, 64vw);
    z-index: 5
}

.p-logo-mark__content {
    border-image-outset: var(--spacing-s) 100vw var(--spacing-s) 0;
    border-image-repeat: stretch;
    border-image-slice: 0 fill;
    border-image-source: linear-gradient(90deg, var(--color--use--above), var(--color--use--above));
    border-image-width: 1;
    flex: 1;
    padding-block: var(--spacing-s);
    padding-inline: var(--chg--spacing-2xl);
    position: relative;
    z-index: 1
}

.p-logo-mark__lemon-01 {
    inset-block-end: 100%;
    inset-inline-start: 0;
    translate: -8% 64%
}

.p-logo-mark__lemon-02 {
    inset-block-end: 0;
    inset-inline-end: 0;
    translate: 16% 0;
    z-index: 3
}

.p-logo-mark__lemon-03 {
    inset-block-end: 100%
}

.p-public-intro {
    position: relative
}

.p-public-intro__deco {
    display: block;
    margin-block-start: var(--spacing-s);
    margin-inline: auto;
    width: min(86.75rem, 80vw)
}

.p-public-banner__intro {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-s);
    text-align: center
}

.p-public-banner__anchor {
    background-color: var(--_public-banner--bg-color, var(--color--use--above));
    border: 3px solid var(--color--theme--secondary);
    border-radius: var(--radius-l);
    display: grid;
    gap: 0;
    grid-template-columns: 33.3333333333% 1fr;
    margin-inline: auto;
    overflow: hidden;
    width: min(45rem, 100%)
}

.p-public-banner__icon {
    background-color: var(--color--theme--secondary);
    display: grid;
    place-content: center
}

.p-public-banner__container {
    align-items: center;
    display: flex;
    gap: var(--spacing-s);
    justify-content: space-between;
    padding: var(--spacing-m)
}

.p-public-banner__label {
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--small)
}

.p-public-target {
    margin-block-start: var(--section-s)
}

.p-public-target__container {
    margin-inline: auto;
    width: min(100%, var(--content--width--basic))
}

.p-public-target__title {
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    text-align: center
}

.p-public-target__text {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    line-height: 2.5
}

.p-public-target__note {
    align-items: center;
    border-radius: var(--radius-oval);
    display: flex;
    gap: 0;
    justify-content: center;
    margin-block-start: var(--spacing-m);
    padding-block: var(--spacing-2xs);
    padding-inline: var(--spacing-s)
}

.p-public-sample,
.p-public-target__note {
    background-color: var(--color--use--above)
}

.p-public-sample {
    --_public-sample--bg-color: color-mix(in srgb, var(--color--theme--primary-light) 15%, transparent);
    border: 3px solid var(--color--theme--secondary);
    border-radius: var(--radius);
    overflow: hidden
}

.p-public-sample__title {
    background-color: var(--color--theme--secondary);
    color: var(--color--use--above);
    font-size: var(--clamp--font-size-xl);
    line-height: var(--line-height--medium);
    padding: var(--spacing-xs);
    padding-block-start: calc(var(--spacing-xs) - 3px);
    text-align: center
}

.p-public-sample__container {
    padding: var(--spacing-m)
}

.p-public-sample__wrapper {
    display: grid;
    gap: var(--spacing-xl) var(--spacing-m);
    position: relative
}

.p-public-sample__label {
    background-color: var(--_public-sample--bg-color);
    border-radius: var(--radius-xs);
    font-size: var(--clamp--font-size-l);
    padding-block: var(--spacing-2xs)
}

.p-public-sample__label,
.p-public-sample__sanko {
    line-height: var(--line-height--medium);
    text-align: center
}

.p-public-sample__sanko {
    font-weight: var(--font-weight-bold);
    margin-block: var(--spacing-s)
}

.p-public-sample__table {
    background-color: var(--_public-sample--bg-color);
    border-radius: var(--radius-xs);
    font-size: clamp(.75rem, 1.563vw, 1rem);
    padding: var(--spacing-xs)
}

.p-public-sample__table td {
    padding-inline-start: 1em;
    text-align: end;
    white-space: nowrap
}

.p-public-sample__plus {
    aspect-ratio: 1;
    background-color: var(--color--theme--secondary);
    border-radius: 50%;
    display: grid;
    font-size: var(--spacing-xs);
    font-weight: var(--font-weight-bold);
    gap: 0;
    letter-spacing: 0;
    line-height: 1;
    margin-block: var(--spacing-2xs);
    margin-inline: auto;
    place-items: center;
    width: clamp(1.288rem, 3.516vw, 2.25rem)
}

.p-private-intro__kuma {
    --c--kuma--width: 35.41667%;
    --c--kuma--opacity: 1;
    --c--kuma--fill: var(--color--use--above);
    inset-block-end: 0;
    inset-inline-start: 0
}

.p-private-contents {
    --c--box--padding: var(--spacing-l);
    --c--media--gap: 0 var(--spacing-l)
}

.p-private-contents__container {
    display: grid;
    gap: var(--spacing-l)
}

.p-private-contents__container+.p-private-contents__container {
    margin-block-start: var(--spacing-l)
}

.p-private-contents__title {
    background-color: var(--color--use--above);
    border-radius: var(--radius-xs);
    font-size: var(--clamp--font-size-l);
    margin-block-end: var(--spacing-xs);
    padding-block: var(--spacing-2xs);
    padding-inline: var(--spacing-xs);
    width: fit-content
}

.p-private-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(.75rem, 1.25vw, 1rem);
    gap: var(--_private-price--gap, clamp(.188rem, .391vw, .313rem));
    justify-content: var(--_private-price--justify-content, center)
}

.p-private-price--gap-large {
    --_private-price--gap: var(--spacing-xs)
}

.p-private-price__number {
    align-items: baseline;
    display: inline-flex;
    font-size: clamp(1.125rem, 1.875vw, 1.5rem);
    font-weight: var(--font-weight-bold);
    gap: clamp(.188rem, .391vw, .313rem)
}

.p-private-price__number:after {
    content: "円";
    font-size: clamp(.75rem, 1.25vw, 1rem)
}

.p-private-price__center {
    align-self: center
}

.p-private-first-cost {
    container-name: pvFirstCost;
    container-type: inline-size
}

.p-private-first-cost__list {
    align-items: var(--_first-cost--align-items, space-between);
    background-color: var(--color--theme--primary-pale);
    border-radius: var(--radius-xs);
    display: flex;
    flex-direction: var(--_first-cost--flex-direction, column);
    font-size: var(--clamp--font-size-l);
    gap: var(--spacing-s);
    line-height: var(--line-height--medium);
    margin-block-start: var(--chg--spacing-xl);
    padding-block: var(--spacing-xs);
    padding-inline: var(--spacing-s)
}

@container pvFirstCost (min-width: 601px) {
    .p-private-first-cost__list {
        --_first-cost--flex-direction: row;
        --_first-cost--align-items: center
    }
}

.p-private-first-cost__list:before {
    align-self: stretch;
    border: 1px solid;
    content: ""
}

.p-private-first-cost__item {
    --_private-price--justify-content: space-between;
    align-items: baseline;
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    justify-content: space-between
}

.p-private-first-cost__item:first-child {
    order: -1
}

.p-private-table {
    background-color: var(--color--base);
    border: 1px solid var(--color--base);
    border-radius: var(--radius-xs);
    line-height: var(--line-height--small);
    overflow: hidden;
    table-layout: fixed
}

.p-private-table tr {
    display: var(--_private-table-tr--display, grid)
}

.p-private-table tr:nth-child(2n) {
    --_private-table-td--bg-color: var(--color--accent--yellow-very-pale)
}

.p-private-table th {
    background-color: var(--color--theme--secondary);
    font-size: var(--_private-table-th--font-size, inherit);
    padding-block: var(--spacing-2xs);
    padding-inline: var(--spacing-m)
}

.p-private-table td,
.p-private-table th {
    border: 1px solid var(--color--base);
    vertical-align: middle
}

.p-private-table td {
    background-color: var(--_private-table-td--bg-color, var(--color--use--above));
    padding-block: var(--spacing-xs);
    padding-inline: var(--spacing-xs)
}

.p-private-diet {
    background-color: var(--color--accent--yellow-very-pale);
    border: 1px solid;
    border-radius: var(--radius-xs);
    padding: var(--spacing-xs)
}

.p-access-intro {
    --c--bg--padding-block: 0;
    --c--bg--outset-top: var(--spacing-xl);
    --c--bg--outset-bottom: calc(var(--section)*2)
}

.p-access-intro__text {
    padding-block: var(--spacing-s);
    padding-inline: var(--spacing--use--outside);
    text-align: center
}

.p-access-intro__name {
    align-items: flex-end;
    display: flex;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-m)
}

.p-access-intro__icon {
    flex-shrink: 0;
    width: min(4.875rem, 13.1666666667%)
}

.p-access-intro__deco {
    inset-block-start: 100%;
    inset-inline-start: 0;
    position: absolute;
    translate: 0 -64%;
    width: min(21.438rem, 37.2826086957%)
}

.p-access-flow {
    position: relative;
    z-index: 2
}

.p-access-flow__list {
    display: grid;
    gap: var(--spacing-m);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr))
}

.p-access-flow__label {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--small);
    margin-block: var(--spacing-xs)
}

.p-access-flow__text {
    font-size: clamp(.813rem, 1.563vw, 1rem)
}

.p-access-traffic {
    --_traffic--icon-width: var(--spacing-xl)
}

.p-access-traffic__list {
    display: grid;
    gap: var(--chg--spacing-xl) var(--chg--spacing-2xl);
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 28rem), 1fr))
}

.p-access-traffic__container {
    padding-inline-start: calc(var(--_traffic--icon-width) + var(--spacing-m));
    position: relative
}

.p-access-traffic__term {
    border-block-end: 1px solid;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-xs);
    padding-block-end: var(--spacing-2xs)
}

.p-access-traffic__icon {
    aspect-ratio: 1;
    inset-block-start: 0;
    inset-inline-start: 0;
    position: absolute;
    width: var(--_traffic--icon-width)
}

.p-access-traffic__kuma {
    display: block;
    margin-inline: auto 0;
    position: relative;
    width: min(10.5rem, 24vw)
}

.p-symptom-title {
    position: relative
}

.p-symptom-title:before {
    aspect-ratio: 1;
    background-color: var(--_symptom-title-before--bg-color, var(--color--theme--secondary));
    border-radius: 50%;
    content: "";
    inset-block-start: 50%;
    inset-inline-end: 100%;
    position: absolute;
    translate: -.333em -50%;
    width: .375rem
}

.p-symptom__content h3 {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-xs)
}

.p-symptom__content h3:not(:first-child) {
    margin-block-start: var(--spacing-m)
}

.p-symptom__content h4 {
    font-size: var(--font-size--18);
    font-weight: var(--font-weight-bold);
    margin-block-end: var(--spacing-2xs)
}

.p-symptom__content h4:not(:first-child) {
    margin-block-start: var(--spacing-s)
}

.p-symptom__content ul {
    margin-block: var(--spacing-xs);
    margin-inline-start: 1.5em
}

.p-symptom__content ul>li {
    list-style-type: disc
}

.p-symptom__content ol {
    margin-block: var(--spacing-xs);
    margin-inline-start: 1.5em
}

.p-symptom__content ol>li {
    list-style-type: decimal
}

.p-symptom-list {
    display: grid;
    gap: var(--spacing-s)
}

.p-symptom-list__anchor {
    align-items: center;
    background-color: var(--_symptom-list--bg-color, var(--color--theme--secondary-pale));
    border: 1px solid var(--color--use--border);
    border-radius: var(--radius);
    display: flex;
    gap: var(--spacing-s);
    justify-content: space-between;
    padding: var(--spacing-s)
}

.p-symptom-list__title {
    font-size: var(--clamp--font-size-l);
    margin-block-end: var(--spacing-2xs)
}

.p-symptom-list__excerpt {
    font-size: var(--font-size--14)
}

.p-recruit-intro {
    --c--bg--outset-top: var(--spacing-xl);
    --c--bg--padding-block: var(--section) var(--spacing-2xl);
    position: relative
}

.p-recruit-intro__lemon {
    display: block;
    margin-block-start: var(--spacing-m);
    margin-inline: auto 0;
    position: relative
}

.p-recruit-detail {
    align-items: center;
    background-color: var(--color--use--bg);
    border-radius: var(--radius-xs);
    display: flex;
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-s);
    margin-block-end: var(--spacing-m);
    padding-block: var(--spacing-xs);
    padding-inline: var(--spacing-s)
}

.p-recruit-detail__label {
    border-inline-end: 2px solid var(--color--theme--secondary);
    padding-inline-end: var(--spacing-s)
}

.p-recruit-detail__summary {
    font-size: 1.25em
}

.p-faq__container {
    display: grid;
    gap: var(--spacing-s);
    padding-block: var(--spacing-s)
}

.p-faq__wrapper {
    align-items: var(--_faq-wrapper--align, baseline);
    display: flex
}

.p-faq__wrapper:before {
    color: var(--_faq-alphabet--color, currentColor);
    content: attr(data-alphabet);
    flex-shrink: 0;
    font-family: var(--font-family-sub);
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0;
    line-height: 1;
    text-align: center
}

.p-faq__wrapper[data-alphabet=Q] {
    font-size: clamp(1.125rem, 1.953vw, 1.25rem);
    font-weight: var(--font-weight-bold);
    gap: var(--spacing-xs)
}

.p-faq__wrapper[data-alphabet=Q]:before {
    aspect-ratio: 1;
    background-color: var(--color--theme--secondary);
    border-radius: 50%;
    display: grid;
    place-items: center;
    width: 1.667em
}

.p-faq__wrapper[data-alphabet="A."] {
    --_faq-alphabet--color: var(--color--theme--secondary);
    --_faq-wrapper--align: flex-start;
    background-color: var(--color--use--above);
    border-radius: var(--radius-s);
    gap: var(--spacing-2xs);
    padding: var(--spacing-xs)
}

.p-form-table__head {
    align-items: baseline;
    display: flex;
    gap: 0 1em;
    justify-content: space-between
}

.p-form-table__head:after {
    background-color: var(--color--theme--primary-dull);
    border-radius: calc(var(--radius-s)/2);
    color: var(--color--use--above);
    content: "任意";
    flex: 0 0 auto;
    font-size: .75rem;
    letter-spacing: 0;
    line-height: 1.5em;
    padding: 0 .5em
}

.p-form-table__head.req:after {
    background-color: var(--color--accent--orange);
    content: "必須"
}

.p-form-submit {
    flex-direction: column;
    gap: var(--spacing-s);
    justify-content: center
}

.p-form-flex,
.p-form-submit {
    align-items: center;
    display: flex
}

.p-form-flex {
    flex-wrap: wrap;
    gap: .5em 1em
}

.p-agree {
    margin: var(--spacing-xl) auto;
    width: min(800px, 100%)
}

.p-agree__container {
    border: 1px solid var(--color--use--border);
    border-radius: var(--radius-s);
    padding: var(--spacing-m)
}

.p-agree__container+.p-agree__container {
    margin-block-start: var(--spacing-m)
}

.p-agree__title {
    font-weight: 500;
    line-height: var(--line-height--small);
    margin-block-end: .75em;
    text-align: center
}

.p-agree__check {
    margin-block-start: 1em;
    text-align: center
}

.p-agree__check label {
    background-color: var(--color--use--bg);
    border-radius: var(--radius-xs);
    padding: .5em 1em
}

.p-rei {
    font-size: .813rem;
    margin-block-end: .5em;
    opacity: .6
}

.wpcf7-list-item {
    display: block;
    margin: 0
}

.wpcf7-list-item+.wpcf7-list-item {
    margin-block-start: .4em
}

.wpcf7-not-valid-tip {
    background-color: var(--color--accent--red);
    border-radius: var(--radius-s);
    color: var(--color--use--above);
    padding: 0 .5em;
    transition: var(--duration)
}

.wpcf7-response-output {
    border-radius: var(--radius)
}

.p-privacy__container+.p-privacy__container {
    margin-block-start: var(--spacing-xl)
}

.p-privacy__term {
    font-size: var(--clamp--font-size-l);
    font-weight: var(--font-weight-bold)
}

.p-blog-list {
    display: grid;
    gap: var(--spacing-m);
    grid-template-columns: repeat(auto-fill, minmax(min(50% - var(--spacing-s), 15em), 1fr))
}

.p-blog-list__anchor {
    display: block;
    font-size: clamp(.875rem, 1.563vw, 1rem)
}

.p-blog-list__thumb {
    --c--trim--ratio: 1;
    border-radius: var(--radius-l);
    margin-block-end: 1em
}

.p-blog-list__info {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: .875em;
    gap: .333em 1em
}

.p-blog-list__hyphen {
    background-color: currentColor;
    height: 1px;
    width: .5em
}

.p-blog-list__title {
    line-height: var(--line-height--small);
    margin-block-start: .5em
}

.p-blog-list__slide {
    width: min(18.125rem, 64vw)
}

.p-post-tags {
    background-color: var(--color--theme--secondary-light);
    border-radius: var(--radius-xs);
    font-size: var(--post-tags--fs, .813em);
    line-height: var(--line-height--medium);
    padding-inline: .5em
}

.p-post-content .p-post-tags {
    --post-tags--fs: 1em
}

.p-post-list {
    display: grid;
    gap: var(--spacing-2xs)
}

.p-post-list__link {
    align-items: center;
    background-color: var(--color--use--above);
    border-radius: var(--radius-oval);
    display: flex;
    flex-wrap: wrap;
    gap: .5em var(--spacing-m);
    line-height: var(--line-height--small);
    padding-block: var(--spacing-xs);
    padding-inline: var(--spacing-s);
    transition: color var(--duration)
}

.p-post-list__date {
    font-size: .813em
}

.p-post-single__title {
    border-block-end: 1px solid var(--color--theme--secondary);
    font-size: var(--clamp--font-size-2xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--medium);
    margin-block: 0;
    padding-block-end: var(--spacing-xs)
}

.p-post-single__info {
    font-size: clamp(1rem, 1.953vw, 1.25rem);
    gap: var(--spacing-xs);
    padding-block: var(--spacing-s)
}

.p-post-single__info,
.p-post-single__terms {
    align-items: center;
    display: flex;
    flex-wrap: wrap
}

.p-post-single__terms {
    --post-tags--fs: 0.8em;
    gap: .5em
}

.p-post-single__date {
    --font-sub--weight: var(--font-weight-medium)
}

.p-post-content {
    --post-content-mg: 1.714em;
    position: relative;
    word-wrap: break-word
}

.p-post-content a:not(.wp-block-button__link, .p-post-tags) {
    text-decoration: underline
}

.p-post-content a:not(.no-icon)[href$=".pdf"]:before {
    background-color: var(--color--theme--primary);
    border-radius: var(--radius-s);
    color: var(--color--use--above);
    content: "PDF";
    display: inline-block;
    font-size: .5em;
    letter-spacing: 0;
    margin-inline-end: .75em;
    padding: .2em .5em;
    vertical-align: middle
}

.p-author {
    margin-block-start: var(--spacing-m)
}

.p-author .wp-block-heading {
    margin-block-start: calc(1em*var(--line-height))
}

.p-author-container {
    display: flex;
    gap: var(--spacing-xs)
}

.p-author__title {
    border-bottom-width: 2px !important;
    border-style: dashed !important;
    margin-block-start: calc(1em*var(--line-height));
    margin-top: 0 !important
}

.p-author__title span {
    font-size: 16px
}

.p-author__sub-title {
    padding-inline-start: 15px;
    position: relative
}

.p-author__sub-title:before {
    background-color: var(--color--theme--secondary);
    border-radius: 50%;
    bottom: 0;
    content: "";
    display: block;
    height: 9px;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 9px
}

.p-author__photo {
    min-width: 230px;
    width: 100%
}

.p-author__photo img {
    display: block;
    margin: auto;
    max-width: 230px;
    width: 100%
}

.p-author .c-btn {
    font-size: clamp(1.125rem, 1.051rem + .314vw, 1.334rem);
    text-decoration: none !important
}

.p-share {
    display: flex;
    gap: var(--spacing-2xs);
    justify-content: center;
    margin-block-start: var(--spacing-3xl)
}

.p-share__link {
    aspect-ratio: 1;
    border-radius: 50%;
    display: grid;
    height: clamp(2rem, 3.289vw, 3.125rem);
    place-content: center;
    place-items: center
}

.p-share__link--fb {
    background-color: #315096
}

.p-share__link--tw {
    background-color: #0f1419
}

.p-share__link--line {
    background-color: #00c300
}

.p-share__link--hatebu {
    background-color: #00a4de
}

.p-share__icon {
    aspect-ratio: 1;
    width: 48%;
    fill: var(--color--base--white)
}

.p-prev-next {
    display: grid;
    font-size: clamp(.813rem, 1.053vw, 1rem);
    gap: var(--chg--spacing-xl);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 18.75rem), 1fr));
    line-height: var(--line-height--medium);
    margin-block-start: var(--spacing-3xl);
    position: relative
}

.p-prev-next__anchor {
    --c--circle-n-text--width: auto;
    align-items: center;
    border-block: 1px solid var(--color--use--border);
    display: flex;
    gap: var(--spacing-s);
    justify-content: var(--_pn-anchor--justify-content, flex-end);
    padding-block: var(--spacing-s);
    padding-inline: var(--spacing-xs)
}

.p-prev-next__anchor.-prev {
    --_pn-anchor--justify-content: flex-start
}

.p-prev-next__anchor.-prev .c-circle {
    scale: -1 1
}

.p-prev-next__anchor.-non {
    --_pn-anchor--justify-content: center;
    opacity: .4;
    text-align: center
}

.p-prev-next__anchor.-non:before {
    content: attr(data-label)
}

.p-pagination {
    font-size: clamp(.813rem, 1.563vw, 1rem);
    margin-block-start: var(--spacing-m)
}

.nav-links {
    align-items: center;
    display: flex;
    gap: var(--spacing-2xs);
    justify-content: flex-start
}

.page-numbers {
    aspect-ratio: 1;
    background-color: var(--_page-numbers--bg-color, transparent);
    border: 1px solid var(--_page-numbers--border-color, var(--color--theme--secondary));
    border-radius: var(--radius-s);
    display: grid;
    letter-spacing: 0;
    line-height: 1;
    place-content: center;
    place-items: center;
    width: 2em
}

.page-numbers.dots {
    --_page-numbers--border-color: transparent;
    width: 1.25em
}

.page-numbers.current {
    --_page-numbers--bg-color: var(--color--theme--secondary-light);
    --_page-numbers--border-color: var(--color--theme--secondary-light)
}

.u-width {
    margin-inline: auto;
    max-width: calc(var(--u--width--size, var(--content--width--basic)) + var(--spacing--use--outside)*2);
    padding-inline: var(--spacing--use--outside)
}

.u-width--s {
    --u--width--size: var(--content--width--small)
}

.u-width--l {
    --u--width--size: var(--content--width--large)
}

.u-w100 {
    width: 100%
}

.u-section-s {
    margin-block-start: var(--section-s)
}

.u-section {
    margin-block-start: var(--section)
}

.u-section-l {
    margin-block-start: var(--section-l)
}

.u-catch,
.u-catch-2xl,
.u-catch-3xl,
.u-catch-xl {
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height--medium)
}

.u-catch {
    font-size: var(--clamp--font-size-l)
}

.u-catch-xl {
    font-size: var(--clamp--font-size-xl)
}

.u-catch-2xl {
    font-size: var(--clamp--font-size-2xl)
}

.u-catch-3xl {
    font-size: var(--clamp--font-size-3xl)
}

.u-p-c {
    margin-inline-end: auto;
    margin-inline-start: auto;
    max-width: 52.5em
}

.u-txt-c {
    text-align: center
}

.u-txt-start {
    text-align: start
}

.u-txt-end {
    text-align: end
}

.u-fw-medium {
    font-weight: 500
}

.u-fw-bold {
    font-weight: var(--font-weight-bold)
}

.u-fw-black {
    font-weight: var(--font-weight-black)
}

.u-fs-2xs {
    font-size: .5em
}

.u-fs-xs {
    font-size: .75em
}

.u-fs-s {
    font-size: .875em
}

.u-fs-l {
    font-size: 1.125em
}

.u-fs-xl {
    font-size: 1.25em
}

.u-fs-2xl {
    font-size: 1.5em
}

.u-circle,
.u-decimal,
.u-disc,
.u-square {
    padding-inline-start: 1.5em
}

.u-list-marker-secondary>li::marker {
    color: var(--color--theme--secondary)
}

.u-disc>li {
    list-style-type: disc
}

.u-circle>li {
    list-style-type: circle
}

.u-square>li {
    list-style-type: square
}

.u-decimal>li {
    list-style-type: decimal
}

.u-kome>li {
    margin-inline-start: 1em;
    position: relative
}

.u-kome>li:before {
    content: "※";
    inset-inline-start: -1em;
    position: absolute
}

.u-sols {
    display: flex;
    flex-wrap: wrap
}

.u-sols>li:not(:last-child):after {
    content: "/";
    margin-inline: .2em
}

.u-hyphen>li {
    align-items: baseline;
    display: flex;
    gap: .333em
}

.u-hyphen>li:before {
    content: "-";
    flex-shrink: 0
}

.u-list-mg>li+li {
    margin-block-start: 1em
}

.u-check>li {
    align-items: start;
    display: flex;
    gap: var(--spacing-xs);
    line-height: var(--line-height--medium)
}

.u-check>li:before {
    aspect-ratio: 29/26;
    background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 26"><path fill="%23f9e6a3" d="M0 5a5 5 0 0 1 5-5h16a5 5 0 0 1 5 5v16a5 5 0 0 1-5 5H5a5 5 0 0 1-5-5z"/><path fill="%23e68a00" d="M28.768 1.605c-.563-.692-2.098-1.046-3.036-.7-.818.301-4.174 2.359-6.874 5.212-2.315 2.425-4.254 5.018-4.924 5.939L11.258 8.32c-.047-.064-1.19-1.55-3.522-.913-.452.145-1.02.415-1.156.878-.05.171-.061.435.176.722.263.319 2.693 3.85 4.881 7.048l.023.034.018.029c.5.73 1.283 1.11 2.279 1.11l.355-.016c1.098-.092 1.67-.793 2.126-1.537.967-1.585 4.353-6.564 6.697-8.592 2.688-2.324 4.354-3.561 4.801-3.885l.396-.263c.326-.207.609-.385.66-.7.032-.201-.041-.407-.225-.632z"/></svg>');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    flex-shrink: 0;
    width: 1.813em
}

.u-check>li+li {
    margin-block-start: var(--spacing-xs)
}

.u-coming {
    background-color: var(--color--use--bg);
    padding: 3em 0;
    text-align: center
}

.u-marker {
    text-decoration-color: var(--u--marker-color, var(--color--accent--yellow-pale));
    text-decoration-line: underline;
    text-decoration-skip-ink: none;
    text-decoration-thickness: .313em;
    text-underline-offset: 0
}

.u-br-dn,
.u-br-up {
    display: none
}

.u-float {
    display: block;
    margin: 0 auto 1em
}

.u-flow-root {
    display: flow-root
}

.u-primary {
    color: var(--color--theme--primary)
}

.u-secondary {
    color: var(--color--theme--secondary)
}

.u-above {
    color: var(--color--use--above)
}

.u-red {
    color: var(--color--accent--red)
}

.u-orange {
    color: var(--color--accent--orange)
}

.u-border-end {
    border-block-end: 1px solid var(--color--use--border);
    margin-block-end: var(--spacing-s);
    padding-block-end: var(--spacing-s)
}

.u-rotate-90 {
    rotate: 90deg
}

.u-rotate-180 {
    rotate: 180deg
}

.u-shadow {
    box-shadow: var(--box-shadow)
}

.u-mt-p {
    margin-block-start: var(--spacing-p)
}

.u-mt-2xs {
    margin-block-start: var(--spacing-2xs)
}

.u-mt-xs {
    margin-block-start: var(--spacing-xs)
}

.u-mt-s {
    margin-block-start: var(--spacing-s)
}

.u-mt-m {
    margin-block-start: var(--spacing-m)
}

.u-mt-l {
    margin-block-start: var(--spacing-l)
}

.u-mt-xl {
    margin-block-start: var(--spacing-xl)
}

.u-mt-2xl {
    margin-block-start: var(--spacing-2xl)
}

.u-mt-3xl {
    margin-block-start: var(--spacing-3xl)
}

.u-mt-4xl {
    margin-block-start: var(--spacing-4xl)
}

.u-mt-5xl {
    margin-block-start: var(--spacing-5xl)
}

.u-mb-p {
    margin-block-end: var(--spacing-p)
}

.u-mb-2xs {
    margin-block-end: var(--spacing-2xs)
}

.u-mb-xs {
    margin-block-end: var(--spacing-xs)
}

.u-mb-s {
    margin-block-end: var(--spacing-s)
}

.u-mb-m {
    margin-block-end: var(--spacing-m)
}

.u-mb-l {
    margin-block-end: var(--spacing-l)
}

.u-mb-xl {
    margin-block-end: var(--spacing-xl)
}

.u-mb-2xl {
    margin-block-end: var(--spacing-2xl)
}

.u-mb-3xl {
    margin-block-end: var(--spacing-3xl)
}

.u-mb-4xl {
    margin-block-end: var(--spacing-4xl)
}

.u-mb-5xl {
    margin-block-end: var(--spacing-5xl)
}

.u-radius {
    border-radius: var(--radius)
}

.u-radius-s {
    border-radius: var(--radius-s)
}

.u-radius-l {
    border-radius: var(--radius-l)
}

.u-radius-xl {
    border-radius: var(--radius-xl)
}

.u-radius-oval {
    border-radius: var(--radius-oval)
}

.u-radius-left {
    border-bottom-right-radius: revert;
    border-top-right-radius: revert
}

.u-radius-right {
    border-top-left-radius: revert
}

.u-radius-right,
.u-radius-top {
    border-bottom-left-radius: revert
}

.u-radius-top {
    border-bottom-right-radius: revert
}

.u-radius-bottom {
    border-top-left-radius: revert;
    border-top-right-radius: revert
}

.u-flex {
    display: flex
}

.u-inline-flex {
    display: inline-flex
}

.u-gap-2xs {
    gap: var(--spacing-2xs)
}

.u-gap-xs {
    gap: var(--spacing-xs)
}

.u-gap-s {
    gap: var(--spacing-s)
}

.u-gap-m {
    gap: var(--spacing-m)
}

.u-align-item-start {
    align-items: flex-start
}

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

.u-align-item-center {
    align-items: center
}

.u-align-item-baseline {
    align-items: baseline
}

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

.u-justify-content-end {
    justify-content: flex-end
}

.u-justify-content-center {
    justify-content: center
}

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

.u-justify-content-around {
    justify-content: space-around
}

.u-justify-content-evenly {
    justify-content: space-evenly
}

.u-flex-wrap {
    flex-wrap: wrap
}

.u-flex-1 {
    flex: 1
}

.u-flex-direction-column {
    flex-direction: column
}

.u-visually-hidden {
    block-size: 4px !important;
    border: none !important;
    contain: strict !important;
    inline-size: 4px !important;
    inset: 0 !important;
    margin: unset !important;
    opacity: 0 !important;
    padding: unset !important;
    pointer-events: none !important;
    position: fixed !important;
    visibility: initial !important
}

.js-accordion-trigger {
    cursor: pointer
}

.is-toggle+*,
.js-accordion-panel {
    overflow: hidden;
    transition: var(--duration)
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0 !important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0 !important;
    padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    pointer-events: none;
    -ms-flex-align: center;
    -ms-flex-pack: center
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    list-style-type: none !important;
    margin: 0;
    position: relative;
    -ms-flex-negative: 0
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0 0 0 0);
    border: 0
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

.p-splide-arrows__arrow {
    --c--arrow--fill: var(--color--use--above);
    aspect-ratio: 1;
    background-color: var(--_splide-arrow--bg-color, var(--color--theme--primary-light));
    border-radius: 50%;
    display: grid;
    gap: 0;
    inset-block-start: 50%;
    place-items: center;
    position: var(--_splide-arrow--position, absolute);
    transition: var(--duration);
    width: clamp(1.5rem, 3.516vw, 2.25rem)
}

.p-splide-arrows__arrow[class*="--prev"] {
    inset-inline-end: 100%;
    scale: -1 1;
    translate: var(--_splide-arrow-prev--translate, -50% -50%)
}

.p-splide-arrows__arrow[class*="--next"] {
    inset-inline-start: 100%;
    translate: var(--_splide-arrow-next--translate, 50% -50%)
}

.p-splide-arrows__arrow[disabled] {
    opacity: 0
}

.p-splide-pagination {
    gap: .313rem
}

.p-splide-pagination .splide__pagination__page {
    aspect-ratio: 1;
    background-color: var(--_splide-pagination--bg-color, var(--color--theme--primary-light));
    border-radius: 50%;
    translate: background var(--duration);
    width: .938rem
}

.p-splide-pagination .splide__pagination__page.is-active {
    --_splide-pagination--bg-color: var(--color--theme--secondary)
}

.p-splide-ctrl {
    --_splide-arrow--position: static;
    --_splide-arrow-prev--translate: 0 0;
    --_splide-arrow-next--translate: 0 0;
    align-items: center;
    display: flex;
    gap: var(--spacing-xs);
    justify-content: center;
    margin-block-start: var(--spacing-s)
}

@keyframes a {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes b {
    0% {
        opacity: 0;
        transform: scale(.5)
    }

    to {
        opacity: 1;
        transform: scale(1)
    }
}

@keyframes c {
    0% {
        transform: translate(-50%, -50%) rotate(0)
    }

    50% {
        transform: translate(-50%, -50%) rotate(-180deg)
    }

    to {
        transform: translate(-50%, -50%) rotate(-1turn)
    }
}

@keyframes d {
    0% {
        transform: scale(1)
    }

    10% {
        transform: scale(1.2) translateX(6px)
    }

    25% {
        transform: scale(1.3) translateX(8px)
    }

    40% {
        transform: scale(1.2) translateX(6px)
    }

    50% {
        transform: scale(1)
    }

    60% {
        transform: scale(.8) translateX(6px)
    }

    75% {
        transform: scale(.7) translateX(8px)
    }

    90% {
        transform: scale(.8) translateX(6px)
    }

    to {
        transform: scale(1)
    }
}

@keyframes e {
    0% {
        transform: scale(1)
    }

    10% {
        transform: scale(1.2) translateX(-6px)
    }

    25% {
        transform: scale(1.3) translateX(-8px)
    }

    40% {
        transform: scale(1.2) translateX(-6px)
    }

    50% {
        transform: scale(1)
    }

    60% {
        transform: scale(.8) translateX(-6px)
    }

    75% {
        transform: scale(.7) translateX(-8px)
    }

    90% {
        transform: scale(.8) translateX(-6px)
    }

    to {
        transform: scale(1)
    }
}

.lum-lightbox {
    background: rgba(0, 0, 0, .6);
    z-index: 10000
}

.lum-lightbox-inner {
    bottom: 2.5%;
    left: 2.5%;
    right: 2.5%;
    top: 2.5%
}

.lum-lightbox-inner img {
    position: relative
}

.lum-lightbox-inner .lum-lightbox-caption {
    color: #fff;
    margin: 0 auto;
    max-width: 700px;
    text-align: center
}

.lum-loading .lum-lightbox-loader {
    animation: c 1.8s linear infinite;
    display: block;
    height: 20px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 66px
}

.lum-lightbox-loader:after,
.lum-lightbox-loader:before {
    background: hsla(0, 0%, 100%, .9);
    border-radius: 20px;
    content: "";
    display: block;
    height: 20px;
    margin-top: -10px;
    position: absolute;
    top: 50%;
    width: 20px
}

.lum-lightbox-loader:before {
    animation: d 1.8s linear infinite;
    left: 0
}

.lum-lightbox-loader:after {
    animation: e 1.8s linear infinite;
    animation-delay: -.9s;
    right: 0
}

.lum-lightbox.lum-opening {
    animation: a .18s ease-out
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
    animation: b .18s ease-out
}

.lum-lightbox.lum-closing {
    animation: a .3s ease-in;
    animation-direction: reverse
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
    animation: b .3s ease-in;
    animation-direction: reverse
}

.lum-img {
    transition: opacity .12s ease-out
}

.lum-loading .lum-img {
    opacity: 0
}

.lum-gallery-button {
    background: transparent;
    border: 0;
    cursor: pointer;
    height: 100px;
    margin: 0;
    max-height: 100%;
    outline: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-indent: 150%;
    top: 50%;
    transform: translateY(-50%);
    white-space: nowrap;
    width: 60px
}

.lum-close-button {
    height: 32px;
    opacity: .3;
    position: absolute;
    right: 5px;
    top: 5px;
    width: 32px
}

.lum-close-button:hover {
    opacity: 1
}

.lum-close-button:after,
.lum-close-button:before {
    background-color: #fff;
    content: " ";
    height: 33px;
    left: 15px;
    position: absolute;
    width: 2px
}

.lum-close-button:before {
    transform: rotate(45deg)
}

.lum-close-button:after {
    transform: rotate(-45deg)
}

.lum-previous-button {
    left: 12px
}

.lum-next-button {
    right: 12px
}

.lum-gallery-button:after {
    border-top: 4px solid hsla(0, 0%, 100%, .8);
    content: "";
    display: block;
    height: 36px;
    position: absolute;
    top: 50%;
    width: 36px
}

.lum-previous-button:after {
    border-left: 4px solid hsla(0, 0%, 100%, .8);
    border-radius: 3px 0 0 0;
    box-shadow: -2px 0 rgba(0, 0, 0, .2);
    left: 12%;
    transform: translateY(-50%) rotate(-45deg)
}

.lum-next-button:after {
    border-radius: 0 3px 0 0;
    border-right: 4px solid hsla(0, 0%, 100%, .8);
    box-shadow: 2px 0 rgba(0, 0, 0, .2);
    right: 12%;
    transform: translateY(-50%) rotate(45deg)
}

@media (min-width:641px) {
    .c-media-object {
        grid-template-areas: "title image" "content image";
        grid-template-columns: 1fr var(--c--media--image--width-fluid, 35%);
        grid-template-rows: var(--c--media--template-row, max-content 1fr)
    }

    .c-media-object--reverse {
        grid-template-areas: "image title" "image content";
        grid-template-columns: var(--c--media--image--width-fluid, 35%) 1fr
    }

    .c-media-object__content {
        margin-block-start: 0
    }

    .c-one-side {
        --_one-side-content--padding-inline: 0
    }

    .p-footer-nav {
        flex-direction: row
    }

    .p-footer-nav-child--symptoms {
        grid-template-columns: repeat(2, 1fr)
    }

    .p-banner-large {
        --_banner-thumb--ratio: 44/24;
        --_banner-thumb--width: 27.5rem;
        --_banner-content--padding-block: var(--chg--spacing-xl);
        --_banner-content--padding-inline: var(--chg--spacing-xl);
        --_banner-label--font-size: var(--clamp--font-size-2xl)
    }

    .p-nav-sub {
        --_nav-sub--columns: max-content 1fr;
        --_nav-sub--width: fit-content
    }

    .p-home-mo {
        --_home-mo-content--padding-inline: 0
    }

    .p-logo-mark {
        --_logo-mark-container--direction: row-reverse;
        --_logo-mark-image--width: min(34.375rem, 550/1060 * 100%)
    }

    .p-private-table {
        --_private-table-tr--display: table-row
    }
}

@media (min-width:821px) {
    .c-table-grid>tbody>tr {
        grid-template-columns: var(--_table-grid--columns-1st, 13.75rem) 1fr;
        margin-bottom: -1px
    }

    .c-table-grid>tbody>tr>th {
        --cell-space--padding-inline: var(--spacing-2xs)
    }

    .c-table-grid>tbody>tr>td {
        --cell-space--padding-inline: var(--spacing-s)
    }

    .p-banner__thumb {
        --_banner-thumb--width-ps: 50%
    }

    .p-home-fv {
        --_fv-content--position: absolute;
        --_fv-info-text--font-size: clamp(0.5rem, 0.833vw, 1rem);
        --_fv-slide--width: 41.66667%
    }

    .p-home-fv__container {
        mask-composite: exclude;
        mask-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 800"><path d="M100 800H0V0h100c16.569 0 30 13.431 30 30v740c0 16.568-13.431 30-30 30M810 0c-16.568 0-30 13.431-30 30v740c0 16.568 13.432 30 30 30h1110V0z"/></svg>');
        mask-position: 0 100%;
        mask-repeat: no-repeat;
        mask-size: auto 100%
    }

    .p-home-fv-content {
        aspect-ratio: 65/80;
        height: 100%;
        inset-block: 0;
        inset-inline-start: 6.7708333333%
    }

    .p-home-info-news {
        --_home-info-news--justify-items: stretch;
        grid-template-columns: 1fr max-content
    }

    .p-home-symptom {
        align-items: center;
        grid-template-columns: max-content 1fr max-content
    }

    .p-home-news {
        --_home-news-container--area: "title content" "anchor content";
        --_home-news-container--columns: 24.62121% 1fr;
        --_home-news-content--padding-top: var(--chg--spacing-2xl);
        --_home-news-title--justify-self: start;
        --_home-news-anchor--justify-self: end;
        --_home-news-bg--width: calc(100vw - var(--spacing--use--variable-large));
        --_home-news-bg--radius: var(--spacing-2xl) 0 0 var(--spacing-2xl)
    }

    .p-career {
        --_career-content--columns: repeat(2, 1fr);
        --_career-deco--position: absolute;
        --_career-deco--translate-v: 8%
    }

    .p-career__container:first-child {
        grid-column-start: 2
    }

    .p-prev-next {
        flex-direction: row
    }
}

@media (min-width:1025px) {
    .title-1__en--rotate {
        translate: calc(var(--spacing-m)*-1) 0
    }

    .l-column-2 {
        grid-template-columns: 1fr clamp(17.5rem, 20.395vw, 19.375rem)
    }

    #pagetop {
        display: block;
        inset-block-end: var(--spacing-s);
        inset-inline-end: var(--spacing-s);
        opacity: 0;
        position: fixed;
        rotate: -90deg;
        visibility: hidden;
        z-index: 105
    }

    #pagetop.is-on {
        opacity: 1;
        visibility: visible
    }

    .c-button-wrap--start {
        text-align: start
    }

    .c-button-list {
        justify-content: flex-start
    }

    .p-footer {
        grid-template-columns: 5fr 7fr
    }

    .p-side {
        max-height: calc(100svh - var(--header-height));
        overflow-y: auto;
        position: sticky;
        scrollbar-color: var(--color--theme--primary-bright) var(--color--use--bg);
        scrollbar-width: thin;
        top: var(--header-height)
    }

    .p-public-sample__wrapper {
        grid-template-columns: repeat(2, 1fr)
    }

    .p-public-sample__wrapper:before {
        background-color: currentColor;
        content: "";
        height: 100%;
        inset: 0;
        margin: auto;
        position: absolute;
        width: 1px
    }

    .p-public-sample__content {
        margin-inline: auto;
        width: min(21.25rem, 100%)
    }

    .p-private-table {
        --_private-table-th--font-size: var(--font-size--18)
    }

    .p-access-traffic__kuma {
        margin-block-start: calc(var(--spacing-3xl)*-1)
    }

    .p-faq__content--a {
        align-items: flex-start;
        display: flex;
        gap: var(--spacing-2xs)
    }

    .p-faq__content--a:before {
        background-color: var(--color--theme--secondary);
        content: "";
        flex-shrink: 0;
        height: 2px;
        translate: 0 calc(1em - 1px);
        width: var(--spacing-m)
    }

    .p-post-list__arrow {
        order: 3
    }

    .p-post-list__title {
        flex: 1
    }

    .u-txt-c-up {
        text-align: center
    }

    .u-br-up {
        display: inline
    }

    .u-float--left {
        float: left;
        margin-inline-end: 2em
    }

    .u-float--right {
        float: right;
        margin-inline-start: 2em
    }
}

@media (min-width:1025px) and (any-hover:hover) {
    #pagetop:hover {
        --c--circle-hover--bg-color: var(--color--theme--primary-dull)
    }
}

@media (min-width:1025px) and (max-width:1280px) {
    .p-author-container {
        flex-direction: column-reverse;
        flex-wrap: wrap
    }
}

@media (min-width:1521px) {
    .page-title {
        --_page-title--radius: var(--spacing-2xl);
        --_page-title-wrapper--translate: calc(var(--spacing--use--outside)/2*-1)
    }

    .l-site-top,
    .page-title {
        padding-inline-start: var(--spacing--use--outside)
    }

    .l-site-top {
        display: block;
        font-size: .625rem;
        line-height: 30px;
        overflow: hidden;
        padding-inline-end: 20rem;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .l-footer {
        padding-block-end: var(--spacing-2xl)
    }

    .c-media-object {
        grid-template-columns: 1fr var(--c--media--image--width-static, auto)
    }

    .c-media-object--reverse {
        grid-template-columns: var(--c--media--image--width-static, auto) 1fr
    }

    .p-header {
        inset-block-start: 0;
        inset-inline: 0;
        position: absolute;
        transition: var(--duration)
    }

    .is-passing .p-header {
        position: fixed
    }

    .p-header__container {
        align-items: center;
        display: flex;
        gap: var(--spacing-s);
        height: var(--header-height);
        justify-content: flex-end;
        padding-inline: var(--spacing--use--outside);
        position: relative;
        transition: var(--duration)
    }

    .is-passing .p-header__container {
        box-shadow: var(--box-shadow)
    }

    .p-header-logo {
        flex: 1;
        margin: 0 auto 0 0
    }

    .p-gnav {
        align-self: stretch
    }

    .p-gnav__container {
        display: contents
    }

    .p-gnav__main {
        align-items: center;
        display: flex;
        gap: var(--spacing-m);
        height: 100%
    }

    .p-gnav__inner {
        display: contents
    }

    .p-gnav-button {
        display: none
    }

    .p-gnav-sub {
        --_gnav-sub--padding: 0;
        inset-block-start: -1.25rem;
        inset-inline-end: var(--spacing--use--outside);
        position: absolute
    }

    .p-main-nav {
        --_main-nav--padding-inline-start: var(--_main-nav--padding-inline);
        display: flex;
        flex-wrap: wrap;
        font-size: clamp(.938rem, .833vw, 1rem);
        height: 100%;
        justify-content: center
    }

    .p-main-nav__item--mb {
        display: none
    }

    .p-main-nav__link:after {
        background-color: var(--color--accent--yellow-pale);
        border-radius: var(--radius-s);
        content: "";
        height: .813em;
        inset-block-start: 50%;
        inset-inline-start: 50%;
        margin-inline: auto;
        opacity: var(--_main-nav-link-after--opacity, 0);
        position: absolute;
        transition: opacity var(--duration);
        translate: -50% 0;
        width: calc(100% - var(--_main-nav--padding-inline)*2 + .5em);
        z-index: -1
    }

    .p-mega {
        align-items: center;
        height: auto !important;
        inset-block-start: 100%;
        inset-inline-start: 0;
        opacity: 0;
        padding: var(--spacing-m);
        pointer-events: none;
        position: absolute;
        transform: translateY(10px);
        width: 100%;
        z-index: -1
    }

    .is-loaded .p-mega {
        transition: transform .2s, opacity var(--duration)
    }

    .js-accordion-nav:is(:hover, :focus-within) .p-mega {
        opacity: 1;
        pointer-events: auto;
        transform: translate(0);
        z-index: 10
    }

    .p-mega__container {
        display: flex;
        flex-direction: var(--_mega--flex-direction, column);
        gap: var(--spacing-s);
        margin-inline: auto;
        width: var(--_mega--width, var(--content--width--basic))
    }

    .-clinic .p-mega__container {
        --_mega--width: 55rem;
        --_mega--flex-direction: row
    }

    .p-mega-parent {
        --c--circle--width: 1.25em;
        align-items: center;
        display: flex;
        font-size: var(--clamp--font-size-l);
        font-weight: var(--font-weight-bold);
        gap: var(--spacing-2xs)
    }

    .p-mega-parent__label {
        border-block-end: 2px solid var(--color--theme--secondary);
        line-height: var(--line-height--medium);
        padding-block-end: .2em
    }

    .p-mega-btn {
        display: none
    }

    .p-fixed {
        --_fixed--margin-inline: 0;
        --_fixed--columns: 1fr;
        --_fixed--inset-block: 40% auto;
        --_fixed--inset-inline: auto 0;
        --_fixed--translate: 0 -50%;
        --_fixed--width: auto;
        --_fixed-anchor--radius: var(--radius-xs) 0 0 var(--radius-xs);
        --_fixed-anchor--writing-mode: vertical-rl;
        --_fixed-anchor--orientation: upright;
        --_fixed-anchor--padding-inline: var(--spacing-xs);
        --_fixed-anchor--font-size: clamp(0.75rem, 1.5svh, 1.125rem)
    }

    .p-fixed__anchor--main-site {
        background-image: linear-gradient(180deg, #04acd2, #0ed0bb);
        display: flex
    }

    .p-schedule--home+.p-schedule-note {
        --_schedule-note-container--column-first: max-content;
        --_schedule-note-container--gap: var(--spacing-xs);
        display: grid;
        gap: 0 var(--spacing-s);
        grid-template-columns: 36fr 22fr
    }

    .p-button-list {
        --_button-list-content--gap: var(--spacing-s)
    }

    .p-nav-sub {
        --_nav-sub--position: sticky;
        top: calc(var(--header-height) + var(--spacing-xs))
    }

    .p-home-fv-content {
        translate: 0 calc(var(--spacing-xl)*-1)
    }

    .p-home-news {
        --_home-news-title--translate: calc(var(--spacing-m)*-1) 0
    }

    .p-flow-intro__deco {
        translate: -64% 24%
    }

    .p-flow-intro__deco,
    .p-public-intro__deco {
        inset-block-end: 0;
        inset-inline-start: 50%;
        position: absolute
    }

    .p-public-intro__deco {
        translate: -56% 48%
    }

    .p-public-target {
        margin-block-start: clamp(7.438rem, 19.531vw, 12.5rem)
    }
}

@media (min-width:1521px) and (any-hover:hover) {
    .l-site-top {
        transition-duration: var(--duration);
        transition-property: background
    }

    :has(.p-header__container .p-main-nav__item:hover) .l-site-top {
        background-color: var(--color--theme--secondary-bright)
    }

    .p-header__container:has(.p-main-nav__item:hover) {
        background-color: var(--color--theme--secondary-bright)
    }

    .p-main-nav__link:hover {
        --anchor--color--hover: var(--color--theme--primary);
        --_main-nav-link-after--opacity: 1
    }

    .p-fixed__anchor--main-site:hover {
        scale: 1.05
    }
}

@media (min-width:1901px) {
    .p-header-logo__note {
        max-width: 16em
    }
}

@media (max-width:1520px) {
    .p-header__container {
        align-items: center;
        box-shadow: var(--box-shadow);
        display: flex;
        height: var(--header-height)
    }

    .p-header-logo {
        justify-content: center;
        max-width: calc(100% - var(--header-height));
        padding: 0 2vw
    }

    .p-header-logo__img {
        max-height: 2rem;
        width: auto
    }

    .p-gnav__container {
        block-size: 100vh;
        box-shadow: 0 0 0 100vmax transparent;
        display: block;
        inline-size: min(100vw, 480px);
        margin-inline: auto 0;
        visibility: hidden
    }

    .p-gnav__container[data-dialog-active=true] {
        translate: 0 0;
        visibility: visible
    }

    .p-gnav__inner {
        background-color: var(--color--base--white);
        block-size: 100%;
        display: grid;
        grid-template: "closeButton" "mainArea" 1fr;
        overflow: auto;
        overscroll-behavior: contain
    }

    .p-gnav__main {
        grid-area: mainArea;
        padding-block-end: var(--spacing-xl)
    }

    .p-gnav__close {
        grid-area: closeButton;
        margin-inline: auto 0
    }

    .p-gnav__open {
        inset-block-start: 0;
        inset-inline-end: 0;
        position: fixed
    }

    .p-main-nav__item {
        border-block-end: 1px solid var(--color--use--border);
        position: relative
    }

    .p-mega {
        overflow: hidden;
        padding-inline: 2em;
        transition: var(--duration)
    }

    .p-mega__container {
        padding-block: var(--spacing-xs)
    }
}

@media (max-width:1280px) {
    .u-flex-direction-column-l {
        flex-direction: column
    }
}

@media (max-width:1024px) {
    .p-post-list__title {
        width: 100%
    }

    .u-br-dn {
        display: inline
    }

    .u-flex-direction-column-m {
        flex-direction: column
    }
}

@media (max-width:820px) {
    .c-table-grid {
        border-block-end: 1px solid var(--cell-space--border-color, currentColor)
    }

    .c-table-grid>tbody>tr>:where(th, td) {
        border-block-end-width: 0
    }

    .p-author-container {
        flex-direction: column-reverse;
        flex-wrap: wrap
    }

    .p-author__title {
        width: 100%
    }

    .p-author__photo {
        margin-block-end: var(--spacing-m)
    }

    .u-flex-direction-column-s {
        flex-direction: column
    }
}

@media (max-width:640px) {
    .c-one-side--left .c-media-object__title {
        padding-inline-start: var(--_one-side--variable-spacing)
    }

    .p-author__photo img {
        max-width: 215px
    }

    .u-flex-direction-column-xs {
        flex-direction: column
    }
}

@media (max-width:460px) {
    .lum-lightbox-image-wrapper {
        -webkit-overflow-scrolling: touch;
        display: flex;
        overflow: auto
    }

    .lum-lightbox-caption {
        bottom: 0;
        position: absolute;
        width: 100%
    }

    .lum-lightbox-position-helper {
        margin: auto
    }
}

@media (any-hover:hover) {
    :where(a:any-link):not(.wp-block-button__link):hover {
        color: var(--anchor--color--hover, var(--color--theme--secondary))
    }

    .c-btn:hover {
        --c--button--color: var(--color--accent--yellow-pale);
        --anchor--color--hover: var(--color--theme--primary)
    }

    .c-btn-black:hover {
        --anchor--color--hover: var(--color--theme--primary-dull);
        --c--btn-black--bg-color: var(--color--theme--secondary-pale)
    }

    .p-reserve-button:hover {
        --anchor--color--hover: var(--color--theme--primary);
        --_home-info-reserve--bg-color: var(--color--theme--secondary-pale);
        --_home-info-reserve--border-color: var(--color--theme--primary)
    }

    .p-fixed__anchor:hover {
        --_fixed-anchor--bg-color: var(--color--accent--orange)
    }

    .p-fixed-ig:hover {
        --_fixed-ig--opacity: 0
    }

    .p-side-links__anchor:hover {
        --anchor--color--hover: var(--color--base);
        --_side-anchor--bg-color: var(--color--theme--secondary);
        --c--circle-arrow--fill: var(--color--base);
        --c--circle-hover--bg-color: var(--color--use--above)
    }

    .p-tel--header:hover {
        --anchor--color--hover: var(--color--theme--secondary)
    }

    .p-tel:hover:not([class*="--header"]) {
        --anchor--color--hover: var(--color--theme--primary)
    }

    .p-modal__close:hover {
        background-color: var(--_modal-close--active)
    }

    .p-banner__anchor:hover {
        --anchor--color--hover: var(--color--base);
        --_banner--bg-color: var(--color--accent--yellow-pale)
    }

    .p-banner-general__anchor:hover {
        --anchor--color--hover: var(--color--theme--primary);
        --_banner--bg-color: var(--color--theme--secondary);
        --c--circle-arrow--fill: var(--color--theme--primary);
        --c--circle-hover--bg-color: var(--color--use--above)
    }

    .p-button-list__anchor:hover {
        --anchor--color--hover: var(--color--theme--primary);
        --c--arrow--fill: var(--color--use--above);
        --_home-symptoms-anchor--bg-color: var(--color--theme--secondary);
        --_home-symptoms-anchor-before--bg-color: var(--color--use--above)
    }

    .p-home-feature__anchor:hover {
        --_home-feature--bg-color: var(--color--accent--yellow-pale);
        --anchor--color--hover: var(--color--accent--orange)
    }

    .p-home-recruit__anchor:hover {
        --anchor--color--hover: var(--color--theme--primary);
        --_hoe-recruit--bg-color: var(--color--theme--secondary)
    }

    .p-public-banner__anchor:hover {
        --anchor--color--hover: var(--color--base);
        --_public-banner--bg-color: var(--color--accent--yellow-very-pale)
    }

    .p-symptom-list__anchor:hover {
        --anchor--color--hover: var(--color--base);
        --_symptom-list--bg-color: var(--color--theme--secondary);
        --c--circle-arrow--fill: var(--color--base);
        --c--circle-hover--bg-color: var(--color--use--above)
    }

    .page-numbers:not(span):hover {
        --anchor--color--hover: var(--color--use--above);
        --_page-numbers--bg-color: var(--color--theme--secondary)
    }

    .p-splide-arrows__arrow:hover {
        --_splide-arrow--bg-color: var(--color--theme--secondary);
        --c--arrow--fill: var(--color--theme--primary)
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    :after,
    :before {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important
    }
}

@media (scripting:none) {
    .c-tab-panel__container:target {
        display: revert
    }
}
