/* farmer_ruri: 農園向けテンプレート。1440 / 390 で確認。色は --accent で変わる。 */
:root{--accent:#068773}
body{margin:0;--teal:var(--accent);--blue:#3345d3;--ink:#042703;--dark:#001400;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",Meiryo,sans-serif;color:var(--ink);font-size:14px;letter-spacing:.1em;line-height:1.8;background:#fff;overflow-x:clip}
*{box-sizing:border-box;margin:0;padding:0}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.sa-in{width:100%;max-width:1080px;margin:0 auto;position:relative}
/* header */
.sa-hdr{position:fixed;inset:0 0 auto 0;height:100px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 40px 0 25px;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.04)}

.sa-hdr .logo{display:block}
.sa-nav{display:flex;align-items:center;gap:32px}
.sa-nav .links{display:flex;gap:20px;font-weight:700;font-size:14px}
.sa-nav .sa-shop{gap:10px}
.sa-shop{display:flex;align-items:center;gap:10px;height:52px;width:212px;justify-content:center;border-radius:26px;background:var(--blue);color:#fff;font-weight:700;font-size:14px}
.sa-burger{display:none}
/* first view */
.sa-fv{position:relative;height:900px;background:#0b2a16;overflow:hidden}
.sa-fv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sa-fv h2{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff;font-size:44px;font-weight:700;letter-spacing:.2em;line-height:1.6;padding:0 24px}
/* notice */
.sa-notice{position:relative;padding:150px 0 130px;background:#2a2a2a;background-image:linear-gradient(#2a2a2a,#f4f5f5)}
.sa-card{width:880px;margin:0 auto;background:#fff;border-radius:40px;padding:50px}
.sa-ttl{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;font-weight:700;margin-bottom:34px}
.sa-ttl.l{justify-content:flex-start}
.sa-ttl i{width:18px;height:18px;border-radius:50%;background:var(--teal);position:relative}
.sa-ttl i::after{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff}
.sa-notice .row{display:flex;gap:40px}
.sa-notice figure{width:300px;flex:none}
.sa-notice figure img{width:300px;height:400px;object-fit:cover;background:#ddd}
.sa-notice figcaption{text-align:center;font-weight:700;margin-top:10px;font-size:14px}
.sa-notice .body{flex:1}
.sa-notice .open{font-size:18px;font-weight:700;margin-bottom:6px}
.sa-notice .body p{line-height:25px}
.sa-notice .red{color:red;font-weight:700}
.sa-dl>div{display:flex;gap:0;border-top:1px solid #cfe0dc;padding:18px 0;font-size:13px}
.sa-dl>div:last-child{border-bottom:1px solid #cfe0dc}
.sa-dl dt,.sa-dl>div>p:first-child{width:120px;flex:none;color:var(--teal);font-weight:700}
.sa-notice .row .body .sa-dl{margin-top:26px}
.sa-note{margin-top:26px;font-size:12px;color:#777;line-height:21px}
/* section heading */
.sa-hd{display:block}
.sa-hd h2.en,.sa-sns h2.en{font-size:64px;line-height:1;font-weight:300;letter-spacing:.02em;color:var(--teal);font-family:"Avenir Next","Helvetica Neue",Arial,sans-serif}
.sa-hd h2.en .o,.sa-sns h2.en .o{display:inline-block;width:.62em;height:.62em;border-radius:50%;background:var(--blue);margin:0 .02em;position:relative;vertical-align:-.02em}
.sa-hd h2.en .o::after{content:"";position:absolute;inset:.17em;border-radius:50%;background:#fff}
.sa-hd p{color:var(--teal);font-size:15px;font-weight:700;margin-top:10px}
/* about */
.sa-about{position:relative;height:1869px;background:#e2e4e3;overflow:hidden}
.sa-about .in{width:1000px;margin:0 auto;position:relative;height:100%}
.sa-about .hd{position:absolute;left:12px;top:92px}
.sa-about .tate{position:absolute;left:50px;top:254px;writing-mode:vertical-rl;font-size:28px;font-weight:700;line-height:42px;letter-spacing:.15em}
.sa-about .lead{position:absolute;left:319px;top:259px;width:560px;line-height:32px;font-size:14px}
.sa-about .photo{position:absolute;left:0;top:649px;width:440px;height:608px;object-fit:cover;border-radius:40px 40px 0 40px}
.sa-comp{position:absolute;z-index:1;left:390px;top:769px;width:534px;background:#fff;border-radius:40px;padding:50px;font-size:13px}
.sa-comp p.t{line-height:26px;margin-bottom:28px;font-size:13px}
.sa-comp ul{margin-bottom:60px}
.sa-comp .sa-ttl{font-size:18px;margin-bottom:20px}
.sa-dl2>li{display:flex;border-top:1px solid #d9e3e1;padding:18px 0;font-size:13px}
.sa-dl2>li:last-child{border-bottom:1px solid #d9e3e1}
.sa-dl2 span:first-child{width:120px;flex:none;color:var(--teal);font-weight:700}
.sa-seasons{position:absolute;left:0;right:0;top:1360px;height:567px;overflow:hidden;display:flex}
.sa-seasons .tr{display:flex;flex:none;animation:sa-mq 40s linear infinite}
.sa-seasons img{width:720px;height:567px;object-fit:cover;flex:none}
@keyframes sa-mq{to{transform:translateX(-50%)}}
/* products */
.sa-prod{position:relative;background:#fcfdfd;padding:340px 0 90px;margin-top:0}
.sa-prod .hd{width:1080px;margin:0 auto;text-align:right}
.sa-pc{position:relative;width:1080px;margin:60px auto 0;height:430px}
.sa-pc+.sa-pc{margin-top:60px}
.sa-pc .pic{width:648px;height:430px;border-radius:30px;object-fit:cover;background:#f5f3f0}
.sa-pc .badge{position:absolute;left:0;top:40px;background:var(--teal);color:#fff;font-weight:700;font-size:16px;padding:0 16px;height:39px;line-height:39px;border-radius:0 20px 20px 0}
.sa-pc .txt{position:absolute;left:598px;top:65px;width:482px;height:300px;background:#fff;border-radius:30px;padding:30px;box-shadow:0 20px 40px rgba(0,0,0,.06)}
.sa-pc .txt h3{font-size:16px;font-weight:700;margin-bottom:24px}
.sa-pc .txt p{font-size:14px;line-height:25px}
/* intro */
.sa-fade{height:222px;background:linear-gradient(#fff,#000);margin-top:-1px}
.sa-intro{background:linear-gradient(#000,#001400);color:#fff;text-align:center;padding:150px 0 190px}
.sa-intro .hd h2.en,.sa-intro .hd p{color:#fff}
.sa-intro .addr{margin-top:60px;font-size:16px;line-height:32px}
.sa-map{width:1000px;margin:50px auto 0;height:320px;border-radius:30px;overflow:hidden}
.sa-map svg{display:block;width:100%;height:100%}
.sa-mapfoot{width:1000px;margin:14px auto 0;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.sa-mapfoot a{border:1px solid #fff;border-radius:22px;height:42px;width:145px;display:flex;align-items:center;justify-content:center;font-weight:700}
/* recruit */
.sa-rec{padding:230px 0 160px;background:#fff}
.sa-rec .in{width:1080px;margin:0 auto;position:relative}
.sa-rec h3.big{font-size:32px;font-weight:700;margin:70px 0 0;line-height:1.5}
.sa-rec .cols{display:flex;gap:130px;margin-top:70px}
.sa-rec .left{width:530px;flex:none}
.sa-rec .left p.t{line-height:32px;margin:20px 0 50px}
.sa-rec h4{display:flex;align-items:center;gap:6px;color:var(--teal);font-size:16px;font-weight:700;margin:32px 0 10px}
.sa-rec h4 i{width:8px;height:8px;border-radius:50%;background:var(--blue)}
.sa-rec .pics{position:relative;width:420px;height:610px;margin-top:0}
.sa-rec .pics .a{width:420px;height:610px;object-fit:cover;border-radius:40px}
.sa-rec .pics .b{position:absolute;left:-40px;bottom:-190px;width:270px;height:190px;object-fit:cover;border-radius:0 30px 0 0}
/* contact */
.sa-ct{background:linear-gradient(#fff 85%,#001400);padding:150px 0 220px}
.sa-ct .in{width:1080px;margin:0 auto;display:flex;gap:98px;align-items:flex-start}
.sa-ct .l{width:350px;flex:none}
.sa-ct .l p{line-height:32px;margin-top:60px}
.sa-ct .tel{margin-top:70px}
.sa-ct .tel small{font-size:14px;font-weight:700;color:var(--teal);display:flex;align-items:center;gap:6px}
.sa-ct .tel small i{width:8px;height:8px;border-radius:50%;background:var(--blue)}
.sa-ct .tel a{display:block;font-size:38px;font-weight:500;letter-spacing:.02em;margin-top:6px}
.sa-form{width:632px;border:1px solid var(--teal);border-radius:60px 0 60px 0;padding:50px;background:#fff}
.sa-form label,.sa-form .f{display:block;font-size:12px;font-weight:700;margin-bottom:26px}
.sa-form b{color:var(--teal);font-weight:700;margin-left:4px}
.sa-form input[type=text],.sa-form input[type=email],.sa-form input[type=tel]{display:block;width:424px;height:50px;margin-top:8px;border:1px solid #bcdcd5;padding:0 16px;font:inherit;font-weight:400}
.sa-form textarea{display:block;width:100%;height:160px;margin-top:8px;border:1px solid #bcdcd5;padding:12px 16px;font:inherit}
.sa-form .radios{display:flex;gap:40px;border-top:1px solid #d7e5e2;padding-top:18px;margin-top:8px;font-weight:400}
.sa-form .priv{background:#f7f7f7;height:150px;overflow:auto;padding:20px;font-size:11px;line-height:21px;font-weight:400;margin-bottom:26px}
.sa-form .agree{text-align:center;font-weight:400}
.sa-form button{display:flex;align-items:center;justify-content:space-between;margin:20px auto 0;width:166px;height:48px;border-radius:24px;border:0;background:var(--teal);color:#fff;font:700 14px/1 inherit;padding:0 30px;cursor:pointer}
.sa-form button i{width:6px;height:6px;border-radius:50%;background:#fff}
/* sns */
.sa-sns{background:var(--dark);color:#fff;text-align:center;padding:170px 0 230px}
.sa-sns h2.en{font-size:44px;color:#fff;font-weight:300}
.sa-sns .hd p{font-weight:700;margin-top:14px}
.sa-sns .btns{display:flex;justify-content:center;gap:20px;margin-top:50px}
.sa-sns .btns a{display:flex;align-items:center;justify-content:center;gap:12px;height:62px;border:1px solid #fff;border-radius:31px;padding:0 40px;font-weight:700;font-size:16px}
/* footer */
.sa-foot{position:relative;background:var(--dark);color:#fff;height:900px;text-align:center;padding-top:437px}
.sa-foot .logo{display:block;margin:0 auto;font-size:34px;font-weight:700;letter-spacing:.2em;color:#fff}
.sa-foot .fnav .links{display:flex;gap:24px;justify-content:center;margin-top:30px;font-size:13px}
.sa-foot .built{font-size:11px;margin-top:20px;opacity:.7}
.sa-foot p{margin-top:40px;font-size:13px;line-height:26px}
.sa-foot .cp{position:absolute;left:20px;bottom:30px;font-size:12px}
.sa-top{position:fixed;right:20px;bottom:20px;width:37px;height:37px;z-index:40}
.sa-top svg{display:block}
.sa-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.text-logo{display:inline-block;font-size:20px;font-weight:700;letter-spacing:.12em;color:var(--teal);line-height:1.2;max-width:420px}
.sa-foot .text-logo{color:#fff;font-size:28px}
.sa-sample{font-size:11px;color:#777;margin-bottom:14px}
.mt{margin-top:50px}
.sa-shop i{width:16px;height:16px;border-radius:50%;border:2px solid #fff}
@media (max-width:840px){
 .sa-hdr{height:64px;padding:0 16px 0 14px}
 .sa-nav .links,.sa-shop{display:none}
 .sa-burger{display:block;width:44px;height:44px;border:0;background:var(--teal);border-radius:50%;position:relative}
 .sa-burger::before,.sa-burger::after{content:"";position:absolute;left:13px;right:13px;height:2px;background:#fff}
 .sa-burger::before{top:17px}.sa-burger::after{top:25px}
 .sa-nav.open{position:fixed;inset:64px 0 0 0;background:#fff;flex-direction:column;justify-content:flex-start;padding:30px}
 .sa-nav.open .links{display:flex;flex-direction:column;align-items:center;gap:22px;font-size:16px}
 .sa-nav.open .sa-shop{display:flex;margin-top:20px}
 .sa-fv{height:640px}
 .sa-fv h2{font-size:26px}
 .sa-hd h2.en{font-size:44px}
 .sa-about .tate{height:auto}
 .sa-foot .fnav .links{flex-wrap:wrap;gap:12px 20px;padding:0 20px}
 .sa-notice{padding:90px 16px 60px}
 .sa-card{width:100%;padding:28px 20px;border-radius:24px}
 .sa-notice .row{flex-direction:column;gap:24px}
 .sa-notice figure,.sa-notice figure img{width:100%;height:auto}
 .sa-about{height:auto;padding:70px 20px 520px}
 .sa-about .in{width:100%;height:auto;position:static}
 .sa-about .hd,.sa-about .tate,.sa-about .lead,.sa-about .photo,.sa-comp{position:static}
 .sa-about .tate{margin:30px 0 20px;font-size:22px;line-height:34px;height:210px}
 .sa-about .lead{width:100%;line-height:28px}
 .sa-about .photo{width:100%;height:auto;margin:40px 0 20px}
 .sa-comp{width:100%;padding:28px 20px}
 .sa-seasons{top:auto;bottom:0;height:300px}
 .sa-seasons img{width:390px;height:300px}
 .sa-prod{padding:80px 20px 60px}
 .sa-prod .hd,.sa-pc{width:100%}
 .sa-pc{height:auto}
 .sa-pc .pic{width:100%;height:260px}
 .sa-pc .txt{position:static;width:100%;height:auto;margin-top:-30px}
 .sa-intro{padding:90px 20px 100px}
 .sa-intro .hd h2.en{font-size:34px}
 .sa-map,.sa-mapfoot{width:100%}
 .sa-mapfoot{flex-direction:column;gap:14px}
 .sa-rec{padding:90px 20px}
 .sa-rec .in{width:100%}
 .sa-rec h3.big{font-size:22px}
 .sa-rec .cols{flex-direction:column;gap:40px}
 .sa-rec .left{width:100%}
 .sa-rec .pics,.sa-rec .pics .a{width:100%;height:auto}
 .sa-rec .pics .b{left:0;bottom:-80px;width:60%;height:auto}
 .sa-ct{padding:90px 20px 140px}
 .sa-ct .in{flex-direction:column;gap:40px;width:100%}
 .sa-ct .l{width:100%}
 .sa-form{width:100%;padding:28px 20px;border-radius:30px 0 30px 0}
 .sa-form input[type=text],.sa-form input[type=email],.sa-form input[type=tel]{width:100%}
 .sa-sns{padding:90px 20px 120px}
 .sa-sns .btns{flex-direction:column;align-items:center}
 .sa-foot{height:600px;padding-top:200px}
}
