@charset "UTF-8";

/* =================== */
/*  variable             */
/* =================== */

:root {
    /* inner */
    --innerPaddingInline: 10px;
    --innerWidth: 1100px;

    /* font */
    --font-family-base: "Noto Sans JP", sans-serif;
    --font-family-en: "Capriola", sans-serif;

    /* カラー */
    --color-white: #fff;
    --color-black: #111;
    --color-black-00: #000;
    --color-primary: #06a08d;
    --color-green: #c8d9d7;
    --color-light-green: #d4ebe8;
    --color-secondary: #fd7e00;
    --color-orange: #e70;
    --color-light-orange: #ffbc79;
    --color-yellow: #ffd400;
    --color-gray-d9: #d9d9d9;
    --color-gray-9f: #9f9f9f;
    --color-gray-eb: #ebebeb;
    --color-gray-c5: #c5c5c5;

    /* weight */
    --font-weight-regular: 400;
    --font-weight-normal: 500;
    --font-weight-medium: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;

    /* line-height */
    --leading-snug: 1.5;
    --leading-loose: 2;

    /* letter-spacing */
    --tracking-tight: 0.025em;
    --tracking-normal: 0.05em;

    /* hover */
    --hover-opacity: 0.5;


    /* border-radius */
    --rounded-sm: 4px;
    --rounded-md: 8px;
    --rounded-lg: 10px;
    --rounded-xl: 20px;
    --rounded-full: calc(infinity * 1px);
}

/* =================== */
/*  base             */
/* =================== */

a {
    -webkit-transition: opacity 0.3s;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s;
}

@media (any-hover: hover) {
    a:hover {
        opacity: var(--hover-opacity);
    }
}

@media (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    margin: 0 auto;
    color: var(--color-black);
    font-family: var(--font-family-base);
    word-break: break-all;
    overflow-x: hidden;
}

:where(button, [type="button"], [type="reset"], [type="submit"]) {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

:where(:-moz-any-link, button, [type="button"], [type="reset"], [type="submit"], label[for], select, summary, [role="tab"], [role="button"]) {
    cursor: pointer;
}

:where(:-webkit-any-link, button, [type="button"], [type="reset"], [type="submit"], label[for], select, summary, [role="tab"], [role="button"]) {
    cursor: pointer;
}

:where(:any-link, button, [type="button"], [type="reset"], [type="submit"], label[for], select, summary, [role="tab"], [role="button"]) {
    cursor: pointer;
}

:focus:not(:focus-visible) {
    outline: none;
}

/* =================== */
/*  utilitiy         */
/* =================== */

.u-br-sp {
    display: block;
}

@media (min-width: 992px) {
    .u-br-sp {
        display: none;
    }
}

.u-br-pc {
    display: none;
}

@media (min-width: 992px) {
    .u-br-pc {
        display: block;
    }
}

.u-sp-none {
    display: none !important;
}

@media (min-width: 768px) {
    .u-sp-none {
        display: block !important;
    }
}

.u-pc-none {
    display: block !important;
}

@media (min-width: 768px) {
    .u-pc-none {
        display: none !important;
    }
}

.u-visuallyhidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    border: 0;
}

/* =================== */
/*  layout         */
/* =================== */

.l-container {
    margin: 0 auto;
    background-color: var(--bg-primary);
}

.l-inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-inline: var(--innerPaddingInline);
}

@media (min-width: 768px) {
    .l-inner {
        --innerPaddingInline: 28px;
        max-width: calc(var(--innerWidth) + (var(--innerPaddingInline) * 2));
    }
}

/* =================== */
/*  component        */
/* =================== */

.c-commonButton {
    --bg-color: var(--color-primary);
    display: block flow;
    background-color: var(--bg-color);
    border-radius: var(--rounded-full);
    color: var(--color-white);
    padding-block: 20px;
    padding-inline: 30px;
    text-align: center;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-loose);
    font-size: 20px;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.c-commonButton span {
    color: var(--color-yellow);
    font-size: 25px;
    line-height: var(--leading-loose);
    font-weight: var(--font-weight-black);
}

@media (any-hover: hover) {
    .c-commonButton:hover {
        opacity: 1;
        --bg-color: var(--color-secondary);
    }
}

.c-commonButton:focus-visible {
    opacity: 1;

    --bg-color: var(--color-secondary);
}


.c-commonButton [data-size="middle"] {
    font-size: 20px;
}

.c-commonButton [data-weight="bold"] {
    font-weight: var(--font-weight-bold);
}


.c-commonButton[data-button="middle"] {
    padding-block: 25px;
}


.c-moreButton {
    background-color: var(--color-secondary);
    border-radius: 110px;
    color: var(--color-white);
    padding-block: 15px;
    padding-inline: 50px 20px;
    display: inline grid;
    grid-template-columns: auto -webkit-max-content;
    grid-template-columns: auto max-content;
    -webkit-column-gap: 50px;
    -moz-column-gap: 50px;
    column-gap: 50px;
    font-size: 18px;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
}


.c-moreButton__icon {
    inline-size: 20px;
    aspect-ratio: 1;
    display: inline flow-root;
    background-color: var(--color-white);
    border-radius: 50%;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
    position: relative;
}

.c-moreButton__icon::before {
    position: absolute;
    content: "";
    -webkit-mask: url(../images/icon_arrow_down.svg) no-repeat center / contain;
    mask: url(../images/icon_arrow_down.svg) no-repeat center / contain;
    background-color: var(--color-secondary);
    inline-size: 5px;
    block-size: 6px;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    translate: -50% -50%;
}


@media (any-hover: hover) {
    .c-moreButton:hover {
        opacity: var(--hover-opacity);
    }
}

.c-moreButton:focus-visible {
    opacity: var(--hover-opacity);
}

.c-sectionTitle {
    text-align: center;
    font-size: 36px;
    line-height: 1;
    font-weight: var(--font-weight-bold);
    color: var(--color-black-00);
}

@media (min-width: 992px) {
    .c-sectionTitle {
        font-size: 54px;
        line-height: var(--leading-loose);
    }
}


.c-sectionTitle:has(span) {
    display: block grid;
    row-gap: 12px;
}


@media (min-width: 992px) {
    .c-sectionTitle:has(span) {
        display: block flow;
    }
}

.c-sectionTitle span {
    font-size: 24px;
    display: block flow;
}

@media (min-width: 992px) {
    .c-sectionTitle span {
        font-size: 54px;
        display: inline flow-root;
    }
}



.c-sectionTitle2 {
    display: block grid;
    row-gap: 20px;
}

.c-sectionTitle2__subtitle {
    grid-row: 1;
    font-size: 30px;
    line-height: 1;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-c5);
    text-transform: capitalize;
}

@media (min-width: 992px) {
    .c-sectionTitle2__subtitle {
        font-size: 33px;
    }
}

.c-sectionTitle2__title {
    color: var(--color-black-00);
    font-size: 36px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    grid-row: 2;
}

@media (min-width: 992px) {
    .c-sectionTitle2__title {
        font-size: 42px;
    }
}

.c-enTitle {
    grid-row: 1;
    font-size: 30px;
    line-height: 1;
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-d9);
    text-transform: capitalize;
}

@media (min-width: 992px) {
    .c-enTitle {
        font-size: 33px;
    }
}

.c-enTitle[data-color="primary"] {
    color: var(--color-primary);
}

.c-enTitle[data-size="large"] {
    font-size: 54px;
}

.c-title {
    color: var(--color-black);
    font-size: 36px;
    font-weight: var(--font-weight-bold);
    line-height: 1.7;
}

@media (min-width: 992px) {
    .c-title {
        font-size: 39px;
    }
}

.c-title span {
    color: var(--color-primary);
}

.c-headBlock {
    display: block grid;
}

@media (min-width: 992px) {
    .c-headBlock {
        grid-template-columns: auto 1fr;
        -webkit-column-gap: 35px;
        -moz-column-gap: 35px;
        column-gap: 35px;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        background-color: var(--color-light-green);
        border-radius: var(--rounded-xl);
        padding-inline: 35px;
        padding-block: 5px 11px;
    }
}

.c-headBlock__titleWrap {
    --bgColor: var(--color-primary);
    background-color: var(--bgColor);
    padding-block: 21px;
    padding-inline: 28px 27px;
    border-radius: var(--rounded-lg);
    position: relative;
    grid-row: 1;
}

@media (min-width: 992px) {
    .c-headBlock__titleWrap {
        --bgColor: transparent;
        grid-row: initial;
        padding-inline: 0;
        padding-block: 0;
        border-radius: 0;
    }
}

.c-headBlock__titleWrap::before {
    position: absolute;
    content: "";
    background-image: url(../images/icon_triangle.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    inline-size: 32px;
    block-size: 32px;
    inset-inline-start: 35px;
    inset-block-end: -16px;
}

@media (min-width: 992px) {
    .c-headBlock__titleWrap:before {
        display: none;
    }
}

.c-headBlock__title {
    --textColor: var(--color-white);
    color: var(--textColor);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
    line-height: var(--leading-snug);
}

@media (min-width: 992px) {
    .c-headBlock__title {
        --textColor: var(--color-black);
        font-size: 28px;
    }

    .c-headBlock__title[data-position="center"] {
        text-align: center;
    }
}



.c-headBlock__img {
    grid-row: 2;
    max-inline-size: 200px;
    inline-size: 100%;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .c-headBlock__img {
        grid-row: initial;
        -webkit-margin-start: 0;
        margin-inline-start: 0;
    }
}

.c-headBlock__img img {
    inline-size: 100%;
    block-size: auto;
    aspect-ratio: 200/140;
    display: block flow;
    -o-object-fit: contain;
    object-fit: contain;
}


@media (min-width: 992px) {
    .c-headBlock[data-type="balloon"] {
        padding-block: 36px;
        grid-template-columns: 1fr;
    }
}




.c-commonText {
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--leading-loose);
}

.c-commonText[data-size="small"] {
    font-size: 12px;
    line-height: var(--leading-loose);

}



.c-commonText [data-size="middle"] {
    font-size: 18px;
    font-weight: var(--font-weight-bold);
}

.c-commonText [data-size="large"] {
    font-size: 20px;
    font-weight: var(--font-weight-bold);
}

.c-commonText [data-color="primary"] {
    color: var(--color-primary);
    font-weight: var(--font-weight-black);
}

.c-commonText[ data-color="gray"] {
    color: var(--color-gray-9f);

}



.c-commonCard {
    color: var(--color-black);
    padding-block: 30px;
    padding-inline: 20px;
    border-radius: var(--rounded-lg);
    background-color: var(--color-white);
}

@media (min-width: 992px) {
    .c-commonCard {
        padding-block: 116px 126px;
        padding-inline: 100px;
        border-radius: var(--rounded-xl);
        block-size: 100%;
    }
}

.c-commonCard__img {
    max-inline-size: 275px;
    inline-size: 100%;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .c-commonCard__img {
        max-inline-size: 350px;
    }
}

.c-commonCard__img img {
    inline-size: 100%;
    block-size: auto;
    display: block flow;
}

.c-commonCard__title {
    text-align: center;
    font-size: 24px;
    line-height: 1;
    font-weight: var(--font-weight-bold);
    -webkit-margin-before: 45px;
    margin-block-start: 45px;
}

@media (min-width: 992px) {
    .c-commonCard__title {
        font-size: 34px;
        -webkit-margin-before: 50px;
        margin-block-start: 50px;
    }
}

.c-commonCard__text {
    -webkit-margin-before: 20px;
    margin-block-start: 20px;
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--leading-loose);
}

@media (min-width: 992px) {
    .c-commonCard__text {
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
        max-inline-size: 400px;
        margin-inline: auto;
    }
}

.c-link {
    display: inline flow-root;
    position: relative;
    -webkit-border-after: 1px solid var(--color-primary);
    border-block-end: 1px solid var(--color-primary);
    -webkit-padding-end: 18px;
    padding-inline-end: 18px;
}

@media (min-width: 992px) {
    .c-link {
        -webkit-padding-end: 26px;
        padding-inline-end: 26px;
    }
}

.c-link[target="_blank"]::before {
    position: absolute;
    content: "";
    background: url(../images/icon_window.svg) no-repeat center center / contain;
    inline-size: 13px;
    aspect-ratio: 1;
    inset-inline-end: 0;
    inset-block-start: 50%;
    translate: 0 -50%;
}

@media (min-width: 992px) {
    .c-link[target="_blank"]::before {
        inline-size: 19px;
    }
}

.c-link__img {
    max-inline-size: 132px;
    inline-size: 100%;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .c-link__img {
        max-inline-size: 199px;
    }
}

.c-link__img img {
    inline-size: 100%;
    block-size: auto;
    display: block flow;
    -o-object-fit: contain;
    object-fit: contain;
}

.c-link__title {
    text-align: center;
    -webkit-margin-before: 20px;
    margin-block-start: 20px;
    color: var(--color-black);
    line-height: var(--leading-snug);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
}

@media (any-hover: hover) {
    .c-link:hover {
        opacity: var(--hover-opacity);
    }
}

.c-link:focus-visible {
    opacity: var(--hover-opacity);
}

.c-numberCard {
    position: relative;
}

.c-numberCard__number {
    font-family: "arial";
    font-size: 18px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
    background-color: var(--color-primary);
    border-radius: 50%;
    color: var(--color-white);
    display: inline grid;
    place-content: center;
    inline-size: 46px;
    block-size: 46px;
    position: absolute;
    inset-inline-start: 14px;
    inset-block-start: 17px;
    z-index: 1;
}

@media (min-width: 992px) {
    .c-numberCard__number {
        font-size: 26px;
        inline-size: 68px;
        block-size: 68px;
        inset-inline-start: 21px;
        inset-block-start: 27px;
    }
}

.c-numberCard__number[data-number="02"] {
    inset-block-start: 13px;
}

@media (min-width: 992px) {
    .c-numberCard__number[data-number="02"] {
        inset-block-start: 27px;
    }
}

.c-numberCard__imgBox {
    position: relative;
}

.c-numberCard__imgBox::before {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 136px;
    background-color: var(--color-light-green);
    z-index: -1;
    border-radius: 14px;
    inset-inline-start: 0;
    inset-block-start: 40px;
}

@media (min-width: 992px) {
    .c-numberCard__imgBox::before {
        block-size: 200px;
        border-radius: 20px;
        inset-block-start: 59px;
    }
}

.c-numberCard__imgBox:has([data-img="img1"]) {
    padding-inline: 77px 31px;
}

@media (min-width: 992px) {
    .c-numberCard__imgBox:has([data-img="img1"]) {
        padding-inline: 111px 46px;
    }
}

.c-numberCard__imgBox:has([data-img="img2"]) {
    padding-inline: 72px 43px;
}

@media (min-width: 992px) {
    .c-numberCard__imgBox:has([data-img="img2"]) {
        padding-inline: 105px 63px;
    }
}

.c-numberCard__imgBox:has([data-img="img2"]):before {
    inset-block-start: 35px;
}

@media (min-width: 992px) {
    .c-numberCard__imgBox::before {
        inset-block-start: initial;
        inset-block-end: 8px;
    }

    .c-numberCard__imgBox:has([data-img="img2"]):before {
        inset-block-start: initial;
        inset-block-end: 8px;
    }
}

.c-numberCard__img {
    inline-size: 100%;
    margin-inline: auto;
}

.c-numberCard__img[data-img="img1"] {
    max-inline-size: 248px;
}

@media (min-width: 992px) {
    .c-numberCard__img[data-img="img1"] {
        max-inline-size: 364px;
    }
}

.c-numberCard__img[data-img="img2"] {
    max-inline-size: 240px;
}

@media (min-width: 992px) {
    .c-numberCard__img[data-img="img2"] {
        max-inline-size: 352px;
    }
}

.c-numberCard__img img {
    inline-size: 100%;
    block-size: auto;
    display: block flow;
}

.c-numberCard__title {
    text-align: center;
    -webkit-margin-before: 45px;
    margin-block-start: 45px;
    color: var(--color-black);
    line-height: var(--leading-snug);
    font-weight: var(--font-weight-bold);
    font-size: 24px;
}

@media (min-width: 992px) {
    .c-numberCard__title {
        -webkit-margin-before: 62px;
        margin-block-start: 62px;
        font-size: 28px;
        line-height: 1.7;
    }
}

.c-numberCard__text {
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--leading-loose);
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}

/* 表 */
.c-commonTable,
th,
td {
    border-collapse: collapse;
    color: var(--color-black);
}

.c-commonTable th,
.c-commonTable td {
    font-size: 16px;
    line-height: var(--leading-loose);
}

@media (min-width: 992px) {

    .c-commonTable th,
    .c-commonTable td {
        display: table-cell;
        width: initial;
    }
}

.c-commonTable th {
    font-weight: var(--font-weight-bold);
    display: block;
    width: 100%;
}

@media (min-width: 992px) {
    .c-commonTable th {
        width: 64px;
        display: table-cell;
        -webkit-padding-after: 30px;
        padding-block-end: 30px;
    }
}

.c-commonTable td {
    display: block;
    width: 100%;
    font-weight: var(--font-weight-regular);
    -webkit-padding-after: 30px;
    padding-block-end: 30px;
}

@media (min-width: 992px) {
    .c-commonTable td {
        width: initial;
        display: table-cell;
        -webkit-padding-start: 50px;
        padding-inline-start: 50px;
    }
}

.c-commonTable tr:last-child th,
.c-commonTable tr:last-child td {
    padding-block: 0;
}

.c-commonTable ul {
    list-style-type: disc;
    -webkit-padding-start: 20px;
    padding-inline-start: 20px;
}

@media (min-width: 992px) {
    .c-commonTable ul {
        list-style-type: "";
        -webkit-padding-start: 0;
        padding-inline-start: 0;
    }
}

.c-commonTable ul li {
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--leading-loose);
}

@media (min-width: 992px) {
    .c-commonTable th:has(+ td ul) {
        vertical-align: top;
    }
}

/* =================== */
/*  ハンバーガーメニュー */
/* =================== */

.c-hamburger {
    position: relative;
    width: inherit;
    height: inherit;
    margin: 0;
    border: transparent;
    cursor: pointer;
}

.c-hamburger span {
    display: block;
    position: relative;
    left: 50%;
    inline-size: 30px;
    block-size: 4px;
    translate: -50%;
    background: var(--color-primary);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

.c-hamburger span:nth-of-type(1) {
    top: -4px;
}

.c-hamburger span:nth-of-type(2) {
    top: 1px;
}

.c-hamburger span:nth-of-type(3) {
    top: 6px;
}

.c-hamburger .c-hamburger__text {
    display: block;
    top: 12px;
    background: transparent;
    color: var(--font-color-white);
    font-weight: 400;
    font-size: 10px;
    line-height: 1;
    text-transform: uppercase;
}

.c-hamburger[aria-expanded="true"] span:nth-of-type(1) {
    inset-block-start: 5px;
    translate: -50%;
    rotate: 225deg;
}

.c-hamburger[aria-expanded="true"] span:nth-of-type(2) {
    opacity: 0;
}

.c-hamburger[aria-expanded="true"] span:nth-of-type(3) {
    inset-block-start: -3px;
    translate: -50%;
    rotate: -225deg;
}

/* =================== */
/*  ヘッダー　　　      */
/* =================== */
.p-header {
    display: block;
    z-index: 999;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: var(--color-white);

}

@media (min-width: 992px) {
    .p-header {
        height: auto;
    }

    .p-header:has([aria-expanded="true"]) {
        background-color: transparent;
    }
}


.p-header__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    z-index: 10;
    position: absolute;
    top: 0;
    right: -200%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100dvh;
    background: transparent;
    font-weight: 700;
    opacity: 0;
    -webkit-transition: 0.6s;
    transition: 0.6s;
}


.p-header__nav::after {
    background-color: var(--color-white);
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    z-index: 0;
    display: none;
}

.p-header__nav[aria-expanded="true"]::after {
    display: block;
}

@media (min-width: 992px) {
    .p-header__nav::after {

        display: none;
    }

    .p-header__nav[aria-expanded="true"]::after {
        display: none;
    }

}


.p-header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: inherit;
    padding: 12px 20px;
    position: relative;
}


@media (min-width: 992px) {
    .p-header__inner {
        padding-block: 15px 3px;
        padding-inline: 40px;
        max-inline-size: 1200px;
        margin-inline: auto;
        -webkit-transition: max-inline-size 0.6s, -webkit-margin-start 0.6s, -webkit-margin-end 0.6s;
        transition: max-inline-size 0.6s, -webkit-margin-start 0.6s, -webkit-margin-end 0.6s;
        transition: max-inline-size 0.6s, margin-inline-start 0.6s, margin-inline-end 0.6s;
        transition: max-inline-size 0.6s, margin-inline-start 0.6s, margin-inline-end 0.6s, -webkit-margin-start 0.6s, -webkit-margin-end 0.6s;
    }

    .p-header__inner:has(.p-header__nav[aria-expanded="true"]) {
        max-inline-size: 45%;
        -webkit-margin-start: auto;
        margin-inline-start: auto;
        -webkit-margin-end: 0;
        margin-inline-end: 0;
        -webkit-padding-start: 48px;
        padding-inline-start: 48px;
    }
}




.p-header__title {
    width: 100%;
    display: block;
    -webkit-margin-end: 20px;
    margin-inline-end: 20px;
    z-index: 12;
    font-family: var(--font-family-en);
    font-size: 27px;
    line-height: 0.74;
    color: var(--color-primary);
    max-inline-size: -webkit-fit-content;
    max-inline-size: -moz-fit-content;
    max-inline-size: fit-content;
}

@media (min-width: 992px) {
    .p-header__title {
        font-size: 36px;
        line-height: 1.94;
    }
}

.p-header__title a {
    display: block;
    width: 100%;
    height: auto;
}

.p-header__title a img {
    height: 100%;
}

.p-header__hamburger {
    z-index: 100;
    position: absolute;
    inset-block-start: 50%;
    inset-inline-end: 24px;
    inline-size: 30px;
    block-size: 22px;
    translate: 0 -50%;
}



.p-header__nav[aria-expanded="true"] {
    position: fixed;
    top: 0;
    right: 0;
    background: var(--color-white);
    opacity: 1;
    -webkit-transition: 0.6s;
    transition: 0.6s;
}

@media (min-width: 992px) {
    .p-header__nav[aria-expanded="true"] {
        background-color: transparent;
    }
}


.p-bgLayer {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 998;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    display: none;
    z-index: -1;
}

@media (min-width: 992px) {
    .p-bgLayer {
        display: block;
    }

}


/* =================== */
/*  ナビメニュー      */
/* =================== */
.p-nav {
    padding-top: 80px;
    padding-bottom: 80px;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    background-color: var(--color-white);
}

@media (min-width: 992px) {
    .p-nav {
        padding-top: 104px;
        max-inline-size: 45%;
        -webkit-margin-start: auto;
        margin-inline-start: auto;
        -webkit-margin-end: 0;
        margin-inline-end: 0;
    }
}


.p-nav__inner {
    padding-right: 16px;
    padding-left: 16px;
}


@media (min-width: 992px) {
    .p-nav__inner {
        max-inline-size: 500px;
        -webkit-margin-start: 0;
        margin-inline-start: 0;
        -webkit-margin-end: auto;
        margin-inline-end: auto;
        block-size: 100%;
        display: block flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-padding-start: 120px;
        padding-inline-start: 120px;
        -webkit-margin-before: 30px;
        margin-block-start: 30px;
    }
}

.p-nav__list {
    display: block;
    width: 100%;
}

.p-nav__item {
    position: relative;
    border-bottom: 1px solid var(--color-gray-c5);
}

@media (min-width: 992px) {
    .p-nav__item {
        text-align: left;
        border: transparent;
    }
}



.p-nav__item.p-nav__item--contact {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
    border: transparent;

}

@media (min-width: 992px) {
    .p-nav__item.p-nav__item--contact {
        -webkit-margin-before: 30px;
        margin-block-start: 30px;
    }

}


.p-nav__item:has(+.p-nav__item--contact) {
    border-bottom: transparent;
}


.p-nav__link {
    display: block;
    width: 100%;
    padding: 18px 0;
    color: var(--color-black);
    font-size: 18px;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
}

@media (min-width: 992px) {
    .p-nav__link {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        padding-block: 18px;
    }
}


/* =================== */
/*  タブ内コンテンツ      */
/* =================== */

.p-contentsBlock {
    background-color: var(--color-light-green);
}

@media (min-width: 992px) {
    .p-contentsBlock {
        background-color: var(--color-white);
        padding-block: 90px;
        padding-inline: 150px;
    }
}

@media (min-width: 992px) {
    .p-contentsBlock__inner {
        max-inline-size: 800px;
        margin-inline: auto;
    }
}



.p-contentsBlock__head {
    -webkit-margin-after: 36px;
    margin-block-end: 36px;
}

@media (min-width: 992px) {
    .p-contentsBlock__head {
        -webkit-margin-after: 50px;
        margin-block-end: 50px;
    }
}


.p-contentsBlock__head[data-space="large"] {
    -webkit-margin-after: 49px;
    margin-block-end: 49px;
}


@media (min-width: 992px) {
    .p-contentsBlock__body {
        max-inline-size: 640px;
        margin-inline: auto;
    }

    .p-contentsBlock__body[data-wide="middle"] {
        max-inline-size: 680px;
    }
}

.p-contentsBlock__text {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}

@media (min-width: 992px) {
    .p-contentsBlock__text {
        max-inline-size: 640px;
    }
}

.p-contentsBlock__text2 {
    -webkit-margin-before: 50px;
    margin-block-start: 50px;
}

@media (min-width: 992px) {
    .p-contentsBlock__text2 {
        -webkit-margin-before: 80px;
        margin-block-start: 80px;
        color: var(--color-secondary);
    }
}

.p-contentsBlock__text2[data-size="large"] {
    font-size: 30px;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
    text-align: center;
}




@media (min-width: 992px) {
    .p-contentsBlock__text2[data-size="large"] {
        font-size: 35px;
    }

}

.p-contentsBlock__text2 [data-text="arrow"] {
    display: none;
}

@media (min-width: 992px) {
    .p-contentsBlock__text2 [data-text="arrow"] {
        display: inline flow-root;
    }
}

.p-contentsBlock__innerBlock {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    background-color: var(--color-white);
    border-radius: var(--rounded-lg);
    padding-block: 60px;
    padding-inline: 30px;
    position: relative;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;

}

@media (min-width: 992px) {
    .p-contentsBlock__innerBlock {
        background-color: transparent;
        border-radius: 0;
        padding-block: 0;
        padding-inline: 0;
        -webkit-margin-before: 20px;
        margin-block-start: 20px;
    }
}


.p-contentsBlock__innerTextWrap {
    display: block grid;
    row-gap: 30px;
}

.p-contentsBlock__innerTextBox {
    display: block flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 10px;
    position: relative;
    z-index: 1;
}

.p-contentsBlock__innerTextBox+.p-contentsBlock__innerTextBox {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerTextBox {
        display: block grid;
        grid-template:
            "text . dots . large"
            / auto 6px -webkit-max-content 25px 1fr;
        grid-template:
            "text . dots . large"
            / auto 6px max-content 25px 1fr;
        ;
        -webkit-box-align: start;
        ;
        -webkit-align-items: flex-start;
        ;
        -ms-flex-align: start;
        ;
        align-items: flex-start;
        -webkit-margin-before: 20px;
        margin-block-start: 20px;
    }

    .p-contentsBlock__innerTextBox+.p-contentsBlock__innerTextBox {
        -webkit-margin-before: 18px;
        margin-block-start: 18px;
    }

}




.p-contentsBlock__innerText {
    text-align: center;
    font-size: 22px;
    line-height: var(--leading-snug);
    font-weight: var(--font-weight-bold);
    display: block flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    row-gap: 10px;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerText {
        text-align: left;
        font-size: 18px;
        line-height: 1.7;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-column-gap: 19px;
        -moz-column-gap: 19px;
        column-gap: 19px;
        grid-area: text;
        min-inline-size: 234px;
    }

    .p-contentsBlock__innerText:has([data-size="small2"]) {
        display: block grid;
        grid-template-columns: auto 1fr;
    }
}


.p-contentsBlock__innerDots {
    display: none;
}


@media (min-width: 992px) {
    .p-contentsBlock__innerDots {
        grid-area: dots;
        display: inline flow-root;
        -webkit-margin-before: 6px;
        margin-block-start: 6px;
        font-size: 18px;
        line-height: 1;
        font-weight: var(--font-weight-bold);

    }
}


.p-contentsBlock__innerText[data-size="middle"] {
    font-size: 35px;
    line-height: 1;
    grid-area: large;
    min-inline-size: initial;
}

.p-contentsBlock__innerText [data-size="small"] {
    font-size: 18px;
    line-height: 1;
}

.p-contentsBlock__innerText[data-color="orange"] {
    color: var(--color-secondary);
}

.p-contentsBlock__text+.p-contentsBlock__innerText {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}

@media (min-width: 992px) {
    .p-contentsBlock__text+.p-contentsBlock__innerText {
        -webkit-margin-before: 20px;
        margin-block-start: 20px;
    }
}

.p-contentsBlock__innerText:has([data-size="small"]) {
    -webkit-column-gap: 2px;
    -moz-column-gap: 2px;
    column-gap: 2px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerText:has([data-size="small"]) {
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}


.p-contentsBlock__innerText [data-size="small2"] {
    display: none;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerText [data-size="small2"] {
        display: inline flow-root;
        font-size: 16px;
        font-weight: var(--font-weight-regular);
        line-height: 1;
        color: var(--color-black);
    }

    .p-contentsBlock__innerText:has([data-size="small2"]) {
        -webkit-column-gap: 10px;
        -moz-column-gap: 10px;
        column-gap: 10px;
    }
}


.p-contentsBlock__innerText [data-size="small3"] {
    color: var(--color-black);
    font-size: 16px;
    font-weight: var(--font-weight-regular);

}

.p-contentsBlock__innerText:has([data-size="small3"]) {
    -webkit-column-gap: 2px;
    -moz-column-gap: 2px;
    column-gap: 2px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerText:has([data-size="small3"]) {
        display: block grid;
        grid-template-columns: auto 1fr;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}


.p-contentsBlock__innerTextBox2 {
    position: relative;
    z-index: 1;
    display: block grid;
    grid-template:
        "text2"
        "text3"
        "text4"
        "text5"
    ;
    row-gap: 10px;
}


@media (min-width: 992px) {
    .p-contentsBlock__innerTextBox2 {
        display: grid;
        grid-template:
            "text2  text2 text2 text2"
            "text3  dots text4 text5"
            /auto -webkit-max-content auto 1fr;
        grid-template:
            "text2  text2 text2 text2"
            "text3  dots text4 text5"
            /auto max-content auto 1fr;
        -webkit-column-gap: 25px;
        -moz-column-gap: 25px;
        column-gap: 25px;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        row-gap: 20px;

    }
}


.p-contentsBlock__innerTextBox2.is-showTitle {
    row-gap: 0;
}

.p-contentsBlock__innerText[data-text="text2"] {
    grid-area: text2;
}

.p-contentsBlock__innerText[data-text="text3"] {
    grid-area: text3;
    font-size: 16px;
    font-weight: var(--font-weight-regular);
    line-height: var(--leading-loose);
    text-align: left;
}

.p-contentsBlock__innerText[data-text="text4"] {
    grid-area: text4;
    -webkit-margin-before: 20px;
    margin-block-start: 20px;
}

.p-contentsBlock__innerText[data-text="text5"] {
    grid-area: text5;
    line-height: 1;
}

.p-contentsBlock__innerText[data-dots="dots"] {
    grid-area: dots;
}


.p-contentsBlock__innerText[data-color="green"] {
    color: var(--color-primary);
}

.p-contentsBlock__innerText[data-size="large"] {
    font-size: 35px;
}





@media (min-width: 992px) {
    .p-contentsBlock__innerText[data-text="text2"] {
        color: var(--color-secondary);
        font-size: 28px;
        line-height: var(--leading-snug);
    }

    .p-contentsBlock__innerText[data-text="text3"] {
        max-inline-size: 216px;
        font-weight: var(--font-weight-bold);
        line-height: 1.7;
        font-size: 18px;
    }

    .p-contentsBlock__innerText[data-text="text4"] {
        min-inline-size: inherit;
        -webkit-margin-before: initial;
        margin-block-start: initial;
        line-height: 1;
    }

    .p-contentsBlock__innerText[data-text="text5"] {
        -webkit-margin-start: -15px;
        margin-inline-start: -15px;
        font-size: 61px;
        min-inline-size: initial;
    }
}






.p-contentsBlock__innerImg {
    inline-size: 100%;
    block-size: auto;
    -webkit-margin-before: 35px;
    margin-block-start: 35px;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerImg {
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
        max-inline-size: 640px;
    }
}


@media (min-width: 992px) {
    .p-contentsBlock__innerImg+.p-contentsBlock__text {
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
    }
}



.p-contentsBlock__balloonWrap {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    position: relative;
}




.p-contentsBlock__plus {
    position: relative;
    max-inline-size: 40px;
    inline-size: 100%;
    display: block flow;
    aspect-ratio: 1;
    margin-inline: auto;
    -webkit-margin-after: -20px;
    margin-block-end: -20px;
    z-index: 1;
}

.p-contentsBlock__plus img {
    inline-size: 100%;
    block-size: 100%;
    display: block flow;
    -o-object-fit: contain;
    object-fit: contain;
}



.p-contentsBlock__itemList {
    display: block grid;
    row-gap: 20px;
}

@media (min-width: 992px) {
    .p-contentsBlock__itemList {
        grid-template-columns: repeat(3, 1fr);
        gap: 41px;
        -webkit-margin-before: 50px;
        margin-block-start: 50px;
    }

    .p-contentsBlock__itemList+.p-contentsBlock__text {
        -webkit-margin-before: 25px;
        margin-block-start: 25px;
    }
}



.p-contentsBlock__innerItem {
    background-color: var(--color-gray-eb);
    border-radius: var(--rounded-lg);
    padding-block: 30px 29px;
    padding-inline: 20px;
}

@media (min-width: 992px) {
    .p-contentsBlock__innerItem {
        padding-block: 14px;
        padding-inline: 30px;
    }
}


.p-contentsBlock__itemText {
    font-size: 18px;
    line-height: 1.7;
    font-weight: var(--font-weight-bold);
    text-align: center;
}


.p-contentsBlock__button {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}


@media (min-width: 992px) {
    .p-contentsBlock__button {
        -webkit-margin-before: 70px;
        margin-block-start: 70px;
        max-inline-size: 340px;
        margin-inline: auto;
    }
}




.p-contentsBlock__innerBlock.is-layer {
    background-color: transparent;
    -webkit-padding-after: 30px;
    padding-block-end: 30px;

}

@media (min-width: 992px) {
    .p-contentsBlock__innerBlock.is-layer {
        background-color: var(--color-white);
    }

}




.p-contentsBlock__innerBlock.is-layer:first-of-type::before {
    content: "";
    inline-size: 100%;
    block-size: 100%;
    inset-inline-start: 0;
    inset-block-start: 0;
    position: absolute;
    border-radius: var(--rounded-lg);
    border-radius: 10px;
    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(rgba(255, 255, 255, 0.00)));
    background: linear-gradient(180deg, #FFF 0%, rgba(255, 255, 255, 0.00) 100%);
    pointer-events: none;
}


@media (min-width: 992px) {
    .p-contentsBlock__innerBlock.is-layer:first-of-type::before {
        display: none;
    }

}


.p-contentsBlock.is-hidden .p-contentsBlock__body~* {
    display: none;
}

.p-contentsBlock.is-hidden .is-showTitle~* {
    display: none;
}

.p-contentsBlock.is-hidden .is-showTitle>*:first-of-type~* {
    display: none;
}



@media (min-width: 992px) {
    .p-contentsBlock.is-hidden .p-contentsBlock__body~* {
        display: block flow;
    }

    .p-contentsBlock.is-hidden .is-showTitle~* {
        display: block grid;
    }

    .p-contentsBlock.is-hidden .is-showTitle>*:first-of-type~* {
        display: block flow;
    }
}




/* =================== */
/*  p-fv    　　　　　 */
/* =================== */

.p-fv {
    -webkit-padding-before: 60px;
    padding-block-start: 60px;
    position: relative;
    overflow: hidden;
}

@media (min-width: 992px) {
    .p-fv {
        -webkit-padding-before: 88px;
        padding-block-start: 88px;
        container-type: inline-size;
    }
}

@media (min-width: 992px) {
    .p-fv__inner {
        max-inline-size: 1256px;
    }
}

.p-fv__contents {
    position: relative;
    z-index: 0;
    padding-block: 60px;
}

@media (min-width: 992px) {
    .p-fv__contents {
        padding-inline: 49px;
        -webkit-padding-before: 92px;
        padding-block-start: 92px;
    }
}

.p-fv__contents:before {
    border-radius: var(--rounded-xl);
    position: absolute;
    content: "";
    background-color: var(--color-light-green);
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 100%;
    z-index: -1;
}


.p-fv__contentsInner {
    position: relative;
    max-inline-size: 360px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-fv__contentsInner {
        position: static;
        max-inline-size: initial;
        margin-inline: initial;
        display: grid;
        grid-template-columns: auto 1fr;
    }
}

.p-fv__copyBox {
    display: block grid;
    grid-template-columns: 1fr 1fr auto 1fr;
    background-color: var(--color-white);
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-block: 17px 41px;
}

@media (min-width: 992px) {
    .p-fv__copyBox {
        margin-block: initial;
        min-inline-size: 364px;
    }
}

.p-fv__copy {
    color: var(--color-primary);
    font-size: 68px;
    line-height: 1.2;
    letter-spacing: 0.02em;
    display: inline flow-root;
    font-weight: var(--font-weight-bold);
    text-align: center;
    -webkit-border-end: 1px solid #ddd;
    border-inline-end: 1px solid #ddd;
    padding-block: 2px 4px;
}

@media (min-width: 992px) {
    .p-fv__copy {
        font-size: 83px;
        line-height: 1;
        padding-block: 0;
        block-size: 100%;
        display: inline flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-block: 13px;
    }
}

.p-fv__copy:last-child {
    -webkit-border-end: transparent;
    border-inline-end: transparent;
}

.p-fv__copy[data-size="middle"] {
    font-size: 41px;
    display: inline flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    height: 100%;
}

@media (min-width: 992px) {
    .p-fv__copy[data-size="middle"] {
        font-size: 50px;
    }
}

.p-fv__textBox {
    padding-inline: 28px;
    color: var(--color-black);
    max-inline-size: 348px;
    margin-inline: auto;

}

@media (min-width: 992px) {
    .p-fv__textBox {
        max-inline-size: initial;
        margin-inline: initial;
        padding-inline: 0;
    }
}



@media (min-width: 992px) {
    .p-fv__textHead {
        display: block grid;
        grid-template-columns: auto 1fr;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-margin-after: 67px;
        margin-block-end: 67px;
        -webkit-column-gap: 7px;
        -moz-column-gap: 7px;
        column-gap: 7px;
    }
}

.p-fv__text {
    font-size: 21px;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
}

@media (min-width: 992px) {
    .p-fv__text {
        font-size: 26px;
    }
}

.p-fv__text[data-position="center"] {
    text-align: center;
}

@media (min-width: 992px) {
    .p-fv__text[data-position="center"] {
        text-align: left;
        -webkit-margin-before: 5px;
        margin-block-start: 5px;
    }
}

.p-fv__text[data-size="small"] {
    font-size: 14px;
    line-height: var(--leading-loose);
    font-weight: var(--font-weight-regular);
}

@media (min-width: 992px) {
    .p-fv__text[data-size="small"] {
        font-size: 16px;
    }
}

.p-fv__text [data-color="orange"] {
    color: var(--color-orange);
}

.p-fv__text [data-weight="black"] {
    font-weight: var(--font-weight-black);
    line-height: var(--leading-snug);
}

.p-fv__text [data-weight="bold"] {
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
}

.p-fv__text [data-size="middle"] {
    font-size: 16px;
}

@media (min-width: 992px) {
    .p-fv__text [data-size="middle"] {
        font-size: 18px;
    }
}

.p-fv__button {
    -webkit-margin-before: 41px;
    margin-block-start: 41px;
    max-inline-size: 350px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-fv__button {
        -webkit-margin-before: 44px;
        margin-block-start: 44px;
        -webkit-margin-start: 0;
        margin-inline-start: 0;
    }
}

.p-fv__img {

    max-inline-size: 150px;
    inline-size: 100%;
    display: block;
    position: absolute;
    inset-inline-end: 0;
    inset-block-end: -60px;
}

@media (min-width: 992px) {
    .p-fv__img {
        position: static;
        -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
        align-self: flex-end;
        aspect-ratio: 519 / 386;
        max-inline-size: 340px;
        inline-size: 100vw;
        -webkit-margin-end: calc(50% - 50cqi);
        margin-inline-end: calc(50% - 50cqi);
        -webkit-margin-after: -68px;
        margin-block-end: -68px;
        -webkit-margin-start: -140px;
        margin-inline-start: -140px;
    }
}

@media (min-width: 1200px) {
    .p-fv__img {
        max-inline-size: 519px;
        -webkit-margin-start: -13px;
        margin-inline-start: -13px;
    }
}

.p-fv__img img {
    inline-size: 100%;
    block-size: 100%;
    display: block flow;
    aspect-ratio: 150/100;
    -o-object-fit: cover;
    object-fit: cover;
}

/* =================== */
/*  p-concept           */
/* =================== */

.p-concept {
    padding-block: 100px 150px;
}

.p-concept__contents {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
    display: block grid;
    row-gap: 120px;
}

@media (min-width: 992px) {
    .p-concept__contents {
        row-gap: 140px;
        -webkit-margin-before: 0;
        margin-block-start: 0;
    }
}

.p-concept__titleWrap {
    text-align: center;
}

@media (min-width: 992px) {
    .p-concept__titleWrap {
        text-align: left;
        max-inline-size: 800px;
        margin-inline: auto;
        -webkit-margin-after: -33px;
        margin-block-end: -33px;
    }
}

@media (min-width: 992px) {
    .p-concept__title {
        max-inline-size: -webkit-fit-content;
        max-inline-size: -moz-fit-content;
        max-inline-size: fit-content;
    }
}

.p-concept__block {
    display: block grid;
    grid-template:
        "subTitle"
        "img"
        "textBox";
    row-gap: 40px;
}

@media (min-width: 992px) {
    .p-concept__block {
        grid-template:
            "subTitle img"
            "textBox img";
        row-gap: initial;
        -webkit-column-gap: 100px;
        -moz-column-gap: 100px;
        column-gap: 100px;
        max-inline-size: 948px;
        -webkit-margin-start: auto;
        margin-inline-start: auto;
        -webkit-margin-end: 0;
        margin-inline-end: 0;
    }

    .p-concept__block:first-child {
        grid-template:
            "subTitle img"
            "textBox textBox"
            / auto 1fr;
        max-inline-size: 800px;
        margin-inline: auto;
    }

    .p-concept__block:nth-child(even) {
        grid-template:
            "img subTitle"
            "img textBox";
        -webkit-margin-start: 0;
        margin-inline-start: 0;
        -webkit-margin-end: auto;
        margin-inline-end: auto;
    }
}

.p-concept__subTitle {
    grid-area: subTitle;
    padding-inline: 28px;
    max-inline-size: 350px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-concept__subTitle {
        padding-inline: 0;
        max-inline-size: initial;
        margin-inline: initial;
    }

    .p-concept__block:first-child .p-concept__subTitle {
        -webkit-margin-before: 90px;
        margin-block-start: 90px;
    }
}

.p-concept__img {
    grid-area: img;
    max-inline-size: 300px;
    inline-size: 100%;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-concept__img {
        max-inline-size: 400px;
    }
}

@media (min-width: 992px) {
    .p-concept__block:first-child .p-concept__img {
        max-inline-size: 389px;
    }
}

.p-concept__img img {
    inline-size: 100%;
    block-size: auto;
    display: block flow;
}

.p-concept__textBox {
    grid-area: textBox;
    display: block grid;
    row-gap: 48px;
    max-inline-size: 500px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-concept__textBox {
        row-gap: 40px;
        -webkit-margin-before: 50px;
        margin-block-start: 50px;
        max-inline-size: initial;
        margin-inline: initial;
    }

    .p-concept__block:nth-child(even) .p-concept__textBox {
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
    }
}


/* =================== */
/*  p-service           */
/* =================== */

.p-service {
    position: relative;
    -webkit-padding-before: 26px;
    padding-block-start: 26px;
    overflow: hidden;
}

@media (min-width: 992px) {
    .p-service {
        -webkit-padding-before: 90px;
        padding-block-start: 90px;
        /* sticky用のスクロール量はJavaScriptで動的に設定 */
        /* overflow: hiddenを削除してstickyを有効化 */
        overflow: visible;
    }
}

.p-service__innerWrap {
    background-color: var(--color-light-green);
    padding-block: 60px 100px;
}

@media (min-width: 992px) {
    .p-service__innerWrap {
        padding-block: 140px 170px;
        /* stickyで画面固定 */
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        min-height: 100vh;
        overflow: hidden;
        z-index: 1;
    }
}

.p-service::before {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 26px;
    background: url(../images/bg_wave.png) no-repeat center center;
    background-size: 100% 100%;
    inset-inline-start: 0;
    inset-block-start: 0;
    scale: -1 1;
}

@media (min-width: 992px) {
    .p-service::before {
        block-size: 90px;
        scale: initial;
    }
}

.p-service__contents {
    display: block grid;
    grid-template:
        "title"
        "list"
        "links"
        "bottom"

    ;
}


@media (min-width: 992px) {
    .p-service__contents {
        display: block grid;
        grid-template:
            "title list"auto "links list"auto "bottom list"1fr;
        grid-template-columns: auto 1fr;
        -webkit-column-gap: 70px;
        -moz-column-gap: 70px;
        column-gap: 70px;
        max-inline-size: 990px;
        margin-inline: auto;
    }
}

.p-service__title {
    grid-area: title;
    text-align: center;

}

@media (min-width: 992px) {
    .p-service__title {
        text-align: left;
        max-inline-size: 320px;
        -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
        align-self: flex-start;
    }
}

.p-service__cardListWrap {
    grid-area: list;
    position: relative;
    border-radius: var(--rounded-xl);
}

.p-service__cardList {
    position: relative;
    inline-size: 100%;
    max-inline-size: 600px;
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
    display: block grid;
    row-gap: 40px;
    padding-inline: 28px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-service__cardList {
        margin-inline: initial;
        -webkit-margin-before: 0;
        margin-block-start: 0;
        padding-inline: 0;
        aspect-ratio: 400/500;

    }

}

@media (min-width: 1200px) {
    .p-service__cardList {
        aspect-ratio: 600/700;

    }

}



.p-service__cardListWrap::before {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 100%;
    inset: 0;
    background-color: var(--color-green);
    z-index: 2;
    rotate: 4.63deg;
    border-radius: var(--rounded-lg);

    display: none;
}

@media (min-width: 992px) {
    .p-service__cardListWrap::before {

        display: block flow;
    }
}


.p-service__links {
    display: none;
}


@media (min-width: 992px) {
    .p-service__links {
        grid-area: links;
        display: block grid;
        row-gap: 52px;
        grid-template-rows: auto;
        max-inline-size: 320px;
        -webkit-margin-before: 96px;
        margin-block-start: 96px;
    }

}

.p-service__text {
    text-align: center;
}

@media (min-width: 992px) {
    .p-service__text {
        text-align: left;
        text-indent: -1em;
        -webkit-padding-start: 1em;
        padding-inline-start: 1em;
    }
}


.p-service__item {
    display: block;

}

@media (min-width: 992px) {
    .p-service__item {
        display: block;
        position: absolute;
        inset-inline-start: 0;
        inset-block-start: 0;
        block-size: 100%;

    }
}




.p-service__link {
    font-size: 21px;
    color: var(--color-gray-9f);
    line-height: 1;
    font-weight: var(--font-weight-bold);
    position: relative;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    justify-self: flex-start;
    -webkit-padding-start: 14px;
    padding-inline-start: 14px;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
}


.p-service__link::before {
    content: "";
    inline-size: 14px;
    block-size: 14px;
    background-color: var(--color-primary);
    z-index: 0;
    border-radius: 50%;
    opacity: 0;
}

.p-service__link.is-active {
    color: var(--color-black);
    font-size: 24px;
    display: block grid;
    grid-template-columns: -webkit-max-content auto;
    grid-template-columns: max-content auto;
    gap: 20px;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
}

.p-service__link.is-active::before {
    opacity: 1;

}

@media(any-hover: hover) {
    .p-service__link:hover {
        color: var(--color-black);
    }
}

.p-service__link:focus-visible {
    color: var(--color-black);
}


.p-service__bottom {
    grid-area: bottom;
    display: block grid;
    row-gap: 25px;
    -webkit-margin-before: 45px;
    margin-block-start: 45px;
}

@media (min-width: 992px) {
    .p-service__bottom {
        max-inline-size: 320px;
    }
}



.p-service__button {
    max-inline-size: 320px;
    inline-size: 100%;
    margin-inline: auto;
}


/* =================== */
/*  p-profile           */
/* =================== */

.p-profile {
    padding-block: 150px 75px;
}

@media (min-width: 992px) {
    .p-profile {
        padding-block: 200px 100px;
        container-type: inline-size;
    }
}

.p-profile__contents {
    display: block grid;
    grid-template:
        "title"
        "."30px "img"
        "."50px "textBox";
}

@media (min-width: 992px) {
    .p-profile__contents {
        grid-template:
            "img title"
            "img textBox"
            /1fr auto;
        row-gap: 50px;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px;
    }
}

@media (min-width: 1200px) {
    .p-profile__contents {
        -webkit-column-gap: 80px;
        -moz-column-gap: 80px;
        column-gap: 80px;
    }
}

.p-profile__title {
    text-align: center;
    grid-area: title;
}

@media (min-width: 992px) {
    .p-profile__title {
        text-align: left;
        max-inline-size: 610px;
    }
}

.p-profile__textBox {
    grid-area: textBox;
    display: block grid;
    grid-template:
        "name"
        ".."40px "text"
        ".."60px "button"
        ".."45px "bottom";

    max-inline-size: 500px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-profile__textBox {
        max-inline-size: 534px;
        margin-inline: initial;
        grid-template:
            "name"
            ".."40px "text"
            ".."30px "button"
            ".."65px "bottom";
    }
}

@media (min-width: 1200px) {
    .p-profile__textBox {
        max-inline-size: 610px;
    }
}

.p-profile__name {
    font-size: 36px;
    font-weight: var(--font-weight-normal);
    line-height: 1;
    display: block grid;
    max-inline-size: -webkit-fit-content;
    max-inline-size: -moz-fit-content;
    max-inline-size: fit-content;
    row-gap: 10px;
    grid-area: name;
}

.p-profile__name [data-size="small"] {
    font-weight: var(--font-weight-regular);
    font-size: 16px;
    display: block flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-inline-size: 176px;
}

.p-profile__img {
    grid-area: img;
    inline-size: 100%;
    max-inline-size: 300px;
    aspect-ratio: 300/349;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-profile__img {
        inline-size: 48vw;
        max-inline-size: initial;
        -webkit-margin-start: calc(50% - 50cqi);
        margin-inline-start: calc(50% - 50cqi);
        aspect-ratio: 1;
        justify-self: flex-end;
        -webkit-margin-end: 0;
        margin-inline-end: 0;
    }
}

@media (min-width: 1200px) {
    .p-profile__img {
        max-inline-size: 500px;
    }
}

.p-profile__img img {
    border-radius: 7px;
    inline-size: 100%;
    block-size: auto;
    display: block flow;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (min-width: 992px) {
    .p-profile__img img {
        border-radius: 0;
        border-start-end-radius: var(--rounded-xl);
        border-end-end-radius: var(--rounded-xl);
    }
}

@container (inline-size > 1280px) {
    .p-profile__img img {
        border-radius: var(--rounded-xl);
    }
}

.p-profile__button {
    text-align: center;
    grid-area: button;
}

@media (min-width: 992px) {
    .p-profile__button {
        text-align: left;
    }
}

.p-profile__text {
    grid-area: text;
}

.p-profile__bottomText {
    grid-area: bottom;
}

/* =================== */
/*  p-feature           */
/* =================== */

.p-feature {
    padding-block: 75px 150px;
}

@media (min-width: 992px) {
    .p-feature {
        padding-block: 100px 229px;
    }
}

.p-feature__title {
    text-align: center;
}

.p-feature__contents {
    -webkit-margin-before: 41px;
    margin-block-start: 41px;
    max-inline-size: 500px;
    margin-inline: auto;
}

@media (min-width: 992px) {

    .p-feature__contents {
        max-inline-size: 100%;
        margin-inline: auto;
    }

}



.p-feature__list {
    display: grid;
    row-gap: 100px;
}

@media (min-width: 992px) {
    .p-feature__list {
        grid-template-columns: repeat(auto-fill, minmax(430px, 1fr));
        -webkit-column-gap: 60px;
        -moz-column-gap: 60px;
        column-gap: 60px;
    }
}

@media (min-width: 992px) {
    .p-feature__item:has([data-img="img2"]) {
        -webkit-margin-before: 9px;
        margin-block-start: 9px;
    }
}


/* =================== */
/*  p-plan           */
/* =================== */



.p-plan {
    position: relative;
    background-color: var(--color-light-green);
    padding-block: 60px 100px;
}

@media (min-width: 992px) {
    .p-plan {
        padding-block: 80px 150px;
    }

}

.p-plan::before {
    position: absolute;
    content: "";
    inline-size: 100%;
    block-size: 26px;
    background: url(../images/bg_wave.png) no-repeat center center;
    background-size: 100% 100%;
    inset-inline-start: 0;
    inset-block-start: -26px;
    scale: -1 1;
}


@media (min-width: 992px) {
    .p-plan::before {
        block-size: 90px;
        inset-block-start: -90px;
        scale: initial;
    }
}


.p-plan__contents {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
    max-inline-size: 500px;
    margin-inline: auto;
}




@media (min-width: 992px) {
    .p-plan__contents {
        max-inline-size: initial;
        margin-inline: initial;
        -webkit-margin-before: 90px;
        margin-block-start: 90px;

    }

}



.p-plan__tabSplide {
    display: none;
}


@media (min-width: 992px) {
    .p-plan__tabSplide {
        display: block flow;
    }
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block grid;

}

.p-plan__splide:not(.is-active) .p-plan__list {
    display: block grid;
    row-gap: 70px;

}



@media (min-width: 992px) {
    .p-plan__splide:not(.is-active) .p-plan__list {
        row-gap: 0;

    }
}



@media (min-width: 992px) {
    .p-plan__block {
        border-radius: var(--rounded-xl);
        overflow: hidden;
        display: none;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out, display 0.1s ease-in-out;
        transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out, display 0.1s ease-in-out;
        transition-behavior: allow-discrete;
    }

    .p-plan__block.is-active {
        display: block flow;
        opacity: 1;
        visibility: visible;


        @starting-style {
            opacity: 0;
        }
    }
}




.p-plan__more {
    text-align: center;
}

@media (min-width: 992px) {
    .p-plan__more {
        display: none;
    }
}

.p-contentsBlock:not(.is-hidden)+.p-plan__more {
    -webkit-margin-before: 40px;
    margin-block-start: 40px;
}

.p-contentsBlock:not(.is-hidden)+.p-plan__more .c-moreButton__icon::before {
    rotate: 180deg;
}



.p-plan__tabList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 5px;
    -moz-column-gap: 5px;
    column-gap: 5px;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}


.p-plan__tabItem {
    background-color: var(--color-green);
    padding-block: 15px 14px;
    padding-inline: 27px;
    font-size: 20px;
    line-height: var(--leading-snug);
    font-weight: var(--font-weight-bold);
    border-start-start-radius: var(--rounded-xl);
    border-start-end-radius: var(--rounded-xl);
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}



@media (min-width: 992px) {
    .p-plan__tabItem {
        font-size: 18px;
        padding-inline: 20px;
    }

}

@media (min-width: 1200px) {
    .p-plan__tabItem {
        font-size: 20px;
        padding-inline: 27px;

    }

}





.p-plan__tabItem.active {
    background-color: var(--color-white);
    padding-block: 25px 24px;
}


.splide__track {
    position: relative;
}

.p-plan__wrap {
    position: relative;
}

.splide__arrows {
    position: absolute;
    inset-block-start: 50%;
    translate: 0 -50%;
    inline-size: 100%;
    z-index: 1;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    display: none;

}

@media (min-width: 992px) {
    .splide__arrows {
        display: block flex;
    }
}


.p-plan__arrow {
    inline-size: 90px;
    block-size: 90px;
    border: 1px solid var(--color-secondary);
    border-radius: 50%;
    background-color: transparent;
    opacity: 1;

}

.p-plan__arrow svg {
    display: none;
}

.p-plan__arrow::before {
    position: absolute;
    content: "";
    -webkit-mask-image: url(../images/icon_arrow.svg);
    mask-image: url(../images/icon_arrow.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-secondary);
    inline-size: 16px;
    block-size: 12px;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    translate: -50% -50%;
}

.p-plan__arrow--next {
    right: 0;
    translate: 20px;

}

.p-plan__arrow--next:before {
    rotate: 180deg;
}

.p-plan__arrow--prev {
    translate: -20px;
    left: 0;

}


.p-plan__tabItem {
    -webkit-transition: opacity 0.4s ease, background-color 0.4s ease, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease, background-color 0.4s ease, -webkit-transform 0.4s ease;
    transition: opacity 0.4s ease, transform 0.4s ease, background-color 0.4s ease;
    transition: opacity 0.4s ease, transform 0.4s ease, background-color 0.4s ease, -webkit-transform 0.4s ease;
}

.p-plan__tabItem.active {
    opacity: 1;
}

@media (any-hover: hover) {
    .p-plan__tabItem:hover {
        background-color: var(--color-white);
    }
}


.p-plan__tabItem:focus-visible {
    background-color: var(--color-white);
}





.p-plan__tabItem.fade {
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-animation: fadeIn 0.4s forwards;
    animation: fadeIn 0.4s forwards;
}

@-webkit-keyframes fadeIn {
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}




/* =================== */
/*  p-company           */
/* =================== */

.p-company {
    padding-block: 150px 100px;
}

@media (min-width: 992px) {
    .p-company {
        padding-block: 200px 100px;
    }
}

.p-company__contents {
    padding-inline: 28px;
    -webkit-margin-before: 50px;
    margin-block-start: 50px;
    max-inline-size: 500px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-company__contents {
        padding-inline: initial;
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
        max-inline-size: 594px;
    }
}

/* =================== */
/*  contact     　　　　　 */
/* =================== */

.p-contact {
    -webkit-padding-before: 100px;
    padding-block-start: 100px;
}



@media (min-width: 992px) {
    .p-contact__inner {
        max-inline-size: 1256px;
    }
}

.p-contact__contents {
    position: relative;
    z-index: 0;
    -webkit-padding-after: 65px;
    padding-block-end: 65px;
}

@media (min-width: 992px) {
    .p-contact__contents {
        padding-inline: 45px;
    }
}

@media (min-width: 1200px) {
    .p-contact__contents {
        padding-inline: 90px;
    }
}

.p-contact__contents:before {
    border-radius: var(--rounded-xl);
    position: absolute;
    content: "";
    background-color: var(--color-light-green);
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: calc(100% - 29px);
    z-index: -1;
}

.p-contact__contents:after {
    position: absolute;
    content: "";
    background: url(../images/bg_road.png) no-repeat center center / cover;
    inset-inline-start: 0;
    inset-block-end: 0;
    inline-size: 100%;
    block-size: 100%;
    z-index: -1;
    display: none;
}

@media (min-width: 992px) {
    .p-contact__contents:after {
        display: block;
    }
}

.p-contact__contentsInner {
    max-inline-size: 500px;
    margin-inline: auto;
}

@media (min-width: 992px) {
    .p-contact__contentsInner {
        display: grid;
        grid-template-columns: auto 1fr;
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px;
        max-inline-size: initial;
        margin-inline: initial;
    }
}

.p-contact__title {
    text-align: center;
}

@media (min-width: 992px) {
    .p-contact__title {
        text-align: left;
    }
}

.p-contact__textBox {
    padding-inline: 28px;
    -webkit-padding-before: 52px;
    padding-block-start: 52px;
    color: var(--color-black);
}

@media (min-width: 992px) {
    .p-contact__textBox {
        padding-inline: 0;
        -webkit-padding-before: 65px;
        padding-block-start: 65px;
        max-inline-size: 523px;
        -webkit-padding-end: 28px;
        padding-inline-end: 28px;
    }
}

.p-contact__text {
    font-size: 21px;
    font-weight: var(--font-weight-bold);
    line-height: var(--leading-snug);
}

@media (min-width: 992px) {
    .p-contact__text {
        font-size: 27px;
    }
}

.p-contact__text span {
    font-size: 50px;
    font-weight: var(--font-weight-black);
    color: var(--color-primary);
    display: block flow;
}

@media (min-width: 992px) {
    .p-contact__text span {
        display: inline flow-root;
    }
}

.p-contact__text[data-size="middle"] {
    -webkit-margin-before: 9px;
    margin-block-start: 9px;
}

@media (min-width: 992px) {
    .p-contact__text[data-size="middle"] {
        -webkit-margin-before: 0;
        margin-block-start: 0;
        font-size: 26px;
    }
}

.p-contact__text[data-size="small"] {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
    font-size: 14px;
    font-weight: var(--font-weight-normal);
}

@media (min-width: 992px) {
    .p-contact__text[data-size="small"] {
        -webkit-margin-before: 26px;
        margin-block-start: 26px;
        font-size: 20px;
    }
}

.p-contact__button {
    -webkit-margin-before: 30px;
    margin-block-start: 30px;
}

@media (min-width: 992px) {
    .p-contact__button {
        -webkit-margin-before: 40px;
        margin-block-start: 40px;
        max-inline-size: 350px;
    }
}

.p-contact__img {
    aspect-ratio: 456/473;
    max-inline-size: 456px;
    inline-size: 100%;
    display: none;
}

@media (min-width: 992px) {
    .p-contact__img {
        display: block;
        -webkit-align-self: flex-end;
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
}

.p-contact__img img {
    inline-size: 100%;
    block-size: auto;
    display: block flow;
}

/* =================== */
/*  footer     　　　　　 */
/* =================== */
.p-footer {
    padding-block: 20px;
    text-align: center;
}

.p-footer__text {
    font-size: 12px;
    font-weight: var(--font-weight-regular);
    color: var(--color-gray-9f);
    line-height: var(--leading-snug);
}