/* Editorial refinement — warm paper, logo brown, generous typography. */
:root{--bg:#f8f5ee;--bg-sub:#efe9dc;--ink:#342c24;--ink-sub:#6b6358;--brown:#8e5d26;--brown-dark:#6f4719;--green:#8e5d26;--line:#ddd4c3}
h4{margin-top:0}
html{scroll-padding-top:100px}
.container{max-width:1240px;padding-inline:40px}
.container--narrow{max-width:840px}
.header{background:rgba(255,255,255,.97);border-bottom:0}
.header__inner{max-width:1440px;padding:20px 48px}
.header__nav{display:flex;align-items:center;gap:30px}
.header__nav>a:not(.btn){font-size:12px;text-decoration:none;letter-spacing:.08em}
.header__nav>a:not(.btn):hover{color:var(--brown);text-decoration:underline;text-underline-offset:6px}
.btn{border-radius:2px;gap:28px;min-height:58px;padding-inline:28px;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn--sm{min-height:44px;padding-inline:22px;gap:20px}
a:focus-visible,button:focus-visible{outline:2px solid var(--brown);outline-offset:5px}
.mv{max-width:1600px;margin:auto;position:relative;padding:16px 48px 56px;gap:24px}
.mv__text{padding:32px 0}
.mv__en{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.24em;margin-bottom:28px;display:flex;align-items:center;gap:14px}
.mv__en:before{content:"";width:34px;height:1px;background:currentColor}
.mv__eyebrow{font-size:12px;color:var(--ink-sub);letter-spacing:.08em;margin-bottom:18px}
.mv__title{font-weight:500;line-height:1.7;letter-spacing:.035em;margin-bottom:24px}
.mv__lead{font-size:14px;line-height:2.15;max-width:440px;margin-bottom:28px}
.mv__actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.mv__browse{font-size:12px;text-decoration:none;display:flex;gap:30px;align-items:center}
.mv__img{position:relative;min-width:0}
.mv__img img{height:100%;object-fit:cover;border-radius:45% 45% 2px 2px / 30% 30% 2px 2px}
.mv__caption{position:absolute;bottom:22px;left:24px;color:white;font-family:var(--mincho);font-size:15px;letter-spacing:.1em;text-shadow:0 1px 8px #182a18}
.partners-strip{background:transparent;color:var(--ink);border-block:1px solid var(--line);padding:27px 20px;max-width:1344px;margin:auto}
.partners-strip__label{color:var(--ink-sub);font-size:11px}
.partners-strip__list li{font-size:20px}
.partners-strip__list li+li{border-color:var(--line)}
.section{padding:110px 0}
.section__en{font-family:var(--sans);text-transform:uppercase;font-size:10px;letter-spacing:.24em;margin-bottom:16px}
.section__title{font-weight:500;font-size:clamp(25px,3vw,36px);letter-spacing:.07em}
.section__lead{font-size:14px;line-height:2}
.concept__intro{gap:72px}
.concept__img{position:relative;padding-bottom:20px;padding-right:20px}
.concept__img:after{content:"";position:absolute;inset:30px 0 0 30px;background:var(--bg-sub);z-index:0}
.concept__img img{position:relative;z-index:1;aspect-ratio:5/4}
.concept__body{font-size:14px;line-height:2.2}
.concept__catch{font-weight:500;font-size:30px;line-height:1.8;margin-bottom:24px}
.points{gap:0;border-block:1px solid var(--line)}
.point{background:transparent;padding:36px}
.point+.point{border-left:1px solid var(--line)}
.point__num{font-size:32px;color:#a78253;margin-bottom:20px}
.point__title{font-size:21px;font-weight:500}
.point p{font-size:13px;line-height:2}
.products{background:#fffefa}
.product-cat__title{font-weight:500;padding-bottom:18px}
.product-cat__en{font-family:var(--sans);font-size:10px;text-transform:uppercase}
.product--feature{background:#f3eee5}
.product--feature .product__img--bottle{background:#eeede9}
.product--feature .product__img--bottle img{object-fit:cover;max-height:560px;mix-blend-mode:normal;padding:0}
.product__body{font-size:14px;line-height:2.1}
.product--feature .product__name{font-size:32px;font-weight:500;margin-top:12px}
.tags li{border-radius:0;background:#fff;font-size:11px}
.cards--4{gap:28px}
.card{background:transparent}
.card__img{overflow:hidden;background:var(--bg-sub)}
.card__img img{aspect-ratio:1/1}

.card__body{padding:22px 0 0}
.card__name{font-size:20px;font-weight:500;line-height:1.7}
.card__text{font-size:13px;line-height:2}
.card__link{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 0;font-size:12px}
.card__link:hover{background:transparent;color:var(--brown-dark);border-color:var(--brown)}
.card__links{gap:0}
.works{background:#efe9dc}
.work{background:rgba(255,255,255,.48);border-top:1px solid #b09571;padding:32px 28px}
.work__type{font-size:11px;margin-bottom:16px}
.work__name{font-weight:500;font-size:25px}
.work__url{font-size:11px;margin-block:12px 24px}
.work__items li{font-size:13px}
.flow{background:var(--bg)}
.flow__list{gap:32px}
.flow__list li{padding:24px 0;background:transparent;border-top:1px solid var(--line)}
.flow__step{font-family:var(--sans);font-size:11px;letter-spacing:.16em;margin-bottom:22px}
.flow__list h3{font-weight:500;font-size:19px}
.flow__list p{font-size:13px;line-height:2}
.flow__list li:not(:last-child):after{border-width:5px;right:-19px;top:30px}
.contact{background:#efe9dc}
.form{background:#fffefa;border-top:2px solid var(--brown);padding:52px 56px}
.form__row{margin-bottom:28px}
.form input[type="text"],.form input[type="email"],.form input[type="tel"],.form select,.form textarea{background:#faf7f1;border-radius:2px}
.req,.opt{border-radius:1px;font-size:10px}
.footer{background:#342c24;padding:56px 24px 32px;color:#e6dccd}
@media(min-width:960px){.mv{min-height:660px;align-items:stretch}.mv__text{flex:0 0 49%;padding:32px 16px 32px max(0px,calc((100vw - 1344px)/2 - 48px))}.mv__title{font-size:clamp(32px,3.35vw,49px)}.mv__img{flex:1}.mv__img img{min-height:560px}}
@media(min-width:768px) and (max-width:1100px){.header__nav{gap:18px}.header__nav>a:not(.btn){display:none}.cards--4{grid-template-columns:repeat(2,1fr);gap:40px 28px}.flow__list{grid-template-columns:repeat(2,1fr)}.flow__list li:after{display:none}.point{padding:28px 20px}}
@media(max-width:959px){.mv{flex-direction:column;padding:20px 32px 40px;gap:8px}.mv__text{padding:16px 0 24px}.mv__img img{aspect-ratio:16/9;max-height:480px;border-radius:2px}.mv__title{font-size:clamp(30px,5.5vw,48px)}.mv__lead{max-width:650px}.mv__actions{flex-direction:row;align-items:center;gap:28px}.concept__intro{gap:36px}}
@media(max-width:767px){html{scroll-padding-top:80px}.container{padding-inline:24px}.header__inner{padding:14px 20px}.header__nav>a:not(.btn){display:none}.header__logo img{width:106px}.header__label{display:none}.btn--sm{font-size:11px;min-height:40px;padding-inline:15px;gap:14px}.mv{padding:14px 24px 32px}.mv__en{font-size:10px;margin-bottom:22px}.mv__eyebrow{font-size:10px;margin-bottom:14px}.mv__title{font-size:clamp(25px,6.8vw,43px);letter-spacing:.01em;margin-bottom:20px}.mv__lead{font-size:13px;line-height:2}.mv__actions{flex-direction:column;align-items:flex-start;gap:18px}.mv__actions .btn{font-size:13px;min-height:54px;padding-inline:20px;gap:24px}.mv__img img{aspect-ratio:4/3}.mv__caption{font-size:12px;left:16px;bottom:15px}.partners-strip{padding:24px 12px;gap:12px}.partners-strip__list li{font-size:14px;padding-inline:12px;letter-spacing:.02em}.section{padding:72px 0}.section__head{margin-bottom:36px}.section__title{font-size:25px}.section__lead{font-size:13px}.concept__catch{font-size:25px}.concept__body{font-size:13px}.concept__intro{margin-bottom:40px}.point{padding:28px 8px}.point+.point{border-left:0;border-top:1px solid var(--line)}.point__num{font-size:27px;margin-bottom:14px}.point__title{font-size:22px}.product--feature .product__name{font-size:25px}.product__body{padding:26px 24px}.product--feature .product__img--bottle img{max-height:400px}.cards--4{gap:36px 20px}.card__img img{aspect-ratio:4/3}.card__name{font-size:21px}.card__body{padding-top:18px}.work{padding:28px}.form{padding:32px 22px}.form__label{font-size:14px}.form__checks label,.form__agree label{font-size:13px}.btn--lg{min-width:0;width:100%;font-size:15px}.flow__list{gap:12px}.flow__step{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* Requested first-view layout: full-size rectangular orchard photograph. */
.mv{max-width:none;margin:0;padding:0;gap:0;background:#fff;flex-direction:column-reverse}
.mv__text{padding:40px 24px 56px}
.mv__img img{border-radius:0;width:100%;height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}
.mv__caption{text-shadow:0 1px 8px #342c24}
.point mark{color:inherit;background:linear-gradient(transparent 62%,#e9d3a7 62%,#e9d3a7 94%,transparent 94%);padding:0 .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.products .product__img img,.products .card__img img{object-fit:cover}
.image--strawberry{filter:brightness(1.12) saturate(.87) sepia(.06);object-position:65% center}
@media(min-width:960px){
  .mv{flex-direction:row;min-height:660px;align-items:stretch}
  .mv__text{flex:0 0 46%;padding:64px 72px 64px max(48px,calc((100% - 1440px)/2 + 48px))}
  .mv__title{font-size:clamp(30px,3.2vw,46px);line-height:1.6}
  .mv__img{flex:1;position:relative}
  .mv__img img{position:absolute;inset:0;height:100%;min-height:0;aspect-ratio:auto}
}
@media(min-width:768px) and (max-width:959px){.mv__img img{aspect-ratio:16/9}.mv__text{padding:40px 40px 56px}}
@media(min-width:960px){.mv__title{font-size:clamp(28px,2.9vw,46px)}.mv__title .nw{white-space:nowrap}}

/* Crossfade photographs keep the same layout at every slide. */
.mv__img{overflow:hidden;isolation:isolate;background:#e8e0d3}
.mv__img img.mv__slide{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:cover;opacity:0;transition:opacity 1.4s ease;z-index:0}
.mv__img img.mv__slide.is-active{opacity:1;z-index:1}
.mv__img img.mv__slide--grape{object-position:center 60%}
.mv__caption{z-index:2;right:70px}
.mv__pause{position:absolute;right:20px;bottom:20px;z-index:3;width:36px;height:36px;border:1px solid #ffffffb3;border-radius:50%;background:#342c2470;color:#fff;cursor:pointer;font-size:14px}
.mv__pause[hidden]{display:none}
.point__heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.point__heading .point__num{margin:0}
.point__icon{width:48px;height:48px;color:var(--brown)}
.work__etc{text-align:right;font-size:13px;margin-top:8px;color:var(--ink-sub)}
@media(max-width:959px){.mv__img{width:100%;aspect-ratio:16/9;flex:none}}
@media(max-width:767px){.mv__img{aspect-ratio:4/3}.mv__pause{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.mv__img img.mv__slide{transition:none}}
.mv__img::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(35,27,18,.58));z-index:2;pointer-events:none}
.mv__caption{z-index:3;line-height:1.7}
.mv__caption-story{display:block;font-size:18px;letter-spacing:.06em}
.mv__caption-credit{display:block;margin-top:5px;font-family:var(--sans);font-size:11px;letter-spacing:.05em}
@media(max-width:767px){.mv__caption-story{font-size:14px}.mv__caption-credit{font-size:10px;margin-top:3px}}
/* Refined line icons and client links. */
.point__icon{width:46px;height:46px;stroke-width:1.35}
.work{background:#fff}
.work__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.work__heading .work__url{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;margin:0;text-decoration:none;border:1px solid var(--line);border-radius:50%;transition:background .2s,border-color .2s}
.work__url svg{width:20px;height:20px}
.work__heading .work__url::after{content:none}
.work__heading .work__url:hover{background:var(--bg);border-color:var(--brown)}

/* Display client URLs with an external-window icon. */
.work .work__url{display:inline-flex;align-items:center;gap:8px;max-width:100%;margin:10px 0 24px;font-size:11px;line-height:1.7;text-decoration:none}
.work .work__url span{min-width:0;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.work .work__url svg{width:16px;height:16px;flex-shrink:0}
.work .work__url::after{content:none}
/* お取引までの流れ：ステップ番号を円で囲む */
.flow__list{gap:40px 32px}
.flow__list li{border-top:0;padding:0;position:relative}
.flow__list li:not(:last-child):after,.flow__list li:not(:last-child)::after{content:none}
.flow__step{display:flex;flex-direction:column;align-items:center;justify-content:center;width:76px;height:76px;margin:0 0 20px;border:1px solid var(--brown);border-radius:50%;background:#fff;color:var(--brown);line-height:1;letter-spacing:0}
.flow__step-label{font-family:var(--sans);font-size:9px;letter-spacing:.18em;margin-bottom:6px}
.flow__step-num{font-family:var(--mincho);font-size:26px;font-weight:500}
@media(max-width:767px){.flow__list li{display:grid;grid-template-columns:64px 1fr;column-gap:20px;align-items:start}.flow__step{grid-row:1/3;width:64px;height:64px;margin:0}.flow__step-num{font-size:22px}.flow__list h3{margin-top:4px}.flow__list li:not(:last-child):before{content:"";position:absolute;left:32px;top:72px;bottom:-32px;width:1px;background:var(--line)}}
@media(min-width:1101px){.flow__list li:not(:last-child):before{content:"";position:absolute;top:38px;left:92px;right:-24px;height:1px;background:var(--line)}}
/* FVの一時停止ボタン：少し大きく・濃くして気づきやすくする */
.mv__pause{width:46px;height:46px;font-size:16px;background:#342c24d9;border-color:#fff}
.mv__pause:hover{background:#342c24}
@media(max-width:767px){.mv__pause{width:40px;height:40px;font-size:14px}}
/* 「卸販売について」の写真切り替え（既存の.concept__img imgの指定を上書き） */
.about-slider{aspect-ratio:5/4;position:relative;padding:0;margin:0 20px 20px 0}
.about-slider:after{inset:30px -20px -20px 30px}
.about-slider .about-slide{position:absolute;inset:0;width:100%;height:100%;z-index:1;aspect-ratio:auto}
.about-slider .about-dots{z-index:2;bottom:-32px}

