@charset "utf-8";

.main {
    background-color: #f0fae6;
}

.part_ttl .en {
    color: var(--color-green);
}

/* campaign */
.campaign .section_content {
    padding-bottom: 55rem;
}
.campaign_line_id {
    background-color: #fff;
    text-align: center;
    padding-block: 30rem 31rem;
    margin-top: 40rem;
}
.campaign_line_id.ver_short {
    width: 530rem;
    margin-left: auto;
    margin-right: auto;
}
.campaign_line_id > dt {
    font-size: 26rem;
    font-weight: 500;
}
.campaign_line_id > dd {
    font-size: 44rem;
    color: var(--color-green);
    margin-top: 8rem;
}

/* campaign_line */
.campaign_line_lead_wrap {
    position: relative;
    width: fit-content;
    margin: 0 auto 56rem;
    text-align: center;
}
.campaign_line_lead_deco_woman {
    width: 137rem;
    position: absolute;
    left: -53.182rem;
    bottom: 0;
}
.campaign_line_lead_deco_man {
    width: 141rem;
    position: absolute;
    right: -45rem;
    bottom: -35rem;
}
.campaign_line_lead_img {
    width: 606rem;
}
.campaign_line_lead_txt {
    font-size: 28rem;
    font-weight: 400;
    line-height: calc(44 / 20.53);
}

.campaign_line_list {
    margin-top: 80rem;
}
.campaign_line_list > li + li {
    margin-top: 54rem;
}
.campaign_line_list > li:last-child {
    overflow-y: hidden;
}
.campaign_line_list_inner {
    display: flex;
    align-items: start;
    column-gap: 30rem;
    position: relative;
}
.campaign_line_list_inner > dt {
    background-color: var(--color-green);
    display: inline-block;
    padding: 27rem 26rem 23rem;
    border-radius: 50%;
    flex-shrink: 0;
}
.campaign_line_list_inner > dd {
    width: 100%;
}
.campaign_line_list_inner::after {
    content: '';
    width: 4rem;
    height: 100%;
    background-color: var(--color-green);
    position: absolute;
    top: 95rem;
    left: 54rem;
}
.campaign_line_list_inner_step_1,
.campaign_line_list_inner_step_2 {
    width: 62rem;
}
.campaign_line_list_inner_txt {
    font-size: 28rem;
    line-height: calc(44 / 28);
    padding-right: 2rem;
}
.campaign_line_list_inner .btn_green {
    width: 432.273rem;
    margin: 40rem 0 0;
}
.campaign_line_list_img {
    width: 429rem;
    margin-top: 45rem;
}
.campaign_line_arrow {
    font-size: 32rem;
    color: #fff100;
    text-align: center;
    position: relative;
    margin-top: 130rem;
}
.campaign_line_arrow::after {
    content: '';
    clip-path: polygon(82% 0, 82% 55%, 100% 55%, 50% 100%, 0 55%, 18% 55%, 18% 0);
    width: 380rem;
    height: 80rem;
    background-color: var(--color-green);
    position: absolute;
    top: -22rem;
    left: 50%;
    transform: translate(-50%);
}
.campaign_line_arrow_inner {
    z-index: 1;
    position: relative;
}
.campaign_point_wrap {
    background-color: #fff;
    margin-top: 45rem;
    padding: 50rem 39.545rem 39.545rem;
}
.campaign_txt_line {
    font-size: 32rem;
    text-align: center;
    display: block;
    line-height: calc(48 / 32);
}
.campaign_txt_line_bubble {
    font-size: 32rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    margin: 32rem auto 36rem;
    width: 100%;
    height: 53rem;
    background-color: var(--color-green);
    box-sizing: border-box;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.campaign_txt_line_bubble::after {
    content: '';
    width: 30rem;
    height: 18rem;
    background-color: var(--color-green);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    left: 50%;
    bottom: -18rem;
    transform: translateX(-50%);
}
.campaign_line_period {
    font-size: 32rem;
    line-height: calc(48 / 32);
    text-align: center;
    margin-top: 30rem;
    padding-top: 30rem;
    border-top: 2px solid #cccccc;
}
.campaign_line_period_color_main {
    color: var(--color-green);
}
.campaign_line_period_m {
    margin-inline: -14rem 5rem;
}
.campaign_line_period_ml {
    margin-left: -12rem;
}
.campaign_line_point_info {
    font-size: 22rem;
    line-height: calc(29.33 / 16.13);
    font-weight: 500;
    margin-top: 30rem;
}

/* campaign_member */
.campaign_member {
    margin-top: 115rem;
    padding-top: 140rem;
    background-image: url(../img/deco_border.svg);
    background-position: top center;
    background-repeat: no-repeat;
}
.campaign_member_ttl {
    font-size: 58rem;
    line-height: calc(76 / 58);
    text-align: center;
}
.campaign_member_list {
    margin-top: 45rem;
}
.campaign_member_list > li + li {
    margin-top: 72rem;
}
.campaign_member_list_ttl {
    background-color: var(--color-green);
    text-align: center;
    padding-block: 19rem;
    border-radius: 31rem;
}
.campaign_member_list_ttl_img_1 {
    width: 126rem;
}
.campaign_member_list_ttl_img_2,
.campaign_member_list_ttl_img_3 {
    width: 132rem;
}
.campaign_member_list_ttl_img_4 {
    width: 136rem;
}
.campaign_member_list_txt {
    font-size: 28rem;
    line-height: calc(44 / 28);
    margin-top: 35rem;
    font-weight: 500;
}
.campaign_member_list_txt_red {
    color: var(--color-red);
    font-weight: 700;
}
.campaign_member_img_wrap {
    text-align: center;
    margin-top: 45rem;
}
.campaign_member_img_1 {
    width: 395rem;
}
.campaign_member_img_2 {
    width: 440rem;
}
.campaign_member_tap_list {
    margin-top: 40rem;
}
.campaign_member_tap_list > li {
    font-size: 28rem;
    line-height: calc(44 / 28);
    font-weight: 500;
    position: relative;
    padding-left: 35rem;
}
.campaign_member_tap_list > li::before {
    content: '';
    width: 0;
    height: 0;
    border-top: solid 14rem transparent;
    border-bottom: solid 14rem transparent;
    border-left: solid 23rem var(--color-green);
    border-right: 0;
    position: absolute;
    left: 0;
    top: 10rem;
}
.campaign_member_tap_list > li + li {
    margin-top: 40rem;
}
.campaign_member_tap_list_link {
    background-color: var(--color-green);
    display: inline-grid;
    padding: 10rem 16rem;
    border-radius: 18rem;
    margin-right: 5rem;
    transition: opacity 0.3s;
    vertical-align: text-bottom;
}
.campaign_member_tap_list_link_img {
    width: 98rem;
}
.campaign_member_flow {
    margin-top: 55rem;
}
.campaign_member_flow > li + li {
    margin-top: 92rem;
    position: relative;
}
.campaign_member_flow > li + li::after {
    content: '';
    clip-path: polygon(82% 0, 82% 55%, 100% 55%, 50% 100%, 0 55%, 18% 55%, 18% 0);
    width: 152rem;
    height: 33rem;
    background-color: var(--color-green);
    position: absolute;
    top: -65rem;
    left: 50%;
    transform: translate(-50%);
}
.campaign_member_flow_inner > dt {
    font-size: 30rem;
    text-align: center;
    color: var(--color-green);
    background-color: #fff;
    border: solid 2px var(--color-green);
    padding-block: 20rem 22rem;
    letter-spacing: 0.02em;
}
.campaign_member_flow_inner > dd {
    border-left: solid 2px var(--color-green);
    border-right: solid 2px var(--color-green);
    border-bottom: solid 2px var(--color-green);
    background-color: #fff;
    text-align: center;
    padding: 32.727rem 0 95.455rem;
}
.campaign_member_flow_inner_img {
    width: 384rem;
}
.campaign_member_list_info {
    margin-top: 70rem;
}
.campaign_member_list_info > li {
    font-size: 24rem;
    line-height: calc(36 / 24);
    text-indent: -25rem;
    padding-left: 25rem;
    font-weight: 500;
}
.campaign_member_list_info > li::before {
    content: '※';
}
.campaign_member .btn_green {
    margin-top: 110rem;
}
.campaign_member_list_txt + .btn {
    height: 81.818rem;
    margin-top: 54.545rem;
}
.campaign_member_list_txt + .btn .btn_txt {
    font-size: 28rem;
}
@media (min-width: 1024px) {
    @media (hover: hover) {
        .campaign_member_tap_list_link:hover {
            opacity: 0.5;
        }
    }
}


