@charset "utf-8";

.p-stamprally .slant01 {
    height: clamp(160px, calc(340px * var(--r-design)), 340px);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 0 100%);
    top: 0;
}

.p-stamprally .slant02 {
    height: clamp(1200px, calc(2400px * var(--r-design)), 2300px);
    clip-path: polygon(0 0, 100% var(--slant), 100% 100%, 0 100% );
    bottom: -10px;
}

.p-stamprally .slant03 {
    height: clamp(660px, calc(1240px * var(--r-design)), 1240px);
    clip-path: polygon(0 0, 100% var(--slant), 100% calc(100% - var(--slant)), 0 100% );
    top: clamp(580px, calc(1180px * var(--r-design)), 1160px);
}

.p-stamprally {
    background-color: var(--color-paleyellow);
}

.p-stamprally__title {
    width: min(90%,clamp(240px, calc(480px * var(--r-design)), 480px));
    margin-inline: auto;
    text-align: center;
}

.p-title__howto {
    width: min(90%,clamp(225px, calc(554px * var(--r-design)), 554px));
}

.p-title__course {
    width: min(90%,clamp(240px, calc(576px * var(--r-design)), 576px));
}

.p-title__complete {
    width: min(90%,clamp(250px, calc(502px * var(--r-design)), 502px));
    margin-block-end: 1em;
}

.p-title__complete--sub {
    width: min(80%,clamp(200px, calc(400px * var(--r-design)), 400px));
    margin-inline: auto;
    margin-block-end: 1em;
}

.p-box__title {
    margin-block-end: var(--space-rg);
}

.p-stamp__list {
    width: fit-content;
    margin-inline: auto;
}

.p-box-stamp__about {
    position: relative;
    margin-block-end: 0;
    padding-block-end: clamp(31px, calc(72px * var(--r-design)), 72px);
}

.p-wrap-illust__stamp {
    position: relative;
    margin-block-end: clamp(71px, calc(172px * var(--r-design)), 172px);
}

.p-item-illust__stamp {
    position: absolute;
    width: clamp(112px, calc(235px * var(--r-design)), 235px);
    height: auto;
    top: clamp(-100px, calc(-100px * var(--r-design)), -50px);
    right: clamp(19px, calc(38px * var(--r-design)), 38px);
    z-index: 5;
}

.lead__stamp span {
    color: #d01426;
    font-weight: var(--font-weight-bold);
}

.p-stamp-steps__item {
    display: flex;
    align-items: flex-start;
    margin-block-end: var(--space-rg);
}

.p-stamp-item__icon {
    width: clamp(40px, calc(80px * var(--r-design)), 80px);
    flex-shrink: 0;
    margin-inline-end: var(--space-rg);
}

.p-stamp-item__text {
    --clamp-min: 16;
    --clamp-max: 28;
    font-size: var(--clamp);
    font-weight: var(--font-weight-regular);
}

.p-stamp-item__text span {
    color: #d01426;
    font-weight: var(--font-weight-bold);
}

.c-list__caution-sub span {
    color: #d01426;
    font-weight: var(--font-weight-medium);
}

.p-btn__stamp {
    width: min(90%,clamp(240px, calc(578px * var(--r-design)), 578px));
    margin-inline: auto;
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
}

.p-stamp__course {
    margin-block-end: var(--space-sm);
    border-radius: clamp(8px, calc(15px * var(--r-design)), 15px);
    overflow: hidden;
    border: solid 1px #5a7fb3;
}

.p-stamp__course__title {
    padding-block: 0.4em;
    text-align: center;
    background-color: #5a7fb3;
}

.p-stamp__course__title h3 {
    color: var(--color-white);
    --clamp-min: 20;
    --clamp-max: 35;
    font-size: var(--clamp);
    font-family: var(--font-cplpgp);
    font-weight: var(--font-weight-bold);
}

.p-stamp__course__body {
    padding-block-start: var(--space-rg);
}

.p-stamp__course__body .c-list__cautions {
    margin-inline: var(--space-rg);
    margin-block-end: var(--space-sm);
    --clamp-min: 12;
    --clamp-max: 16;
    font-size: var(--clamp);
}

.p-course__list {
    padding-inline: var(--space-rg);
    margin-block-end: var(--space-sm);
}

.p-course__list li {
    position: relative;
    padding-left: 1em; /* 画像分の余白 */
    --clamp-min: 20;
    --clamp-max: 32;
    font-size: var(--clamp);
    font-weight: var(--font-weight-medium);
}

.p-course__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em; /* 文字位置微調整 */
    width: 0.6em;
    height: 0.6em;
    background: url("https://cf.creativeplus.co.jp/gintama-buraritabi.jp/images/common/list_mark.png") no-repeat center / contain;
}

.p-course__list li.sub {
    --clamp-min: 14;
    --clamp-max: 22;
    font-size: var(--clamp);
    transform: translateY(-0.2em);
}

.p-course__list li.sub::before {
    content: none;
}

.p-course__img {
    margin-inline: var(--space-rg);
    margin-block-end: var(--space-lg);
}

.p-course__place {
    padding-inline: var(--space-rg);
    padding-block-end: var(--space-rg);
    background-color: #e8edf4;
}

.p-course__place .c-list__disc {
    --clamp-min: 16;
    --clamp-max: 22;
    font-size: var(--clamp);
}

.p-complete-img__card {
    transform: translateY(-0.5em);
}


.p-place__title {
    width: min(70%,clamp(124px, calc(257px * var(--r-design)), 257px));
    height: fit-content;
    margin-inline: auto;
    transform: translateY(clamp(-22px, calc(-22px * var(--r-design)), 10px));
}


.p-stamp__attention {
    padding-block-start: 1em;
    padding-block-end: 1.3em;
    border-top: solid 3px;
    border-bottom: solid 3px;
    border-color: #d01426;
    text-align: center;
}

.p-stamp__attention p {
    line-height: 1.4;
    --clamp-min: 16;
    --clamp-max: 28;
    font-size: var(--clamp);
    color: #d01426;
    font-weight: var(--font-weight-medium);
}

.p-stamp__attention span {
    font-size: 125%;
    font-weight: var(--font-weight-bold);
}

@media (max-width: 374px) {
    .p-stamp-item__icon {
        width: 32px;
        margin-inline-end: 8px;
    }
}