@charset "utf-8";

/*
* breakpoints : 768px
*/
*:not(.wysiwyg) a {
    color: var(--color-black);
    text-decoration: none;
}

:is(*:not(.wysiwyg) a):link {
    color: var(--color-black);
}

:is(*:not(.wysiwyg) a):visited {
    color: var(--color-black);
}

:is(*:not(.wysiwyg) a):hover {
    text-decoration: none;
}

.title-link:is(*:not(.wysiwyg) a) {
    font-weight: bold;
    width: 100%;
    display: inline-block;
    background-color: var(--bg-gray);
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    font-size: 1.25rem;
}

/* reset marker */
:is(*:not(.wysiwyg) ul, *:not(.wysiwyg) ol) li {
    list-style: none;
}

:is(*:not(.wysiwyg) dl) dd {
    margin-inline-start: 0;
}

*:not(.wysiwyg) h2,
*:not(.wysiwyg) h3,
*:not(.wysiwyg) h4,
*:not(.wysiwyg) h5,
*:not(.wysiwyg) h6 {
    font-family: "Noto Sans JP", serif;
}

*:not(.wysiwyg) h2 {
    font-size: 1.5rem;
    font-weight: bold;
}

*:not(.wysiwyg) h3 {
    font-size: 1.25rem;
    font-weight: bold;
}

*:not(.wysiwyg) h4 {
    font-size: 1.125rem;
    font-weight: bold;
}

*:not(.wysiwyg) h5 {
    font-size: 1.125rem;
}

*:not(.wysiwyg) h6 {
    font-size: 1.125rem;
}

*:not(.wysiwyg) p,
*:not(.wysiwyg) li {
    overflow-wrap: anywhere;
}

*:not(.wysiwyg) img {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

*:not(.wysiwyg) .font-noto {
    font-family: "Noto Sans JP", serif;
}

*:not(.wysiwyg) p.date {
    color: var(--accent_green);
    font-weight: bold;
}

*:not(.wysiwyg) select {
    width: 100%;
    padding: var(--spacing-xs) var(--spacing-sm);
    border: 1px solid var(--border-gray);
    border-radius: 5px;
    font-size: 1rem;
    appearance: auto;
}

*:not(.wysiwyg) input[type="text"] {
    border-radius: 5px;
}

*:not(.wysiwyg) figure.banner {
    width: fit-content;
}

*:not(.wysiwyg) article {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    padding: var(--spacing-lg) var(--spacing-main-x) var(--spacing-main-b) var(--spacing-main-x);
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) article)>h2 {
        text-align: center;
    }
}

:is(*:not(.wysiwyg) article) section {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) article) section) .section-inner {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);

    padding: 0 var(--spacing-sm);
}

:is(:is(:is(*:not(.wysiwyg) article) section) .section-inner)>section {
    margin-top: var(--spacing-lg);
}

:is(:is(:is(:is(*:not(.wysiwyg) article) section) .section-inner) > section):first-child {
    margin-top: 0;
}

:is(:is(*:not(.wysiwyg) article) section) .search-inner {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    background-color: var(--bg-gray);
    padding: var(--spacing-lg) var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) article) section) table {
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

:is(*:not(.wysiwyg) article) .article-inner {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);

    padding: 0;
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) article) .article-inner) p {
        text-align: center;
    }
}

:is(*:not(.wysiwyg) article) .section-footer {
    margin-top: var(--spacing-sm);
    text-align: center;
}

:is(:is(*:not(.wysiwyg) article) .section-footer) .btn {
    max-width: 360px;
    width: 100%;
}

:is(:is(*:not(.wysiwyg) article) .section-footer) .btn-lg {
    font-size: 1.25rem;
    max-width: 500px;
}

:is(:is(*:not(.wysiwyg) article) .section-footer) .btn-full {
    max-width: 512px;
}

/*breakcrumbs*/
*:not(.wysiwyg) .breadcrumbs {
    border-bottom: var(--border-breadcrumbs) 2px solid;
}

:is(*:not(.wysiwyg) .breadcrumbs) ul {
    display: flex;
    list-style: none;
    align-items: center;
    padding: var(--spacing-sm) var(--spacing-main-x);
    font-size: 0.75rem;
}

:is(:is(*:not(.wysiwyg) .breadcrumbs) ul) li {
    display: inline-flex;
    margin-right: var(--spacing-xs);
}

:is(:is(:is(*:not(.wysiwyg) .breadcrumbs) ul) li):not(:last-child)::after {
    content: ">";
    display: inline-flex;
    color: var(--border-darkgray);
    margin-left: var(--spacing-xs);
    line-height: 1em;
    align-items: center;
}

:is(:is(:is(*:not(.wysiwyg) .breadcrumbs) ul) li) img {
    width: 1em;
    height: 1em;
    vertical-align: middle;
}

/* 各種見出しスタイル */
*:not(.wysiwyg) h2.main-icon {
    display: inline-flex;
    font-weight: bold;
    align-items: end;
}

:is(*:not(.wysiwyg) h2.main-icon):before {
    content: "";
    background-size: contain;
    width: calc(var(--height-main-icon) * 1.5);
    height: var(--height-main-icon);
    margin-right: var(--spacing-md);
}

.nav01:is(*:not(.wysiwyg) h2.main-icon)::before {
    background-image: url("../images/icon-01.svg");
}

.nav02:is(*:not(.wysiwyg) h2.main-icon)::before {
    background-image: url("../images/icon-02.svg");
}

.nav03:is(*:not(.wysiwyg) h2.main-icon)::before {
    background-image: url("../images/icon-03.svg");
}

.nav04:is(*:not(.wysiwyg) h2.main-icon)::before {
    background-image: url("../images/icon-04.svg");
}

.nav05:is(*:not(.wysiwyg) h2.main-icon)::before {
    background-image: url("../images/icon-05.svg");
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) h2.main-icon {
        justify-content: center;
    }
}

/* 斜線の下線スタイル 色以外 */
*:not(.wysiwyg) .h-hatched-underline {
    position: relative;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

:is(*:not(.wysiwyg) .h-hatched-underline)::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 0.5em;
    bottom: -0.75em;
    left: 0;
}

.green:is(*:not(.wysiwyg) .h-hatched-underline)::after {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--accent_green) 0 7px);
}

.lightgreen:is(*:not(.wysiwyg) .h-hatched-underline)::after {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--bg-lightgreen) 0 7px);
}

.gray:is(*:not(.wysiwyg) .h-hatched-underline)::after {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--bg-gray) 0 7px);
}

.transparent:is(*:not(.wysiwyg) .h-hatched-underline)::after {
    background: repeating-linear-gradient(-45deg, transparent 0 2px, #fff 0 7px);
}

*:not(.wysiwyg) .h-hatched-underline--upline {
    padding-top: 0.5rem;
    margin-top: 1rem;
}

:is(*:not(.wysiwyg) .h-hatched-underline--upline)::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 0.5em;
    top: -0.75em;
    left: 0;
}

.green:is(*:not(.wysiwyg) .h-hatched-underline--upline)::before {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--accent_green) 0 7px);
}

.lightgreen:is(*:not(.wysiwyg) .h-hatched-underline--upline)::before {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--bg-lightgreen) 0 7px);
}

.gray:is(*:not(.wysiwyg) .h-hatched-underline--upline)::upline {
    background: repeating-linear-gradient(-45deg, #fff 0 2px, var(--bg-gray) 0 7px);
}

.transparent:is(*:not(.wysiwyg) .h-hatched-underline--upline)::upline {
    background: repeating-linear-gradient(-45deg, transparent 0 2px, #fff 0 7px);
}

*:not(.wysiwyg) .index-bar {
    padding: var(--spacing-md);
    background-color: var(--accent_green);
    color: white;
    font-weight: bold;
}

*:not(.wysiwyg) .index-border-tb {
    padding: var(--spacing-md);
    border-top: 3px solid var(--accent_green);
    border-bottom: 3px solid var(--accent_green);
    color: var(--color-smakeblue);
    font-weight: bold;
    text-align: center;
}

*:not(.wysiwyg) .question {
    background-color: var(--bg-question-index);
    padding: var(--spacing-sm) var(--spacing-md);
    font-weight: bold;
    border-radius: 5px;
}

:is(*:not(.wysiwyg) section.accordion) {
    gap: unset;
}

:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    background-color: var(--bg-lightgreen);
    padding: var(--spacing-sm) var(--spacing-md);
    border-bottom: var(--accent_green) 3px solid;
    margin-bottom: 0;
}

:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline:hover {
    background-color: var(--bg-th-lightyellow);
    transition: background-color 0.5s;
}

:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline:after {
    content: unset;
}

:is(:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline) input {
    display: none;
}

:is(:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline) label {
    display: block;
    margin-left: auto;
    position: relative;
    width: 1.25em;
    height: 1.25em;
}

:is(:is(:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline) label)::before,
:is(:is(:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline) label)::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 1.25em;
    height: 3px;
    right: 0;
    bottom: calc(50% - (3px / 2));
    background-color: var(--accent_green);
}

:is(:is(:is(*:not(.wysiwyg) section.accordion) .h-hatched-underline) label):after {
    transform: rotate(90deg);
    transition: transform 0.5s;
}

:is(*:not(.wysiwyg) section.accordion) .accordion-content {
    display: block grid;
    transition: grid-template-rows 0.5s;
    grid-template-rows: 0fr;
}

:is(*:not(.wysiwyg) section.accordion) .accordion-content .section-inner {
    padding-top: var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) section.accordion) .accordion-content)>* {
    overflow: hidden !important;
}

.open:is(*:not(.wysiwyg) section.accordion) h3 label::after {
    transform: rotate(0deg);
}

.open:is(*:not(.wysiwyg) section.accordion) .accordion-content {
    grid-template-rows: 1fr;
}

*:not(.wysiwyg) .v-border {
    border-left: 5px solid var(--border-index_v);
    padding: 0.5rem 2rem;
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

*:not(.wysiwyg) .h-dotted_underline {
    position: relative;
}

:is(*:not(.wysiwyg) .h-dotted_underline)::after {
    content: "";
    display: inline-block;
    position: absolute;
    width: 100%;
    bottom: -0.5em;
    left: 0;
    border-bottom: 1px dotted var(--border-dotted);
}

:is(*:not(.wysiwyg) .h-disc)::before {
    content: "●";
}

*:not(.wysiwyg) .h-bar {
    font-weight: bold;
    background-color: var(--bg-gray);
    padding: var(--spacing-xxs) var(--spacing-md);
}

*:not(.wysiwyg) ol.number {
    counter-reset: section;
    padding-left: 1em;
}

:is(*:not(.wysiwyg) ol.number) li {
    text-indent: -1em;
}

:is(:is(*:not(.wysiwyg) ol.number) li)::before {
    content: counter(section) ".";
    counter-increment: section;
}

:is(:is(*:not(.wysiwyg) ul.disc-sm) li)::before {
    content: "・";
}

/* サークル見出し */
*:not(.wysiwyg) .circle {
    position: relative;
    padding-left: calc(var(--circle-size) + 1em);
    height: calc(var(--circle-size));
}

:is(*:not(.wysiwyg) .circle)::before,
:is(*:not(.wysiwyg) .circle)::after {
    content: "";
    font-family: "Noto Sans JP", serif;
    position: absolute;
    width: var(--circle-size);
    height: var(--circle-size);
    text-align: center;
    margin-right: 0.5em;
    border-radius: 50%;
    top: 0;
    left: 0;
}

:is(*:not(.wysiwyg) .circle):after {
    line-height: var(--circle-size);
    color: white;
}

.red:is(*:not(.wysiwyg) .circle)::before {
    background-color: var(--bg-circle-red);
}

.blue:is(*:not(.wysiwyg) .circle)::before {
    background-color: var(--bg-circle-blue);
}

*:not(.wysiwyg) .circle-number {
    counter-reset: section;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

:is(*:not(.wysiwyg) .circle-number)>li,
:is(*:not(.wysiwyg) .circle-number) dt {
    display: flex;
    align-items: center;
}

:is(:is(*:not(.wysiwyg) .circle-number) > li, :is(*:not(.wysiwyg) .circle-number) dt)::after {
    content: counter(section);
    counter-increment: section;
}

:is(*:not(.wysiwyg) .circle-number) dt {
    font-weight: bold;
    margin-bottom: var(--spacing-xs);
}

*:not(.wysiwyg) .circle-alphabet {
    counter-reset: section;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

:is(*:not(.wysiwyg) .circle-alphabet)>li,
:is(*:not(.wysiwyg) .circle-alphabet) dt {
    display: flex;
    align-items: center;
}

:is(:is(*:not(.wysiwyg) .circle-alphabet) > li, :is(*:not(.wysiwyg) .circle-alphabet) dt)::after {
    content: counter(section, upper-alpha);
    counter-increment: section;
}

:is(*:not(.wysiwyg) .circle-alphabet) dt {
    font-weight: bold;
    margin-bottom: var(--spacing-xs);
}

*:not(.wysiwyg) .circle-number {
    counter-reset: section;
}

:is(*:not(.wysiwyg) .circle-number)>li {
    position: relative;
}

:is(:is(*:not(.wysiwyg) .circle-number) > li)::after {
    content: counter(section);
    counter-increment: section;
}

/* 文字強調 */
*:not(.wysiwyg) .text-accent {
    color: var(--accent_green) !important;
}

*:not(.wysiwyg) .text-warning {
    color: var(--color-warning) !important;
}

*:not(.wysiwyg) .text-blue {
    color: var(--color-smakeblue) !important;
}

*:not(.wysiwyg) .text-orange {
    color: var(--accent_orange) !important;
}

*:not(.wysiwyg) .text-yellow {
    color: var(--accent_yellow) !important;
}

*:not(.wysiwyg) .text-black {
    color: var(--color-black) !important;
}

/*リンク*/
*:not(.wysiwyg) a.text-link--green {
    color: var(--accent_green);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

:is(*:not(.wysiwyg) a.text-link--green)::before {
    content: ">>";
    display: inline-block;
}

:is(*:not(.wysiwyg) a.text-link--green)::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 0.5em;
    background-image: url("../images/icon-link.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

.no-icon:is(*:not(.wysiwyg) a.text-link--green)::after {
    content: unset;
}

:is(*:not(.wysiwyg) a.text-link--green):hover {
    color: var(--border-lightgreen);
    text-decoration: none;
}

*:not(.wysiwyg) a.text-simple-link {
    color: var(--accent_green);
    text-decoration: underline;
}

/* callout */
*:not(.wysiwyg) .callout-warning {
    background-color: var(--bg-gray);
    padding: var(--spacing-callout);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(*:not(.wysiwyg) .callout-warning)>p:not([class]) {
    font-size: 1.125rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    background-color: white;
    text-align: left;
    position: relative;
    padding-left: calc(1.5em * 1.5);
    line-height: 1.5em;
    font-family: "Noto Sans JP", serif;
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .callout-warning)>p:not([class]) {
        font-size: 1.125rem;
        text-align: left;
    }
}

:is(:is(*:not(.wysiwyg) .callout-warning) > p:not([class]))::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: var(--spacing-xs);
    left: var(--spacing-xs);
    width: 1.5em;
    height: 1.5em;
    background-image: url("../images/icon-exm.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

:is(*:not(.wysiwyg) .callout-warning) .desc {
    margin-left: 1rem;
}

:is(:is(*:not(.wysiwyg) .callout-warning) .desc) p {
    text-align: left;
}

:is(*:not(.wysiwyg) .callout-warning) ul {
    margin-left: var(--spacing-md);
}

/* windowsスタイルの情報エリア */
*:not(.wysiwyg) .card-information {
    border: 1px solid var(--border-gray);
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

:is(*:not(.wysiwyg) .card-information) .title {
    font-family: "Noto Sans JP", serif;
    background-color: var(--bg-lightblue);
    color: white;
    padding: var(--spacing-sm) var(--spacing-md);
    font-weight: bold;
    text-align: center;
    font-size: 1.125rem;
}

.title--gray:is(:is(*:not(.wysiwyg) .card-information) .title) {
    background-color: #666666;
}

.title--lightgray:is(:is(*:not(.wysiwyg) .card-information) .title) {
    background-color: var(--bg-gray);
    color: var(--color-black);
}

.title--lightyellow:is(:is(*:not(.wysiwyg) .card-information) .title) {
    background-color: var(--bg-th-lightyellow);
    color: var(--color-black);
}

:is(*:not(.wysiwyg) .card-information) .area-tel {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-lg);
    padding: 0 var(--spacing-md);
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .card-information) .area-tel {
        gap: var(--spacing-sm);
        flex-direction: column;
    }
}

:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .area-tel-item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

:is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .area-tel-item) .tag-area {
    width: 100%;
    text-align: center;
}

:is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .area-tel-item) .tag {
    display: inline-block;
    padding: 0.125rem 1rem;
    border-radius: 25px;
    font-size: 0.875rem;
    border: 1px solid var(--border-darkgray);
    grid-area: tag;
    text-align: center;
    width: fit-content;
    margin: 0 auto var(--spacing-xs) auto;
}

:is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .area-tel-item) p {
    text-align: center;
}

:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .tel-link-area {
    display: flex;
    align-items: center;
}

:is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .tel-link-area) figure {
    display: flex;
    align-items: center;
    width: 5em;
    height: 63px;
}

@media screen and (max-width: 768px) {
    :is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .tel-link-area) figure {
        height: 55px;
    }
}

:is(:is(:is(*:not(.wysiwyg) .card-information) .area-tel) .tel-link-area) a.tel-number {
    font-family: "Noto Sans JP", serif;
    font-weight: bold;
    font-size: 2rem;
    color: var(--color-black);
    white-space: nowrap;
    letter-spacing: -0.5px;
}

:is(*:not(.wysiwyg) .card-information) .inner {
    padding: var(--spacing-md);
}

:is(*:not(.wysiwyg) .card-information) .important {
    border-top: 1px solid var(--border-gray);
    border-bottom: 1px solid var(--border-gray);
    padding: 0.75rem;
    text-align: center;
}

:is(*:not(.wysiwyg) .card-information) .content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

:is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) {
    width: 80%;
    flex-direction: row;
    align-items: center;
    margin: 0 auto;
}

:is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) figure {
    width: 20%;
}

:is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) p {
    width: 80%;
    text-align: left;
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) {
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-md);
    }

    :is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) figure {
        width: 40%;
    }

    :is(:is(*:not(.wysiwyg) .card-information) .content):has(figure):not(:has(.area-tel)) p {
        width: 100%;
    }
}

:is(*:not(.wysiwyg) .card-information) .desc {
    width: 80%;
    margin: 0 auto;
}

:is(*:not(.wysiwyg) .card-information) .footer {
    text-align: center;
    padding: 0 var(--spacing-md) var(--spacing-lg) var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) .card-information) .footer) .btn {
    max-width: 320px;
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) .card-information) .footer) .btn {
        width: 80%;
    }
}

*:not(.wysiwyg) .card-number {
    counter-reset: card-number;
}

:is(:is(*:not(.wysiwyg) .card-number) .card-campaign) .title {
    padding-left: calc(2.5em + var(--spacing-md));
}

:is(:is(:is(*:not(.wysiwyg) .card-number) .card-campaign) .title)::before {
    content: counter(card-number);
    counter-increment: card-number;
    display: inline-flex;
    width: 2.5em;
    font-size: 1.5rem;
    color: white;
    font-family: "Noto Sans JP", serif;
    background-color: var(--accent_green);
    border-right: unset;
    text-align: center;
    justify-content: center;
    align-items: center;
}

.title--blue:is(:is(:is(*:not(.wysiwyg) .card-number) .card-campaign) .title):before {
    background-color: var(--bg-lightblue);
}

*:not(.wysiwyg) .card-campaign {
    display: grid;
    grid-template-rows: auto auto 1fr 107px;
    border: 1px solid var(--border-gray);
    margin-top: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
}

:is(*:not(.wysiwyg) .card-campaign) .title {
    padding: 0.5rem var(--spacing-md);
    font-weight: bold;
    text-align: left;
    width: 100%;
    position: relative;
}

:is(:is(*:not(.wysiwyg) .card-campaign) .title):before {
    content: "";
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    border-right: 10px solid var(--accent_green);
}

:is(*:not(.wysiwyg) .card-campaign) figure {
    width: 100%;
    padding: var(--spacing-sm);
}

:is(:is(*:not(.wysiwyg) .card-campaign) figure) img {
    width: inherit;
    aspect-ratio: 644 / 482;
}

:is(*:not(.wysiwyg) .card-campaign) .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-sm);
    border-top: var(--border-gray) 1px solid;
    padding: var(--spacing-md) var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) .card-campaign) .content) .tag {
    display: inline-block;
    padding: var(--spacing-xxs) var(--spacing-xs);
    width: fit-content;
    border-radius: 5px;
    text-align: center;
    font-size: 0.75rem;
}

.blue:is(:is(:is(*:not(.wysiwyg) .card-campaign) .content) .tag) {
    background-color: var(--bg-blue);
    color: white;
}

:is(*:not(.wysiwyg) .card-campaign) .footer {
    border-top: var(--border-gray) 1px solid;
    text-align: center;
    padding: var(--spacing-lg) var(--spacing-xl);
}

:is(:is(*:not(.wysiwyg) .card-campaign) .footer) .btn {
    max-width: 512px;
}

*:not(.wysiwyg) .area-nav {
    gap: unset;
    border: 2px solid var(--border-gray);
    border-top: none;
}

:is(*:not(.wysiwyg) .area-nav) nav {
    background-color: var(--bg-gray);
    padding: var(--spacing-md) var(--spacing-lg);
}

:is(:is(*:not(.wysiwyg) .area-nav) nav) ul {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

:is(:is(:is(*:not(.wysiwyg) .area-nav) nav) ul) li {
    display: flex;
    align-items: center;
}

:is(:is(:is(*:not(.wysiwyg) .area-nav) nav) ul) li::before {
    content: "";
    display: inline-flex;
    width: 2.35em;
    background-image: url(../images/icon-check.svg);
    height: 1.85em;
    background-size: cover;
    background-position: center center;
    margin-right: var(--spacing-md);
}

*:not(.wysiwyg) .area-icon_information {
    background-color: var(--bg-gray);
    overflow: hidden;
}

:is(*:not(.wysiwyg) .area-icon_information) .title {
    display: flex;
    font-family: "Noto Sans JP", serif;
    align-items: center;
    height: var(--height-icon);
    padding-bottom: 0;
    font-size: 1.25rem;
    font-weight: bold;
    word-break: keep-all;
    overflow-wrap: anywhere;
    position: relative;
    padding-left: calc(var(--height-icon) + var(--spacing-md));
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .area-icon_information) .title {
        padding-right: var(--spacing-md);
    }
}

:is(:is(*:not(.wysiwyg) .area-icon_information) .title)::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    width: var(--height-icon);
    height: var(--height-icon);
    background-color: var(--accent_green);
    margin-right: var(--spacing-md);
    background-size: calc(var(--height-icon) * 0.5);
    background-repeat: no-repeat;
    background-position: center center;
}

:is(*:not(.wysiwyg) .area-icon_information) .inner {
    padding: var(--spacing-lg) var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) .area-icon_information) .inner) p {
    text-align: left;
}

:is(*:not(.wysiwyg) .area-icon_information) .footer {
    text-align: center;
    margin-top: var(--spacing-md);
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) .area-icon_information) .footer) .btn {
        width: 80%;
    }
}

*:not(.wysiwyg) .info-box dl {
    width: 100%;
    margin: 10px auto;
}

*:not(.wysiwyg) .info-box>dl>.item {
    display: grid;
    gap: var(--spacing-xs);
    grid-template-areas: "date icon title";
    grid-template-columns: 150px 5.5em 1fr;
    border-top: 1px solid #097e30;
}

:is(*:not(.wysiwyg) .info-box > dl > .item):last-child {
    border-bottom: 1px solid #097e30;
}

*:not(.wysiwyg) .info-box dl dt {
    grid-area: date;
    width: 150px;
    padding: 10px 0;
    text-align: center;
}

*:not(.wysiwyg) .info-box dl dd {
    padding: 10px 0;
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--spacing-xxs);
}

:is(*:not(.wysiwyg) .info-box dl dd) .pdf {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    background-image: url("../images/icon-pdf.svg");
    background-size: contain;
    background-repeat: no-repeat;
}

:is(*:not(.wysiwyg) .info-box dl dd) .external_site {
    display: inline-block;
}

:is(:is(*:not(.wysiwyg) .info-box dl dd) .external_site):before {
    content: "外部サイト";
    border-radius: 5px;
    font-size: 0.75rem;
    border: 1px solid var(--border-gray);
    background-color: var(--bg-gray);
    padding: var(--spacing-xxs) var(--spacing-xs);
}

:is(*:not(.wysiwyg) .info-box dl dd) .important {
    display: inline-block;
}

:is(:is(*:not(.wysiwyg) .info-box dl dd) .important):before {
    content: "重要";
    border-radius: 5px;
    font-size: 0.75rem;
    color: #fff;
    background-color: var(--accent_orange);
    padding: var(--spacing-xxs) var(--spacing-xs);
}

:is(*:not(.wysiwyg) .info-box dl dd) .new {
    display: inline-block;
}

:is(:is(*:not(.wysiwyg) .info-box dl dd) .new):before {
    content: "NEW";
    color: #fff;
    border-radius: 5px;
    font-size: 0.75rem;
    background-color: var(--color-warning);
    padding: var(--spacing-xxs) var(--spacing-xs);
}

*:not(.wysiwyg) .info-box .item dd:nth-of-type(1) {
    grid-area: icon;
    justify-content: center;
}

*:not(.wysiwyg) .info-box .item dd:nth-of-type(2) {
    grid-area: title;
}

:is(*:not(.wysiwyg) .info-box .item dd:nth-of-type(2)) a {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xxs);
    flex-wrap: wrap;
}

*:not(.wysiwyg) .information-area {
    gap: unset;
}

:is(*:not(.wysiwyg) .information-area) .desc-area {
    padding: var(--spacing-lg);
    background-color: var(--bg-lightgreen);
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .info-box>dl>.item {
        width: 100%;
        grid-template-areas:
            "date icon"
            "title title";
        grid-template-columns: 5em calc(100% - 5em);
        row-gap: 0;
    }

    *:not(.wysiwyg) .info-box dl dt {
        width: 100%;
        border-bottom: none;
        padding: 5px 0;
        text-align: left;
        color: #038735;
        font-size: 0.75rem;
        display: inline-flex;
        align-items: center;
    }

    *:not(.wysiwyg) .info-box dl dd {
        width: 100%;
        padding: 5px 0;
        position: relative;
    }

    *:not(.wysiwyg) .info-box .item dd:nth-of-type(1) {
        justify-content: start;
    }
}

/* table */
*:not(.wysiwyg) .table {
    width: 100%;
    border-collapse: collapse;
}

:is(*:not(.wysiwyg) .table) th,
:is(*:not(.wysiwyg) .table) td {
    border: 1px solid var(--border-gray);
    padding: 0.5rem 1rem;
    text-align: center;
}

:is(*:not(.wysiwyg) .table) th {
    font-weight: bold;
}

:is(:is(*:not(.wysiwyg) .table) tbody) th {
    font-weight: normal;
}

.lightyellow:is(*:not(.wysiwyg) .table) th {
    background-color: var(--bg-th-lightyellow);
}

.lightblue:is(*:not(.wysiwyg) .table) th {
    background-color: var(--bg-th-lightblue);
}

.gray:is(*:not(.wysiwyg) .table) th {
    background-color: var(--bg-gray);
}

:is(*:not(.wysiwyg) .table) caption {
    font-weight: bold;
    text-align: left;
    margin-bottom: var(--spacing-xs);
}

/** tdが一つの時のスタイル **/
@media screen and (max-width: 768px) {
    .sp-vertical:is(*:not(.wysiwyg) .table) tr {
        display: block;
    }

    :is(.sp-vertical:is(*:not(.wysiwyg) .table) tr):last-child td {
        border-bottom: 1px solid var(--border-gray);
    }

    .sp-vertical:is(*:not(.wysiwyg) .table) th,
    .sp-vertical:is(*:not(.wysiwyg) .table) td {
        display: block;
        width: 100%;
        text-align: left;
    }

    .sp-vertical:is(*:not(.wysiwyg) .table) td {
        border-top: none;
        border-bottom: none;
    }
}

@media screen and (max-width: 768px) {
    .sp-vertical--cols:is(*:not(.wysiwyg) .table) tr {
        display: block;
    }

    :is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tr)>td:last-child {
        border-bottom: none;
    }

    :is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tr):last-child td {
        border-bottom: 1px solid var(--border-gray);
    }

    :is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tr):not(:has(th)) {
        border-top: 1px solid var(--border-gray);
    }

    .sp-vertical--cols:is(*:not(.wysiwyg) .table) th,
    .sp-vertical--cols:is(*:not(.wysiwyg) .table) td {
        display: block;
        width: 100%;
        text-align: left;
    }

    .sp-vertical--cols:is(*:not(.wysiwyg) .table) td {
        border-top: none;
    }

    :is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tbody) tr:not(:has(th)) {
        border-top: none;
    }

    :is(:is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tbody) tr:not(:has(th))):first-child {
        border-top: 1px solid var(--border-gray);
    }

    :is(:is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tbody) tr:not(:has(th))):last-child td {
        border-bottom: none;
    }

    :is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tbody) tr:not(:has(th)) {
        border-bottom: 1px solid var(--border-gray);
    }

    :is(:is(.sp-vertical--cols:is(*:not(.wysiwyg) .table) tbody) tr:not(:has(th))) td {
        border-top: none;
        border-bottom: none;
    }
}

@media screen and (max-width: 768px) {
    .sp-data-label:is(*:not(.wysiwyg) .table) thead {
        display: none;
    }

    :is(.sp-data-label:is(*:not(.wysiwyg) .table) td)::before {
        content: attr(data-label) ":";
        display: block;
        font-weight: bold;
    }

    :is(.sp-data-label.lightyellow:is(*:not(.wysiwyg) .table) td)::before {
        background-color: var(--bg-th-lightyellow);
    }

    :is(.sp-data-label.lightblue:is(*:not(.wysiwyg) .table) td)::before {
        background-color: var(--bg-th-lightblue);
    }
}

*:not(.wysiwyg) .grid-table {
    display: grid;
    grid-template-rows: auto;
    border: 1px solid var(--border-gray);
    text-align: center;
}

:is(*:not(.wysiwyg) .grid-table) .grid-table-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid var(--border-gray);
}

:is(:is(*:not(.wysiwyg) .grid-table) .grid-table-row):last-child {
    border-bottom: none;
}

:is(:is(*:not(.wysiwyg) .grid-table) .grid-table-header) .header {
    grid-template-columns: 1fr;
}

:is(:is(:is(*:not(.wysiwyg) .grid-table) .grid-table-header) .grid-table-row):last-child {
    border-bottom: 1px solid var(--border-gray);
}

:is(*:not(.wysiwyg) .grid-table) .grid-table-row.action {
    grid-template-columns: 1fr;
    border-bottom: none;
}

:is(*:not(.wysiwyg) .grid-table) .grid-table-cell {
    padding: var(--spacing-xs) var(--spacing-md);
}

:is(:is(*:not(.wysiwyg) .grid-table) .grid-table-cell)+ :is(:is(*:not(.wysiwyg) .grid-table) .grid-table-cell) {
    border-left: 1px solid var(--border-gray);
}

.lightyellow:is(*:not(.wysiwyg) .grid-table) .grid-table-header {
    background-color: var(--bg-th-lightyellow);
}

.lightblue:is(*:not(.wysiwyg) .grid-table) .grid-table-header {
    background-color: var(--bg-th-lightblue);
}

.gray:is(*:not(.wysiwyg) .grid-table) .grid-table-header {
    background-color: var(--bg-gray);
}

*:not(.wysiwyg) .expand-section {
    display: grid;
    grid-template-rows: auto;
}

:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table) .expand {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-in-out;
}

:is(:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table) .expand)>* {
    overflow: hidden;
}

:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table):has(.expand-checkbox:checked) .expand {
    grid-template-rows: 1fr;
}

:is(:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table):has(.expand-checkbox:checked) .btn-arrowdown)::after {
    transform: rotate(-45deg);
}

:is(:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table) .btn-arrowdown.more)::before {
    content: "もっと見る";
}

:is(:is(*:not(.wysiwyg) .expand-section, *:not(.wysiwyg) .grid-table):has(.expand-checkbox:checked) .btn-arrowdown.more)::before {
    content: "閉じる";
}

/** btns **/
*:not(.wysiwyg) .btn-arrowright {
    padding-right: var(--spacing-lg);
    padding-left: var(--spacing-lg);
}

:is(*:not(.wysiwyg) .btn-arrowright):after {
    content: "";
    display: block;
    position: absolute;
    border-right: var(--color-black) 0.2em solid;
    border-top: var(--color-black) 0.2em solid;
    transform: rotate(45deg);
    width: var(--arrow-width);
    height: var(--arrow-width);
    top: calc(50% - var(--arrow-width) / 2);
    right: 1em;
}

.btn-fill.green:is(*:not(.wysiwyg) .btn-arrowright)::after {
    border-right: white 0.2em solid;
    border-top: white 0.2em solid;
}

.accordion-close:is(*:not(.wysiwyg) .btn-arrowright)::after {
    transform: rotate(-45deg);
    top: calc(50% - var(--arrow-width) / 3);
}

*:not(.wysiwyg) .btn-icon {
    position: relative;
    padding-right: 2em;
    padding-left: 2em;
}

:is(*:not(.wysiwyg) .btn-icon)::before {
    content: "";
    display: block;
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    background-image: url("../images/icon-link.svg");
    background-size: 1.5em;
    background-repeat: no-repeat;
    top: calc(50% - 0.75em);
}

.btn-icon--link:is(*:not(.wysiwyg) .btn-icon)::before {
    background-image: url("../images/icon-link.svg");
}

.btn-icon--cash:is(*:not(.wysiwyg) .btn-icon)::before {
    background-image: url("../images/icon-cash.svg");
}

.btn-icon--pdf:is(*:not(.wysiwyg) .btn-icon)::before {
    height: 1.75em;
    background-image: url("../images/icon-pdf.svg");
}

.btn-icon--right:is(*:not(.wysiwyg) .btn-icon)::before {
    right: 1em;
}

.btn-icon--left:is(*:not(.wysiwyg) .btn-icon)::before {
    left: 1em;
}

*:not(.wysiwyg) .btn {
    display: inline-block;
    padding-top: var(--spacing-xs);
    padding-bottom: var(--spacing-xs);
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border-radius: 5px;
    color: var(--color-black);
    position: relative;
    text-align: center;
    width: 100%;
    max-width: 512px;
    word-break: keep-all;
    overflow-wrap: anywhere;
    cursor: pointer;
    transition:
        background-color 0.3s ease,
        opacity 0.3s ease;
}

*:not(.wysiwyg) .btn-img {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    max-width: unset !important;
    gap: var(--spacing-xl);
}

*:not(.wysiwyg) .btn-max-w {
    max-width: 360px;
}

*:not(.wysiwyg) .btn-lg {
    padding-top: var(--spacing-md);
    padding-bottom: var(--spacing-md);
}

*:not(.wysiwyg) .btn-md {
    padding-top: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
}

*:not(.wysiwyg) .btn-sm {
    padding-top: var(--spacing-xs);
    padding-bottom: var(--spacing-xs);
}

.green:is(*:not(.wysiwyg) .btn-fill) {
    background-color: var(--accent_green);
    color: white;
}

.green:is(*:not(.wysiwyg) .btn-fill):hover {
    opacity: 0.8;
}

.blue:is(*:not(.wysiwyg) .btn-fill) {
    background-color: var(--bg-blue);
    color: white;
}

.blue:is(*:not(.wysiwyg) .btn-fill):hover {
    background-color: var(--bg-lightblue);
}

.btn-regist:is(*:not(.wysiwyg) .btn-fill) {
    background-color: var(--bg-regist);
    color: white;
}

.btn-regist:is(*:not(.wysiwyg) .btn-fill):hover {
    background-color: var(--bg-blue);
}

.btn-login:is(*:not(.wysiwyg) .btn-fill) {
    background-color: var(--bg-login);
    color: white;
}

.btn-login:is(*:not(.wysiwyg) .btn-fill):hover {
    opacity: 0.8;
}

*:not(.wysiwyg) .btn-outline {
    color: var(--color-black);
    position: relative;
    width: 100%;
}

.green:is(*:not(.wysiwyg) .btn-outline) {
    border: 2px solid var(--border-lightgreen);
    background-color: white;
    color: var(--color-black);
}

.green:is(*:not(.wysiwyg) .btn-outline):hover {
    background-color: var(--border-lightgreen);
}

*:not(.wysiwyg) .btn-round {
    display: inline-block;
    padding: 0.5rem 1rem;
    font-weight: bold;
    position: relative;
    border: 2px solid var(--border-darkgray);
    border-radius: 25px;
    width: 100%;
    text-align: center;
    background-color: var(--bg-gray);
}

:is(*:not(.wysiwyg) .btn-round):hover {
    background-color: var(--bg-darkgray);
}

.gray:is(*:not(.wysiwyg) .btn-round) {
    background-color: var(--bg-gray);
}

.gray:is(*:not(.wysiwyg) .btn-round):hover {
    background-color: var(--bg-darkgray);
}

.black:is(*:not(.wysiwyg) .btn-round) {
    background-color: var(--color-black);
    color: white;
}

.black:is(*:not(.wysiwyg) .btn-round):hover {
    background-color: white;
    color: var(--color-black);
}

*:not(.wysiwyg) .btn-arrowdown {
    padding-right: 5rem;
    padding-left: 5rem;
}

:is(*:not(.wysiwyg) .btn-arrowdown)::after {
    content: "";
    display: block;
    position: absolute;
    border-right: var(--color-black) 0.2em solid;
    border-top: var(--color-black) 0.2em solid;
    transform: rotate(135deg);
    width: var(--arrow-width);
    height: var(--arrow-width);
    top: calc(50% - var(--arrow-width) / 2);
    right: 1em;
    transition: transform 0.3s ease-in-out;
}

.black:is(*:not(.wysiwyg) .btn-arrowdown):hover::after {
    border-right: var(--color-black) 0.2em solid;
    border-top: var(--color-black) 0.2em solid;
}

.black:is(*:not(.wysiwyg) .btn-arrowdown)::after {
    border-right: white 0.2em solid;
    border-top: white 0.2em solid;
}

*:not(.wysiwyg) .btn-index {
    display: inline-flex;
    width: 100%;
    align-items: center;
    background-color: var(--bg-gray);
    border-left: 10px solid var(--accent_green);
    padding-right: 3em;
    padding-left: 1rem;
    font-weight: bold;
    font-size: 1.5rem;
    position: relative;
    height: 3em;
    font-family: "Noto Sans JP", serif;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .btn-index {
        border-left: 5px solid var(--accent_green);
        padding-left: 0.5rem;
        font-size: 1.25rem;
    }
}

:is(*:not(.wysiwyg) .btn-index)::before {
    content: "";
    display: inline-block;
    background-color: var(--bg-darkgray);
    width: 3em;
    height: 3em;
    position: absolute;
    top: 0;
    right: 0;
}

:is(*:not(.wysiwyg) .btn-index)::after {
    content: "";
    display: inline-block;
    border-right: var(--color-black) 3px solid;
    border-top: var(--color-black) 3px solid;
    transform: rotate(45deg);
    position: absolute;
    width: 0.75em;
    height: 0.75em;
    top: calc(50% - 0.375em);
    right: calc(3em / 2 - (0.375em - 1.5px));
}

:is(*:not(.wysiwyg) .btn-index):hover {}

/* tab */
*:not(.wysiwyg) .tab-list {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1rem;
    width: 100%;
    flex-wrap: wrap;
}

:is(*:not(.wysiwyg) .tab-list) .tabs {
    display: flex;
    width: 100%;
    gap: var(--spacing-md);
    position: sticky;
    top: 0;
    z-index: 999;
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .tab-list) .tabs {
        gap: var(--spacing-sm);
    }
}

:is(*:not(.wysiwyg) .tab-list) input[type="radio"] {
    display: none;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(*:not(.wysiwyg) .tab-list) .tab-item {
    display: block;
    border: 1px solid var(--border-gray);
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    padding: 0.75rem 1.5rem;
    text-align: center;
    border-bottom: 5px solid var(--border-gray);
    width: calc((100% - var(--spacing-md)) / 2);
    background-color: white;
}

:is(:is(*:not(.wysiwyg) .tab-list) .tab-item):hover {
    background-color: var(--bg-darkgray);
}

:is(*:not(.wysiwyg) .tab-list) .tab-content {
    display: none;
    flex-direction: column;
    gap: var(--spacing-md);
    border: var(--border-gray) 1px solid;
    padding: var(--spacing-md);
}

:is(*:not(.wysiwyg) .tab-list) #tab1:checked~label[for="tab1"],
:is(*:not(.wysiwyg) .tab-list) #tab2:checked~label[for="tab2"] {
    font-weight: bold;
    border-bottom: 5px solid var(--bg-lightblue);
}

:is(*:not(.wysiwyg) .tab-list):has(#tab1:checked) #content1,
:is(*:not(.wysiwyg) .tab-list):has(#tab2:checked) #content2 {
    display: flex;
}

*:not(.wysiwyg) .step-card-group {
    display: flex;
    flex-direction: column;
    gap: calc(var(--arrow-step-width) * 1.5);
}

:is(*:not(.wysiwyg) .step-card-group) .step-card {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--spacing-sm);
    border: 1px solid var(--border-gray);
    padding: 1rem;
    position: relative;
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .step-card-group) .step-card {
        grid-template-columns: 1fr;
    }
}

:is(:is(*:not(.wysiwyg) .step-card-group) .step-card) .desc {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(:is(*:not(.wysiwyg) .step-card-group) .step-card)+ :is(:is(*:not(.wysiwyg) .step-card-group) .step-card)::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: var(--arrow-step-width);
    height: var(--arrow-step-width);
    top: calc(-1 * var(--arrow-step-width) * 1.5);
    left: calc(50% - var(--arrow-step-width));
    transform: rotate(135deg) translateY(-50%) translateX(-50%);
    border-top: #0097e2 2px solid;
    border-right: #0097e2 2px solid;
}

:is(*:not(.wysiwyg) .step-card-group) figure {}

*:not(.wysiwyg) .step-fukidashi {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(*:not(.wysiwyg) .step-fukidashi) dt {
    position: relative;
    background-color: var(--color-black);
    color: white;
    padding: 0.5rem 1rem;
    width: 10em;
    text-align: center;
    margin-bottom: 2rem;
}

:is(:is(*:not(.wysiwyg) .step-fukidashi) dt)::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-left: 0.75rem solid transparent;
    border-right: 0.75rem solid transparent;
    border-top: 1rem solid black;
    bottom: -0.95rem;
    left: 50%;
    transform: translateX(-50%);
}

:is(*:not(.wysiwyg) .step-fukidashi) dd {
    background-color: var(--bg-gray);
    padding: 2rem;
}

*:not(.wysiwyg) .layout-step-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
}

:is(*:not(.wysiwyg) .layout-step-2) figure {
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
}

:is(*:not(.wysiwyg) .layout-step-2) p.desc {
    margin-top: var(--spacing-md);
    height: 2em;
}

:is(*:not(.wysiwyg) .layout-step-2) p.u-desc {
    height: 5em;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .layout-step-2 {
        grid-template-columns: 1fr;
    }

    :is(*:not(.wysiwyg) .layout-step-2) .item {
        display: flex;
        margin: 0 auto;
        width: 80%;
        flex-direction: column;
    }

    :is(*:not(.wysiwyg) .layout-step-2) figure {
        margin-top: var(--spacing-lg);
        margin-bottom: var(--spacing-lg);
    }

    :is(*:not(.wysiwyg) .layout-step-2) p.desc {
        margin-top: var(--spacing-lg);
        text-align: center;
        height: unset;
    }

    :is(*:not(.wysiwyg) .layout-step-2) p.u-desc {
        height: unset;
    }
}

*:not(.wysiwyg) dl.layout-step-3 {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(*:not(.wysiwyg) dl.layout-step-3) dt {
    width: 10em;
    margin: 0 auto var(--spacing-sm) 0;
}

:is(*:not(.wysiwyg) dl.layout-step-3) dd {
    background-color: var(--bg-gray);
    padding: 2rem;
}

*:not(.wysiwyg) dl.layout-step-4 {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

:is(*:not(.wysiwyg) dl.layout-step-4) .step-item {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) dl.layout-step-4) .step-item {
        flex-direction: column;
        align-items: baseline;
    }
}

:is(:is(*:not(.wysiwyg) dl.layout-step-4) .step-item) dt {
    width: 10em;
    margin: 0;
    height: fit-content;
    display: inline-block;
}

:is(:is(*:not(.wysiwyg) dl.layout-step-4) .step-item) dd {
    padding: var(--spacing-md);
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) dl.layout-step-4) .step-item) dd {
        padding: var(--spacing-sm) var(--spacing-md);
    }
}

*:not(.wysiwyg) dl.layout-step-5 {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    counter-reset: step;
}

:is(:is(*:not(.wysiwyg) dl.layout-step-5) > .step-item)>dt {
    background-color: var(--bg-gray);
    padding: var(--spacing-sm) var(--spacing-md);
    font-weight: bold;
}

:is(:is(:is(*:not(.wysiwyg) dl.layout-step-5) > .step-item) > dt)::before {
    content: "STEP" counter(step);
    counter-increment: step;
    font-family: "Noto Sans JP", serif;
    background-color: var(--color-black);
    color: white;
    padding: var(--spacing-xxs) 2rem;
    width: 12em;
    text-align: center;
    border-radius: 25px;
    font-weight: bold;
    margin-right: var(--spacing-md);
}

@media screen and (max-width: 768px) {
    :is(:is(:is(*:not(.wysiwyg) dl.layout-step-5) > .step-item) > dt)::before {
        width: 100%;
        margin: 0 var(--spacing-sm) 0 auto;
    }
}

:is(:is(*:not(.wysiwyg) dl.layout-step-5) > .step-item)>dd {
    padding: var(--spacing-md) var(--spacing-sm);
}

.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) {
    gap: calc(var(--arrow-step-width) * 1.5);
}

.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) dt {
    position: relative;
    text-align: center;
}

:is(.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) dt)::before {
    position: absolute;
    top: 50%;
    width: 7em;
    left: var(--spacing-md);
    transform: translateY(-50%);
}

.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) .step-item {
    position: relative;
}

:is(.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) .step-item)+ :is(.gap-arrow:is(*:not(.wysiwyg) dl.layout-step-5) .step-item)::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: var(--arrow-step-width);
    height: var(--arrow-step-width);
    top: calc(-1 * var(--arrow-step-width));
    left: 50%;
    transform: translateY(-50%) translateX(-50%) rotate(135deg);
    border-top: var(--border-darkgray) 0.2em solid;
    border-right: var(--border-darkgray) 0.2em solid;
}

*:not(.wysiwyg) .step-round {
    background-color: var(--color-black);
    color: white;
    padding: var(--spacing-xxs) 2rem;
    width: 12em;
    text-align: center;
    border-radius: 25px;
    font-family: "Noto Sans JP", serif;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .step-round {
        width: 100%;
        margin: 0 auto;
    }
}

*:not(.wysiwyg) .layout-step {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Vertically align items */
    max-width: var(--container-max-width);
    gap: calc(var(--arrow-step-width) * 1.5);
    padding: 1rem;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .layout-step {
        flex-direction: column;
        width: 100%;
    }
}

:is(*:not(.wysiwyg) .layout-step) .step-round {
    max-width: 100%;
    margin: 0 auto;
}

:is(*:not(.wysiwyg) .layout-step) .step-item {
    height: 200px;
    position: relative;
    border: var(--color-black) 0.2em solid;
    border-radius: 15px;
    width: calc((100% - var(--arrow-step-width)) / 3);
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .layout-step) .step-item {
        width: 100%;
    }
}

:is(:is(*:not(.wysiwyg) .layout-step) .step-item) .content {
    padding: 1rem 1rem 0 1rem;
}

:is(:is(*:not(.wysiwyg) .layout-step) .step-item) .desc {
    padding: 1rem;
    border-top: 0.2em solid var(--color-black);
}

:is(:is(*:not(.wysiwyg) .layout-step) .step-item)+ :is(:is(*:not(.wysiwyg) .layout-step) .step-item)::before {
    content: "";
    position: absolute;
    display: inline-block;
    width: var(--arrow-step-width);
    height: var(--arrow-step-width);
    top: 50%;
    left: calc(-1 * var(--arrow-step-width) * 1.5);
    transform: rotate(45deg) translateY(-50%) translateX(-50%);
    border-top: #0097e2 0.2em solid;
    border-right: #0097e2 0.2em solid;
}

@media screen and (max-width: 768px) {
    :is(:is(*:not(.wysiwyg) .layout-step) .step-item)+ :is(:is(*:not(.wysiwyg) .layout-step) .step-item)::before {
        left: calc(50% - var(--arrow-step-width));
        top: calc(-1 * var(--arrow-step-width) * 1.5);
        transform: rotate(135deg) translateY(-50%) translateX(-50%);
    }
}

:is(:is(*:not(.wysiwyg) .layout-step) .step-item) figure {}

*:not(.wysiwyg) .l-section-inner_img {
    display: flex;
    gap: var(--spacing-md);
    justify-content: space-between;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .l-section-inner_img {
        flex-direction: column;
    }
}

*:not(.wysiwyg) .l-grid-cols-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-md);
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .l-grid-cols-2 {
        grid-template-columns: 1fr;
    }
}

*:not(.wysiwyg) .l-grid-cols-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
}

@media screen and (max-width: 1024px) {
    *:not(.wysiwyg) .l-grid-cols-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .l-grid-cols-3 {
        grid-template-columns: 1fr;
    }
}

*:not(.wysiwyg) .l-grid-cols-3_1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .l-grid-cols-3_1 {
        grid-template-columns: 1fr;
    }
}

/*list*/
*:not(.wysiwyg) dl.disc,
*:not(.wysiwyg) ul.disc {
    list-style: none;
    text-indent: -1em;
    padding-left: 1em;
}

:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dd {
    text-indent: 0;
}

.green:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt::before,
.green:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) li::before {
    color: var(--accent_green);
}

.red:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt::before,
.red:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) li::before {
    color: var(--color-warning);
}

.black:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt::before,
.black:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) li::before {
    color: var(--color-black);
}

.blue:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt::before,
.blue:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) li::before {
    color: var(--color-smakeblue);
}

:is(:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) > li, :is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt)::before {
    content: "●";
}

.note:is(:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) > li, :is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt)::before {
    content: "※";
}

.red:is(:is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) > li, :is(*:not(.wysiwyg) dl.disc, *:not(.wysiwyg) ul.disc) dt)::before {
    color: var(--color-warning);
}

*:not(.wysiwyg) ul.note {
    text-indent: -1em;
    padding-left: 1em;
    list-style: none;
}

:is(*:not(.wysiwyg) ul.note) li::before {
    content: "※";
}

.small:is(*:not(.wysiwyg) ul.note) {
    font-size: 0.75rem;
}

.warning:is(*:not(.wysiwyg) ul.note) li::before {
    color: var(--color-warning);
}

.warning:is(*:not(.wysiwyg) ul.note) li {
    color: var(--color-warning);
}

*:not(.wysiwyg) ol.note-number {
    counter-reset: item;
}

:is(*:not(.wysiwyg) ol.note-number) li {
    padding-left: 1em;
    text-indent: -1em;
}

:is(:is(*:not(.wysiwyg) ol.note-number) li)::before {
    content: "※" counter(item);
    counter-increment: item;
}

*:not(.wysiwyg) .card {
    background-color: var(--bg-gray);
    padding: var(--spacing-lg);
}

.card--rounded:is(*:not(.wysiwyg) .card) {
    border-radius: 15px;
}

*:not(.wysiwyg) .card--outline {
    border: 1px solid var(--border-lightgreen);
    background-color: white;
}

*:not(.wysiwyg) .card--trouble {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: var(--spacing-sm);
    padding: var(--spacing-md);
    align-items: center;
}

:is(*:not(.wysiwyg) .card--trouble) .copy {
    grid-column: 1 / 3;
}

@media screen and (max-width: 768px) {
    :is(*:not(.wysiwyg) .card--trouble) .copy {
        grid-column: unset;
    }
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) .card--trouble {
        grid-template-columns: 1fr;
    }

    :is(*:not(.wysiwyg) .card--trouble) figure {
        width: 50px;
        margin: 0 auto;
    }
}

:is(*:not(.wysiwyg) .card--trouble) .card-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

/*検索ボックス*/
*:not(.wysiwyg) .search-container {
    width: 100%;
    text-align: center;
}

:is(*:not(.wysiwyg) .search-container) input {
    border-radius: 0;
    width: 80%;
}

/* .search-container:hover,
.search-container:focus-within {
    box-shadow: 0 2px 8px rgba(32, 33, 36, 0.15);
    border-color: transparent;
}

.search-container .search-input {
    flex-grow: 1;
    border: none;
    outline: none;
    background-color: transparent;
    font-size: 16px;
    padding: 0;
}
    */
*:not(.wysiwyg) .search-container .search-button {
    background-color: #4285f4;
    color: white;
    width: 3em;
    padding: var(--spacing-xxs) var(--spacing-sm);
}

:is(:is(*:not(.wysiwyg) .search-container .search-button) svg) path {
    fill: white;
}

/*

.search-container.search-button:hover {
    background-color: #f0f0f0;
}

.search-container .material-icons {
    width: 1em;
    height: 1em;
    background-image: url('../images/search.svg');
}

 */
/* modal classes -------*/
*:not(.wysiwyg) .modal-toggle {
    display: none;
}

*:not(.wysiwyg) .modal-toggle:checked~.modal-backdrop {
    opacity: 1;
    visibility: visible;
}

*:not(.wysiwyg) .modal-toggle:checked~.modal-container {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    visibility: visible;
}

/* モーダルの背景 */
*:not(.wysiwyg) .modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 40;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
    cursor: pointer;
}

/* モーダル本体のコンテナ */
*:not(.wysiwyg) .modal-container {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    z-index: 50;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    width: 91.666667%;
    max-width: 550px;
}

*:not(.wysiwyg) .modal-content {
    background-color: white;
    border-radius: 12px;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04);
    position: relative;
    padding: 32px;
    text-align: center;
}

*:not(.wysiwyg) .modal-close-icon {
    position: absolute;
    top: 1rem;
    right: 1rem;
    color: #9ca3af;
    cursor: pointer;
    transition: color 0.2s ease;
}

*:not(.wysiwyg) .modal-close-icon:hover {
    color: #4b5563;
}

*:not(.wysiwyg) .modal-close-icon svg {
    width: 24px;
    height: 24px;
}

*:not(.wysiwyg) .modal-header {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

*:not(.wysiwyg) .modal-body {
    color: #4b5563;
    margin-bottom: 1.5rem;
}

*:not(.wysiwyg) .modal-close-btn {
    background-color: var(--bg-gray);
    font-weight: 600;
    padding: 8px 20px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-block;
    transition: background-color 0.2s ease;
}

*:not(.wysiwyg) .modal-close-btn:hover {
    background-color: #d1d5db;
}

*:not(.wysiwyg) .btn-login,
*:not(.wysiwyg) .btn-regist {
    font-family: "Noto Sans JP", serif;
}

*:not(.wysiwyg) .btn-login {
    padding-right: 2rem;
    padding-left: 2rem;
    white-space: nowrap;
}

:is(*:not(.wysiwyg) .btn-login)::after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1em;
    background: url(../images/icon-login.svg) no-repeat center center;
    background-size: contain;
}

:is(*:not(.wysiwyg) .btn-regist)::after {
    border-color: white;
}

/*---  button (トップページボタンおよびカードを作るボタン用） ---*/
*:not(.wysiwyg) .btn-top {
    height: 50px;
    position: relative;
    width: 320px;
    margin: 20px auto;
    border: 1px solid #cbcbcb;
    background: #fff;
    text-align: center;
}

*:not(.wysiwyg) .btn-top::after {
    width: 10px;
    height: 10px;
    border-bottom: 2px solid #097e30;
    border-right: 2px solid #097e30;
    content: "";
    transform: rotate(-45deg);
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
}

*:not(.wysiwyg) .btn-top:hover {
    opacity: 0.7;
}

*:not(.wysiwyg) .btn-top a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #097e30;
}

:is(*:not(.wysiwyg) .link-list) a {
    color: var(--color-smakeblue);
}

:is(:is(*:not(.wysiwyg) .link-list) a):visited {
    color: var(--color-smakeblue);
}

:is(*:not(.wysiwyg) .link-list) li::before {
    content: ">";
    margin-right: 0.5rem;
    color: var(--border-gray);
}

/*scroll_button
-------------------------------------*/
*:not(.wysiwyg) #scroll_button {
    position: fixed;
    bottom: 0;
    background: rgba(0, 000, 000, 0.5);
    width: 100%;
    height: 140px;
    padding: 0 0;
    text-align: center;
    z-index: 10;
    display: none;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) #scroll_button {
        height: 110px;
    }
}

*:not(.wysiwyg) #scroll_button.close {
    display: none !important;
}

*:not(.wysiwyg) #scroll_button ul {
    display: flex;
    justify-content: center;
    align-items: end;
    height: 100%;
    margin: 0;
    padding-bottom: 1rem;
}

*:not(.wysiwyg) #scroll_button ul li {
    margin: 0 auto;
}

*:not(.wysiwyg) #scroll_button .kokuchi {
    color: #fff;
    list-style: none;
    font-size: 1.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    font-weight: bold;
}

*:not(.wysiwyg) #scroll_button .purple-btn {
    background-image: linear-gradient(90deg, rgba(184, 22, 255, 1), rgba(185, 49, 255, 1));
    color: #fff;
    border-radius: 10px;
    font-size: 20px;
    max-width: 500px;
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    *:not(.wysiwyg) #scroll_button .kokuchi {
        position: absolute;
        top: 10%;
        width: 100%;
        text-align: center;
        font-size: 1.5rem;
    }

    *:not(.wysiwyg) #scroll_button .purple-btn {
        width: 80%;
    }
}

*:not(.wysiwyg) #scroll_button .purple-btn a {
    color: #fff;
    font-weight: bold;
    font-family: "Noto Sans JP", serif;
}

*:not(.wysiwyg) #scroll_button .purple-btn::after {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
}

*:not(.wysiwyg) #scroll_button-close {
    position: absolute;
    right: 0;
    top: 1rem;
    width: 5em;
    height: 1.5rem;
    color: #fff;
    border: none;
    cursor: pointer;
}

/* utility classes --------*/
*:not(.wysiwyg) .text-center {
    text-align: center;
}

*:not(.wysiwyg) .text-right {
    text-align: right;
}

*:not(.wysiwyg) .text-left {
    text-align: left;
}

*:not(.wysiwyg) .mt-0 {
    margin-top: 0 !important;
}

*:not(.wysiwyg) .mt-3 {
    margin-top: 1rem;
}

*:not(.wysiwyg) .mb-3 {
    margin-bottom: 1rem;
}

*:not(.wysiwyg) .mt-6 {
    margin-top: 3rem;
}

*:not(.wysiwyg) .mb-6 {
    margin-bottom: 3rem;
}

*:not(.wysiwyg) .my-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

*:not(.wysiwyg) .my-6 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

*:not(.wysiwyg) .text-xs {
    font-size: 0.75rem;
}

*:not(.wysiwyg) .text-sm {
    font-size: 0.875rem;
}

*:not(.wysiwyg) .text-md {
    font-size: 1rem;
}

*:not(.wysiwyg) .text-lg {
    font-size: 1.125rem;
}

*:not(.wysiwyg) .text-xl {
    font-size: 1.25rem;
}

*:not(.wysiwyg) .text-xxl {
    font-size: 1.5rem;
    line-height: 1.5;
}

*:not(.wysiwyg) .text-3xl {
    font-size: 1.75rem;
    line-height: 1.5;
}

*:not(.wysiwyg) .font-bold {
    font-weight: bold;
}

*:not(.wysiwyg) .mx-auto {
    margin-left: auto;
    margin-right: auto;
}

*:not(.wysiwyg) .flex-wrap {
    flex-wrap: wrap;
}

*:not(.wysiwyg) .w-90 {
    width: 90%;
}