main > header {
    background:#E8ECF8 url(../_img/hurry/page_head_wall.webp) right center / cover no-repeat;
    padding:0;
}
main > header > div {
    background:url(../_img/hurry/page_head_goe.png) left 20px bottom / auto 100% no-repeat;
    padding-top:60px;
    padding-bottom:40px;
}
main > header > div h1 {
    text-align:center;
    color:var(--color-black);
    max-width:calc(100% - 30vw);
    margin-inline:auto;
    font-size:1.8em;
}
main > header > div h1 strong {
    color:var(--color-red);
    font-size:1.2em;
    letter-spacing:0.2em;
    margin-left:0.2em;
    line-height:1.2;
}
main > header > div .button {
    background:#c00;
    border-radius:100px;
    padding-inline:5vw;
    max-width:calc(100% - 40vw);
    margin-inline:auto;
}

.preparation {
    background:var(--color-pink);
    border:solid 1px var(--color-white);
    box-shadow:0 0 0 5px var(--color-pink);
    border-radius:var(--radius);
    padding:calc(var(--padding) * 1.5);
    color:var(--color-white);
    text-align:center;
    margin-top:-40px;
}
.preparation h1 {
    font-size:1.8em;
    color:var(--color-yellow);
}
.preparation p {
    font-size:1.4em;
    margin-top:20px;
    line-height:1;
}
.preparation p small {
    font-size:0.6em;
    color:var(--color-white);
    line-height:1;
}

.section {
    margin-top:var(--section-space);
}
.section h1 {
    color:var(--color-pink);
    font-size:1.3em;
    font-weight:bold;
}
.section h2 {
    font-size:1.2em;
}
.section h2 + picture {
    display:block;
    margin-top:40px;
}

.section.support h1 {
    font-size:1.6em;
}


main .support h1 + div {
    margin-top:60px;
}
main .support article {
    background:var(--color-lightpink);
    border-radius:var(--radius);
    padding:calc(var(--padding) * 2);
    box-shadow:var(--shadow3);
    margin-top:40px;
}

main .support h2 {
    display:flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    padding:10px 20px;
    line-height:1;
    border-radius:100px;
    font-size:1.2em;
    color:var(--color-pink);
    border:solid 2px var(--color-pink);
    background:var(--color-white);
    width:fit-content;
    white-space: nowrap;
    position:absolute;
    top:-20px;
    left:0;
}
main .support h3 {
    color:var(--color-pink);
    margin-top:10px;
}

.enshrinement {
    border:solid 2px var(--color-pink);
    padding:calc(var(--padding) * 2);
    border-radius:var(--radius);
}
.enshrinement h3 {
    font-size:1.4em;
}


#call {
    background:#ef2560;
}
#call > div {
    max-width:924px;
}
#call h1 {
    color:var(--color-white);
}
#call picture {
    display:block;
    text-align:center;
    margin-top:20px;
}
#call h2 {
    color:var(--color-yellow);
    border:solid 1px var(--color-yellow);
    border-radius:200px;
    padding:var(--padding);
    font-size:1.4em;
    margin-top:40px;
}
#call p {
    color:var(--color-white);
    text-align:center;
}


#flow {
    padding-bottom:0;
}
#flow .tab {
    margin-top:40px;
}
#flow .tab li a {
    border:solid 2px var(--color-pink);
    border-radius:var(--radius-inner);
    padding:10px 5px;
    text-align:center;
    display:block;
    margin:0;
    font-size:1.1em;
    line-height:1.4;
    color:var(--color-pink);
}
#flow .tab li a::after {
    content:'';
    transition:var(--transition);
    width:40px;
    height:20px;
    display:block;
    margin:0;
    position:absolute;
    top:100%;
    left:calc(50% - 20px);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#flow .tab li a.current ,
#flow .tab li a:hover {
    background:var(--color-pink);
    color:var(--color-white);
}
#flow .tab li a.current::after ,
#flow .tab li a:hover::after {
    background:var(--color-pink);
}

#flow .flow li {
    margin-top:40px;
}
#flow .flow h2 {
    text-align:left;
    font-size:1.6em;
    width:fit-content;
    padding-right:20px;
    padding-bottom:5px;
    background:linear-gradient(to bottom, transparent 0, transparent 60%, var(--color-yellow) 60%);
}

#flow :is(#flow-2, #flow-3, #flow-4) {
    display:none;
}


@media (max-width : 820px) {
    main > header {
        background:#E8ECF8;
    }
    main > header > div {
        background:url(../_img/hurry/page_head_goe.png) right -20px bottom / auto 100% no-repeat;
    }
    main > header > div h1 {
        text-align:left;
        margin:0;
    }
    main > header > div .button {
        margin-inline:0;
    }
}
@media (max-width : 720px) {
    main .support article .g1 {
		flex:none !important;
		width:100%;
	}
}
@media (max-width : 590px) {
    main > header > div .button {
        max-width:100%;
    }
}
@media (max-width : 520px) {
    main > header > div h1 {
        max-width: 100%;
    }
    main > header > div {
        background:url(../_img/hurry/page_head_goe.png) right -40px bottom / auto 80% no-repeat;
        padding-top:40px;
        padding-bottom:20px;
    }
    main > header > div h1 {
        font-size:1.6em;
    }
    main > header > div h1 strong {
        font-size:1.4em;
    }
    main > header > div .button {
        padding-block:10px;
    }

    .enshrinement {
        padding:var(--padding);
    }

    #call h2 {
        border-radius:var(--radius);
        padding:var(--padding);
    }

    main .support h2 {
        left:50%;
        translate:-50% 0;
    }
    main .support article {
        padding:var(--padding);
        padding-top:calc(var(--padding) * 2);
    }
}