body{
  margin:0;
  font-family:"Meiryo","Hiragino Kaku Gothic ProN",sans-serif;
  color:#555;
  line-height:1.9;
  background:#fff;
}

img{
  max-width:100%;
  height:auto;
}

p{
  margin:12px auto;
  max-width:800px;
}

section{
  margin-bottom:30px;
}

.page-wrap,
.wrap{
  max-width:1100px;
  margin:0 auto;
  padding:20px;
  text-align:center;
}

.wrap{
  background:#fff;
}

.section{
  max-width:1000px;
  margin:40px auto;
  padding:30px 20px;
}

.section-box,
.product-link-box,
.product-card,
.before-after-card,
.design-card,
.flow-step,
.footer-info,
.rose-card{
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.section-box,
.footer-info,
.catch-copy{
  background:#fffaf5;
}

h1,h2,h3{
  color:#b5b500;
  line-height:1.6;
  text-align:center;
}

h1{font-size:28px;}
h2{font-size:24px; margin-bottom:22px;}
h3{font-size:20px;}

.lead{
  color:#777700;
  font-size:18px;
}

.old-page-notice{
  background:#fff3cd;
  border:1px solid #ffeeba;
  padding:16px;
  margin:25px auto;
  max-width:900px;
}

.old-page-notice strong,
.footer-info .warning{
  color:#cc0000;
}

.today-box,
.notice{
  background:#ffe6e6;
  border:1px solid #e8bcbc;
  padding:22px;
  margin:25px auto;
  max-width:700px;
  font-size:30px;
  color:#666;
  font-weight:bold;
}

.notice{
  border-color:#f5b5b5;
  font-size:24px;
}

.green-message{
  color:#009900;
  font-weight:bold;
  font-size:18px;
}

.secure-box,
.item-box{
  background:#fff;
  border:1px solid #ddd;
  padding:24px;
  margin:30px auto;
  max-width:900px;
}

.item-box{
  border:3px solid #ddd;
  padding:25px;
  max-width:1000px;
}

.product-link-box,
.product-card,
.before-after-card,
.footer-info{
  padding:28px 20px;
  margin:35px auto;
  max-width:900px;
  text-align:center;
}

.product-card,
.before-after-card{
  max-width:1000px;
  margin:30px auto;
}

.btn{
  display:inline-block;
  padding:14px 28px;
  margin-top:16px;
  background:#d64818;
  color:#fff;
  text-decoration:none;
  border-radius:999px;
  font-weight:bold;
}

.product-grid,
.before-after-list{
  max-width:1000px;
  margin:40px auto;
}

.product-card p{
  max-width:780px;
}

.price-text{
  color:#cc0000;
  font-size:20px;
  font-weight:bold;
}

.small-deco{
  width:94px;
  margin-top:18px;
}

.product-images,
.before-after-images,
.rose-gallery{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}



.before-after-images{
  align-items:center;
  gap:16px;
  margin:20px auto;
}

.product-images img{max-width:48%;}
.before-after-images img{max-width:42%;}

.arrow{
  font-size:36px;
  color:#ff6600;
  font-weight:bold;
}

.rose-number-grid,
.design-grid{
  max-width:1000px;
  margin:40px auto;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:20px;
}

.design-grid{
  margin:30px auto;
  grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
}

.rose-card,
.design-card{
  padding:20px;
  text-align:center;
}

.rose-card h3{
  color:#ff0099;
  font-size:22px;
  margin-bottom:10px;
}

.design-card img{
  border-radius:8px;
}

.compare-table{
  width:100%;
  max-width:900px;
  margin:25px auto;
  border-collapse:collapse;
  background:#fff;
}

.compare-table th,
.compare-table td{
  border:1px solid #ead5d8;
  padding:14px;
  text-align:left;
  vertical-align:top;
}

.compare-table th{
  background:#fffaf5;
  color:#b5b500;
  text-align:center;
}

.flow-list{
  max-width:900px;
  margin:30px auto;
  display:grid;
  gap:18px;
}

.flow-step{
  padding:22px;
  text-align:left;
}

.flow-step strong{
  color:#b5b500;
  font-size:20px;
}

.speed-order-box,
.top-cta{
  background:#fff5f7;
  border:2px solid #f0c7d0;
  border-radius:16px;
  padding:28px 20px;
  max-width:900px;
  margin:35px auto;
  text-align:center;
}

.top-cta{
  background:#fff0f3;
  border-color:#f5c2c7;
  padding:18px;
  margin:20px auto;
  border-radius:12px;
}

.top-cta a{
  display:inline-block;
  margin-top:10px;
  font-weight:bold;
  color:#b3003c;
}

.footer-info address{
  font-style:normal;
  line-height:2;
}

.footer-note{
  max-width:900px;
  margin:30px auto;
  text-align:center;
  color:#666;
}

.footer-links{
  margin-top:20px;
}

.footer-links a{
  color:#8a7a00;
  font-weight:bold;
}

.catch-copy{
  text-align:center;
  padding:40px 20px;
  border-radius:14px;
  margin:40px auto;
  max-width:900px;
}

.catch-copy .en{
  font-size:22px;
  color:#848400;
  font-weight:bold;
  line-height:1.6;
}

.catch-copy .jp{
  margin-top:10px;
  color:#b5b500;
  font-size:18px;
}

.catch-copy .desc{
  margin-top:20px;
  line-height:1.8;
}

.rose-section{
  max-width:900px;
  margin:40px auto;
  text-align:center;
}

.rose-section h2{
  color:#cc66cc;
}

.rose-gallery{
  margin-top:15px;
}

.rose-gallery img{
  max-width:280px;
  border-radius:8px;
}

.rose-message{
  margin-top:20px;
  line-height:1.8;
}

.rose-highlight{
  color:#ff0099;
  font-size:22px;
  font-weight:bold;
  margin:20px 0;
}

.box{
  border:1px solid #ead8d0;
  background:#fffaf5;
  padding:28px;
  margin:35px auto;
  max-width:1000px;
}

.cta{
  margin:30px auto;
}

.rose-list,
.simple-list{
  text-align:left;
  max-width:720px;
  margin:20px auto;
  line-height:1.9;
}

.rose-list{
  max-width:700px;
  margin:0 auto;
  line-height:1.8;
}

.rose-list li,
.simple-list li{
  margin-bottom:8px;
}

.notice-box{
  background:#fff8f8;
  border:1px solid #f0cfd4;
  padding:25px;
  margin:40px auto;
  border-radius:12px;
  max-width:900px;
  line-height:1.9;
}

.notice-box h2{
  font-size:22px;
  margin-bottom:15px;
  color:#c85c5c;
}

.notice-box h3{
  margin-top:25px;
  font-size:18px;
  color:#444;
}

.note{
  font-size:14px;
  color:#777;
}

.highlight{
  color:#e60033;
  font-weight:bold;
}

@media screen and (max-width:768px){
  .page-wrap,
  .wrap{
    padding:12px;
  }

  h1{font-size:22px;}
  h2{font-size:20px;}

  .section{
    padding:24px 14px;
    margin:28px auto;
  }

  .today-box{
    font-size:22px;
  }

  .notice{
    font-size:20px;
  }

  .box,
  .item-box{
    padding:18px;
  }

  .btn{
    display:block;
    width:90%;
    margin:16px auto 0;
  }

  .product-images img,
  .before-after-images img{
    max-width:90%;
  }

  .arrow{
    font-size:28px;
  }

  .compare-table,
  .compare-table tbody,
  .compare-table tr,
  .compare-table th,
  .compare-table td{
    display:block;
    width:100%;
  }

  .compare-table th{
    margin-top:12px;
  }
}


.divider-deco{
  border-top:2px dashed #e8bcbc;
  margin:50px auto;
  max-width:800px;
}


.product-card{
  background:#fffaf5;   /* ← ほんのりピンクベージュ */
  border:1px solid #ead5d8;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
  padding:28px 20px;
  margin:35px auto;
  max-width:900px;
}






.link-showcase{
  max-width:1100px;
  margin:50px auto;
  padding:20px;
  text-align:center;
}

.showcase-card{
  background:#fffaf5;
  border:1px solid #ead5d8;
  border-radius:14px;
  padding:28px 20px;
  margin:35px auto;
  max-width:1000px;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.image-row{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0;
}

.image-row img{
  max-width:300px;
}

.big-message{
  font-size:24px;
  color:#ff4aa5;
  font-weight:bold;
  line-height:1.7;
  margin:20px 0;
}


.caution-section{
  background:#fffff0;
}

.caution-title{
  color:#ff0000;
  font-size:30px;
}

.caution-text{
  max-width:850px;
  margin:25px auto;
  text-align:left;
  line-height:1.9;
}

.caution-text p{
  max-width:none;
  margin:0 0 14px;
}

.table-note{
  text-align:right;
  max-width:900px;
  font-size:14px;
}

.colorList{
  width:100%;
  max-width:900px;
  margin:20px auto;
  border-collapse:collapse;
  background:#fff;
  font-size:15px;
}

.colorList th,
.colorList td{
  border:1px solid #ddd;
  padding:8px 10px;
  text-align:center;
}

.colorList th{
  background:#f5ffeb;
}

.caution-notes{
  max-width:850px;
  margin:30px auto;
  text-align:left;
  font-size:15px;
}

.caution-notes p{
  max-width:none;
  margin:0 0 10px;
}

.color-change-box{
  background:#fffaf5;
  border:1px solid #ead5d8;
  border-radius:14px;
  padding:24px 20px;
  margin:35px auto;
  max-width:800px;
  text-align:center;
  font-weight:bold;
}

@media screen and (max-width:768px){
  .colorList{
    font-size:13px;
  }

  .colorList th,
  .colorList td{
    padding:6px 4px;
  }

  .table-note{
    text-align:left;
  }


  .section1{
    margin:55px auto;
  }

}




