@charset "utf-8";
/* ===================================================
	Wedding CSS
====================================================== */
[id^="sec_"]:not(#sec_lead)>h2 {
    text-align: center;
}

@media screen and (min-width: 601px) {
    [id^="sec_"]:not(#sec_lead)>h2 {
        font-size: 36px;
    }
}


/* ---------------------------------------------------
    #sec_plan
------------------------------------------------------ */
#sec_plan {
    padding: 95px 0;
}
#sec_plan .plan_col {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
}
#sec_plan .plan_col .plan dt {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 15px 0;
    font-size: 20px;
}
#sec_plan .plan_col .plan dt .sm {
    font-size: 16px;
}
#sec_plan .plan_col .plan dd {
    line-height: 1.8;
}

@media screen and (min-width: 601px) {
    #sec_plan .plan_col .plan {
        width: 30%;
    }
}
@media screen and (max-width: 600px) {
    #sec_plan {
        padding: 45px 0;
    }
    #sec_plan .plan_col {
        flex-direction: column;
        align-items: center;
        gap: 30px 0;
        margin-top: 30px;
    }
    #sec_plan .plan_col .plan {
        width: min(100%, 360px);
    }
}


/* ---------------------------------------------------
    #sec_intro
------------------------------------------------------ */
#sec_intro {
    display: flex;
    justify-content: space-between;
    padding: 120px 0 130px;
}
#sec_intro .intro dl {
    margin-top: 25px;
}
#sec_intro .intro dd {
    margin-top: 15px;
    line-height: 1.8;
}
#sec_intro .intro dd p:has(.cmn_link_01) {
    margin-top: 30px;
}

@media screen and (min-width: 601px) {
    #sec_intro .intro {
        width: 45.8%;
    }
}
@media screen and (max-width: 600px) {
    #sec_intro {
        flex-direction: column;
        gap: 35px 0;
        padding: 50px 0 60px;
    }
    #sec_intro .intro dl {
        margin-top: 20px;
    }
    #sec_intro .intro dd {
        margin-top: 10px;
    }
    #sec_intro .intro dd p:has(.cmn_link_01) {
        margin-top: 25px;
        text-align: center;
    }
}


/* ---------------------------------------------------
    #sec_flow
------------------------------------------------------ */
.icon_sq::before {
    content: '■';
    color: var(--color-accent);
}

#sec_flow {
    padding: 100px 0 110px;
}
#sec_flow .flow_col {
    display: flex;
    justify-content: space-between;
    margin-top: 65px;
}
#sec_flow .flow_col dl {
    border-top: 1px solid #aaa;
}
#sec_flow .flow_col dl>div {
    border-bottom: 1px solid #aaa;
    padding: 35px 0;
}
#sec_flow .flow_col dt {
    font-size: 20px;
}
#sec_flow .flow_col dd {
    line-height: 1.8;
}
#sec_flow .flow_col li {
    padding-left: 1em;
    text-indent: -1em;
}
#sec_flow .flow_col li::before {
    content: '・';
}

@media screen and (min-width: 601px) {
    #sec_flow .flow_col dl {
        width: 45.8%;
    }
    #sec_flow .flow_col dl:first-child>div dd {
        padding: 10px 0 0 20px;
    }
    #sec_flow .flow_col dl:last-child>div {
        display: flex;
    }
    #sec_flow .flow_col dl:last-child>div dt {
        flex-shrink: 0;
        width: 30%;
    }
}
@media screen and (max-width: 600px) {
    #sec_flow {
        padding: 50px 0;
    }
    #sec_flow .flow_col {
        flex-direction: column;
        margin-top: 35px;
    }
    #sec_flow .flow_col dl:last-child {
        border-top: none;
    }
    #sec_flow .flow_col dl>div {
        padding: 20px 0;
    }
    #sec_flow .flow_col dt {
        padding-bottom: 15px;
        font-size: 18px;
    }
    #sec_flow .flow_col dd {
        padding: 0 0.5em;
    }
}