:root {
    --min-viewport: 375;
    /* 最小カンプ幅 */
    --max-viewport: 19200;
    /* 最大カンプ幅 */
}

/* ==========
	関数 
=============*/
*,
*::before,
*::after {
    /* 最小サイズ・最大サイズ・最小カンプ幅・最大カンプ幅 (単位px) */
    --min-size: 53;
    /* 最小サイズ */
    --max-size: 146;
    /* 最大サイズ */
    --min-vp: var(--min-viewport);
    --max-vp: var(--max-viewport);

    /* fluidサイズ算出のための計算 */
    --slope: calc((var(--max-size) - var(--min-size)) / (var(--max-vp) - var(--min-vp)));
    --intercept: calc(var(--min-size) - var(--slope) * var(--min-vp));
    --fluid-size: calc(var(--slope) *100vw + var(--intercept) / 16 * 1rem);

    /* clamp生成用関数 */
    --ClampSize: clamp(var(--min-size) / 16 * 1rem, var(--fluid-size), var(--max-size) / 16 * 1rem);
}

html {
    scroll-padding-top: 48px;
}

.top #content {
    padding: 0 !important;
}

.l-content {
    margin-bottom: 0 !important;
}

.--brsp {
    display: block;
}

.u-fw-bold {
    font-weight: 700;
}


.or-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .5em;
}

h2.wp-block-heading.is-style-section_ttl.or-title::after {
    content: "";
    display: block;
    width: calc(127 / 16 * 1rem);
    height: calc(15 / 16 * 1rem);
    background-color: #FF5F24;
}


/* cta */
.cta__text span {
    --min-size: 25;
    --max-size: 90;
    font-size: var(--ClampSize) !important;
}

/* case */
.case .wp-block-list {
    display: grid;
    gap: 1em;
}



.case__title {
    --min-size: 18;
    --max-size: 56;
    font-size: var(--ClampSize) !important;
}

.case__item .cap_box_content {
    border: none;
    border-radius: calc(16 / 16 * 1rem);
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .1);
}

.case__item .cap_box_ttl {
    position: relative;
}

.case__item .cap_box_ttl::after {
    content: "";
    position: absolute;
    width: calc(17 / 16 * 1rem);
    height: calc(17 / 16 * 1rem);
    background-color: #FF5F24;
    display: block;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    bottom: -.5em;
    z-index: -1;
}

.case .wp-block-list li {
    border: 1px solid #FF5F24;
    padding-block: .5em;
    padding-inline: 2.5em 1.5em;
    align-items: center;
    margin: 0;
    background-color: #fff;
    font-weight: 700;
    display: flex;
}

.case .wp-block-list li>span {
    display: contents;
}

.case .wp-block-list li:before {
    position: absolute;
    content: "";
    background-image: url(http://xs277726.xsrv.jp/wordpresscue-test/wp-content/uploads/2026/01/icon-check-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    inline-size: 30px;
    block-size: 30px;
    top: 50%;
    transform: translateY(-50%);
    left: .3em;
}

/* promise */
.promise__list {
    gap: calc(40 / 16 * 1rem) !important;
}

.promiseItem * {
    margin: 0 !important;
    padding: 0 !important;
}

.promiseItem figure,
.promiseItem img {
    inline-size: 100%;
}

.promiseItem h3 {
    font-size: calc(20/ 16 * 1rem);
    color: #00265C !important;
    font-weight: 900;
}




.promiseItem p {
    font-weight: 500;
}

.promiseItem {
    display: grid;
    gap: .3em;
}

/* price */
.price__col .swell-block-column {
    border: 1px solid #000;
}

.priceItem {
    border: 3px solid #000 !important;
    border-radius: calc(16 / 16 * 1rem);
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(20 / 16 * 1rem) calc(10 / 16 * 1rem) !important;
    gap: calc(20 / 16 * 1rem);
    box-shadow: 4px 4px 4px rgba(0, 0, 0, .1);
}

.priceItem__title {
    color: #fff;
    font-weight: 700;
    margin: 0;
    width: 80%;
    text-align: center;
    border-radius: calc(30 / 16 * 1rem);
}

.priceItem.--green {
    --price-color: #00B46F;
}

.priceItem.--aqua {
    --price-color: #00A3D5;
}

.priceItem.--blue {
    --price-color: #0069AE;
}

.priceItem .priceItem__title {
    background-color: var(--price-color);
}

.priceItem__title span {
    --min-size: 16;
    --max-size: 20;
    font-size: var(--ClampSize) !important;
}

.priceItem__price {
    font-weight: 700;
    display: grid;
    grid-template-areas:
        "icon price"
        "zei zei";
    align-items: center;
    line-height: 1;
    color: var(--price-color);
}

.priceItem__price>span {
    grid-area: price;
    justify-self: self-start;
    font-size: calc(50 / 16 * 1rem) !important;
}



.priceItem__price::before {
    content: "￥";
    grid-area: icon;
    justify-self: self-start;
    align-self: self-end;
    font-size: calc(30 / 16 * 1rem);
}

.priceItem__price::after {
    content: "(税込)";
    grid-area: zei;
    justify-self: self-end;
    font-size: calc(12 / 16 * 1rem);
}

/* features */
.features__list .swell-block-columns__inner {
    gap: calc(10 / 16 * 1rem);
    margin-left: 0 !important;
    justify-content: center;
}


.features__item {
    margin-left: 0 !important;
}

.features__item>p {
    padding: calc(10 / 16 * 1rem) !important;
    border: 3px solid #00265C !important;
    border-radius: calc(10 / 16 * 1rem);
    color: #00265C;
    font-weight: 700;
}


.orange-gradient {
    background:
        linear-gradient(to bottom,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.12) 100%),
        radial-gradient(circle at 35% 30%,
            #FFB574 0%,
            #FFA24A 35%,
            #FF8C1A 60%,
            #ED6C00 100%);
}



/* step */
.step__title {
    text-shadow: 0px 0px 10px rgba(0, 0, 0, .25);
}

.step__title span {
    --min-size: 25;
    --max-size: 90;
    font-size: var(--ClampSize) !important;
}

.step__body {
    padding: clamp(1rem, -0.55rem + 7.75vw, 8.75rem) clamp(1rem, -0.05rem + 5.25vw, 6.25rem) calc(40 / 16 * 1rem);
    border-radius: calc(24 / 16 * 1rem);
}

.faq__content {
    padding: calc(30 / 16 * 1rem);
}

.faq .swell-block-accordion {
    background-color: #fff;
}

.wq-Form .wq-Control>.wq--body {
    padding-left: 1rem;
}

.wq-Form .wq-TextInput.wq-size-normal,
.wq-Form .wq-TextInput.wq-size-small {
    width: 100% !important;
}

@media screen and (min-width: 600px) {
    .priceItem__price>span {
        grid-area: price;
        justify-self: self-start;
        font-size: calc(30 / 16 * 1rem) !important;
    }
}

@media screen and (min-width: 768px) {
    .--brsp {
        display: none;
    }

    .case .wp-block-list {
        grid-template-columns: repeat(2, minmax(auto, 1fr));
    }

    .priceItem__price>span {
        grid-area: price;
        justify-self: self-start;
        --min-size: 20;
        --max-size: 400;
        font-size: var(--ClampSize) !important;
        align-self: self-end;
    }
}

@media screen and (min-width: 992px) {
    .promiseItem h3 {
        font-size: calc(32/ 16 * 1rem);
        color: #00265C !important;
        font-weight: 900;
    }

    html {
        scroll-padding-top: 90px;
    }
}