@charset "utf-8";

img {
    display: block;
}
.topimg img {
    width: 100%;
    height: auto;
}
.top_image {
    margin-bottom: 0;
}
#event .top {
    margin-bottom: 0;
}

/* キャンペーン概要 */
.cp-summary {
    background: #d7000f;
}
.cp-contents {
    padding: 40px 5%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.cp-rule {
    background: #ffff;
    border-radius: 10px;
    box-shadow: 4px 4px 6px 0px rgba(83, 0, 0, 0.4);
}
.cp-ruleTitle {
    padding: 10px 14%;
    text-align: center;
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-size: 3rem;
    font-weight: bold;
    background: #1a0b08 url(https://couples.jp/article/event/2025/camp/10_booking_campaign2025/img/img_ranktext.png) no-repeat;
    background-size: 100%;
    background-position: center;
}
.cp-ruleTitleText {
    font-size: 2.5rem;
}
.cp-ruleList {
    display: flex;
    padding: 20px;
    flex-direction: column;
    gap: 10px;
}
.cp-ruleItem {
    display: flex;
    gap: 20px;
}
.cp-ruleRank {
    background: #1a0b08;
    padding: 10px;
    display: flex;
    width: 150px;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.8rem;
}
.cp-ruleRankText {
    flex: 1;
    font-weight: bold;
    font-size: 2.2rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    letter-spacing: 1;
}
.cp-ruleRankTextImportant {
    color: #d7000f;
}
.cp-apply {
    display: flex;
    gap: 30px;
}
.cp-screenshot {
    width: 250px;
}
.cp-screenshot-img {
    width: 100%;
    height: auto;
}
.cp-way {
    flex: 1;
    display: flex;
    flex-direction: 
    column;
    gap: 20px;
}
.cp-wayTitle {
    width: 100%;
    height: auto;
}
.cp-wayStep1 {
    width: 100%;
    height: auto;
}
.cp-booking {
    display: block;
    border: 5px solid #24b4a6;
    border-radius: 40px;
    padding: 20px;
    text-align: center;
    font-weight: bold;
    color: #24b4a6;
    font-size: 2.5rem;
    background: #fff;
    background: #fff;
}
.cp-booking:hover {
    background: #24b4a6;
    color: #fff;
    opacity: 1;
}
.cp-booking--cpentry {
    border: 5px solid #ff9e04;
    color: #ff3f04;
}
.cp-booking--cpentry:hover {
    background: #ff9e04;
    color: #fff;
    opacity: 1;
}
.cp-wayStep2 {
    width: 100%;
    height: auto;
}

/* 賞品 */
.cp-prize {
    background: #d7000f;
}
.cp-title {
}
.cp-titleImg {
    width: 100%;
    height: auto;
}
.cp-prizeContents {
}
.cp-prizeContentsImgA {
    width: auto;
    height: 100%;
}
.cp-prizeContentsImg {
    width: 100%;
    height: auto;
}
.cp-prizeContentsList {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 2列のグリッドを作成 */
    gap: 20px;
    margin-top: 20px;
}
.cp-prizeContentsListC2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 20px;
    margin-top: 20px;
}
.cp-prizeContentsItem {
    width: auto; /* widthの指定は不要になるため削除またはautoに設定 */
    grid-template-rows: auto 1fr; /* 1行目を自動、2行目を可変にする */
    display: grid; /* 各カードアイテムをグリッドコンテナにする */
}
.cp-prizearea {
    padding: 30px;
    background: #fff;
    position: relative;
    grid-row: 1;
}
.cp-prizeareaMeet {
    padding: 10px;
    background: #fff;
    position: relative;
    grid-row: 1;
}
.cp-prizeareaC2 {
    background: #fff;
    position: relative;
    grid-row: 1;
    padding: 10px;
    display: flex;
    justify-content: center;
    height: 210px;
    align-items: center;
}
.cp-people {
    background: #1a0b08;
    color: #fff;
    padding: 7px;
    position: absolute;
    top: 0;
    right: 0;
    height: auto;
    box-sizing: border-box;
    font-size: 1.8rem;
}
.cp-name {
    background: #fff23f;
    font-weight: bold;
    padding: 10px;
    grid-row: 2;
    font-size: 1.8rem;
    text-align: center;
}


/* Wチャンス */
.cp-wchance {
    background: #d7000f;
    padding: 0 5% 30px;
    margin-bottom: 50px;
}
.cp-wchanceArea {
    background: #ffff;
    border-radius: 10px;
    box-shadow: 4px 4px 6px 0px rgba(83, 0, 0, 0.4);
    padding: 30px;
}
.cp-wchanceAreaTitle { 
    width: 100%;
    height: auto;
}
.cp-wchanceList {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.cp-wchanceItem { 
    display: flex;
    gap: 20px;
}
.cp-prizeIcon {
    display: inline-flex;
    background: #d7000f;
    padding: 10px 10px;
    color: #fff;
    width: 100px;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
}
.cp-prizeText{
    flex: 1;
    font-weight: bold;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.8rem;
}
.cp-prizeTextImportant {
    color: #d7000f;
}
.cp-prizeIcon--target {
    background: #1a0b08;
}
.cp-targetText {
    flex: 1;
    display: flex;
    font-weight: bold;
    align-items: center;
    font-size: 1.8rem;
}


/* フォーム */
.m_cl {
    background-color: #fff23f;
    color: #1a0b08 !important;
}
.camp_form h2 {
    background-color: #fff23f;
}

.btn-entry {
    width: 400px;
    margin: 30px auto 0;
}