@charset "utf-8";
.subpage{overflow:hidden;background:rgba(250,246,236,.76)}
.sub-hero{height:430px;margin-top:65px;position:relative;display:grid;place-items:center;color:#fff;background-position:center;background-size:cover}
.sub-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,18,9,.72),rgba(31,18,9,.15) 62%,rgba(31,18,9,.28))}
.sub-hero-about{background-image:url("../img/common/pagehero.jpg")}
.sub-hero-recruit{background-image:url("../img/other/recruit.jpg");background-position:center 30%}
.sub-hero-news{background-image:url("../img/index/fv02.jpg");background-position:center 58%}
.sub-hero-copy{position:relative;text-align:center;text-shadow:0 2px 15px #26150c}
.sub-hero-copy span,.sub-heading>span{font:11px Georgia,serif;letter-spacing:.24em;color:#b97936}
.sub-hero-copy span{color:#fff}.sub-hero-copy h1{margin:4px 0 2px;font-size:clamp(34px,4.2vw,55px);font-weight:500;letter-spacing:.12em}.sub-hero-copy p{margin:0;font-size:13px;letter-spacing:.16em}
.breadcrumb{max-width:1180px;margin:auto;padding:16px 24px;display:flex;gap:12px;align-items:center;font-family:"Yu Gothic",sans-serif;font-size:10px;color:#756a5f}.breadcrumb a:hover{color:var(--red)}
.sub-intro,.detail-section{position:relative;padding:90px max(5vw,24px)}.sub-intro:before,.detail-section:before{content:"";position:absolute;width:320px;height:320px;border:58px solid rgba(186,145,75,.07);border-radius:50%;z-index:-1}.sub-intro:before{left:-170px;top:70px}.detail-section:before{right:-180px;top:80px}
.sub-heading{text-align:center;max-width:760px;margin:0 auto 54px}.sub-heading h2{margin:3px 0 8px;color:var(--brown);font-size:clamp(28px,3.3vw,43px);font-weight:500;line-height:1.55;letter-spacing:.08em}.sub-heading i{position:relative;display:block;width:72px;height:8px;margin:auto;border-top:1px solid var(--gold)}.sub-heading i:after{content:"◆";position:absolute;left:31px;top:-9px;padding:0 3px;background:#f9f4e9;color:var(--gold);font-size:8px}.sub-heading p{margin:15px 0 0;font-size:13px;letter-spacing:.06em}
.history-layout{max-width:1080px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw;align-items:center}.history-layout figure{margin:0}.history-layout img{aspect-ratio:1.35;object-fit:cover;filter:sepia(.15)}.history-layout figcaption{margin-top:8px;text-align:right;font-size:10px;color:#837466}.history-copy h3{font-size:24px;font-weight:500;line-height:1.7;color:var(--brown)}.history-copy p{font-family:"Yu Gothic",sans-serif;font-size:13px;line-height:2.1}
.commit-detail-list{max-width:1080px;margin:auto;display:grid;gap:34px}.commit-detail-list article{min-height:350px;display:grid;grid-template-columns:1fr 1fr;background:rgba(255,253,247,.9);border:1px solid rgba(163,120,56,.22);box-shadow:0 10px 30px rgba(71,45,22,.06)}.commit-detail-list article:nth-child(even) .commit-detail-copy{order:2}.commit-detail-list img{height:100%;min-height:350px;object-fit:cover}.commit-detail-copy{padding:48px clamp(28px,5vw,65px)}.commit-detail-copy b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#fff;font:12px Georgia}.commit-detail-copy>span{display:block;margin:14px 0 1px;color:var(--red);font:10px Georgia;letter-spacing:.2em}.commit-detail-copy h3{margin:0 0 13px;font-size:24px;font-weight:500;line-height:1.65}.commit-detail-copy p{font-family:"Yu Gothic",sans-serif;font-size:12px;line-height:2}
.shop-detail-section{background:rgba(244,236,220,.54)}.detail-shop-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.detail-shop-card{display:grid;grid-template-columns:42% 58%;background:#fff;box-shadow:0 8px 25px rgba(74,47,21,.09)}.detail-shop-image{position:relative;min-height:250px}.detail-shop-image img{height:100%;object-fit:cover}.detail-shop-image span{position:absolute;left:12px;top:12px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#fff;font:11px Georgia}.detail-shop-body{padding:24px 22px}.detail-shop-body h3{margin:0 0 15px;font-size:20px}.detail-shop-body dl{margin:0}.detail-shop-body dl div{display:grid;grid-template-columns:58px 1fr;padding:8px 0;border-top:1px solid var(--line);font-family:"Yu Gothic",sans-serif;font-size:10px}.detail-shop-body dt{font-weight:700}.detail-shop-body dd{margin:0}.detail-shop-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:19px}.detail-shop-actions a{min-height:42px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);font-size:10px}.detail-shop-actions .primary{background:var(--brown);border-color:var(--brown);color:#fff}
.recruit-lead{padding-bottom:55px}.person-grid{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid rgba(163,120,56,.22)}.person-grid article{padding:45px 38px;text-align:center}.person-grid article+article{border-left:1px solid var(--line)}.person-grid b{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 20px;border-radius:50%;background:#f2e9d7;color:#9c733e;font-size:31px}.person-grid h3{font-size:17px;font-weight:500}.person-grid p{font-family:"Yu Gothic",sans-serif;font-size:11px;line-height:1.9;text-align:left}
.requirements-section{padding-top:55px}.requirements{max-width:980px;margin:auto;background:rgba(255,253,248,.9);border-top:1px solid var(--line)}.requirements div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line)}.requirements dt,.requirements dd{padding:16px 22px;font-family:"Yu Gothic",sans-serif;font-size:12px}.requirements dt{background:rgba(185,147,87,.08);font-weight:700}.requirements dd{margin:0}
.recruit-banner{min-height:390px;padding:55px max(8vw,30px);display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(38,21,10,.88),rgba(38,21,10,.22)),url("../img/index/fv02.jpg") center/cover}.recruit-banner div{max-width:570px}.recruit-banner span{font:11px Georgia;letter-spacing:.2em}.recruit-banner h2{font-size:32px;font-weight:500;line-height:1.6}.recruit-banner a{display:flex; flex-direction: column; min-height:52px;padding:12px 20px;align-items:center;justify-content:space-between;background:var(--red);font-size:16px}.recruit-banner a b{font-size: 22px;}
.contact-cards{max-width:800px;margin:0 auto 50px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-cards>a,.contact-cards>div{padding:28px;display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid var(--line);text-align:center}.contact-cards i{font-size:24px;color:var(--gold)}.contact-cards span{margin-top:9px;font-size:11px}.contact-cards strong{font:22px Georgia;margin:4px 0}.contact-cards small{font-size:9px}
.contact-form{max-width:850px;margin:auto;padding:45px 55px;background:#fff;border:1px solid var(--line)}.form-row{display:grid;grid-template-columns:210px 1fr;border-bottom:1px solid var(--line)}.form-row>label{padding:19px 20px;font-size:12px;font-weight:600}.form-row em{margin-left:8px;padding:3px 6px;background:var(--red);color:#fff;font:normal 9px sans-serif}.form-row input,.form-row select,.form-row textarea{width:100%;margin:10px 0;padding:12px;border:1px solid #d8ccbc;background:#fdfbf7;font-family:"Yu Gothic",sans-serif;font-size:16px}.form-row textarea{resize:vertical}.form-note{text-align:center;font-size:10px}.contact-form>button{width:min(100%,330px);min-height:55px;margin:25px auto 0;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;background:var(--brown);color:#fff;cursor:pointer}.honeypot{position:absolute;left:-9999px}.form-result{max-width:850px;margin:0 auto 24px;padding:18px 22px;font-size:13px}.form-result.success{background:#edf5e8;border:1px solid #8ca47c}.form-result.error{background:#faeeee;border:1px solid #b97f79}.form-result ul{margin:0}
.news-archive{min-height:500px}.sub-news-list{max-width:980px;margin:auto;border-top:1px solid var(--line)}.sub-news-list a{display:grid;grid-template-columns:140px 1fr 25px;gap:25px;align-items:center;padding:24px 10px;border-bottom:1px solid var(--line)}.sub-news-list time{font:11px Georgia;color:var(--red)}.sub-news-list h3{margin:0;font-size:14px;font-weight:500}.sub-news-list span{color:var(--red)}.empty-message{text-align:center}
.news-article{max-width:960px;margin:60px auto 100px;padding:60px clamp(25px,6vw,75px);background:rgba(255,253,248,.94);border:1px solid var(--line);box-shadow:0 12px 35px rgba(70,44,20,.06)}.news-article>header{padding-bottom:35px;border-bottom:1px solid var(--line)}.news-article>header time{font:12px Georgia;color:var(--red)}.news-article>header h1{margin:10px 0 0;font-size:clamp(25px,3.5vw,40px);font-weight:500;line-height:1.55}.news-content-blocks{margin-top:45px}.news-text-block{font-family:"Yu Gothic",sans-serif;font-size:15px;line-height:2}.article-footer{margin-top:55px;padding-top:25px;border-top:1px solid var(--line)}.article-footer a{color:var(--red);font-size:12px}
@media(max-width:900px){.detail-shop-card{grid-template-columns:1fr}.detail-shop-image{min-height:0;aspect-ratio:16/9}.person-grid article{padding:35px 25px}}
@media(max-width:700px){.sub-hero{height:300px;margin-top:65px}.sub-hero-copy h1{font-size:32px}.breadcrumb{padding:13px 18px;white-space:nowrap;overflow:hidden}.sub-intro,.detail-section{padding:65px 18px}.sub-heading{margin-bottom:36px}.history-layout{grid-template-columns:1fr;gap:30px}.history-copy h3{font-size:20px}.history-layout figure{order:-1}.commit-detail-list{gap:20px}.commit-detail-list article{grid-template-columns:1fr;min-height:0}.commit-detail-list article:nth-child(even) .commit-detail-copy{order:0}.commit-detail-list img{min-height:0;aspect-ratio:16/10}.commit-detail-copy{padding:28px 22px}.commit-detail-copy h3{font-size:20px}.detail-shop-grid{grid-template-columns:1fr}.detail-shop-card{grid-template-columns:1fr}.detail-shop-image{aspect-ratio:16/10}.detail-shop-actions a{min-height:46px}.person-grid{grid-template-columns:1fr}.person-grid article+article{border-left:0;border-top:1px solid var(--line)}.requirements div{grid-template-columns:1fr}.requirements dt{padding-bottom:8px}.requirements dd{padding-top:8px}.recruit-banner{min-height:420px;padding:45px 22px;background-position:62% center}.recruit-banner h2{font-size:25px}.contact-cards{grid-template-columns:1fr}.contact-form{padding:25px 16px}.form-row{grid-template-columns:1fr}.form-row>label{padding:16px 0 2px}.sub-news-list a{grid-template-columns:1fr 20px;gap:8px 12px;padding:19px 5px}.sub-news-list time{grid-column:1/-1}.news-article{margin:35px 12px 70px;padding:35px 20px}.news-content-blocks{margin-top:30px}.news-text-block{font-size:14px}}

/* Detailed shop information */
.detail-shop-body dl div{grid-template-columns:68px 1fr;padding:7px 0}
.detail-shop-body dt{color:#70533a}
.detail-shop-body dd{line-height:1.65}
.detail-shop-body dd a{color:var(--red);text-decoration:underline;text-underline-offset:3px}

/* About: founder story and history */
.founder-story{max-width:1080px;margin:100px auto 0;padding:46px;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:6vw;align-items:center;background:rgba(255,253,248,.88);border:1px solid rgba(163,120,56,.22);box-shadow:0 12px 35px rgba(70,45,22,.06)}
.founder-visual img{width:100%;height:auto;filter:sepia(.1)}.founder-visual p{margin:10px 0 0;font-size:10px;color:#7b6d60}
.founder-copy>span{color:var(--red);font:10px Georgia;letter-spacing:.18em}.founder-copy h3{margin:8px 0 20px;color:var(--brown);font-size:clamp(22px,2.7vw,32px);font-weight:500;line-height:1.65}.founder-copy p{font-family:"Yu Gothic",sans-serif;font-size:12px;line-height:2}
.founder-copy blockquote{margin:25px 0;padding:19px 22px;border-block:1px solid var(--line);color:var(--red);font-size:23px;letter-spacing:.12em;text-align:center}
.history-timeline{position:relative;max-width:1080px;margin:75px auto;display:grid;grid-template-columns:repeat(4,1fr)}.history-timeline:before{content:"";position:absolute;left:8%;right:8%;top:42px;height:1px;background:var(--line)}
.history-timeline article{position:relative;padding:0 20px;text-align:center}.history-timeline time{position:relative;z-index:1;width:86px;height:86px;margin:auto;display:grid;place-content:center;border-radius:50%;background:var(--paper);border:1px solid var(--gold);color:var(--red);font:18px Georgia}.history-timeline time small{display:block;margin-top:2px;color:#806e5b;font:9px "Yu Gothic",sans-serif}
.history-timeline h3{margin:17px 0 8px;font-size:15px}.history-timeline p{margin:0;font-family:"Yu Gothic",sans-serif;font-size:10px;line-height:1.85;text-align:left}
.history-archive{max-width:980px;margin:0 auto;padding:30px;background:#fff;border:1px solid var(--line)}.history-archive img{width:100%;height:auto}.history-archive figcaption{padding:20px 8px 0;display:grid;grid-template-columns:210px 1fr;gap:25px}.history-archive figcaption strong{color:var(--brown);font-size:18px;font-weight:500}.history-archive figcaption span{font-family:"Yu Gothic",sans-serif;font-size:11px;line-height:1.9}
.commit-detail-copy ul{margin:20px 0 0;padding:15px 0 0;border-top:1px solid var(--line);list-style:none}.commit-detail-copy li{position:relative;margin:6px 0;padding-left:17px;font-family:"Yu Gothic",sans-serif;font-size:10px}.commit-detail-copy li:before{content:"◆";position:absolute;left:0;top:1px;color:var(--gold);font-size:7px}
@media(max-width:700px){.founder-story{margin-top:65px;padding:20px;grid-template-columns:1fr;gap:28px}.founder-copy h3{font-size:22px}.founder-copy blockquote{font-size:19px}.history-timeline{margin:55px auto;grid-template-columns:1fr;gap:28px}.history-timeline:before{top:20px;bottom:20px;left:42px;right:auto;width:1px;height:auto}.history-timeline article{padding:0 0 0 105px;text-align:left;min-height:86px}.history-timeline time{position:absolute;left:0;top:0}.history-timeline h3{margin-top:4px}.history-archive{padding:12px}.history-archive figcaption{padding:16px 4px 5px;grid-template-columns:1fr;gap:8px}.history-archive figcaption strong{font-size:16px}}

/* ==================================================
   下層ページ 装飾・ホバー演出
================================================== */
.breadcrumb a{transition:.2s}
.breadcrumb a:hover{color:var(--red);text-decoration:underline;text-underline-offset:3px}

.history-layout img,.founder-visual img,.history-archive img{transition:transform .6s}
.history-layout figure:hover img,.founder-story:hover .founder-visual img,.history-archive:hover img{transform:scale(1.03)}

.commit-detail-list article{transition:box-shadow .35s,transform .35s}
.commit-detail-list article:hover{box-shadow:0 16px 38px rgba(71,45,22,.14);transform:translateY(-4px)}
.commit-detail-list img{transition:transform .6s}
.commit-detail-list article:hover img{transform:scale(1.045)}

.detail-shop-card{transition:box-shadow .35s,transform .35s}
.detail-shop-card:hover{box-shadow:0 16px 38px rgba(74,47,21,.16);transform:translateY(-4px)}
.detail-shop-image img{transition:transform .6s}
.detail-shop-card:hover .detail-shop-image img{transform:scale(1.045)}
.detail-shop-actions a{transition:.25s}
.detail-shop-actions a:hover{background:var(--brown);border-color:var(--brown);color:#fff}
.detail-shop-actions .primary:hover{background:#6f421f}

.person-grid article{transition:background .3s}
.person-grid article:hover{background:rgba(185,147,87,.07)}
.person-grid article b{transition:transform .3s}
.person-grid article:hover b{transform:scale(1.08)}

.requirements div{transition:background .25s}
.requirements div:hover{background:rgba(185,147,87,.06)}

.history-timeline time{transition:background .3s,color .3s}
.history-timeline article:hover time{background:var(--gold);color:#fff}

.recruit-banner a{transition:transform .3s,box-shadow .3s}
.recruit-banner a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.3)}

.contact-cards>a,.contact-cards>div{transition:box-shadow .3s,transform .3s,border-color .3s}
.contact-cards>a:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(73,48,22,.15);border-color:var(--gold)}

.contact-form>button{transition:transform .3s,box-shadow .3s}
.contact-form>button:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(73,48,22,.25)}

.sub-news-list a{transition:background .25s,padding-left .25s}
.sub-news-list a:hover{background:rgba(185,147,87,.06);padding-left:16px}
.sub-news-list a span{display:inline-block;transition:transform .25s}
.sub-news-list a:hover span{transform:translateX(5px)}

.article-footer a{transition:.2s}
.article-footer a:hover{text-decoration:underline;text-underline-offset:3px}

/* 送信完了ページ */
.thanks-section{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.thanks-actions{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.thanks-actions .button{margin-top:0}
@media(max-width:700px){.thanks-actions{flex-direction:column;align-items:stretch}.thanks-actions .button{min-width:0}}

@media(prefers-reduced-motion:reduce){
  .commit-detail-list article,.detail-shop-card,.contact-cards>a,.recruit-banner a,.contact-form>button{transition:none}
}
