@charset "UTF-8";

* {
    box-sizing: border-box;
}
img {
    max-width: 100%;
}
body {
    font-feature-settings: "palt";
    font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
    font-size: clamp(1rem, calc(0.875rem + 0.5vw), 1.25rem);
    letter-spacing: .1em;
}
a, button {
    cursor: pointer;
}
html {
    scroll-behavior: smooth;
}
:root {
    --mainWidth: 800px;
    --containerWidth: 92vw;
    --fz-h1: 3.815rem;
    --fz-h2: 3.052rem;
    --fz-h3: 2.441rem;
    --fz-h4: 1.953rem;
    --fz-h5: 1.563rem;
    --fz-h6: 1.25rem;
    --fz-p: 1rem;
    --fz-small: .8rem;
    --line-height: 1.7;
    @media (width < 900px) {
        --fz-h1: 3.052rem;
        --fz-h2: 2.441rem;
        --fz-h3: 1.953rem;
        --fz-h4: 1.563rem;
        --fz-h5: 1.25rem;
        --fz-h6: 1rem;
    }
    @media (width < 600px) {
        --line-height: 1.5;
        --containerWidth: 97vw;
    }
}

.zen-maru-gothic {
    font-family: "Zen Maru Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.zen-maru-gothic.bold {
    font-weight: 700;
}
.zen-maru-gothic.black {
    font-weight: 900;
}


/* コンテナー */
.topContainer {
    width: var(--containerWidth);
    max-width: calc(var(--mainWidth) * 1.4);
    margin-inline: auto;
    padding: 0 min(3vw, 1.25rem);
}
.flex {
    display: flex;
}
.flex-column {
    display: flex;
    flex-direction: column;
}
/* スマホ改行 */
br.mobile {
    @media (600px <= width) {
        display: none;
    }
}
br.notebook {
    @media (width < 600px) {
        display: none;
    }
}
body {
    background-color: #0bd1;
}
/* ヘッダー=========================================== */
header {
    border-top: 32px solid #333;
    margin-bottom: 3rem;
    > div {
        flex-direction: column;
        gap: 1.5rem;
        justify-content: space-around;
        margin-block: 2rem;
        @media (600px < width) {
            flex-direction: row;
        }
        h1 {
            font-size: var(--fz-h4);
            font-weight: bold;
            background-color: #fff;
            border-radius: 12px;
            box-shadow: 6px 6px 0 #ccc;
            padding: .5rem;
            align-self: flex-start;
            @media (600px < width) {
                font-size: var(--fz-h3);
            }
            &::before {
                content: "";
                display: inline-block;
                width: clamp(4rem, 10vw, 6rem);
                aspect-ratio: 1/1;
                border-radius: 50%;
                border: 3px solid #333;
                background: url(../images/cartoon/logoicon.png) no-repeat center/contain;
            }
            span {
                font-size: var(--fz-h3);
                color: #f30;
                @media (600px < width) {
                    font-size: var(--fz-h2);
                }
            }
        }
        div.flex-column {
            margin-right: 1rem;
            align-items: flex-end;
            gap: .5rem;
            div {
                display: grid;
                grid-template-columns: 1fr 1fr;
                grid-template-rows: 2.5rem 3rem;
                p:nth-of-type(1) {
                    width: fit-content;
                    margin-inline: auto;
                    padding: .3em .5em;
                    font-size: var(--fz-h5);
                    font-weight: bold;
                    color: #fff;
                    text-shadow: 0 0 3px #333;
                    background-color: #faa;
                    box-shadow: 0 0 5px #333;
                    grid-column: 1/2;
                    grid-row: 1/1;
                }
                p:nth-of-type(2) {
                    width: fit-content;
                    margin-inline: auto;
                    padding: .3em;
                    font-size: var(--fz-h5);
                    font-weight: bold;
                    text-align: center;
                    color: #fff;
                    text-shadow: 0 0 3px #333;
                    background-color: #faa;
                    box-shadow: 0 0 5px #333;
                    grid-column: 2/3;
                    grid-row: 1/1;
                }
                p:nth-of-type(3) {
                    font-size: var(--fz-h3);
                    font-weight: bold;
                    border-bottom: 6px solid #faa;
                    grid-column: 1/3;
                    grid-row: 2/3;
                    span {
                        font-size: var(--fz-h5);
                        text-transform: capitalize;
                    }
                }
            }
            button {
                font-weight: bold;
                padding: 1rem;
                border: 3px solid #333;
                border-radius: 12px;
                box-shadow: 6px 6px 0 #aaa;
                &:nth-of-type(1) {
                    background-color: #fb1;
                }
            }
        }
    }
    nav {
        /* @media (width < 600px) {
            display: none;
        } */
        ul {
            justify-content: space-evenly;
            li {
                font-weight: bold;
                border: 6px solid #333;
                border-top: none;
                border-bottom: none;
                border-radius: 6px;
                margin-bottom: 6px;
                background-color: #fff;
                box-shadow: 6px 6px 0 #aaa;
                a {
                    display: block;
                    width: 100%;
                    padding: .5rem 2rem;
                    @media (width < 600px) {
                        padding: .5rem 1rem;
                    }
                }
            }
        }
    }
    + div.catch {
        aspect-ratio: 16/9;
        justify-content: center;
        align-items: center;
        background: url(../images/catch.jpg) no-repeat center/cover;
        border-bottom: 32px solid #333;
        position: relative;
        @media (600px < width) {
            flex-direction: row;
            align-items: flex-end;
            background: url(../images/catch.jpg) no-repeat center/contain;
        }
        > div {
            @media (600px < width) {
                width: 48%;
            }
            > p {
                font-size: var(--fz-h2);
                font-weight: bolder;
                font-style: italic;
                text-align: center;
                text-shadow: 0 0 3px #fff;
                padding: 0 .5rem 2rem;
                border-radius: 24px;
                border: 3px solid #333;
                background-color: #fffa;
                box-shadow: 6px 6px 0 #333;
                position: relative;
                @media (600px < width) {
                    padding: 3rem .7rem 2rem;
                }
                span.gunma {
                    font-size: var(--fz-h4);
                    text-shadow: none;
                    border-radius: 12px;
                    color: #fff;
                    background-color: #333;
                    vertical-align: top;
                    padding: .6em;
                    position: absolute;
                    top: -1rem;
                    left: -1rem;
                    @media (600px < width) {
                        top: -2rem;
                        left: -2rem;
                    }
                }
                span.small {
                    font-size: var(--fz-h4);
                }
                span.red {
                    color: #f30;
                }
            }
        }
        div.iconBox {
            height: 200px;
            margin: 2rem 0;
            border-radius: 24px;
            border: 3px solid #333;
            background: #3338 url(../images/icon/icon.png) no-repeat center/contain;
            box-shadow: 6px 6px 0 #333;
        }
        div.character {
            @media (600px < width) {
                width: 43%;
                translate: -2rem -3rem;
            }
            img {
                object-fit: cover;
                filter: drop-shadow(0 6px 5px #333);
            }
        }
        &::after {
            content: "";
            display: block;
            width: clamp(190px, 30vw, 360px);
            aspect-ratio: 1/1;
            background: url(../images/items/catchitems.png) no-repeat center/contain;
            position: absolute;
            bottom: -2rem;
            right: 0;
            @media (600px < width) {
                right: 3rem;
            }
        }
    }
}

/* メイン============================================= */
section.strong {
    > div.kutikomi {
        padding: 1lh 0;
        background: 
        repeating-linear-gradient(90deg, #0bf1, #0bf2 20px, #fff 20px, #fff 40px);
        text-align: center;
        p:nth-of-type(1) {
            font-size: var(--fz-h4);
            font-weight: bold;
            text-shadow: 0 0 6px #fff;
            @media (600px < width) {
                font-size: var(--fz-h3);
            }
            span.size {
                font-size: var(--fz-h2);
                color: #f30;
                padding: 0 .5rem;
                @media (600px < width) {
                    font-size: var(--fz-h1);
                }
            }
            br {
                @media (width > 1200px) {
                    display: none;
                }
            }
        }
        p {
            background-color: #fff;
        }
    }
    h2 {
        width: 80%;
        font-size: var(--fz-h4);
        letter-spacing: .15em;
        text-align: center;
        margin-inline: auto;
        margin-block: 12px;
        padding: 1rem;
        color: #fff;
        background-color: #333;
        border-radius: 12px;
        @media (600px < width) {
            width: fit-content;
            font-size: var(--fz-h3);
            padding: 2rem;
        }
        span {
            font-size: var(--fz-h3);
            @media (600px < width) {
                font-size: var(--fz-h2);
            }
        }
    }
    ul {
        width: 80%;
        margin-inline: auto;
        margin-block: 3rem;
        @media (600px < width) {
            width: fit-content;
        }
        li {
            width: fit-content;
            padding: 0 1rem 0 3rem;
            font-size: var(--fz-h6);
            line-height: var(--line-height);
            background-color: #fff;
            border-bottom: 8px solid #0bf6;
            position: relative;
            @media (600px < width) {
                font-size: var(--fz-h4);
            }
            @media (1200px < width) {
                font-size: var(--fz-h3);
            }
            /* span {
                @media (600px < width) {
                    margin-left: 0;
                }
            } */
            &::before, &::after {
                content: "";
                display: inline-block;
                width: 1em;
                position: absolute;
                top: .5rem;
            }
            &::before {
                aspect-ratio: 1/1;
                border-radius: 50%;
                background-color: #faa;
                margin-right: 1rem;
                left: .3rem;
            }
            &::after {
                aspect-ratio: 16/9;
                border-left: 5px solid #333;
                border-bottom: 5px solid #333;
                rotate: -45deg;
                left: 0;
                @media (600px < width) {
                    border-left: 8px solid #333;
                    border-bottom: 8px solid #333;
                }
            }
        }
    }
    > div.flex {
        flex-direction: column-reverse;
        justify-content: center;
        gap: 2vw;
        margin-bottom: 1rem;
        @media (600px < width) {
            flex-direction: row-reverse;
        }
        p {
            width: 80%;
            font-size: var(--fz-h4);
            background-color: #fff;
            border: 3px solid #333;
            box-shadow: 6px 6px 0 #333;
            border-radius: 12px;
            padding: 1em;
            margin-bottom: 6px;
            align-self: center;
            @media (600px < width) {
                width: 52%;
            }
        }
        figure {
            width: 360px;
            align-self: flex-end;
            @media (600px < width) {
                width: 30%;
            }
            img {
                object-fit: cover;
                aspect-ratio: 4/3;
                filter: drop-shadow(3px 3px 6px #333);
            }
        }
    }
}
section.worries {
    div.h2 {
        background-color: #0bd3;
        background-image: linear-gradient(#fff 2px, transparent 0),
                        linear-gradient(90deg, #fff 2px, transparent 0);
        background-size: 40px 40px;
        border-top: 32px solid #333;
        h2 {
            width: fit-content;
            margin-inline: auto;
            font-size: var(--fz-h4);
            /* font-weight: bold; */
            letter-spacing: .1em;
            padding: .5em;
            margin-top: 1rem;
            background-color: #fff;
            border: 3px solid #333;
            border-radius: 12px;
            span {
                display: inline-block;
                font-size: var(--fz-h2);
                font-weight: bold;
                border-bottom: 6px solid #faa;
            }
        }
    }
    > p {
        font-size: var(--fz-h5);
        text-align: center;
        line-height: var(--line-height);
        padding: 1em;
        background-color: #fff;
        @media (600px < width) {
            font-size: var(--fz-h4);
        }
        span {
            border-bottom: 3px dotted #0bd;
        }
    }
    div.flex {
        flex-wrap: wrap;
        justify-content: space-around;
        gap: 3.5rem;
        margin-top: 3.5rem;
        padding-bottom: 30rem;
        background: url(../images/cartoon/charaworries.png) no-repeat bottom/contain;
        border-bottom: 32px solid #333;
        p {
            width: 80%;
            font-size: var(--fz-h4);
            padding: 1rem;
            background-color: #fed;
            border: 3px solid #333;
            border-radius: 18px;
            box-shadow: 3px 3px 3px #aaa;
            position: relative;
            translate: 0 -3.5rem;
            @media (600px < width) {
                width: 35%;
            }
            &::before, &::after {
                content: "";
                display: inline-block;
                aspect-ratio: 1/1;
                border-radius: 50%;
                background-color: #fed;
                border: 2px solid #333;
                box-shadow: 3px 3px 3px #aaa;
                position: absolute;
            }
            &::before {
                width: 1.5rem;
                bottom: -2rem;
                right: 1rem;
            }
            &::after {
                width: 1rem;
                bottom: -3rem;
                right: 0;
            }
        }
    }
}
section.survice {
    background-image:  radial-gradient(#faa 2px, transparent 2px), 
    radial-gradient(#faa 2px, #fff 2px);
    background-size: 40px 40px;
    background-position: 0 0,20px 20px;
    > div.flex-column {
        justify-content: center;
        align-items: center;
        @media (600px < width) {
            flex-direction: row;
        }
        h2 {
            font-size: var(--fz-h3);
            font-weight: bold;
            text-align: end;
            letter-spacing: .15em;
            width: fit-content;
            margin-block: 1em;
            border-bottom: 6px solid #0bf3;
            span.red {
                display: block;
                font-size: var(--fz-h2);
                text-decoration-line: underline;
                text-decoration-style: solid;
                text-decoration-color: #aaa;
                color: #f30;
                border: 6px solid #333;
                border-radius: 24px;
                padding: .5em;
                margin-bottom: 1rem;
                background-color: #fff;
                rotate: -2deg;
            }
            span.small {
                font-size: var(--fz-h4);
            }
        }
        > div {
            width: 80%;
            @media (600px < width) {
                width: 45%;
            }
            img {
                object-fit: contain;
            }
        }
    }
    > ul {
        width: 92vw;
        margin-inline: auto;
        flex-wrap: wrap;
        justify-content: center;
        gap: 2rem 0;
        @media (600px < width) {
            width: 700px;
            padding: 1rem;
            justify-content: space-between;
        }
        li {
            width: 320px;
            figure {
                text-align: center;
                width: 300px;
                img {
                    border-radius: 12px;
                    aspect-ratio: 3/2;
                    object-fit: cover;
                }
            }
            p {
                width: fit-content;
                margin-inline: auto;
                padding: .5em;
                font-size: var(--fz-h5);
                font-weight: bold;
                background-color: #0bf3;
                translate: 0 -.6rem;
            }
        }
    }
    div {
        margin-bottom: 2rem;
        h3 {
            font-size: var(--fz-h2);
            width: fit-content;
            color: #fff;
            background-color: #333;
            padding: .5em 1em;
            border-radius: 24px;
            margin: 1em auto;
        }
        ul {
            margin-bottom: 2rem;
            flex-wrap: wrap;
            justify-content: center;
            gap: 2.5rem .5rem;
            li {
                width: 45%;
                text-align: center;
                @media (600px < width) {
                    width: 32%;
                }
                p {
                    width: fit-content;
                    margin-inline: auto;
                    padding: .5rem 1rem;
                    margin-bottom: 1rem;
                    font-size: var(--fz-h5);
                    border-bottom: 4px solid #333;
                    border-radius: 12px;
                    background-color: #fff;
                }
                figure {
                    display: inline-block;
                    width: 80%;
                    border-radius: 24px;
                    background-color: #faa;
                    img {
                        object-fit: cover;
                    }
                }
            }
        }
        > p {
            width: 80%;
            margin-inline: auto;
            padding: 1em;
            font-size: var(--fz-h5);
            background-color: #fff;
            border: 3px solid #faa;
            border-radius: 12px;
            @media (600px < width) {
                width: fit-content;
            }
        }
    }
}
section.userVoice {
    border-top: 32px solid #333;
    gap: 2rem;
    > div.flex-column {
        text-align: center;
        justify-content: center;
        margin-top: 1rem;
        background-color: #fff;
        @media (600px < width) {
            flex-direction: row;
        }
        > p {
            font-size: var(--fz-h4);
        }
        h2 {
            font-size: var(--fz-h2);
            font-weight: bold;
            margin-top: 1rem;
            span {
                font-size: var(--fz-h6);
                display: block;
            }
        }
    }
    > div.topContainer {
        text-align: center;
        border-top: 3px solid #333;
        padding-top: 2rem;
        > div.flex-column:nth-of-type(1) {
            margin-bottom: 2rem;
            flex-direction: column-reverse;
            justify-content: center;
            align-items: center;
            gap: 3rem;
            @media (600px < width) {
                flex-direction: row;
            }
            h3 {
                font-size: var(--fz-h4);
                border: 3px solid #333;
                border-radius: 12px;
                padding: 1rem;
                margin-bottom: 2rem;
                background-color: #fff;
            }
            > div {
                width: 240px;
                img {
                    object-fit: cover;
                    border-radius: 50%;
                    border: 3px solid #333;
                    background-color: #0bd3;
                }
            }
        }
        > div.flex:nth-of-type(2) {
            justify-content: center;
            align-items: center;
            gap: 2vw;
            figure {
                width: 160px;
                aspect-ratio: 3/2;
                display: grid;
                place-items: center;
                position: relative;
                @media (600px < width) {
                    width: 360px;
                }
                img {
                    object-fit: cover;
                }
            }
            figure:nth-of-type(1) {
                border: 3px solid #0bda;
                &::before {
                    content: "before";
                    position: absolute;
                    top: 0;
                    left: 0;
                    font-size: var(--fz-h4);
                    font-weight: bold;
                    color: #fff;
                    text-shadow: 0 0 3px #333;
                    background-color: #0bda;
                }
            }
            figure:nth-of-type(2) {
                order: 1;
                border: 3px solid red;
                &::before {
                    content: "after";
                    position: absolute;
                    top: 0;
                    left: 0;
                    font-size: var(--fz-h4);
                    font-weight: bold;
                    color: #fff;
                    text-shadow: 0 0 3px #333;
                    background-color: red;
                }
            }
            &::after {
                content: "";
                display: block;
                width: 1rem;
                aspect-ratio: 2/3;
                background-color: #c8da;
                clip-path: polygon(0 0, 100% 50%, 0 100%);
                @media (600px < width) {
                    width: 2rem;
                }
            }
        }
        > div.flex-column.reverse {
            @media (600px < width) {
                flex-direction: row-reverse;
            }
            div {
                img {
                    background-color: #fed;
                }
            }
        }
        p {
            font-size: var(--fz-h5);
            line-height: var(--line-height);
            text-align: left;
            background-color: #0bd3;
            border-radius: 24px;
            padding: 2rem 1em;
            text-decoration-line: underline;
            text-decoration-color: #fff;
            text-decoration-style: dashed;
        }
    }
}
section.point {
    border-top: 32px solid #333;
    h2 {
        font-size: var(--fz-h2);
        font-weight: bold;
        text-align: center;
        margin-top: 1rem;
        span {
            &:nth-of-type(1) {
                display: inline-block;
                padding: .5em;
                margin-right: .2em;
                color: #f30;
                background-color: #fff;
                border: 6px solid #333;
                border-radius: 24px;
                rotate: -1deg;
                translate: 0 -.5rem;
            }
            &:nth-of-type(2) {
                font-size: var(--fz-h1);
                line-height: 80px;
                display: inline-block;
                color: #fff;
                background-color: #333;
                width: 80px;
                aspect-ratio: 1/1;
                border-radius: 50%;
            }
            &:nth-of-type(3) {
                border-bottom: 6px solid #faa;
            }
        }
    }
    ul {
        flex-wrap: wrap;
        justify-content: space-evenly;
        text-align: center;
        counter-reset: counterNum;
        li {
            width: 80%;
            margin-top: 6rem;
            padding-top: 1rem;
            display: flex;
            flex-direction: column;
            border: 6px solid #333;
            border-radius: 24px;
            background-color: #fff;
            position: relative;
            @media (600px < width) {
                width: 45%;
            }
            @media (1100px < width) {
                width: 30%;
            }
            figure {
                width: clamp(180px, 22vw, 240px);
                aspect-ratio: 1/1;
                margin-inline: auto;
                img {
                    object-fit: contain;
                    background-color: #0bd3;
                    aspect-ratio: 1/1;
                    border-radius: 50%;
                }
            }
            p {
                font-size: var(--fz-h5);
                line-height: var(--line-height);
                padding: 1em;
                span {
                    font-weight: bold;
                    display: block;
                    margin-block: 1em;
                    color: #f30;
                }
            }
            &::before {
                counter-increment: counterNum;
                content: counter(counterNum);
                display: block;
                position: absolute;
                top: -3rem;
                left: 1rem;
                font-size: var(--fz-h1);
                font-weight: bold;
                line-height: 80px;
                color: #fff;
                background-color: #333;
                width: 90px;
                aspect-ratio: 1/1;
                border-radius: 50%;
                border: 3px solid #fff;
            }
        }
    }
}
section.price {
    border-top: 32px solid #333;
    margin-bottom: 120px;
    h2 {
        font-size: var(--fz-h2);
        font-weight: bold;
        width: fit-content;
        margin: 3rem auto;
        padding: .5em 1em;
        border: 6px solid #333;
        border-radius: 24px;
        background-color: #fff;
        span {
            display: inline-block;
            font-size: var(--fz-h1);
            font-weight: 900;
            border-bottom: 3px solid #faa;
            color: #eff;
            -webkit-text-stroke: 12px #333;
            paint-order: stroke;
        }
    }
    ul:nth-of-type(1) {
        width: 80%;
        max-width: 800px;
        margin-inline: auto;
        flex-wrap: wrap;
        gap: 2vw;
        justify-content: center;
        li {
            width: 4em;
            padding: .5em;
            font-size: var(--fz-h4);
            font-weight: bold;
            text-align: center;
            color: #fff;
            -webkit-text-stroke: 6px #333;
            paint-order: stroke;
            background-color: #faa;
            border-radius: 12px;
        }
    }
    p.main {
        font-size: var(--fz-h4);
        line-height: var(--line-height);
        text-align: center;
        background-color: #fff;
        border-radius: 12px;
        margin-block: 3rem;
        padding: .7em;
    }
    p.sub {
        font-size: var(--fz-h6);
        line-height: var(--line-height);
        border: 6px dashed #faa;
        border-radius: 24px;
        gap: 4vw;
        justify-content: center;
        background-color: #fff;
        padding: .7em;
        @media (600px < width) {
            gap: min(2vw, 2rem);
        }
        span {
            display: block;
            width: 40%;
            aspect-ratio: 1/1;
            border: 2px solid #faa;
            border-radius: 50%;
            align-self: center;
            display: grid;
            place-items: center;
            font-size: var(--fz-h3);
            color: #fff;
            -webkit-text-stroke: 6px #faa;
            paint-order: stroke;
            @media (600px < width) {
                width: 10%;
            }
        }
    }
    ul:nth-of-type(2) {
        width: clamp(320px, 55vw, 600px);
        margin-inline: auto;
        li {
            padding: 3rem 0;
            margin-top: 3rem;
            margin-bottom: 200px;
            border: 6px solid #333;
            border-radius: 12px;
            text-align: center;
            line-height: var(--line-height);
            position: relative;
            @media (600px < width) {
                margin-bottom: 0;
            }
            div.deco {
                width: 120px;
                height: 24px;
                background-color: #aaa;
                border-bottom: 2px solid #333;
                position: absolute;
                top: 0;
                left: calc(50% - 60px);
                &::before, &::after {
                    content: "";
                    display: block;
                    position: absolute;
                }
                &::before {
                    width: 30px;
                    aspect-ratio: 4/3;
                    background-color: #aaa;
                    border: 2px solid #333;
                    border-bottom: none;
                    top: -22px;
                    left: calc(50% - 15px);
                }
                &::after {
                    width: 12px;
                    aspect-ratio: 1/1;
                    border-radius: 50%;
                    background-color: #fff;
                    top: -16px;
                    left: calc(50% - 6px);
                }
            }
            h3 {
                font-size: var(--fz-h5);
                width: fit-content;
                margin-inline: auto;
                margin-bottom: 1em;
                padding: .5em 1em;
                color: #fff;
                background-color: #333;
                border-radius: 8px;
            }
            p:nth-of-type(1) {
                font-size: var(--fz-h6);
                font-weight: bold;
                text-shadow: 0 0 3px #fff;
            }
            p.price {
                font-size: var(--fz-h1);
                font-weight: bold;
                text-shadow: 0 0 5px #fff;
                color: red;
                border-bottom: 3px solid #fff;
                span {
                    font-size: var(--fz-h6);
                }
            }
            div.image {
                width: clamp(260px, 30vw, 320px);
                aspect-ratio: 4/3;
                position: absolute;
                bottom: -135px;
                z-index: 5;
                @media (600px < width) {
                    bottom: min(-60px, -5vw);
                }
            }
        }
        li:nth-of-type(1) {
            div.image {
                background: url(../images/cartoon/cardboard.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(2) {
            div.image {
                background: url(../images/cartoon/lighttrack.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(3) {
            div.image {
                background: url(../images/cartoon/smalltrack.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(4) {
            div.image {
                background: url(../images/cartoon/track.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(5) {
            div.image {
                background: url(../images/cartoon/largetrack.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(6) {
            p.price {
                font-size: var(--fz-h3);
            }
            div.image {
                background: url(../images/cartoon/oldhouse.png) no-repeat center/contain;
            }
        }
        li:nth-of-type(odd) {
            background-color: #fed;
            div.image {
                left: -30px;
                @media (600px < width) {
                    left: min(-160px, -15vw);
                }
            }
        }
        li:nth-of-type(even) {
            background-color: #fff;
            p.price {
                border-bottom: 3px solid #fed;
            }
            div.image {
                right: -30px;
                @media (600px < width) {
                    right: min(-160px, -15vw);
                }
            }
        }
    }
}
section.kaitori {
    border-top: 32px solid #333;
    padding-block: 3rem;
    background-image:  radial-gradient(#faa 2px, transparent 2px), 
    radial-gradient(#faa 2px, #fff 2px);
    background-size: 40px 40px;
    background-position: 0 0,20px 20px;
    > div {
        width: fit-content;
        margin-inline: auto;
        margin-bottom: 3rem;
        padding: 1rem 3rem;
        border: 6px solid #333;
        border-radius: 12px;
        background-color: #fff;
        > span {
            display: inline-block;
            margin-bottom: 2rem;
            font-size: var(--fz-h2);
            border-radius: 32px 32px 0 32px;
            padding: .4em .3em .3em .5em;
            rotate: -2deg;
            color: #fff;
            background-color: #333;
            position: relative;
        }
        h2 {
            width: fit-content;
            font-size: var(--fz-h3);
            letter-spacing: .15em;
            text-align: center;
            span {
                display: inline-block;
                margin: 1rem 0;
                font-size: var(--fz-h1);
                color: #fba;
                -webkit-text-stroke: 12px #333;
                paint-order: stroke;
            }
        }
    }
    > p:nth-of-type(1) {
        font-size: var(--fz-h5);
        font-weight: bold;
        text-align: center;
        background-color: #fff;
        border-top: 2px solid #333;
        border-bottom: 2px solid #333;
        padding-block: 1rem;
        margin-bottom: 5rem;
        @media (600px < width) {
            font-size: var(--fz-h4);
        }
    }
    h3 {
        width: fit-content;
        font-size: var(--fz-h3);
        letter-spacing: .15em;
        font-weight: bold;
        color: #fff;
        background-color: #333;
        border-radius: 12px;
        padding: .5em;
        margin-inline: auto;
    }
    ul {
        margin-bottom: 3rem;
        li {
            display: flex;
            flex-direction: column;
            margin-top: 5rem;
            justify-content: center;
            gap: 2rem;
            @media (600px < width) {
                flex-direction: row;
            }
            figure {
                width: 80%;
                align-self: center;
                @media (600px < width) {
                    width: 40%;
                }
                img {
                    border-radius: 24px;
                    border: 6px solid #333;
                    object-fit: cover;
                }
            }
            p {
                width: 80%;
                align-self: center;
                font-size: var(--fz-h4);
                font-weight: bold;
                @media (600px < width) {
                    width: 35%;
                }
                span:nth-of-type(1) {
                    border-radius: 12px;
                    color: #fff;
                    background-color: #333;
                    padding: .5em;
                }
                span:nth-of-type(2) {
                    display: block;
                    font-size: var(--fz-h2);
                    text-align: center;
                    padding: .5em 0;
                    margin-left: .5em;
                    border-radius: 24px;
                    color: #fff;
                    background-color: #faa;
                }
            }
        }
        li:nth-of-type(even) {
            @media (600px < width) {
                flex-direction: row-reverse;
            }
        }
    }
    p:nth-of-type(2) {
        width: 85%;
        font-size: var(--fz-h5);
        text-align: center;
        margin-inline: auto;
        padding: .5em;
        background-color: #fff;
        border: 6px dashed #faa;
        border-radius: 24px;
        @media (600px < width) {
            width: fit-content;
        }
    }
}
section.flow {
    border-top: 32px solid #333;
    padding-block: 3rem;
    h2 {
        width: fit-content;
        padding: 0 1rem;
        margin-inline: auto;
        font-size: var(--fz-h4);
        letter-spacing: .1em;
        border-bottom: 3px solid #333;
        @media (600px < width) {
            font-size: var(--fz-h2);
            padding: 0 2rem;
        }
        span:nth-of-type(1) {
            font-size: var(--fz-h5);
            @media (600px < width) {
                font-size: var(--fz-h3);
            }
        }
        span:nth-of-type(2) {
            display: inline-block;
            font-weight: bold;
            border-radius: 12px;
            border: 2px solid #333;
            background-color: #fff;
            padding: .1em .5em;
            translate: 0 5px;
        }
    }
    ol {
        flex-wrap: wrap;
        justify-content: center;
        &::after {
            content: "";
            display: block;
            width: 40%;
        }
        li {
            width: 80%;
            @media (600px < width) {
                width: 40%;
            }
            h3 {
                width: fit-content;
                font-size: var(--fz-h5);
                text-align: center;
                text-transform: capitalize;
                padding: .3em 2em;
                margin-inline: auto;
                color: #fff;
                background-color: #333;
                clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%);
                translate: 0 1rem;
                @media (600px < width) {
                    font-size: var(--fz-h4);
                }
            }
            figure {
                text-align: center;
                margin-bottom: 1rem;
                @media (600px < width) {
                    margin-bottom: 2rem;
                }
                img {
                    width: clamp(260px, 30vw, 300px);
                    aspect-ratio: 4/3;
                    border-radius: 24px;
                    border: 6px solid #333;
                }
            }
            p {
                height: 7lh;
                line-height: var(--line-height);
                text-align: center;
                span {
                    display: block;
                    width: fit-content;
                    margin: 0 auto 1rem;
                    font-size: var(--fz-h5);
                    font-weight: bold;
                    color: #f30;
                    border-bottom: 6px solid #aaa;
                }
            }
        }
        li:nth-of-type(even) {
            @media (600px < width) {
                translate: 0 5rem;
            }
        }
    }
}
section.greeting {
    justify-content: center;
    padding-block: 2rem;
    background-color: #fff;
    @media (600px < width) {
        flex-direction: row;
    }
    > div {
        padding: 0 2rem;
        @media (600px < width) {
            width: 65%;
            padding: 0;
        }
        h2 {
            font-size: var(--fz-h2);
            line-height: var(--line-height);
            font-weight: bold;
            border-bottom: 6px solid #fba;
            margin-bottom: 1rem;
        }
        p {
            line-height: var(--line-height);
        }
        p:nth-of-type(1) {
            font-size: var(--fz-h4);
            margin-bottom: 1rem;
        }
        p:nth-of-type(2) {
            font-size: var(--fz-h5);
            padding-left: 1em;
        }
    }
    figure {
        width: 50%;
        align-self: flex-end;
        @media (600px < width) {
            width: 30%;
        }
        img {
            object-fit: cover;
            filter: drop-shadow(0 0 6px #333);
        }
    }
}
section.contact {
    border-top: 32px solid #333;
    h2 {
        font-size: var(--fz-h4);
        text-align: center;
        padding-block: 3rem;
        span {
            font-size: var(--fz-h5);
            display: inline-block;
            padding: .3em;
            border: 3px solid #0bf;
            border-radius: 12px;
            background-color: #fff;
        }
    }
    > div.contactBox {
        p {
            display: block;
            width: fit-content;
            font-size: var(--fz-h3);
            font-weight: bold;
            border: 6px solid #333;
            margin-inline: auto;
            margin-bottom: 3rem;
            padding: .5em;
            border-radius: 24px;
            color: #333;
            background-color: #fff;
            @media (600px < width) {
                font-size: var(--fz-h1);
            }
            span:nth-of-type(1) {
                font-size: var(--fz-h4);
                @media (600px < width) {
                    font-size: var(--fz-h3);
                }
            }
            span:nth-of-type(2) {
                display: block;
                font-size: var(--fz-h5);
                text-align: center;
                color: #0bf;
                @media (600px < width) {
                    font-size: var(--fz-h4);
                }
            }
        }
        button {
            display: block;
            font-size: var(--fz-h4);
            font-weight: bold;
            color: #333;
            background-color: #fb1;
            margin-inline: auto;
            margin-bottom: 3rem;
            box-shadow: 6px 6px 0 #666;
            border: 6px solid #666;
            border-radius: 12px;
            @media (600px < width) {
                font-size: var(--fz-h3);
            }
            a {
                display: block;
                padding: .5em;
            }
        }
    }
    > div.card {
        figure {
            width: 70%;
            margin-inline: auto;
            text-align: center;
            img {
                object-fit: contain;
            }
        }
    }
    > div.area {
        div {
            justify-content: center;
            figure {
                width: 30%;
                img {
                    object-fit: cover;
                }
            }
            p {
                width: 60%;
                font-size: var(--fz-h5);
                text-align: center;
                align-self: center;
                @media (600px < width) {
                    font-size: var(--fz-h4);
                }
                span {
                    display: block;
                    font-size: var(--fz-h3);
                    border-radius: 12px;
                    border: 3px solid #333;
                    padding: .5em;
                    margin: 1rem;
                    background-color: #fff;
                    @media (600px < width) {
                        border: 6px solid #333;
                    }
                }
            }
        }
    }
    > div.info {
        margin-bottom: 3rem;
        p:nth-of-type(1) {
            margin-bottom: 2rem;
        }
        p:nth-of-type(2) {
            font-size: var(--fz-h4);
            text-align: center;
            @media (600px < width) {
                font-size: var(--fz-h3);
            }
            span:nth-of-type(1) {
                display: inline-block;
                color: #fff;
                background-color: #f30;
                padding: .3em;
                border-radius: 32px;
                translate: 0 -1rem;
            }
            span:nth-of-type(2) {
                font-size: var(--fz-h2);
                font-weight: bold;
                @media (600px < width) {
                    font-size: var(--fz-h1);
                }
            }
        }
        p:nth-of-type(3) {
            font-size: var(--fz-h5);
            font-weight: bold;
            text-align: center;
            @media (600px < width) {
                font-size: var(--fz-h4);
            }
            span:nth-of-type(1) {
                font-size: var(--fz-h6);
                font-weight: normal;
                background-color: #0bfa;
                padding-left: .5em;
                margin-right: .5em;
                @media (600px < width) {
                    font-size: var(--fz-h5);
                }
            }
            span:nth-of-type(2) {
                font-size: var(--fz-h6);
                font-weight: normal;
                text-transform: uppercase;
                @media (600px < width) {
                    font-size: var(--fz-h5);
                }
            }
        }
    }
    p.title {
        width: 80%;
        font-size: var(--fz-h5);
        background-color: #0bfa;
        text-align: center;
        margin-inline: auto;
        padding: .5em;
        @media (600px < width) {
            font-size: var(--fz-h4);
        }
    }
}
/* フッター=========================================== */
footer {
    border-top: 32px solid #333;
    background: 
    repeating-linear-gradient(90deg, #0bf1, #0bf2 20px, #fff 20px, #fff 40px);
    a.gotop {
        display: block;
        width: 3.5rem;
        aspect-ratio: 1/1;
        border-radius: 50%;
        border: 3px solid #333;
        background-color: #aaa;
        box-shadow: 0 0 6px #333;
        position: fixed;
        inset: auto 3rem 3rem auto;
        &::after {
            content: "";
            display: block;
            width: 50%;
            aspect-ratio: 1/1;
            background-color: #fff;
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
            position: absolute;
            top: 45%;
            left: 50%;
            translate: -50% -50%;
        }
    }
    p {
        width: fit-content;
        font-size: var(--fz-h4);
        margin-inline: auto;
        padding: 1em;
        background-color: #fff;
        span {
            display: block;
            font-size: var(--fz-h5);
        }
        &::first-line {
            font-weight: bold;
        }
    }
    small {
        display: block;
        padding-block: 2rem;
        text-transform: capitalize;
        font-size: var(--fz-h6);
        text-align: center;
        color: #fff;
        text-shadow: 0 0 3px #333;
        background-color: #06a;
    }
}