@charset 'UTF-8';

.brandSiteHeader {
    background-color: #fff;
}

.fLink {
    transition: all 1s ease-out;
}

.fLink:hover {
    opacity: 0.5;
}

.max-area-cp {
    width: 100%;
    margin: 0 auto;
}

.bg-yellow-area {
    width: 100%;
    margin: 0;
    background-color: #ffcc25;
}

.bg-white-area {
    width: 100%;
    margin: 0;
    background-color: #ffffff;
}

.bg-beige-area {
    width: 100%;
    margin: 0;
    background-color: #f9f4ea;
}

.bg-red-area {
    width: 100%;
    margin: 0;
    background-color: #e73828;
}

.contents05 a {
    text-decoration: underline;
}

.term-date01.closed,
.term-date02.closed,
.term-detail-con.closed {
    color: #555555;
}



@media screen and (max-width: 767px) {

    .sp_none {
        display: none;
    }

    .colorline-area-top {
        width: 100%;
        height: calc((100vw / 1280)*60);
        margin-top: calc((100vw / 1280)*6);
        background-image: url("../images/color-line-top.png");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: top center;
        background-color: #ffcc25;
    }

    .colorline-area-bottom {
        width: 100%;
        height: calc((100vw / 1280)*60);
        margin-bottom: calc((100vw / 1280)*6);
        background-image: url("../images/color-line-bottom.png");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: bottom center;
        background-color: #e73828;
    }

    #main-area {
        width: 100%;
        margin: 0;
    }

    .main-area01-con {
        width: 100%;
        padding-top: 2.5vh;
    }

    .main-area02-con {
        display: none;
    }

    .main-area01,
    .main-area02 {
        width: 100%;
        margin: 0 auto;
    }

    .main-area03-con {
        width: 100%;
        padding: 4vw 0;
        background-color: #000000;
    }

    .main-area03-01 {
        width: 92%;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }

    .main-area03-01a {
        margin: 0 0 0.5em;
    }

    .main-area03-01b {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .term-tit {
        width: 7em;
        height: 2.25em;
        margin: 0;
        font-family: "Noto Sans JP";
        font-weight: 700;
        font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
        text-align: center;
        line-height: 2.25em;
        background-color: #fff000;
        border-radius: 50%;
        color: #000000;
    }

    .term-date01,
    .term-date02 {
        margin: 0;
        font-weight: 700;
        font-size: clamp(1.6rem, 1.314rem + 1.43vw, 2rem);
        text-align: center;
        color: #ffffff;
    }

    .term-date01 span,
    .term-date02 span {
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        vertical-align: 0.125ex;
    }

    .main-area03-02 {
        width: 92%;
        margin: 2vw auto;
    }

    .term-copy01 {
        margin-top: 2vw;
        font-weight: 700;
        font-size: clamp(1.4rem, 1.149rem + 1.25vw, 1.75rem);
        text-align: center;
        color: #fff000;
    }

    .term-copy02 {
        margin-top: 0.5em;
        font-weight: 400;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
        text-align: left;
        color: #ffffff;
        text-indent: -1em;
        padding-left: 1em;
    }

    .main-area03-03 {
        width: 92%;
        margin: 1em auto 0;
        color: #ffffff;
    }

    .term-detail-con {
        width: 100%;
        /*max-width: 960px;*/
        margin: 0 auto 0.5em;
        display: flex;
        flex-flow: wrap;
        justify-content: center;
        align-items: center;
    }

    .term-detail-number {
        width: 100%;
        font-weight: 700;
        font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
        text-align: center;
    }

    .term-detail-date01 {
        width: 100%;
        font-weight: 700;
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        text-align: center;
    }

    .term-detail-date02 {
        padding-right: 0.5em;
        font-weight: 700;
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        text-align: center;
    }

    .term-detail-date03 {

        font-weight: 700;
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        text-align: right;
    }

    .term-detail-date01 span,
    .term-detail-date02 span,
    .term-detail-date03 span {
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
    }




    .contents01-area {
        width: 92%;
        margin: 0 auto;
        padding: 1rem 0 0;
    }

    .contents-title {
        margin-bottom: 1rem;
    }

    .title-img {
        margin-bottom: 1rem;
    }

    .contents01-detail01 {
        width: 100%;
    }

    .contents01-text-con {
        width: 100%;
        margin: 0 auto 2rem;
        padding: 4vw;
        background-color: #ffffff;
        border-top-right-radius: 36px;
        border-bottom-left-radius: 36px;
    }

    .contents01-text {
        margin-bottom: 2em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
        line-height: 2.25em;
    }

    .contents01-text:last-child {
        margin-bottom: 0;
    }

    .contents01-text span {
        padding: 0 0.2em;
        font-size: clamp(1.5rem, 1.232rem + 1.34vw, 1.875rem);
        vertical-align: -0.25ex;
        color: #ce1a1b;
    }

    .contents01-photo-con {
        width: 60%;
        margin: 0 auto 1rem;
    }

    .contents01-detail02 {
        width: 100%;
        padding-bottom: 1rem;
        display: flex;
        flex-flow: wrap;
        justify-content: space-around;
        align-items: center;
    }

    .contents01-photo02 {
        width: 45%;
        margin-bottom: 1rem;
    }

    .townline-area {
        width: 100%;
        background-color: #ffcc25;
    }

    .contents02-area {
        width: 90%;
        margin: 0 auto;
        padding: 2rem 0 2rem;
    }

    .contents02-detail01 {
        width: 100%;
    }

    .contents02-text {
        margin-bottom: 1em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
        line-height: 2.25em;
    }

    /*.contents02-text.text-right {
        text-align: right;
    }*/

    .contents02-link {
        width: 100%;
        margin-bottom: 1.5em;
        display: flex;
        flex-direction: column;
    }

    .contents02-text-con {
        display: flex;
        flex-wrap: wrap;
    }

    .contents02-linktext {
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
    }

    .contents02-img {
        width: 50%;
        max-width: 280px;
        margin-top: 1em;
    }

    .contents02-detail02 {
        width: 100%;
        display: flex;
    }

    .contents02-photo-con {
        padding: 0 1rem;
    }

    .contents02-name {
        margin-top: 1.5em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
        text-align: center;
    }

    .contents03-area {
        width: 100%;
        padding: 4vw 0 8vw;
    }

    .contents03-title01,
    .contents03-title02 {
        width: 100%;
        margin: 1rem auto 0;
    }

    .contents03-photo01,
    .contents03-photo02 {
        width: 100%;
    }

    .contents03-detail01 {
        width: 92%;
        margin: 0 auto 0;
    }

    .contents03-detail02 {
        width: 92%;
        margin: 0 auto 0;
        padding-bottom: 0;
    }

    .contents03-text-bg {
        width: 100%;
        margin: 0 auto;
        padding: 8vw 4vw;
        background-color: #ffffff;
        border-radius: 4em;
    }

    .contents03-text-con {
        display: flex;
        flex-flow: wrap;
    }

    .contents03-text,
    .contents03-text-half {
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
        line-height: 2.25em;
    }

    .contents03-text {
        width: 100%;
        margin: 0 auto;
    }

    .contents03-text-half {
        width: 55%;
        margin: 0;
    }

    .contents03-text span,
    .contents03-text-half span {
        padding: 0 0.25em;
        color: #ce1a1b;
        background-color: #fff3d2;
    }

    .contents03-photo03 {
        width: 40%;
        margin: 10% 0 0 5%;
    }

    .contents04-area,
    .contents05-area {
        width: 92%;
        margin: 0 auto;
        padding: 8vw 0;
    }

    .campaign-title-con {
        width: 100%;
        margin: 0 auto 1rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .title-border {
        flex-grow: 2;
        max-height: 16px;
        background-image: url(../images/title-border-white.png);
        background-size: 16px;
        background-repeat: space;
    }

    .campaign-title {
        padding: 0 5%;
        font-family: "Noto Sans JP";
        font-weight: 700;
        font-size: clamp(1.4rem, 1.149rem + 1.25vw, 1.75rem);
        color: #ffffff;
    }

    .lightbrown .title-border {
        background-image: url(../images/title-border-lightbrown.png);
    }

    .darkbrown .title-border {
        background-image: url(../images/title-border-darkbrown.png);
    }

    .darkbrown .campaign-title {
        color: #40220f;
    }

    .howto-box {
        width: 100%;
        padding: 8vw 4vw 4vw;
        background-color: #ffffff;
        border-radius: 16px;
    }

    .howto-box-L {
        width: 100%;
    }

    .contents04-text01 {
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        font-weight: 600;
        text-align: center;
    }

    .contents04-text02 {
        margin: 1.5em 0;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
    }

    .contents04-btn {
        width: 100%;
    }

    .contents04-btn a {
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #000000;
        border-radius: 36px;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 600;
        text-decoration: none;
        transition: 0.5s;
    }

    .contents04-btn span::before {
        content: "";
        display: inline-block;
        width: 40px;
        height: 40px;
        margin-right: 10px;
        background-image: url(../images/x-logo.svg);
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
    }

    .contents04-btn a:hover {
        opacity: 0.8;
    }

    .contents04-copy01 {
        margin: 2rem 0;
        padding: 1rem 0;
        border-top: 3px solid #e73828;
        border-bottom: 3px solid #e73828;
        text-align: center;
        /*font-size: 1.75rem;*/
        font-size: clamp(1.4rem, 1.149rem + 1.25vw, 1.75rem);
        font-weight: 900;
        color: #e73828;
    }

    .contents04-copy01 span {
        /*font-size: 1.5rem;*/
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        color: #000;
    }

    .contents04-copy02 {
        margin: 0 0;
        padding: 0 0;
        text-align: center;
        font-size: clamp(1.2rem, 0.985rem + 1.07vw, 1.5rem);
        font-weight: 700;
        color: #40220f;
    }

    .howto-box-R {
        width: 100%;
        margin-top: 8vw;
    }

    .tweet-box {
        width: 100%;
        margin-top: 1rem;
    }

    .uc {
        width: 100%;
        padding: 8rem 2rem;
        text-align: center;
        font-size: 1.5rem;
        background-color: #fff;
        border-radius: 12px;
        border: 1px solid #ccc;
    }

    .post-img {
        width: 100%;
        border: 1px solid #ccc;
    }

    .post-img img {
        width: 100%;
    }

    .howto-box-prize {
        width: 100%;
        margin-top: 2rem;
    }

    .howto-box-prize .title-border {
        margin-bottom: 1rem;
    }

    .prize-copy-con {
        width: 100%;
        margin: 0 auto 1rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .prize-line {
        width: 9%;
        max-width: 40px;
    }

    .prize-copy {
        padding: 0 0.25em;
        font-weight: 700;
        font-size: clamp(1rem, 0.821rem + 0.89vw, 1.25rem);
        text-align: center;
    }

    .howto-box-prize span {
        font-size: clamp(1.3rem, 1.067rem + 1.16vw, 1.625rem);
        color: #cd1d1c;
    }

    .prize-detail-con {
        width: 100%;
        margin: 0 auto;
    }

    .prize-detail {
        margin-bottom: 1em;
        display: flex;
        flex-direction: column;
        font-size: clamp(0.9rem, 0.739rem + 0.81vw, 1.125rem);
    }

    .prize-photo {
        width: 60%;
        margin: 0 auto;
    }

    .prize-text {
        width: 100%;
        margin: 0.5em 0 0;
    }

    .contents05 {
        margin: 0 0 0;
        border: 2px solid #6a3419;
        background: #fff;
    }

    .contents05-inner {
        height: 50vh;
        margin: 4vw 2vw;
        overflow-y: scroll;
        background: #fff;
    }

    .contents05-inner::-webkit-scrollbar {
        width: 2vw;
    }

    .contents05-inner::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 14px;
    }

    .contents05-inner::-webkit-scrollbar-thumb {
        background: #40220f;
        border-radius: 14px;
    }

    .contents05-part-tit {
        margin: 20px 10px 10px;
        padding: 0 0 0.25em;
        border-bottom: 1px solid #000;
    }

    .contents05-part {
        margin-bottom: 1em;
        padding: 0 10px 0;
    }

    .contents05-part2 {
        margin-bottom: 1em;
        padding: 20px 10px 0;
    }

    .contents05-tit {
        margin: 1em 0 0;
        font-size: 1.125rem;
    }

    .contents05-tit2 {
        margin: 1em 0 0;
        font-size: 1rem;
        text-indent: -1em;
        padding-left: 1em;
    }

    .contents05-text {
        font-size: 0.875rem;
    }

    .contents05-text2 {
        font-size: 0.875rem;
        text-indent: -1em;
        padding-left: 1em;
    }

    .contents05-text3 {
        font-size: 0.875rem;
        text-indent: -1em;
        padding-left: 2em;
    }

    .bottom-bnr {
        width: 90%;
        margin: 0 auto;
        padding: 0 0 10vw;
        filter: drop-shadow(3px 6px 3px rgba(0, 0, 0, 0.2));
    }

}


@media print,
screen and (min-width: 768px) {

    .pc_none {
        display: none;
    }

    .colorline-area-top {
        width: 100%;
        height: 60px;
        margin-top: calc((6 / 1280)*100vw);
        background-image: url("../images/color-line-top.png");
        background-size: cover;
        background-repeat: repeat-x;
        background-position: top center;
        background-color: #ffcc25;
    }

    .colorline-area-bottom {
        width: 100%;
        height: 60px;
        margin-bottom: calc((6 / 1280)*100vw);
        background-image: url("../images/color-line-bottom.png");
        background-size: cover;
        background-repeat: repeat-x;
        background-position: bottom center;
        background-color: #e73828;
    }

    #main-area {
        width: 100%;
        margin: 0;
    }

    .main-area01-con {
        width: 100%;
        padding-top: 5vh;
    }

    .main-area02-con {
        width: 100%;
        padding-bottom: 5vh;
        background-color: #ffffff;
    }

    .main-area01,
    .main-area02 {
        width: 100%;
        max-width: 1920px;
        margin: 0 auto;
    }

    .main-area03-con {
        width: 100%;
        padding: 1.5rem 0;
        background-color: #000000;
    }

    .main-area03-01 {
        width: 95%;
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;

        flex-wrap: wrap;
    }

    .main-area03-01a {
        margin: 0.75em 0;
        /*width: 200px;*/
        /*max-width: 480px;
        margin: 0 0 0 auto;*/
    }

    .main-area03-01b {
        /*width: calc(100% - 200px);*/
        /*max-width: 720px;
        margin: 0 auto 0 0;*/
        display: flex;
        flex-wrap: wrap;
        justify-content: center;

    }

    .term-tit {
        /*width: 7em;*/
        width: 180px;
        height: 2.25em;
        /*margin: 0 0.5em;*/
        margin: 0.25em 10px 0;
        font-family: "Noto Sans JP";
        font-weight: 700;
        font-size: clamp(1.4rem, 0.875rem + 1.09vw, 1.75rem);
        text-align: center;
        line-height: 2.25em;
        background-color: #fff000;
        border-radius: 50%;
        color: #000000;
    }

    .term-date01 {
        /*width: 80%;
        max-width: 520px;*/
        margin: 0 0.5rem;
        font-weight: 700;
        font-size: clamp(2.4rem, 1.5rem + 1.88vw, 3rem);
        text-align: left;
        color: #ffffff;
    }

    .term-date02 {
        /*width: 80%;
        max-width: 520px;*/
        margin: 0 0.5rem;
        font-weight: 700;
        font-size: clamp(2.4rem, 1.5rem + 1.88vw, 3rem);
        text-align: right;
        color: #ffffff;
    }

    .term-date01 span,
    .term-date02 span {
        /*font-size: 2.25rem;*/
        font-size: clamp(1.8rem, 1.125rem + 1.41vw, 2.25rem);
        vertical-align: 0.125ex;
    }

    .main-area03-02 {
        width: 95%;
        max-width: 1200px;
        margin: 1.5rem auto;
    }

    .term-copy01 {
        margin-top: 1.5rem;
        font-weight: 700;
        font-size: clamp(2.4rem, 1.5rem + 1.88vw, 3rem);
        text-align: center;
        color: #fff000;
    }

    .term-copy02 {
        font-weight: 400;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        text-align: center;
        color: #ffffff;
    }

    .main-area03-03 {
        width: 90%;
        max-width: 1200px;
        margin: 1.5rem auto;
        color: #ffffff;
    }

    .term-detail-con {
        width: 100%;
        /*max-width: 960px;*/
        margin: 0 auto;
        display: flex;
        flex-flow: wrap;
        justify-content: center;
        align-items: center;
    }

    .term-detail-number {
        width: 4em;
        font-weight: 700;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        /*text-align: right;*/
    }

    .term-detail-date01 {
        width: 11em;
        font-weight: 700;
        font-size: clamp(1.6rem, 1rem + 1.25vw, 2rem);
    }

    .term-detail-date02 {
        width: 1em;
        font-weight: 700;
        font-size: clamp(1.6rem, 1rem + 1.25vw, 2rem);
        text-align: center;
    }

    .term-detail-date03 {
        width: 9em;
        font-weight: 700;
        font-size: clamp(1.6rem, 1rem + 1.25vw, 2rem);
        text-align: right;
    }

    .term-detail-date01 span,
    .term-detail-date02 span,
    .term-detail-date03 span {
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
    }

    .contents01-area {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
        padding: 2rem 0 0;
    }

    .contents-title {
        margin-bottom: 2rem;
    }

    .title-img {
        margin-bottom: 2rem;
    }

    .contents01-detail01 {
        width: 100%;
    }

    .contents01-text-con {
        width: 100%;
        /*max-width: 640px;*/
        margin: 0 auto 4.5%;
        padding: 2em 2em;
        background-color: #ffffff;
        border-top-right-radius: 36px;
        border-bottom-left-radius: 36px;
    }

    .contents01-text {
        margin-bottom: 2em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        /*font-size: 1.5rem;*/
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        line-height: 2.25em;
    }

    .contents01-text:last-child {
        margin-bottom: 0;
    }

    .contents01-text span {
        padding: 0 0.2em;
        /*font-size: 2.5rem;*/
        font-size: clamp(2rem, 1.25rem + 1.56vw, 2.5rem);
        vertical-align: -0.25ex;
        color: #ce1a1b;
    }

    .contents01-photo-con {
        /*width: calc((390 / 1080)*100%);*/
        width: 100%;
    }

    .contents01-photo01 {
        width: 40%;
        margin: 0 auto 1%;
    }

    .contents01-detail02 {
        width: 100%;
        padding-bottom: 2rem;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    .contents01-photo02 {
        width: 30%;
    }

    .townline-area {
        width: 100%;
        background-color: #ffcc25;
    }

    .contents02-area {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
        padding: 4rem 0 4rem;
    }

    .contents02-detail01 {
        width: 100%;
    }

    .contents02-text {
        margin-bottom: 1em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        /*font-size: 1.5rem;*/
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        line-height: 2.25em;
    }

    /*.contents02-text.text-right {
        text-align: right;
    }*/

    .contents02-link {
        width: 100%;
        display: flex;
        align-items: center;
    }

    .contents02-text-con {
        display: flex;
        flex-wrap: wrap;
    }

    .contents02-linktext {
        margin-right: 0.5em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
    }

    .contents02-linktext:last-child {
        margin-right: 1em;
    }

    .contents02-img {
        width: 280px;
    }

    .contents02-detail02 {
        width: 100%;
        margin-top: 2rem;
        display: flex;
    }

    .contents02-photo-con {
        padding: 0 1rem;
    }

    .contents02-name {
        margin-top: 1.5em;
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        text-align: center;
    }

    .contents03-area {
        width: 100%;
        padding-top: 2rem;
    }

    .contents03-title01,
    .contents03-title02 {
        width: 100%;
        margin: 2rem auto 0;
    }

    .contents03-photo01,
    .contents03-photo02 {
        width: 100%;
    }

    .contents03-detail01 {
        width: 90%;
        max-width: 1080px;
        margin: -1.5em auto 0;
    }

    .contents03-detail02 {
        width: 90%;
        max-width: 1080px;
        margin: -1.5em auto 0;
        padding-bottom: 6em;
    }

    .contents03-text-bg {
        width: 100%;
        margin: 0 auto;
        padding: 7.5%;
        background-color: #ffffff;
        border-radius: 8em;
    }

    .contents03-text-con {
        display: flex;
        flex-flow: wrap;
    }

    .contents03-text,
    .contents03-text-half {
        font-family: "Noto Sans JP";
        font-weight: 600;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        line-height: 2.25em;
    }

    .contents03-text {
        width: 100%;
        margin: 0 auto;
    }

    .contents03-text-half {
        width: 55%;
        margin: 0;
    }

    .contents03-text span,
    .contents03-text-half span {
        padding: 0 0.25em;
        color: #ce1a1b;
        background-color: #fff3d2;
    }

    .contents03-photo03 {
        width: 40%;
        max-width: 360px;
        margin: 0 0 -8em 5%;
    }

    .contents04-area,
    .contents05-area {
        width: 90%;
        max-width: 1080px;
        margin: 0 auto;
        padding: 4rem 0 6rem;
    }

    .campaign-title-con {
        width: 100%;
        margin: 0 auto 2rem;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .title-border {
        flex-grow: 2;
        max-height: 25px;
        background-image: url(../images/title-border-white.png);
        background-size: 25px;
        background-repeat: space;
    }

    .campaign-title {
        padding: 0 5%;
        font-family: "Noto Sans JP";
        font-weight: 700;
        /*font-size: 3rem;*/
        font-size: clamp(2.4rem, 1.5rem + 1.88vw, 3rem);
        color: #ffffff;
    }

    .lightbrown .title-border {
        background-image: url(../images/title-border-lightbrown.png);
    }

    .darkbrown .title-border {
        background-image: url(../images/title-border-darkbrown.png);
    }

    .darkbrown .campaign-title {
        color: #40220f;
    }

    .howto-box {
        width: 100%;
        padding: 40px 6%;
        background-color: #ffffff;
        border-radius: 32px;
        display: flex;
        flex-wrap: wrap;
    }

    .howto-box-L {
        width: 50%;
        padding-right: 3%;
    }

    .contents04-text01 {
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        font-weight: 600;
        text-align: center;
    }

    .contents04-text02 {
        margin: 2em 0;
        font-size: clamp(1rem, 0.625rem + 0.78vw, 1.25rem);
    }

    .contents04-btn {
        width: 100%;
    }

    .contents04-btn a {
        height: 80px;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #000000;
        border-radius: 36px;
        color: #fff;
        font-size: 1.5rem;
        font-weight: 600;
        text-decoration: none;
        transition: 0.5s;
    }

    .contents04-btn span::before {
        content: "";
        display: inline-block;
        width: 40px;
        height: 40px;
        margin-right: 10px;
        background-image: url(../images/x-logo.svg);
        background-size: contain;
        background-repeat: no-repeat;
        vertical-align: middle;
    }

    .contents04-btn a:hover {
        opacity: 0.8;
    }

    .contents04-copy01 {
        margin: 2rem 0;
        padding: 1rem 0;
        border-top: 3px solid #e73828;
        border-bottom: 3px solid #e73828;
        text-align: center;
        /*font-size: 2.25rem;*/
        font-size: clamp(1.8rem, 1.125rem + 1.41vw, 2.25rem);
        font-weight: 900;
        color: #e73828;
    }

    .contents04-copy01 span {
        /*font-size: 1.75rem;*/
        font-size: clamp(1.4rem, 0.875rem + 1.09vw, 1.75rem);
        color: #000;
    }

    .contents04-copy02 {
        margin: 0 0;
        padding: 0 0;
        text-align: center;
        font-size: clamp(1.2rem, 0.75rem + 0.94vw, 1.5rem);
        font-weight: 700;
        color: #40220f;
    }

    .howto-box-R {
        width: 50%;
        padding-left: 3%;
    }

    .tweet-box {
        width: 100%;
        margin-top: 1.5rem;
    }

    .uc {
        width: 100%;
        padding: 8rem 2rem;
        text-align: center;
        font-size: 1.5rem;
        background-color: #fff;
        border-radius: 12px;
        border: 1px solid #ccc;
    }

    .post-img {
        width: 100%;
        border: 1px solid #ccc;
    }

    .post-img img {
        width: 100%;
    }


    .howto-box-prize {
        width: 100%;
        margin-top: 2rem;
    }

    .howto-box-prize .title-border {
        margin-bottom: 2rem;
    }

    .prize-copy-con {
        width: 100%;
        margin: 0 auto 2rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .prize-line {
        width: 10%;
        max-width: 60px;
    }

    .prize-copy {
        padding: 0 0.5em;
        font-weight: 700;
        font-size: clamp(1.8rem, 0.692rem + 2.31vw, 2.25rem);
        text-align: center;
    }

    .howto-box-prize span {
        font-size: clamp(2.4rem, 0.923rem + 3.08vw, 3rem);
        color: #cd1d1c;
    }

    .prize-detail-con {
        width: 90%;
        margin: 0 auto;
    }

    .prize-detail {
        margin-bottom: 1.5em;
        display: flex;
        align-items: center;
        font-size: clamp(1rem, 0.625rem + 0.78vw, 1.25rem);
    }

    .prize-photo {
        width: 30%
    }

    .prize-text {
        width: 70%;
        padding-left: 2em;
    }



    .contents05 {
        margin: 0 0 0;
        border: 2px solid #6a3419;
        background: #fff;
    }

    .contents05-inner {
        height: 500px;
        margin: 15px 10px 15px;
        overflow-y: scroll;
        background: #fff;
    }

    .contents05-inner::-webkit-scrollbar {
        width: 20px;
    }

    .contents05-inner::-webkit-scrollbar-track {
        background: #fff;
        border-radius: 10px;
    }

    .contents05-inner::-webkit-scrollbar-thumb {
        background: #40220f;
        border-radius: 10px;
    }

    .contents05-part-tit {
        margin: 40px 20px 20px;
        padding: 0 0 0.25em;
        border-bottom: 1px solid #000;
    }

    .contents05-part {
        margin-bottom: 1em;
        padding: 0 20px 0;
    }

    .contents05-part2 {
        margin-bottom: 1em;
        padding: 20px 20px 0;
    }

    .contents05-tit {
        margin: 1em 0 0;
        font-size: 1.5rem;
    }

    .contents05-tit2 {
        margin: 1em 0 0;
        font-size: 1.25rem;
    }

    .contents05-text {
        font-size: 1.125rem;
    }

    .contents05-text2 {
        font-size: 1.125rem;
        text-indent: -1em;
        padding-left: 1em;
    }

    .contents05-text3 {
        font-size: 1.125rem;
        text-indent: -1em;
        padding-left: 2em;
    }

    .bottom-bnr {
        width: 80%;
        max-width: 640px;
        margin: 0 auto;
        padding: 0 0 8rem;
        filter: drop-shadow(3px 6px 3px rgba(0, 0, 0, 0.2));
    }

}


@media screen and (min-width:1080px) {

    .pc1080_none {
        display: none;
    }

}


@media screen and (min-width:1280px) {

    .pc1280_none {
        display: none;
    }

    .colorline-area-top,
    .colorline-area-bottom {
        background-size: contain;
    }

    .main-area01 {
        height: calc(1858px / 2);
        position: relative;
        background-image: url(../images/main01-wide.webp);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat
    }

    .main-area01.closed {
        background-image: url(../images/main01-wide_closed.webp);
    }

    .main-area02 {
        height: calc(682px / 2);
        position: relative;
        background-image: url(../images/main02-wide.webp);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat
    }

    #main-visual01,
    #main-visual02 {
        display: none
    }

    .contents01-detail01 {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .contents01-text-con {
        width: 55%;
        margin-right: 5%;
        margin: 0 5% 12px 0;
    }

    .contents01-photo-con {
        width: 40%;
        margin: 0;
    }

    .contents01-photo01 {
        width: 100%;
    }

    .contents01-detail02 {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    .contents01-photo02 {
        width: 30%;
    }

    .townline-area {
        width: 100%;
        height: 168px;
        background-image: url("../images/town-line.webp");
        background-size: contain;
        background-repeat: repeat-x;
        background-position: bottom center;
        background-color: #ffcc25;
    }

    #townline-visual {
        display: none
    }

    /*.main-area03-01 {
        width: 95%;
        max-width: 1200px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
    }*/

    .contents03-title01 {
        height: calc(975px / 2);
        background-image: url("../images/contents03-photo01-wide.webp");
        /*background-size: contain;*/
        background-size: 1344px;
        background-repeat: no-repeat;
        background-position: top center;
    }

    .contents03-photo01 {
        display: none;
    }

    .contents03-title02 {
        height: calc(975px / 2);
        background-image: url("../images/contents03-photo02-wide.webp");
        /*background-size: contain;*/
        background-size: 1344px;
        background-repeat: no-repeat;
        background-position: top center;
    }

    .contents03-photo02 {
        display: none;
    }

}
