/* MUNIMAYU 400万円達成用 TOP PAGE
   商品写真は .product-visual / .photo-placeholder を実画像に差し替えてください。
*/
:root{
  --ink:#26302d;
  --muted:#69726e;
  --paper:#fbfaf7;
  --soft:#f1eee7;
  --line:#ddd8ce;
  --accent:#5d765e;
  --accent-dark:#405642;
  --gold:#a98b56;
  --white:#fff;
  --max:1180px;
  --shadow:0 16px 45px rgba(37,44,40,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.85;
  letter-spacing:.035em;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.site-header{
  position:sticky;top:0;z-index:20;
  background:rgba(251,250,247,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(221,216,206,.7);
}
.header-inner{
  max-width:var(--max);margin:auto;padding:15px 24px;
  display:flex;align-items:center;gap:28px;
}
.logo{
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;letter-spacing:.12em;font-weight:700;white-space:nowrap;
}
.logo span{
  display:block;font-family:inherit;font-size:10px;letter-spacing:.28em;
  text-align:center;margin-top:-3px;font-weight:500;
}
.main-nav{display:flex;gap:25px;margin-left:auto;font-size:13px}
.main-nav a:hover,.text-link:hover{color:var(--accent)}
.header-cart{
  background:var(--accent);color:#fff;padding:8px 16px;border-radius:999px;font-size:12px;
}
.mobile-menu{display:none}
.hero{
  min-height:680px;max-width:var(--max);margin:auto;padding:80px 24px;
  display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px;
}
.eyebrow{
  margin:0 0 13px;color:var(--gold);font-size:11px;letter-spacing:.25em;font-weight:700;
}
.hero h1{
  margin:0;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(43px,5.2vw,70px);line-height:1.22;font-weight:500;letter-spacing:.03em;
}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-lead{font-size:18px;margin:28px 0;color:#4d5752}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 22px;border-radius:2px;
  font-size:13px;font-weight:700;letter-spacing:.08em;transition:.2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 7px 20px rgba(64,86,66,.16)}
.btn-light{background:#fff;border:1px solid #fff;color:var(--ink)}
.btn-outline{border:1px solid var(--accent);color:var(--accent);background:transparent}
.btn-full{width:100%}
.btn-large{padding:15px 30px;min-width:270px}
.hero-note{font-size:12px;color:var(--muted);margin:14px 0 0}
.hero-product{position:relative;display:flex;justify-content:center}
.product-visual{
  width:100%;height:390px;border-radius:50% 50% 7px 7px;
  display:flex;align-items:center;justify-content:center;
  color:#fff;text-align:center;letter-spacing:.2em;font-size:12px;
  background:linear-gradient(145deg,#e8e0d2,#c9bda9);
  box-shadow:var(--shadow);
}
.product-visual-eight{background:linear-gradient(145deg,#d7cbb8,#9c8a6d)}
.product-visual-oil{background:linear-gradient(145deg,#ded7c9,#b3a991)}
.product-visual-balm{background:linear-gradient(145deg,#cfc7b7,#8c806d)}
.hero-badge{
  position:absolute;right:2%;bottom:-15px;width:112px;height:112px;border-radius:50%;
  background:var(--accent);color:#fff;display:grid;place-content:center;text-align:center;
  font-size:10px;line-height:1.4;letter-spacing:.15em;transform:rotate(8deg);
}
.hero-badge strong{font-size:20px}
.section{padding:95px 24px}
.section-soft{background:var(--soft)}
.section-dark{background:var(--accent-dark);color:#fff}
.section-head{max-width:760px;margin:0 auto 42px;text-align:center}
.section-head-left{text-align:left;max-width:var(--max)}
.section h2{
  font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;
  font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.35;margin:0 0 18px;
}
.section-head p:last-child{color:var(--muted);margin:0}
.choice-grid{
  max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
}
.choice-card{
  background:#fff;border:1px solid var(--line);padding:30px;
  min-height:220px;position:relative;transition:.2s ease;
}
.choice-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.choice-no{font-family:Georgia,serif;color:var(--gold);font-size:14px}
.choice-card h3{font-size:18px;line-height:1.5;margin:22px 0 10px}
.choice-card p{font-size:13px;color:var(--muted);margin:0 0 25px}
.choice-link{font-size:12px;color:var(--accent);font-weight:700}
.product-grid{
  max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px;
}
.product-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.product-card.featured{box-shadow:var(--shadow);border-color:#cfc6b6}
.product-image-wrap{position:relative;padding:18px 18px 0}
.product-image-wrap .product-visual{height:310px;border-radius:3px}
.product-card:not(.featured) .product-image-wrap .product-visual{height:260px}
.product-label{
  position:absolute;top:28px;left:28px;background:var(--accent);color:#fff;
  padding:6px 10px;font-size:10px;letter-spacing:.13em;
}
.product-body{padding:27px}
.product-category{font-size:10px;color:var(--gold);letter-spacing:.2em;margin:0 0 9px;font-weight:700}
.product-body h3{font-size:20px;line-height:1.5;margin:0 0 12px}
.product-body p{font-size:13px;color:var(--muted)}
.product-body>p:not(.product-category){min-height:72px}
.price{font-size:23px;font-weight:700;margin:18px 0}
.price span{font-size:11px;font-weight:400;margin-left:4px}
.center-action{text-align:center;margin-top:40px}
.text-link{color:var(--accent);font-size:13px;font-weight:700}
.crosssell{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.section-dark .eyebrow{color:#d4b981}
.section-dark h2{color:#fff}
.section-dark p{color:rgba(255,255,255,.78)}
.routine{display:flex;align-items:center;justify-content:center}
.routine-step{
  width:150px;height:150px;border:1px solid rgba(255,255,255,.25);border-radius:50%;
  display:grid;place-content:center;text-align:center;
}
.routine-step span{font:12px Georgia,serif;color:#d4b981}
.routine-step strong{font-size:18px}
.routine-step small{font-size:10px;color:rgba(255,255,255,.65)}
.routine-line{height:1px;width:45px;background:rgba(255,255,255,.25)}
.two-col{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.image-panel{height:500px}
.photo-placeholder{
  height:100%;min-height:500px;background:linear-gradient(145deg,#ddd5c7,#b4a995);
  display:grid;place-content:center;text-align:center;color:#fff;letter-spacing:.25em;font-size:12px;
}
.content-panel p{color:var(--muted);font-size:15px}
.content-panel .text-link{display:inline-block;margin-top:15px}
.testimonial{max-width:920px;margin:auto;text-align:center}
.use-flow{display:flex;justify-content:center;align-items:center;gap:25px;margin:42px 0}
.use-flow>div{
  background:#fff;border:1px solid var(--line);width:190px;min-height:140px;
  display:grid;place-content:center;gap:3px;
}
.use-flow span{color:var(--gold);font:12px Georgia,serif}
.use-flow strong{font-size:17px}
.use-flow small{font-size:11px;color:var(--muted)}
.use-flow b{color:var(--gold)}
.small-note{font-size:12px;color:var(--muted);margin-bottom:25px}
.story{background:#e9e3d7;text-align:center}
.story-inner{max-width:720px;margin:auto}
.story-inner p:not(.eyebrow){color:#58615c}
.story-sign{
  font-family:Georgia,"Yu Mincho",serif;font-size:24px!important;color:var(--accent-dark)!important;margin:30px 0;
}
.final-cta{text-align:center;padding:100px 24px;background:#faf7f0}
.final-cta h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(32px,4vw,50px);font-weight:500;line-height:1.4}
.final-cta p{color:var(--muted)}
.site-footer{background:#252d29;color:#fff;padding:55px 24px 30px}
.footer-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:40px}
.logo-footer{color:#fff}
.footer-inner p{font-size:12px;color:rgba(255,255,255,.65)}
.footer-links{display:flex;flex-wrap:wrap;gap:12px 22px;align-content:flex-start;justify-content:flex-end}
.footer-links a{font-size:11px;color:rgba(255,255,255,.75)}
.copyright{text-align:center;color:rgba(255,255,255,.4);font-size:10px;margin:35px 0 0}
.mobile-cta{display:none}

@media(min-width:901px){
  .product-body{display:grid;flex:1;grid-template-rows:auto auto minmax(72px,1fr) auto auto auto}
}
@media(min-width:901px) and (max-width:1100px){
  .crosssell{grid-template-columns:.8fr 1.2fr;gap:40px}
  .routine-step{width:125px;height:125px}
  .routine-line{width:25px}
}
@media(max-width:900px){
  .header-inner{position:relative;gap:8px}
  .main-nav{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .mobile-menu summary{
    list-style:none;cursor:pointer;border:1px solid var(--line);padding:6px 8px;
    font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;
  }
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu[open] summary{background:var(--soft);color:var(--accent-dark)}
  .mobile-menu nav{
    position:absolute;top:100%;left:0;right:0;background:var(--paper);
    border:1px solid var(--line);box-shadow:var(--shadow);padding:8px 24px;
  }
  .mobile-menu nav a{display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
  .mobile-menu nav a:last-child{border-bottom:0}
  .hero{grid-template-columns:1fr;padding-top:55px;min-height:auto}
  .hero-product{order:-1}
  .hero-product .product-visual{height:320px}
  .choice-grid,.product-grid{grid-template-columns:1fr}
  .product-card:not(.featured) .product-image-wrap .product-visual,
  .product-image-wrap .product-visual{height:300px}
  .crosssell,.two-col{grid-template-columns:1fr;gap:40px}
  .routine{flex-wrap:wrap}
  .image-panel{height:380px}
  .photo-placeholder{min-height:380px}
}
@media(max-width:620px){
  body{font-size:14px;padding-bottom:calc(62px + env(safe-area-inset-bottom, 0px))}
  .header-inner{padding:12px 16px}
  .header-cart{margin-left:auto}
  .hero{padding:0 18px 50px;gap:16px}
  .hero h1{font-size:38px}
  .hero-lead{font-size:14px;line-height:1.8}
  .hero-actions{display:grid}
  .btn{width:100%}
  .hero-product .product-visual{height:250px}
  .hero-badge{width:88px;height:88px;font-size:8px;right:0}
  .hero-badge strong{font-size:16px}
  .section{padding:70px 18px}
  .choice-card{padding:24px}
  .product-body{padding:23px}
  .routine{gap:10px}
  .routine-step{width:105px;height:105px}
  .routine-step strong{font-size:14px}
  .routine-line{width:16px}
  .use-flow{display:grid;gap:10px}
  .use-flow>div{width:100%}
  .use-flow>b{transform:rotate(90deg)}
  .footer-inner{display:grid}
  .footer-links{justify-content:flex-start}
  .mobile-cta{
    display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;
    background:var(--accent);color:#fff;text-align:center;padding:15px 15px calc(15px + env(safe-area-inset-bottom, 0px));font-weight:700;font-size:13px;
    box-shadow:0 -5px 18px rgba(0,0,0,.12)
  }
  .site-footer{padding-bottom:30px}
}

.product-visual-eight {
  overflow: hidden;
  background: #fff;
}

.product-visual-eight img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.product-visual-eight img {
    transform: scale(1.12)translateY(10px);
}
.product-visual-oil {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-visual-oil img {
    width: auto;
    height: 125%;
    object-fit: contain;
    display: block;
}
.product-visual-balm {
    overflow: hidden;
    background: #fff;
}
.product-visual-balm img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
	transform: scale(1.12);
}
/* WHY HORSE OIL 写真 */
.image-panel img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}
/* CATEGORY LINK */
.category-link {
    display: block;
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #315744;
    color: #315744;
    text-align: center;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 0.08em;
    transition: 0.3s;
}

.category-link:hover {
    background: #315744;
    color: #fff;
}
@media (max-width: 620px) {
    .final-cta h2 {
        font-size: clamp(23px, 7.3vw, 34px);
        line-height: 1.45;
        white-space: nowrap;
    }
}
@media (max-width: 360px) {
    .header-inner {padding: 12px 8px; gap: 4px;}
    .mobile-menu summary {padding: 5px; font-size: 10px;}
    .header-cart {padding: 8px 10px; font-size: 11px; white-space: nowrap;}
}
