@import url('common.css');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@800&family=Noto+Sans+JP:wght@100..900&display=swap');

:root {
    --color-theme: #e4007f;
    --color-pink: #f092ae;
    --color-purple: #d0b1d3;
    --color-green: #71c7d1;
    --color-brown: #e8ba4e;
    --section-space: 60px;
}

body {
    background: url(../../lp/up_load_files/freetext/licca_dream/img/wall.png) top center / contain repeat-y;
}

main {
    font-family: "M PLUS Rounded 1c", sans-serif;
    color:#544;
}
main p {
    font-family: "Noto Sans JP", sans-serif;
}
main * {
    position: relative;
}
main img {
    width:100%;
}

main #page-header picture + div {
    translate: 0 -80px;
}
main #page-header {
    padding:20px;
}
main #page-header picture img {
    height:auto;
}
main #page-header .schedule {
    margin:0 auto;
    max-width:800px;
    padding:20px 40px;
}
main #page-header .schedule::before {
    content:'';
    background:rgb(255 255 255 / .8);
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-radius:20px;
    filter: blur(6px);
}
main #page-header .schedule h2 {
    text-align:center;
    padding-bottom:10px;
}
main #page-header .schedule :is(dt, dd, span) {
    color:var(--color-theme);
    font-weight:600;
}
main #page-header .schedule div {
    display:flex;
    align-items: flex-start;
    justify-content: space-between;
    gap:0 40px;
    padding:5px 0;
}
main #page-header .schedule dt {
    font-size:1.6em;
    width:3.5em;
    text-align-last:justify;
    padding-top:0.1em;
}
main #page-header .schedule dd {
    font-size:1.8em;
    flex:1;
    line-height:1.2;
}
main #page-header .schedule span {
    font-size:0.6em;
    line-height:1;
}
main #page-header .schedule small {
    font-size:0.6em;
    line-height:1;
    display:inline-block;
}

main #copy h1 {
    margin:40px auto;
    max-width:800px;
    padding-inline:20px;
}
main #copy h1 img {
    filter:drop-shadow(0 0 8px rgb(255 255 255)) drop-shadow(0 0 8px rgb(255 255 255)) drop-shadow(0 0 8px rgb(255 255 255));
}

main .section {
    margin:20px;
}
main .section h1 {
    height:80px;
    width:auto;
    position:absolute;
    top:-40px;
    left:50%;
    translate:-50% 0;
}
main .section h1 img {
    width:auto;
    height:100%;
}
main .section > div {
    border-radius:40px;
    padding:40px 20px 20px 20px;
    border:solid 8px var(--color);
    box-shadow:0 0 10px 6px #fff;
}
main .section article {
    padding:20px;
}
main .section figure {
    aspect-ratio: 4 / 3;
    margin-bottom:20px;
}
main .section figure img:not(.sub) {
    width: 100%;
    height:100%;
    object-fit: cover;
}
main .section figure:not(.trans) {
    border-radius:20px;
    background:#fff;
    border:solid 6px var(--color);
    box-shadow:0 0 0 3px #fff;
}
main .section figure:not(.trans) img:not(.sub) {
    border-radius:14px;
}
main .section figure.free {
    aspect-ratio: auto;
}
main .section figure.trans img:not(.sub) {
    object-fit: contain;
}
main .section figure img.sub {
    position:absolute;
    bottom:-20px;
    right:-20px;
    width:40%;
    height:auto;
    aspect-ratio: 1;
    border-radius:100%;
    background:#fff;
    border:solid 6px var(--color);
    box-shadow:0 0 0 3px #fff;
}
main .section figure img.sub.left-set {
    bottom:-20px;
    right:auto;
    left:-20px;
}
main .section figure img.sub.down {
    bottom:-60px;
}
main .section figure.photo::after {
    content:'';
    width:80px;
    aspect-ratio: 1;
    position:absolute;
    bottom:-4px;
    left:-4px;
    border-radius: 100%;
    border-bottom-left-radius: 24px;
    z-index:2;
    background:var(--color) url(../../lp/up_load_files/freetext/licca_dream/img/photo.svg) left 70% center / 60% no-repeat;
}
main .section figure.trans.photo::after {
    border-radius: 100%;
    bottom:0;
    left:0;
}

main .section article .flex {
    gap:10px 40px;
}
main .section article:has(> .flex) figure.g6 {
    width:auto;
    flex:1;
}

main .section h2 {
    display:flex;
    align-items: center;
    justify-content: flex-start;
    font-size:1.6em;
    font-weight:bold;
    line-height:1.2;
    color:var(--text-color);
    text-shadow: 0px 4px 0 #fff, 0px 3px 0 #fff, 1px 3px 0 #fff, 2px 3px 0 #fff, 2px 2px 0 #fff, 3px 2px 0 #fff, 3px 1px 0 #fff, 3px 0px 0 #fff, 4px 0px 0 #fff, 3px -1px 0 #fff, 3px -2px 0 #fff, 3px -3px 0 #fff, 2px -3px 0 #fff, 2px -4px 0 #fff, 1px -4px 0 #fff, 0px -4px 0 #fff, -1px -4px 0 #fff, -2px -4px 0 #fff, -3px -4px 0 #fff, -3px -3px 0 #fff, -4px -3px 0 #fff, -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0px 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -2px 3px 0 #fff, -1px 3px 0 #fff;
}
main .section p {
    padding:0;
    margin-top:10px;
    font-size:1.2em;
    font-weight:bold;
    text-shadow: 0px 4px 0 #fff, 0px 3px 0 #fff, 1px 3px 0 #fff, 2px 3px 0 #fff, 2px 2px 0 #fff, 3px 2px 0 #fff, 3px 1px 0 #fff, 3px 0px 0 #fff, 4px 0px 0 #fff, 3px -1px 0 #fff, 3px -2px 0 #fff, 3px -3px 0 #fff, 2px -3px 0 #fff, 2px -4px 0 #fff, 1px -4px 0 #fff, 0px -4px 0 #fff, -1px -4px 0 #fff, -2px -4px 0 #fff, -3px -4px 0 #fff, -3px -3px 0 #fff, -4px -3px 0 #fff, -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0px 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -2px 3px 0 #fff, -1px 3px 0 #fff;
}

main .section .line {
    padding:20px;
    display:block;
}

main #sec-1 {
    --color:var(--color-pink);
    --text-color:#eb6d8e;
}
main #sec-1 h2::before {
    content:'';
    width:71px;
    height:61px;
    background:url(../../lp/up_load_files/freetext/licca_dream/img/marker_1.png) left top / contain no-repeat;
}
main #sec-1 > div {
    background:url(../../lp/up_load_files/freetext/licca_dream/img/wall_1.png);
}

main #sec-2 {
    --color:var(--color-purple);
    --text-color:#796baf;
}
main #sec-2 h2::before {
    content:'';
    width:27px;
    height:27px;
    background:url(../../lp/up_load_files/freetext/licca_dream/img/marker_2.png) left top / contain no-repeat;
}
main #sec-2 > div {
    background:#e8deed url(../../lp/up_load_files/freetext/licca_dream/img/wall_2.png);
}
main #sec-2 .line img {
    filter:drop-shadow(4px 4px 6px #796baf);
}

main #sec-3 {
    --color:var(--color-green);
    --text-color:#00b2b3;
}
main #sec-3 > div {
    background:#fff url(../../lp/up_load_files/freetext/licca_dream/img/wall_3.png);
}

main #sec-4 {
    --color:var(--color-brown);
    --text-color:#cf7b0e;
}
main #sec-4 > div {
    background:linear-gradient(-60deg, #eeba00 0, #fff2ad 45%, #fdd23e 100%);
}
main #sec-4 h1 + h2 {
    color:#544;
    padding:30px 20px 0 20px;
}


main #sec-5 > div {
    box-shadow: none;
    border:solid 6px #a48b78;
    border-radius:60px;
    position: relative;
    padding:20px;
}
main #sec-5 > div::before {
    content:'';
    background:rgb(255 255 255 / .8);
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    border-radius:60px;
    filter: blur(6px);
}

main #sec-5 h1 {
    translate: 0 0;
    position:relative;
    height:auto;
    color:#b81a3a;
    top:auto;
    left:auto;
    font-size:3em;
    margin-bottom:20px;
    text-shadow: 0px 4px 0 #fff, 0px 3px 0 #fff, 1px 3px 0 #fff, 2px 3px 0 #fff, 2px 2px 0 #fff, 3px 2px 0 #fff, 3px 1px 0 #fff, 3px 0px 0 #fff, 4px 0px 0 #fff, 3px -1px 0 #fff, 3px -2px 0 #fff, 3px -3px 0 #fff, 2px -3px 0 #fff, 2px -4px 0 #fff, 1px -4px 0 #fff, 0px -4px 0 #fff, -1px -4px 0 #fff, -2px -4px 0 #fff, -3px -4px 0 #fff, -3px -3px 0 #fff, -4px -3px 0 #fff, -4px -2px 0 #fff, -4px -1px 0 #fff, -4px 0px 0 #fff, -4px 1px 0 #fff, -4px 2px 0 #fff, -3px 2px 0 #fff, -3px 3px 0 #fff, -2px 3px 0 #fff, -1px 3px 0 #fff;
}
main #sec-5 h1 span {
    font-size:0.8em;
    display:block;
}
main #sec-5 .time {
    background:var(--color-pink);
    padding:5px 40px;
    border-radius:9999px;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size:1.2em;
    margin-bottom:20px;
    width:fit-content;
}
main #sec-5 article {
    gap:10px;
    align-items: center;
}
main #sec-5 article > div {
    flex:1;
}
main #sec-5 figure {
    margin:0;
    aspect-ratio: 1;
    overflow: hidden;
}

main #sec-6 > div {
    box-shadow: none;
    padding:0;
    background:#dcc877;
}
main #sec-6 h1 {
    translate: 0 0;
    position:relative;
    height:auto;
    top:auto;
    left:auto;
    background:url(../../lp/up_load_files/freetext/licca_dream/img/wall_6.svg) bottom -1px left / 100px repeat-x;
    padding:20px 20px 30px 20px;
    border-radius:10px 10px 0 0;
    text-align: center;
}
main #sec-6 .limited {
    text-align: center;
}

main #sec-6 .limited img {
    width:100%;
    max-width:300px;
}
main #sec-6 h1 + div {
    padding:20px;
}
main #sec-6 h2 {
    padding-right:40px;
    display:block;
}
main #sec-6 h2 em {
    color:#b81a3a;
}
main #sec-6 hgroup figure {
    aspect-ratio: auto;
    overflow: hidden;
}

main #sec-6 article p {
    margin-top:-20px;
}
main #sec-6 article p + figure {
    margin-top:40px;
}
main #sec-6 p img {
    margin-top:5px;
    max-width:200px;
}
main #sec-6 .event-only {
    padding:13px;
}
main #sec-6 .heart {
    border-radius:20px;
    padding:10px;
    margin-bottom:auto;
}
main #sec-6 .heart::before {
    content: '';
    background: var(--yellow);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 60px;
    border:solid 3px #fff;
}
main #sec-6 .heart h2 {
    color:var(--blue);
    text-align: center;
    padding:20px;
    padding-bottom:0;
}
main #sec-6 .heart p {
    text-align:center;
}


#info {
    margin:20px;
}
#info .width-limiter > div {
    background:var(--color-pink);
    border-radius:60px;
    padding:20px;
    border:solid 6px #fff;
}
#info h1 {
    color:#fff;
    font-size:1.2em;
    text-align:center;
    line-height:1.4;
}
#info p {
    padding:0;
    color:#fff;
    text-align:center;
    padding-top:20px;
}
#info a {
    color:#fff;
    text-decoration: underline;
}


/** Media Query **/

@media only screen and (max-width : 820px) {
    main #sec-6 hgroup {
        display:block;
    }
    main #sec-6 h2 {
        padding-right:0;
        padding-bottom:20px;
        width:100%;
    }
    main #sec-6 hgroup .g4 {
        width:100%;
    }
}
@media only screen and (max-width : 720px) {
    main #page-header .schedule {
        padding-inline:15px;
    }
    main #page-header .schedule div {
        flex-direction: column;
        font-size:0.9em;
    }

    main #sec-5 article {
        flex-direction: column;
        width:100%;
        align-items: flex-start;
    }
    main #sec-5 h1 {
        font-size:2.6em;
    }
    main #sec-5 h2 ,
    main #sec-5 h2 + p {
        width:100%;
    }
    main #sec-5 figure.licca {
        width:40%;
        aspect-ratio: auto;
        position:absolute;
        top:-40px;
        right:-20px;
        translate: 0 0;
    }

    main #sec-6 .items {
        flex-direction: column;
    }
    main #sec-6 .items > article {
        width:100%;
    }
    main #sec-6 .heart {
        width:100%;
        max-width:300px;
        margin-inline:auto;
        margin-top:40px;
    }
}
@media only screen and (max-width : 640px) {

}
@media only screen and (max-width : 520px) {
    .width-limiter {
        padding-inline:0 !important;
    }
    main p.width-limiter {
        padding-inline:20px !important;
    }

    main .section h1 {
        height:60px;
    }
    main .section article {
        padding-bottom:20px;
    }
    main .section article .flex {
        flex-direction: column;
    }
    main .section .g4 {
        width:100%;
    }

    main #sec-1 > div {
        background-size:100px;
    }

    main #sec-1 h2 {
        margin-left:-10px;
    }
    main #sec-2 h2 {
        margin-left:-10px;
    }

    main #sec-6 .event-only {
        padding:0;
        padding-bottom:40px;
    }

}
