/* =====================================
footer
===================================== */
footer_bk {
    background: url(/hp_2024/img/pc/footer_bg-2x.png) no-repeat top min(calc(242/ 1600 *100vw),242px) center / 100%,
    linear-gradient(to bottom, #ffffd3 0%,#ffffd3 33%, var(--yellow) 33%, var(--yellow) 100%), #ffffd3;
background: #e60f3d;
}
footer.footer_wrap {
background: #e60f3d;
	background-color: #eaeaea;
	background-color: #ffffff; 
	border-top: 1px solid #000000;
	padding-top: 50px;
	
}

.footer_circus{
    position: relative;
    width: min(calc(643/ 1600 *100vw), 643px);
    height: min(calc(336/ 1600 *100vw), 336px);
    padding-top: min(calc(38/ 1600 *100vw), 38px);
    margin: 0 auto ;
}
.footer_circus picture {
    display: block;
}

.footer_circus .cloud {
    position: absolute;
    width: min(calc(636 / 1600* 100vw), 636px);
    top: -1%;
    left: 2%;
}

.footer_circus .clacker {
    position: absolute;
    width: min(calc(374 / 1600* 100vw), 374px);
    top: min(calc(80 / 1600* 100vw), 80px);
    left: 20.4%;
}

.footer_circus .circus_tent {
    position: relative;
    width: min(calc(434 / 1600* 100vw), 434px);
    top: min(calc(10 / 1600* 100vw), 10px);
    left: 48%;
    transform: translateX(-50%);
}

.footer_circus .pierott_img {
    width: min(calc(105 / 1600* 100vw), 105px);
    top: min(calc(184 / 1600* 100vw), 184px);
    left: min(calc(310 / 1600* 100vw), 310px);
    animation: swing02 2s infinite;
    transform-origin: 50% 100%;
}
.footer_circus .trainer_img {
    width: min(calc(90 / 1600* 100vw), 90px);
    top: min(calc(256 / 1600* 100vw), 256px);
    left: min(calc(181 / 1600* 100vw), 181px);
}
.footer_circus .girl_img {
    width: min(calc(70 / 1600* 100vw), 70px);
    bottom: min(calc(16 / 1600* 100vw), 16px);
    left: min(calc(450 / 1600* 100vw), 450px);
    animation: walk steps(1,end) 2s infinite;
}
.footer_circus .illust01{
    position: absolute;
    width: min(calc(67 / 1600* 100vw), 67px);
    top: min(calc(218 / 1600* 100vw), 218px);
    left: min(calc(7 / 1600* 100vw), 7px);
}
.footer_circus .illust02{
    position: absolute;
    width: min(calc(78 / 1600* 100vw), 78px);
    top: min(calc(230 / 1600* 100vw), 230px);
    right: min(calc(16 / 1600* 100vw), 16px);
}

footer .title01 {
    font-size: min(calc(47 / 1600* 100vw), 47px);
    margin-bottom: min(calc(22 / 1600* 100vw), 22px);
    text-align: left;
}

.footer_access {
    margin-bottom: min(calc(70/ 1600 *100vw), 70px);
}
.access_box {
    justify-content: space-between;
}

.access_inner {
    width: 30%;
}
.access_inner h3{
    width: min(calc(120 / 1600* 100vw), 120px);
    background-color: var(--black);
    padding: min(calc(8 / 1600* 100vw), 8px);
    margin-bottom: 0.5em;
    border-radius: 100px;
    font-size: min(calc(14 / 1600* 100vw), 14px);
    color: #fff;
    line-height: 1;
    text-align: center;
}

.access_address {
    line-height: 1.71;
}

.access_address p {
    font-size: min(calc(14 / 1600* 100vw), 14px);
}

.access_address small {
    font-size: min(calc(12 / 1600* 100vw), 12px);
}

.access_address .btn01 {
    width: min(calc(218 / 1600* 100vw), 218px);
    padding: min(calc(7/ 1600 *100vw), 7px) min(calc(20/ 1600 *100vw), 20px);
    margin: min(calc(9/ 1600 *100vw), 9px) 0 min(calc(12/ 1600 *100vw), 12px);
    font-size: min(calc(12 / 1600* 100vw), 12px);
    text-align: center;
    border-right: 3px solid var(--black);
    border-bottom: 3px solid var(--black);
}

.access_address a.btnIcon::after {
    right: 1.4em;
    top: 50%;
    transform: translateY(-50%);
    width: min(calc(17/ 1600 *100vw), 17px);
    height: min(calc(16/ 1600 *100vw), 16px);
}

.footer_logo {
    background-color: var(--black);
    padding: min(calc(36/ 1600 *100vw), 36px) 0;
    border-radius: min(calc(100 / 1600* 100vw), 100px) min(calc(100 / 1600* 100vw), 100px) 0 0;
    color: #fff;
    font-size: min(calc(12 / 1600* 100vw), 12px);
	background-color: #000000;
    padding: min(calc(12 / 1600 * 100vw), 36px) 0;
}

.footer_logo_box {
    align-items: center;
    justify-content: space-between;
    margin-bottom: min(calc(18 / 1600* 100vw), 18px);
}

.footer_logo_left {
    align-items: center;
    gap: min(calc(42 / 1600* 100vw), 42px);
    
}


@media screen and (max-width: 750px) {
    footer_bk {
        background: url(/hp_2024/img/pc/footer_bg-2x.png) no-repeat top calc(242/ 750 *100vw) center / 100%,
        linear-gradient(to bottom, #ffffd3 0%,#ffffd3 11%, var(--yellow) 11%, var(--yellow) 100%), #ffffd3;
    
    }
    .footer_circus{
        position: relative;
        width: calc(690/ 750 *100vw);
        height: calc(380/ 750 *100vw);
        padding-top: calc(30/ 750 *100vw);
        margin: 0 auto ;
    }
    .footer_circus picture {
        display: block;
    }
    
    .footer_circus .cloud {
        width: min(calc(636 / 750* 100vw), 636px);
        top: -4%;
        left: 5%;
    }
    
    .footer_circus .clacker {
        position: absolute;
        width: calc(382 / 750* 100vw);
        top: calc(72 / 750* 100vw);
        left: 20.4%;
    }
    
    .footer_circus .circus_tent {
        width: calc(442 / 750* 100vw);
        top: calc(7 / 750* 100vw);
        left: 47%;
    }
    
    .footer_circus .pierott_img {
        width: calc(105 / 750* 100vw);
        top: calc(181 / 750* 100vw);
        left: calc(326 / 750* 100vw);
    }
    .footer_circus .trainer_img {
        width: calc(90 / 750* 100vw);
        top: calc(256 / 750* 100vw);
        left: calc(193 / 750* 100vw);
    }
    .footer_circus .girl_img {
        width: calc(70 / 750* 100vw);
        bottom: calc(30 / 750* 100vw);
        left: calc(470 / 750* 100vw);
    }
    .footer_circus .illust01{
        width: calc(67 / 750* 100vw);
        top: calc(214 / 750* 100vw);
        left: calc(16 / 750* 100vw);
    }
    .footer_circus .illust02{
        width: calc(78 / 750* 100vw);
        top: calc(220 / 750* 100vw);
        right: calc(40 / 750* 100vw);
    }
    
    footer .title01 {
        font-size: calc(90 / 750 * 100vw);
        margin-bottom: calc(22 / 750* 100vw);
        text-align: center;
    }
    
    .footer_access {
        /*margin-bottom: calc(60/ 750 *100vw);*/
		margin-bottom: 0;
    }
    .access_box {
        display: block;
    }
    
    .access_inner {
        display: block;
        width: 100%;
    }
    .access_inner h3{
        width: calc(200 / 750* 100vw);
        padding: calc(16 / 750* 100vw) 0;
        font-size: calc(28 / 750* 100vw);
        text-align: center;
        margin-bottom:  calc(14 / 750* 100vw);
    }
    
    .access_address {
        line-height: 1.9;
        margin-bottom: calc(40 / 750* 100vw);
    }
    
    .access_address p {
        font-size: calc(28 / 750* 100vw);
    }
    
    .access_address small {
        font-size: calc(24 / 750* 100vw);
    }
    
    .access_address .btn01 {
        width: calc(430 / 750* 100vw);
        padding: calc(22/ 750 *100vw) 0;
        margin: calc(20/ 750 *100vw) auto;
        font-size: calc(24 / 750* 100vw);
        text-align: center;
    }
    
    .access_address a.btnIcon::after {
        right: 1.4em;
        top: 50%;
        transform: translateY(-50%);
        width: calc(34/ 750 *100vw);
        height: calc(32/ 750 *100vw);
    }
    
    .footer_logo {
        background-color: var(--black);
        padding: calc(48/ 750 *100vw) 0;
        border-radius: 0;
        font-size: calc(20 / 750* 100vw);
        line-height: 1.7;
    }
    
    .footer_logo_box {
        margin-bottom: calc(58 / 750* 100vw);
        align-items: flex-start;
    }
    
    .footer_logo_left {
        display: block;
    }
    
    .footer_logoimg {
        display: block;
        width: calc(311 / 750* 100vw);
        margin-bottom: calc(20 / 750* 100vw);
    }
    
    .footer_pimg img{
        width: calc(88 / 750* 100vw);
    }
    
}
