/* ==================================================
   3dr.css 完成整理版
================================================== */

/* ===== base ===== */

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

.section,
.product-section,
.cube-section,
.option-section,
.notice-section,
.color-guide-section,
.notice-flow-section,
.preservation-section,
.technology-section{
  max-width:1100px;
  margin:60px auto;
  padding:0 20px;
  box-sizing:border-box;
  text-align:center;
}

.center-text,
.hero-section,
.quality-section,
.design-feature-section,
.miyabi-section,
.long-life-section,
.preserved-difference-section,
.order-speed-section,
.design-option-section,
.choose-guide-section,
.link-section,
.link-card,
.main-logo-area,
.product-logo-area,
.design-sample{
  text-align:center;
}

/* ===== common card ===== */

.hero-card,
.quality-card,
.notice-card,
.order-card,
.service-card,
.set-card,
.feature-card,
.long-life-card,
.white-panel,
.sample-card,
.qa-box,
.use-case-card,
.speed-order-card,
.speed-inner,
.checkout-note,
.campaign-box,
.guide-card,
.guide-request-box,
.technology-card,
.technology-box,
.reason-card,
.premium-card,
.option-card,
.option-item,
.product-item,
.product-card,
.product-detail-box,
.price-box,
.important-box,
.notice-box,
.feature-box,
.column-card,
.message-box,
.color-correction-box,
.link-card,
.product-form,
.cart-check-card{
  box-sizing:border-box;
}

/* ===== hero ===== */

.hero-card{
  max-width:980px;
  margin:30px auto;
  padding:28px 18px;
  background:#ffffdd;
  border:1px solid #ead5d8;
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.hero-lead{
  max-width:820px;
  margin:18px auto 0;
  font-size:17px;
  line-height:1.9;
}

.logo-row,
.quality-logo-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin:12px auto;
}

/* ===== quality ===== */

.quality-frame{
  max-width:1000px;
  margin:40px auto;
  padding:24px;
  background:url("Dry/a/035.jpg");
  border:1px solid #ddd;
  border-radius:16px;
}

.quality-card{
  max-width:920px;
  margin:24px auto;
  padding:28px 18px;
  background:#fff;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.quality-caption{
  font-weight:bold;
  margin:12px auto 24px;
  line-height:1.8;
}

/* ===== guide / notice / service ===== */

.notice-card,
.order-card,
.service-card,
.set-card,
.feature-card,
.long-life-card,
.speed-order-card{
  max-width:1080px;
  margin:36px auto;
  padding:28px 18px;
  border-radius:16px;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.notice-card,
.cloth-bg{
  background:url("bg/cloth03.gif");
}

.service-card,
.long-life-card{
  background:url("bg/cloth04.gif");
}

.order-card,
.product-detail-box,
.campaign-box,
.premium-card{
  background:#fffdfb;
  border:1px solid #ead5d8;
}

.set-card{
  background:#ffffe1;
}

.yellow-bg{
  background:#ffffe3;
}

.notice-text{
  font-size:22px;
  color:#ff6600;
  font-weight:bold;
  margin-top:18px;
}

.order-card p{
  font-size:22px;
  line-height:1.8;
}

.flower-mark{
  display:block;
  margin:18px auto 0;
}

.large-copy{
  font-size:22px;
  font-weight:bold;
  color:#663300;
  margin:18px 0;
}

/* ===== long life / sample ===== */

.white-panel{
  max-width:980px;
  margin:28px auto;
  padding:28px 18px;
  background:#fff;
  border-radius:14px;
}

.section-text-plain{
  max-width:820px;
  margin:18px auto 30px;
  font-size:17px;
  line-height:1.9;
  color:#555;
}

.sample-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
  margin:40px 0;
}

.sample-card{
  max-width:850px;
  margin:36px auto;
  padding:20px;
  background:#fff;
  border:1px solid #eadfd2;
  border-radius:16px;
  box-shadow:0 3px 10px rgba(0,0,0,.05);
  text-align:center;
}

.sample-card img{
  width:auto;
  max-width:85%;
  height:auto;
  display:block;
  margin:20px auto;
  border-radius:12px;
}

.sample-card h3{
  font-size:26px;
  color:#0000cc;
  margin:18px 0;
}

.sample-card p{
  padding:18px;
  margin:0;
  font-size:15px;
  line-height:1.8;
  color:#3c7a2c;
}

.red-text,
.notice-red{
  color:#ff0000;
}

.divider-line{
  margin:30px auto;
  text-align:center;
}

.note-text{
  font-size:18px;
  font-weight:bold;
  color:#663300;
  margin:30px auto 10px;
}

/* ===== preserved difference ===== */

.qa-box{
  max-width:900px;
  margin:28px auto;
  padding:24px 18px;
  background:#fffdfb;
  border:1px solid #ead5d8;
  border-radius:14px;
  text-align:left;
}

.qa-box p{
  font-size:18px;
  line-height:1.9;
  color:#356b2c;
  margin:0 0 16px;
}

.question{
  font-size:24px !important;
  color:#009900 !important;
  font-weight:bold;
  text-align:center;
}

.use-case-card{
  max-width:980px;
  margin:36px auto;
  padding:26px 18px;
  background:#fff7f7;
  border:1px solid #f0c2c2;
  border-radius:14px;
}

.use-case-card p{
  font-size:22px;
  line-height:1.9;
  color:#ff3333;
  font-weight:bold;
}

/* ===== order speed ===== */

.speed-order-card{
  background:url("top/ache1.gif");
}

.order-lead{
  font-size:22px;
  line-height:1.8;
  font-weight:bold;
  margin:18px auto;
}

.speed-inner{
  max-width:980px;
  margin:28px auto;
  padding:24px 18px;
  background:#ffffca;
  border:1px solid #ead5d8;
  border-radius:14px;
}

.speed-inner p{
  font-size:20px;
  line-height:1.9;
  margin:14px auto;
}

.nationwide-text{
  font-size:20px;
  color:#ff6600;
  font-weight:bold;
  margin:26px auto;
}

.checkout-note{
  max-width:980px;
  margin:30px auto;
  padding:22px 18px;
  background:#fff;
  border:1px solid #ddd;
  border-radius:12px;
}

.checkout-note p{
  font-size:18px;
  line-height:1.8;
  margin:8px auto;
}

/* ===== campaign / design ===== */

.campaign-box{
  max-width:900px;
  margin:24px auto;
  padding:22px 18px;
  border-radius:14px;
}

.campaign-box p{
  font-size:22px;
  line-height:1.8;
  margin:10px auto;
}

.old-price,
.old-price-large{
  text-decoration:line-through;
}

.old-price-large{
  font-size:32px;
  color:#330000;
}

.campaign-price{
  color:#ff0000;
  font-size:32px !important;
  font-weight:bold;
}

.small-note{
  font-size:15px !important;
}

.design-grid{
  display:flex;
  justify-content:center;
  gap:20px;
  flex-wrap:wrap;
  margin:24px auto;
}

.design-card{
  max-width:520px;
  margin:24px auto;
}

.design-card h3{
  color:#ff4aa5;
  font-size:28px;
  margin-top:12px;
}

/* ===== choose guide ===== */

.guide-main-card{
  max-width:1100px;
  margin:40px auto;
  padding:30px 18px;
  background:#00cc00;
  border-radius:18px;
}

.guide-intro{
  font-size:24px;
  line-height:1.8;
  color:#fff;
  font-weight:bold;
  margin:24px auto;
}

.guide-card{
  max-width:980px;
  margin:30px auto;
  padding:28px 18px;
  background:#ffffe8;
  border-radius:14px;
}

.guide-card h3{
  font-size:34px;
  color:#0000cc;
  margin-bottom:24px;
}

.guide-card h4{
  font-size:26px;
  color:#0000cc;
  margin:18px 0;
}

.guide-card p,
.guide-request-box p{
  font-size:18px;
  line-height:1.9;
  margin:14px auto;
}

.guide-block{
  margin:34px auto;
}

.guide-request-box{
  max-width:980px;
  margin:30px auto;
  padding:30px 18px;
  background:#fff;
  border-radius:14px;
}

.guide-request-box p{
  font-size:20px;
}

.contact-tel{
  font-size:38px !important;
  color:#660000;
  font-weight:bold;
}

/* ===== technology / preservation ===== */

.technology-card{
  max-width:1100px;
  margin:40px auto;
  padding:30px 18px;
  background:url("frm/az/1/cloth05.gif");
  border-radius:16px;
}

.technology-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:20px;
  margin-top:28px;
}

.technology-box,
.feature-box{
  background:#fffdf8;
  border:1px solid #eadfd2;
  border-radius:20px;
  padding:40px;
  margin-bottom:40px;
  box-shadow:0 4px 16px rgba(0,0,0,.05);
}

.beauty-box{
  background:url("frm/az/1/cloth04.gif");
}

.keeping-box{
  background:url("frm/az/1/cloth03.gif");
}

.technology-heading,
.section-heading{
  text-align:center;
  margin-bottom:50px;
}

.technology-heading h2,
.section-heading h2{
  font-size:40px;
  color:#6b3f3f;
  margin-bottom:20px;
}

.technology-heading p,
.lead{
  font-size:18px;
  line-height:2;
  max-width:900px;
  margin:0 auto;
}

.technology-box h3,
.feature-box h3{
  text-align:center;
  font-size:32px;
  color:#7a4a2b;
  margin-bottom:30px;
}

.technology-box p,
.feature-box p,
.message-box p{
  line-height:2;
  font-size:17px;
  margin:18px 0;
}

.tech-list{
  max-width:520px;
  margin:20px auto;
  padding:0;
  list-style:none;
}

.tech-list li{
  font-size:18px;
  line-height:1.8;
  margin:8px auto;
  color:#663300;
}

.sub-copy{
  text-align:center;
  font-size:22px;
  color:#8a3c3c;
  margin-bottom:30px;
}

.catch-copy{
  text-align:center;
  font-size:24px;
  color:#c0392b;
  font-weight:bold;
  margin:30px 0;
}

.image-center{
  text-align:center;
  margin:30px 0;
}

.image-center img{
  max-width:100%;
  height:auto;
  border-radius:16px;
}

.small-image img{
  max-width:360px;
}

.two-column,
.before-after-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
  margin:30px 0;
}

.column-card{
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:16px;
  padding:24px;
  text-align:center;
}

.column-card h4{
  margin:18px 0 10px;
  font-size:24px;
  color:#7a4a2b;
}

.message-box{
  background:#fff5f5;
  border:1px solid #f0d0d0;
  border-radius:20px;
  padding:40px;
}

.message-box h3{
  font-size:32px;
  color:#8a3c3c;
  margin-bottom:20px;
}

/* ===== reason ===== */

.reason-card{
  max-width:1000px;
  margin:40px auto;
  padding:30px 18px;
  background:url("frm/az/1/cloth01.gif");
  border-radius:16px;
}

.reason-head{
  margin-bottom:24px;
}

.reason-item{
  display:flex;
  gap:18px;
  align-items:center;
  max-width:880px;
  margin:0 auto;
  padding:22px 18px;
  background:#ffffe8;
  border-bottom:1px solid #ead5d8;
}

.reason-item:nth-child(even){
  background:#fffdfb;
}

.reason-icon{
  flex:0 0 70px;
  text-align:center;
}

.reason-text{
  flex:1;
  text-align:left;
}

.reason-text h3{
  font-size:24px;
  color:#b85c5c;
  margin:0 0 8px;
}

.reason-text p{
  font-size:17px;
  line-height:1.9;
  margin:0 0 8px;
}

/* ===== premium ===== */

.premium-card{
  max-width:980px;
  margin:40px auto;
  padding:30px 18px;
  border-radius:16px;
}

.miyabi-link-box{
  display:block;
  max-width:820px;
  margin:30px auto 0;
  padding:24px 18px;
  background:url("frm/az/1/kabegami4.jpg");
  border-radius:14px;
  text-align:center;
}

/* ===== product list ===== */

.product-grid{
  max-width:1200px;
  margin:40px auto;
  padding:20px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:28px;
  box-sizing:border-box;
}

.product-card,
.product-item{
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:18px;
  padding:22px 16px;
  text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.product-card img,
.product-item img{
  border-radius:10px;
}

.product-main-img{
  width:100%;
  max-width:420px;
  margin:0 auto 15px;
  display:block;
}

.product-sub-images{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:12px 0;
}

.product-sub-images img{
  width:120px;
  height:auto;
}

.product-name{
  font-size:24px;
  color:#663300;
  margin:15px 0 10px;
  line-height:1.5;
}

.product-desc{
  font-size:16px;
  line-height:1.8;
  color:#444;
  margin-bottom:14px;
}

.product-price,
.option-price{
  font-size:28px;
  color:#ff3300;
  font-weight:bold;
  margin:10px 0;
}

.product-btn,
.btn{
  display:block;
  width:fit-content;
  margin:24px auto 0;
  padding:12px 24px;
  background:#b85c5c;
  color:#fff;
  border-radius:10px;
  text-decoration:none;
  font-weight:bold;
}

.product-btn:hover,
.btn:hover{
  opacity:.85;
}

.product-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}

.product-link img:last-child{
  margin-top:10px;
}

/* ===== option ===== */

.option-card{
  background:#fffdfb;
  border:1px solid #ead5d8;
  border-radius:18px;
  padding:30px 20px;
  margin:30px auto;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}

.option-title{
  font-size:34px;
  color:#b85c5c;
  margin-bottom:18px;
}

.option-lead{
  font-size:20px;
  line-height:1.9;
  margin-bottom:24px;
}

.option-warning{
  color:#ff0000;
  font-weight:bold;
  font-size:22px;
  line-height:1.8;
}

.option-note{
  font-size:17px;
  line-height:1.9;
  color:#555;
}

.option-main-img{
  width:100%;
  max-width:700px;
  height:auto;
  display:block;
  margin:20px auto;
  border-radius:12px;
  object-fit:contain;
}

.option-sub-img{
  max-width:220px;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
}

.option-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
  margin-top:30px;
}

.option-item{
  background:#fffaf5;
  border:1px solid #ead5d8;
  border-radius:18px;
  padding:28px 20px;
  text-align:center;
}

.option-item h3{
  font-size:24px;
  color:#663300;
  margin:16px 0 10px;
}

.option-tax{
  font-size:16px;
  color:#666;
}

.option-form{
  margin-top:20px;
}

.option-form input[type="text"]{
  display:block;
  width:90%;
  max-width:360px;
  margin:12px auto;
  padding:10px;
  border:1px solid #ccc;
  border-radius:8px;
  font-size:16px;
  box-sizing:border-box;
}

.option-form select,
.product-form select,
.select-box select{
  max-width:100%;
  padding:8px 10px;
  border-radius:6px;
  box-sizing:border-box;
}

.option-form img{
  max-width:220px;
  height:auto;
}

.option-small{
  font-size:15px;
  color:#666;
  line-height:1.7;
}

/* ===== product detail ===== */

.cart-check-card{
  max-width:320px;
  margin:30px auto;
  padding:18px;
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:12px;
  font-size:20px;
  font-weight:bold;
  line-height:1.8;
}

.product-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
  margin:30px auto;
}

.product-gallery img{
  width:100%;
  max-width:460px;
  height:auto;
  margin:0 auto;
  display:block;
  border-radius:12px;
}

.product-gallery.single-image{
  display:block;
  text-align:center;
}

.product-gallery.single-image img{
  width:auto !important;
  max-width:420px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block;
  margin:20px auto;
}

.design-sample p{
  font-size:22px;
  color:#009900;
  font-weight:bold;
}

.product-detail-box{
  max-width:900px;
  margin:36px auto;
  padding:24px 18px;
  border-radius:14px;
}

.price-box{
  max-width:760px;
  margin:36px auto;
  padding:28px 18px;
  background:#ffe6f3;
  border:1px solid #ead5d8;
  border-radius:16px;
  text-align:center;
}

.price-arrow{
  font-size:30px;
  color:#ff3300;
  font-weight:bold;
}

.sale-message{
  font-size:28px;
  color:#ff3300;
  font-weight:bold;
  line-height:1.6;
}

.product-form{
  max-width:720px;
  margin:30px auto;
  padding:24px 18px;
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:14px;
  text-align:center;
}

.product-form p{
  font-size:18px;
  line-height:1.8;
}

/* ===== set product ===== */

.set-image-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  margin:30px auto;
}

.set-image-row img{
  width:auto !important;
  max-width:260px !important;
  height:auto !important;
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}

.plus-mark{
  font-size:48px;
  font-weight:bold;
  color:#b85c5c;
}

.set-note{
  font-size:20px;
  color:#009900;
  font-weight:bold;
  line-height:1.8;
}

.set-unit-price{
  font-size:24px;
  color:#ff3300;
  font-weight:bold;
  margin-top:12px;
}

.set-select-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin:20px auto;
}

.select-box{
  background:#ffffb5;
  padding:14px;
  border-radius:10px;
  min-width:0;
}

.select-box label{
  display:block;
  font-weight:bold;
  margin-bottom:8px;
}

/* ===== rose bottle ===== */

.rose-bottle-product{
  background:url("frm/az/1/cloth04.gif");
}

.important-box{
  max-width:980px;
  margin:36px auto;
  padding:28px 18px;
  background:#fff;
  border:2px solid #f0c2c2;
  border-radius:16px;
  text-align:center;
}

.important-box h3{
  font-size:26px;
  color:#ff0000;
  margin-bottom:18px;
}

.important-box p{
  font-size:18px;
  line-height:1.9;
  color:#009900;
  font-weight:bold;
  margin:12px auto;
}

.mini-option-card{
  max-width:780px;
  background:#eaffea;
}

/* ===== notice / color guide ===== */

.notice-box{
  background:#ffffc8;
  border:1px solid #ead5a8;
  border-radius:16px;
  padding:34px 24px;
  text-align:left;
}

.notice-box h2{
  text-align:center;
  color:#ff0000;
  font-size:30px;
  margin:0 0 16px;
}

.notice-box p{
  font-size:17px;
  line-height:1.9;
  margin:0 0 16px;
}

.notice-lead{
  text-align:center;
  font-size:20px;
  font-weight:bold;
}

.notice-small{
  font-size:15px;
  color:#666;
}

.table-scroll{
  overflow-x:auto;
  margin:25px 0;
}

.colorList{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  font-size:15px;
}

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

.colorList th{
  background:#f5ffeb;
  font-weight:bold;
}

.color-change-list{
  max-width:480px;
  margin:22px auto;
  background:#fff;
  border:1px solid #ead5a8;
  border-radius:12px;
  padding:18px;
}

.color-change-list p{
  font-size:18px;
  font-weight:bold;
  margin:8px 0;
  text-align:center;
}

.before-after-card{
  background:#fff;
  border:1px solid #ead5d8;
  border-radius:14px;
  padding:16px;
  text-align:center;
}

.before-after-images{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.before-after-images img{
  max-width:130px;
  height:auto;
}

.before-after-images span{
  font-size:24px;
  font-weight:bold;
}

.notice-important{
  color:#c00;
  font-weight:bold;
  background:#fff5f5;
  border:1px solid #f0caca;
  border-radius:12px;
  padding:16px;
  margin-top:20px;
}

/* ===== flow ===== */

.flow-box{
  background:#fffbea;
}

.flow-step{
  display:flex;
  gap:20px;
  align-items:flex-start;
  background:#fff;
  border:1px solid #eadfb2;
  border-radius:16px;
  padding:22px;
  margin:22px 0;
}

.flow-number{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#d4a24c;
  color:#fff;
  font-size:26px;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.flow-content{
  flex:1;
}

.flow-content h3{
  margin:0 0 12px;
  font-size:24px;
  color:#7a4a2b;
}

.flow-content p{
  margin:10px 0;
  line-height:1.9;
}

.flow-arrow{
  text-align:center;
  font-size:30px;
  color:#c59b42;
  margin:10px 0;
}

.notice-list{
  margin:14px 0;
  padding-left:20px;
}

.notice-list li{
  margin:8px 0;
  line-height:1.8;
}

.warning-text{
  color:#c00;
  font-weight:bold;
  margin-top:16px;
}

/* ===== color correction ===== */

.color-correction-box{
  background:#fff8f8;
  border:1px solid #f0d7d7;
  border-radius:20px;
  padding:35px;
  margin-top:40px;
}

.color-correction-box h4{
  text-align:center;
  font-size:30px;
  color:#b03a2e;
  margin-bottom:30px;
}

.step-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:20px;
  align-items:center;
  margin-bottom:30px;
}

.step-card{
  background:#fff;
  border-radius:14px;
  padding:16px;
  text-align:center;
  border:1px solid #eadfd2;
}

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

.step-card p{
  margin-top:12px;
  font-weight:bold;
}

.step-arrow{
  font-size:40px;
  color:#b03a2e;
}

/* ===== link card ===== */

.link-card{
  max-width:1000px;
  margin:60px auto;
  padding:30px 20px;
}

.link-card h2,
.link-card p{
  text-align:center;
}

.link-card > a:first-of-type{
  display:block;
  text-align:center;
  margin-bottom:24px;
}

.link-card .product-btn{
  display:block;
  width:fit-content;
  margin:24px auto 0;
}

/* ===== smartphone ===== */

@media screen and (max-width:768px){

  .section,
  .product-section,
  .cube-section,
  .option-section,
  .notice-section,
  .color-guide-section,
  .notice-flow-section,
  .preservation-section,
  .technology-section{
    margin:40px auto;
    padding:0 14px;
  }

  .product-grid,
  .option-grid,
  .sample-grid,
  .before-after-grid,
  .two-column{
    grid-template-columns:1fr;
    gap:18px;
    padding:10px;
  }

  .product-card,
  .product-item,
  .option-card,
  .option-item,
  .feature-box,
  .technology-box,
  .message-box{
    padding:20px 14px;
  }

  .product-name{
    font-size:18px;
  }

  .product-desc{
    font-size:14px;
  }

  .product-price,
  .option-price{
    font-size:22px;
  }

  .product-sub-images img{
    width:90px;
  }

  .option-title{
    font-size:24px;
  }

  .option-lead,
  .option-warning{
    font-size:16px;
  }

  .option-note{
    font-size:14px;
  }

  .option-item h3{
    font-size:18px;
  }

  .option-form input[type="text"]{
    width:95%;
    font-size:14px;
  }

  .section-heading h2,
  .technology-heading h2{
    font-size:30px;
  }

  .feature-box h3,
  .technology-box h3{
    font-size:26px;
  }

  .flow-step,
  .reason-item{
    flex-direction:column;
    text-align:center;
  }

  .flow-number,
  .reason-icon{
    margin:0 auto;
  }

  .reason-text{
    text-align:center;
  }

  .step-grid{
    grid-template-columns:1fr;
  }

  .step-arrow{
    transform:rotate(90deg);
    text-align:center;
  }

  .contact-tel{
    font-size:28px !important;
  }

  .product-gallery.single-image img{
    max-width:340px !important;
  }

  .set-image-row img{
    max-width:220px !important;
  }

  .sample-card img{
    max-width:90%;
  }
}