@charset "UTF-8";

/*全体*/

:root {
    --color-primary: #0f6f47;
    --color-background: #e1f5ec;
    --color-background-gray: #f2f2f2;
}

.member-program-container section,
.parent-container {
    margin-bottom: 50px;
}

.member-program-container {
    padding: 40px;
}

.member-program-container .sub-container {
    margin-bottom: 50px;
}

/*テキスト*/

.member-program-container p,
.member-program-container dd,
.member-program-container li,
.member-program-container dt,
.member-program-container td,
.member-program-container th {
  font-size: 16px; 
  line-height: 1.7;
}

.member-program-container dd {
    margin-left: 0;
}

.member-program-container p {
    margin-bottom: 1.5em;
}

.member-program-container h3 {
    margin: 1.5em 0;
    border-left: 5px solid #138757;
    padding: 6px 8px;
    font-size: 1.3rem;
    font-weight: 500;
}

.member-program-container h4 {
    font-size: 1.2rem;
    margin-bottom: 1.5em;
    font-weight: 400;
}

.program-subtitle {
    font-weight: 500;
    color: var(--color-primary);
    text-align: center;
}

.rose_club_logo {
    display: flex;
    justify-content: center;
}

.program-announce .program-date {
    font-size: 26px;
    text-align: center;
}

.highlight-txt {
    font-weight: 600;
    color: var(--color-primary);
}

.program-attention {
    color: var(--color-primary);
    font-weight: 600;
    font-size: 1.2rem;
	list-style: none;
    margin-bottom: 10px;
}

.br-sp {
    display: none;
}

.indent {
	padding-left: 16px;
    text-indent: -16px;
}

.indent.green {
	font-weight: 400;
	color: var(--color-primary);
    margin-bottom: 15px;
}

/*ROSE CLUB*/
.rose-club-point {
    background-color: #f2f2f2;
    padding: 30px;
    border-radius: 8px;
}

.rose-club-point li,
.program-attention.indent {
    list-style: none;
    padding-left: 16px;
    text-indent: -16px;
}
.rose-club-point li {
    line-height: 2.0;
}

/*会員登録について*/
.sign-up-block,
.loyal-customer-bonus {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 80%;
    max-width: 900px;
    margin: auto;
    margin-bottom: 40px;
    gap: 30px;
    align-items: stretch;
}

.sign-up-group,
.bonus-group {
    flex: 1;
    background-color: var(--color-background);
    padding: 30px;
    border-radius: 8px;
}


.group-title {
    height: 30px;
    font-size: 16px;
    font-weight: 600;
    color: var(--color-primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}

.shop-icon,
.online-icon,
.present-icon {
    position: relative;
    padding-left: 35px;
}

.shop-icon::before,
.online-icon::before,
.present-icon::before {
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}

.online-icon::before {
    background-image: url(../../img/topic/topic_onlinshop_icon.png);
}

.shop-icon::before {
    background-image: url(../../img/topic/topic_shop_icon.png);
}

.present-icon::before {
    background-image: url(../../img/topic/topic_present_icon.png);
    top: -2px;
}

.present-icon p {
    display: flex;
    align-items: center;
}

.sign-up-group dd {
    margin-left: 0;
}

.point-table {
    width: 100%;
    max-width: 900px;
    margin: auto;
    border-collapse: collapse;
    margin-bottom: 40px;
}

.point-table th,
.point-table td {
    width: 50%;
    padding: 10px;
    text-align: center;
    border: 1px solid var(--color-primary);
}

.point-table th {
    background-color: var(--color-primary);
    color: #fff;
}

.point-table td {
    border: 1px solid var(--color-primary);
}

.points-expiry {
    display: flex;
    max-width: 900px;
    align-items: stretch;
    margin: auto;
    margin-bottom: 40px;
    box-sizing: border-box;
}

.points-expiry dt {
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #fff;
    font-weight: 500;
    width: 40%;
    padding: 20px;
}

.points-expiry dd {
    width: 60%;
    padding: 20px;
    border: 1px solid var(--color-primary);
    margin-left: 0;
}


.qa-list dt {
    margin-bottom: 1em;
    color: #333333;
    font-weight: 600;
}

.qa-list dt::before,
.qa-list dd::before {
    margin-right: .4em;
}

.qa-list dt::before {
    content: "Q.";
    color: var(--color-primary);
}

.qa-list dd {
    margin: 0 0 2.5em;
    padding: 1em 1.5em;
    background-color: var(--color-background-gray);
}

.qa-list dd::before {
    content: "A.";
}

.step-block {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    max-width: 900px;
    margin: 0;
    padding: 20px 40px;
    margin: auto;
    border: 1px solid var(--color-primary);
    box-sizing: border-box;
    border-radius: 8px;
    gap: 10px 20px;
}

.step-list,
.step-list span {
    color: var(--color-primary);
    font-weight: 600;
}

.step-list {
    /*width: 220px;*/
    list-style: none;
    /*margin: 0;
    padding-left: 1.25em;
    padding: 10px;*/
    display: flex;
    align-items: center; 
    gap: 6px;
    /*position: relative;*/
}

.step-list span {
    /*left: -10px;
    margin: 0;*/
    font-size: 1.2rem;
}

.bonus-group dd {
    margin-left: 0;
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 1.0rem;
}

@media screen and (max-width: 768px) {
    .member-program-container p,
.member-program-container dd,
.member-program-container li,
.member-program-container dt,
.member-program-container td,
.member-program-container th {
  font-size: 15px; 
  line-height: 1.6;
}

    .member-program-container h2 {
        font-size: 23px;
        margin: 1.5em 0;
    }

    .member-program-container {
        padding: 15px;
    }

    .sign-up-block,
    .loyal-customer-bonus {
        flex-direction: column;
    }

    .sign-up-block,
    .step-block,
    .loyal-customer-bonus {
        width: 100%;
    }

    .points-expiry {
        flex-direction: column;
    }

    .points-expiry dd,
    .points-expiry dt {
        width: 100%;
        box-sizing: border-box;

    }


    .step-list {
        width: 100%;
    }

    .rose-club-point {
        padding: 20px;
    }

    .br-sp {
        display: block;
    }

    .rose-club-point li {
    line-height: 2.0;
}
}