:root {
--bg-color: #fdfbf7;
--main-border-color: #e0d5c1;
--accent-color: #8d734a;
--text-color: #555;
--light-bg: #fff;
--pink-bg: #fef5f6;
--yellow-bg: #fdf9f0;
}
body {
font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
background-color: #ffffff;
color: #555;
line-height: 1.6;
margin: 0;
padding: 0;
-webkit-text-size-adjust: 100%;
}
.campaign-container {
max-width: 600px; /* メルマガ標準サイズに調整 */
margin: 0 auto;
background-color: #fdfbf7;
padding: 40px 20px;
border: 1px solid #e0d5c1;
}
.campaign-header {
text-align: center;
margin-bottom: 40px;
position: relative;
}
.campaign-header h1 {
font-size: 16px;
font-weight: normal;
color: #8d734a;
letter-spacing: 0.2em;
margin: 0;
display: inline-block;
padding: 0 15px;
background-color: #fdfbf7;
position: relative;
z-index: 1;
font-style: italic;
}
.campaign-header::before {
content: "";
position: absolute;
top: 50%;
left: 0;
right: 0;
height: 1px;
background-color: #e0d5c1;
z-index: 0;
}
.event-section {
background-color: #ffffff;
border: 1px solid #e0d5c1;
padding: 25px;
margin-bottom: 30px;
}
.event-title-area {
display: flex;
align-items: center;
margin-bottom: 20px;
border-left: 4px solid #a67c7c;
padding-left: 15px;
}
.reunion .event-title-area {
border-left-color: #c1a87d;
}
.event-badge {
width: 50px;
height: 50px;
border-radius: 50%;
border: 1px solid #e0d5c1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 9px;
color: #a67c7c;
margin-right: 15px;
flex-shrink: 0;
text-align: center;
line-height: 1.2;
}
.reunion .event-badge { color: #c1a87d; }
.event-main-title {
font-size: 20px;
font-weight: bold;
color: #333;
margin: 0;
}
.event-subtitle { font-size: 11px; color: #999; }
/* コースグリッド */
.course-grid {
display: table;
width: 100%;
border-spacing: 10px;
margin-bottom: 20px;
}
.course-card {
display: table-cell;
width: 33%;
border: 1px solid #eee;
padding: 15px 5px;
text-align: center;
background-color: #ffffff;
vertical-align: top;
}
.course-card.recommended {
border: 1px dashed #8d734a;
background-color: #fffaf0;
}
.discount-amount { font-size: 15px; font-weight: bold; color: #333; }
.discount-amount span { font-size: 11px; }
/* ルール・ノート */
.rule-list { padding: 0; margin: 0 0 20px 0; font-size: 13px; list-style: none; }
.rule-list li { margin-bottom: 8px; color: #666; padding-left: 15px; position: relative; }
.rule-list li::before { content: "・"; position: absolute; left: 0; color: #ccc; }
.comparison-box {
background-color: #fef5f6;
padding: 15px;
font-size: 13px;
margin-bottom: 20px;
}
.reunion .comparison-box { background-color: #fdf9f0; }
/* 本日のおすすめセクション */
.recommend-section {
margin-top: 50px;
border-top: 2px solid #e0d5c1;
padding-top: 30px;
}
.recommend-title {
text-align: center;
font-size: 16px;
color: #8d734a;
margin-bottom: 25px;
letter-spacing: 0.1em;
}
.lady-grid {
display: table;
width: 100%;
border-spacing: 15px 0;
}
.lady-card {
display: table-cell;
width: 50%;
background: #fff;
border: 1px solid #eee;
text-align: center;
padding-bottom: 15px;
}
.lady-photo {
width: 100%;
height: auto;
background-color: #eee; /* 画像がない場合のダミー色 */
margin-bottom: 10px;
}
.lady-name { font-weight: bold; font-size: 14px; color: #333; margin: 5px 0; }
.lady-tag {
display: inline-block;
font-size: 10px;
padding: 2px 8px;
background: #8d734a;
color: #fff;
border-radius: 2px;
margin-bottom: 5px;
}
.footer-notes { font-size: 11px; color: #bca085; text-align: center; margin-top: 30px; }
@media (max-width: 480px) {
.course-card { display: block; width: 100%; margin-bottom: 10px; }
.lady-card { display: block; width: 100%; margin-bottom: 20px; }
.course-grid, .lady-grid { display: block; border-spacing: 0; }
}
Two Events, One Campaign
FIRST
MEET
初めてご指名のお嬢様限定
初指名割
70min
2,000円OFF
90min
4,000円OFF
120min ★
5,000円OFF
一度も指名したことのないお嬢様が対象
在籍・新人問わず全キャスト対象
120分以上はポイント併用OK