:root{
	/* タイポグラフィのルール（字間 = letter-spacing）
	   本文 .06em / H1・H2 .12em / H3 .1em / 英字ラベル .24em / UI・ボタン .14em / 極細ラベル .3em
	   ヒーローの大きな名前だけは例外（.hero-en）。カーニングは見出しに palt（プロポーショナル詰め）を一律適用 */
	--tr-body:.06em; --tr-h1:.12em; --tr-h2:.12em; --tr-h3:.1em; --tr-label:.24em; --tr-ui:.14em; --tr-wide:.3em;
	--bg:#f3ecec; --ink:#151213; --sub:#6f6560;
	--wine:#6b0f1e; --winel:#a33a4a; --deep:#3b0a12;
	--gold:#C9A55C; --pink:#d7b1b8;
	/* 余白は8の倍数だけ使う（--s1=8px, --s2=16px, --s3=24px … --s25=200px） */
	--s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:40px; --s6:48px; --s7:56px; --s8:64px; --s9:72px; --s10:80px; --s11:88px; --s12:96px; --s13:104px; --s14:112px; --s15:120px; --s16:128px; --s17:136px; --s18:144px; --s19:152px; --s20:160px; --s21:168px; --s22:176px; --s23:184px; --s24:192px; --s25:200px;
	--min:'Zen Old Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
	--got:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--got);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden;letter-spacing:var(--tr-body);font-kerning:normal}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,p{margin:0}
h1{letter-spacing:var(--tr-h1)}
h2{letter-spacing:var(--tr-h2)}
h3{letter-spacing:var(--tr-h3)}
h1,h2,h3,.sec-ttl,.pf-h2,.qa-group-ttl,.st-ttl,.st-end,.entry-title,.ab-name,.ax-t,.qa-q,.hero-main{font-kerning:normal;-webkit-font-feature-settings:"palt" 1;font-feature-settings:"palt" 1}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:8px 12px;z-index:100}
.skip-link:focus{left:8px;top:8px}

/* ---------- Header ---------- */
.site-header{position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 var(--s3);color:#f3ecec;transition:background .3s}
.site-header.is-solid{background:var(--deep)}
.site-header.is-front{position:absolute;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,0))}
.site-logo{display:block;line-height:0;text-decoration:none;position:relative;z-index:60}
.site-logo img{display:block;height:22px;width:auto}
/* ---------- ハンバーガーメニュー（PC・SPとも／常に追従） ---------- */
.menu-toggle{position:fixed;top:16px;right:16px;z-index:80;width:48px;height:48px;padding:0;background:transparent;border:0;border-radius:0;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.menu-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.menu-toggle span{position:absolute;left:9px;display:block;width:30px;height:3px;background:#f3ecec;box-shadow:0 0 6px rgba(0,0,0,.35);transition:transform .5s cubic-bezier(.16,1,.3,1),top .5s cubic-bezier(.16,1,.3,1),width .4s cubic-bezier(.16,1,.3,1),opacity .25s,background .3s}
.menu-toggle span:nth-child(1){top:12px}
.menu-toggle span:nth-child(2){top:22px}
.menu-toggle span:nth-child(3){top:32px}
.menu-toggle:hover span:nth-child(2){width:20px}
.menu-toggle.on-light span{background:var(--wine);box-shadow:none}
body.menu-open .menu-toggle span{box-shadow:none;background:#f3ecec}
body.menu-open .menu-toggle:hover span:nth-child(2){width:30px}
body.menu-open .menu-toggle span:nth-child(1){top:22px;transform:rotate(45deg)}
body.menu-open .menu-toggle span:nth-child(2){top:22px;opacity:0}
body.menu-open .menu-toggle span:nth-child(3){top:22px;transform:rotate(-45deg)}
body.admin-bar .menu-toggle{top:48px}
body.menu-open{overflow:hidden}
.menu-overlay{position:fixed;inset:0;z-index:60;background:rgba(10,2,4,.62);opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s}
body.menu-open .menu-overlay{opacity:1;visibility:visible;transition:opacity .5s}
.site-nav{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(88vw,440px);display:flex;flex-direction:column;justify-content:flex-start;padding:var(--s12) var(--s5) var(--s5);background:var(--deep);border-left:1px solid rgba(201,165,92,.45);transform:translateX(100%);visibility:hidden;transition:transform .4s cubic-bezier(.7,0,.84,0),visibility 0s linear .4s;overflow-y:auto}
.site-nav::after{content:"";margin-top:auto}
.site-nav .nav-list{margin-top:auto}
body.menu-open .site-nav{transform:none;visibility:visible;transition:transform .65s cubic-bezier(.16,1,.3,1),visibility 0s}
body.admin-bar .site-nav{top:var(--s4)}
.site-nav .nav-list{counter-reset:n;display:flex;flex-direction:column}
.site-nav .nav-list li{counter-increment:n;opacity:0;transform:translateX(28px);transition:opacity .3s,transform .3s}
body.menu-open .site-nav .nav-list li{opacity:1;transform:none;transition:opacity .6s,transform .7s cubic-bezier(.16,1,.3,1)}
body.menu-open .site-nav .nav-list li:nth-child(1){transition-delay:.12s}
body.menu-open .site-nav .nav-list li:nth-child(2){transition-delay:.17s}
body.menu-open .site-nav .nav-list li:nth-child(3){transition-delay:.22s}
body.menu-open .site-nav .nav-list li:nth-child(4){transition-delay:.27s}
body.menu-open .site-nav .nav-list li:nth-child(5){transition-delay:.32s}
body.menu-open .site-nav .nav-list li:nth-child(6){transition-delay:.37s}
body.menu-open .site-nav .nav-list li:nth-child(7){transition-delay:.42s}
.site-nav .nav-list a{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s2) 0;font-family:var(--min);font-weight:700;font-size:26px;letter-spacing:var(--tr-ui);text-decoration:none;color:#f3ecec;border-bottom:1px solid rgba(243,236,236,.12);transition:color .25s,padding-left .35s}
.site-nav .nav-list a::before{content:counter(n,decimal-leading-zero);font-family:inherit;font-size:11px;font-weight:500;letter-spacing:var(--tr-label);color:var(--gold)}
.site-nav .nav-list a:hover,.site-nav .nav-list a:focus-visible{color:var(--gold);padding-left:var(--s1)}
.menu-logo{position:absolute;top:32px;left:40px;display:block;line-height:0;text-decoration:none}
.menu-logo img{display:block;height:24px;width:auto}
body.admin-bar .menu-logo{top:32px}
.menu-cta{align-self:stretch;display:block;margin-top:var(--s5);padding:var(--s2) var(--s3);text-align:center;background:var(--gold);color:var(--deep);font-family:var(--min);font-weight:700;font-size:16px;letter-spacing:var(--tr-ui);text-decoration:none;opacity:0;transition:opacity .3s,background .25s}
body.menu-open .menu-cta{opacity:1;transition:opacity .6s .5s,background .25s}
.menu-cta:hover,.menu-cta:focus-visible{background:#f3ecec}
.menu-ig{align-self:stretch;display:block;margin-top:var(--s3);line-height:0;opacity:0;transition:opacity .3s}
.menu-ig img{display:block;width:100%;height:62px;object-fit:cover;object-position:center}
body.menu-open .menu-ig{opacity:1;transition:opacity .6s .55s}
.menu-ig:hover{opacity:.85!important}
@media (max-height:900px){.site-nav .nav-list a{padding:var(--s1) 0;font-size:22px}.site-nav{padding-top:var(--s9)}.menu-cta{margin-top:var(--s3)}}
@media (max-width:782px){body.admin-bar .menu-toggle{top:62px}body.admin-bar .site-nav{top:46px}}
@media (prefers-reduced-motion:reduce){.site-nav,.site-nav .nav-list li,.menu-overlay,.menu-toggle span{transition:none!important}}

/* ---------- 共通パーツ ---------- */
.en{font-size:12px;font-weight:500;letter-spacing:var(--tr-label);color:var(--wine);padding-left:var(--s2);position:relative}
.en::before{content:"";position:absolute;left:0;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--wine)}
.sec-ttl{font-family:var(--min);font-weight:700;font-size:28px;letter-spacing:var(--tr-h1);margin-top:var(--s1)}
.btn-line,.btn-cream,.btn-gold{display:inline-block;white-space:nowrap;text-decoration:none;font-family:var(--min);font-weight:700;letter-spacing:var(--tr-ui);padding:var(--s2) var(--s4);transition:opacity .2s}
.btn-line:hover,.btn-cream:hover,.btn-gold:hover{opacity:.8}
.btn-line::after,.btn-cream::after,.btn-gold::after,.gl-more::after,.menu-cta::after{content:"";display:inline-block;width:.42em;height:.42em;margin-left:var(--s2);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);vertical-align:.08em;transition:transform .3s}
.btn-line:hover::after,.btn-cream:hover::after,.btn-gold:hover::after,.gl-more:hover::after,.menu-cta:hover::after{transform:translateX(4px) rotate(45deg)}
.btn-line{border:1px solid var(--wine);color:var(--wine);font-size:14px}
.btn-cream{background:#f3ecec;color:var(--wine);font-size:20px;padding:var(--s2) var(--s4)}
.btn-gold{background:var(--gold);color:var(--deep);font-size:16px}

/* ---------- Hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;background:#111;overflow:visible}
.hero-media{position:absolute;inset:0;overflow:hidden}
.hero-video,.hero-still{position:absolute;inset:0;display:block;width:100%;height:100%}
.hero-video{object-fit:cover;object-position:50% 30%;background:#000}
.hero-still{transition:opacity 1s ease,visibility 0s linear 1s}
.hero-still img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero.is-video-playing .hero-still{opacity:0;visibility:hidden}
@media (min-width:1200px){.hero-video{object-position:50% 35%}.hero-still img{object-position:50% 35%}}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.6) 100%)}
.hero-copy{position:absolute;left:0;right:0;bottom:var(--s14);text-align:center;color:#f3ecec;padding:0 var(--s2);text-shadow:0 0 6px rgba(0,0,0,.55),0 2px 26px rgba(0,0,0,.8)}
.hero-scroll{position:absolute;right:16px;bottom:32px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:16px;color:#f3ecec;text-decoration:none;font-size:10px;letter-spacing:var(--tr-wide);text-shadow:0 0 6px rgba(0,0,0,.6)}
.hero-scroll span{writing-mode:vertical-rl}
.hero-scroll::after{content:"";display:block;width:1px;height:56px;background:linear-gradient(#C9A55C 50%,rgba(243,236,236,.35) 50%);background-size:100% 200%;animation:scroll-line 2s cubic-bezier(.5,0,.2,1) infinite}
@keyframes scroll-line{0%{background-position:0 100%}100%{background-position:0 -100%}}
@media (prefers-reduced-motion:reduce){.hero-scroll::after{animation:none}}
.hero-eyebrow{display:inline-flex;align-items:center;gap:var(--s2);font-size:11px;letter-spacing:var(--tr-label);margin-bottom:var(--s2);color:#f3ecec;opacity:.9}
.hero-eyebrow::before{content:"";width:28px;height:1px;background:#C9A55C}
.hero-main{font-family:var(--min);font-weight:700;font-size:27px;letter-spacing:var(--tr-body);line-height:1.5}
.hero-sub{font-size:13px;letter-spacing:var(--tr-ui);margin-top:var(--s1);color:#C9A55C;font-weight:700;text-shadow:0 0 6px rgba(0,0,0,.55),0 2px 18px rgba(0,0,0,.7)}
.hero-en{position:absolute;left:0;right:0;bottom:var(--s4);z-index:3;text-align:center;font-family:var(--min);font-weight:900;font-size:56px;line-height:1;color:#f3ecec;text-shadow:0 2px 24px rgba(0,0,0,.5);letter-spacing:.02em;white-space:nowrap;pointer-events:none}

/* ---------- Four Axes ---------- */
.axes{padding:var(--s10) var(--s3) var(--s10)}
.ax-list{margin-top:var(--s6)}
.ax-item{display:flex;align-items:center;gap:var(--s2);min-height:200px;margin-bottom:var(--s4);width:88%}
.ax-item:nth-child(even){margin-left:auto}
.ax-photo{flex:0 0 120px;width:120px;height:120px;overflow:hidden}
.ax-photo img{width:100%;height:100%;object-fit:cover}
.ax-en{display:block;font-family:var(--min);font-weight:700;font-size:17px;letter-spacing:var(--tr-h3);white-space:nowrap;color:var(--wine)}
.ax-t{font-family:var(--min);font-weight:700;font-size:16px;line-height:1.5;margin-top:var(--s1)}
.ax-b{font-size:13px;color:var(--sub);margin-top:var(--s1)}

/* ---------- About ---------- */
.about{padding:var(--s8) var(--s3) var(--s12);background:var(--wine);color:#f3ecec}
.about .en{color:var(--pink)}
.about .en::before{background:var(--pink)}
.about .btn-line{border-color:#f3ecec;color:#f3ecec}
.about-photo{width:280px;margin:0 0 var(--s4) auto;position:relative}
.about-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--pink);transform:translate(10px,10px)}
.about-photo img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}
.ab-name{font-family:var(--min);font-weight:700;font-size:28px;margin-top:var(--s1)}
.ab-name span{font-size:12px;letter-spacing:var(--tr-label);color:var(--pink);margin-left:var(--s2);font-weight:500}
.ab-p{font-size:14px;margin:var(--s2) 0 var(--s3)}
.ab-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2)}

/* ---------- パンくず ---------- */
.breadcrumb{margin-bottom:var(--s5)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:0 var(--s1);font-size:12px;letter-spacing:var(--tr-ui);color:var(--sub)}
.breadcrumb li+li::before{content:"/";margin-right:var(--s1);opacity:.5}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb [aria-current]{color:var(--ink)}

/* ---------- Story ---------- */

.story{position:relative;overflow:hidden;height:360px;background:var(--deep);border-top:1px solid var(--gold);color:#f3ecec;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 var(--s3)}
.story-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.story-bg::after{content:"";position:absolute;inset:0;background:rgba(59,10,18,.62)}
.story-bg picture{position:absolute;left:0;top:-170px;width:100%;height:calc(100% + 340px);display:block}
.story-bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:blur(6px);transform:translate3d(0,var(--par,0px),0) scale(1.06);will-change:transform}
.story-inner{position:relative;z-index:1}
.story .en{color:var(--pink);display:inline-block}
.story .en::before{background:var(--pink)}
.story-lead{font-family:var(--min);font-weight:700;font-size:18px;margin:var(--s2) 0 var(--s3)}

/* ---------- Gallery ---------- */
.gallery{padding:var(--s12) 0 var(--s10)}
.gl-head{display:flex;justify-content:space-between;align-items:flex-end;padding:0 var(--s3);margin-bottom:var(--s4)}
.gl-marquee{overflow:hidden}
.gl-track{display:flex;align-items:flex-start;width:max-content;animation:gl-flow 70s linear infinite;will-change:transform}
.gl-marquee:hover .gl-track{animation-play-state:paused}
@keyframes gl-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gl-item{flex:0 0 auto;width:300px;height:300px;margin-right:var(--s2);overflow:hidden}
.gl-item:nth-child(even){margin-top:var(--s5)}
.gl-item img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
@media (prefers-reduced-motion:reduce){
	.gl-marquee{overflow-x:auto}
	.gl-track{animation:none;padding:0 var(--s3)}
	.gl-item[aria-hidden="true"]{display:none}
}
.gl-more{display:block;width:max-content;margin:var(--s4) auto 0;font-family:var(--min);font-weight:700;letter-spacing:var(--tr-ui);color:var(--wine);text-decoration:none;border-bottom:1px solid var(--wine);padding-bottom:var(--s1)}

/* ---------- Contact ---------- */
.contact{background:var(--deep);color:#f3ecec;padding:var(--s7) var(--s3);text-align:center}
.contact .en{color:var(--pink);display:inline-block}
.contact .en::before{background:var(--pink)}
.ct-lead{font-family:var(--min);font-weight:700;font-size:18px;color:var(--pink);margin:var(--s2) 0 var(--s4)}

/* ---------- Footer ---------- */

.to-top{position:fixed;right:16px;bottom:calc(16px + var(--lift,0px) + env(safe-area-inset-bottom,0px));z-index:50;display:block;width:44px;height:44px;border:1px solid rgba(201,165,92,.65);border-radius:50%;background:rgba(59,10,18,.9);-webkit-tap-highlight-color:transparent;text-decoration:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s,transform .35s,visibility 0s linear .35s,border-color .3s,background .3s}
.to-top.is-show{opacity:1;visibility:visible;transform:none;transition:opacity .35s,transform .35s,visibility 0s,border-color .3s,background .3s}
body.menu-open .to-top{opacity:0;visibility:hidden}
.to-top::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);transform:translate(-50%,-30%) rotate(45deg);transition:transform .3s}
.to-top:hover,.to-top:focus-visible{border-color:var(--gold);background:var(--deep)}
.to-top:hover::before,.to-top:focus-visible::before{transform:translate(-50%,-42%) rotate(45deg)}
.ft-row{display:flex;justify-content:center;align-items:center;gap:var(--s3)}
.ft-privacy,.site-footer small{color:#d7b1b8;text-decoration:none;font-size:11px;line-height:1;letter-spacing:var(--tr-ui)}
.ft-privacy:hover{color:var(--gold)}
.site-footer{box-sizing:border-box;height:50px;display:flex;align-items:center;justify-content:center;background:var(--deep);color:#d7b1b8;padding:0 var(--s3);text-align:center;font-size:11px;letter-spacing:var(--tr-ui);border-top:1px solid rgba(243,236,236,.15)}

/* ---------- 下層ページ（仮） ---------- */
.page-main{padding:var(--s15) var(--s3) var(--s10);min-height:60vh}
.page-inner{max-width:760px;margin:0 auto}
.entry-title{font-family:var(--min);font-weight:700;font-size:28px;letter-spacing:var(--tr-h1);margin-bottom:var(--s3)}

/* ---------- Q&A ---------- */
.qa-inner{max-width:1000px;margin:0 auto}
.qa-head{display:flex;flex-direction:column-reverse;gap:var(--s4);margin-bottom:var(--s8)}
.qa-head-photo{width:180px;align-self:flex-end;position:relative}
.qa-head-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--winel);transform:translate(8px,8px)}
.qa-head-photo img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}
.qa-lead{margin-top:var(--s3);font-size:14px}
.qa-group{margin-bottom:var(--s7)}
.qa-group-ttl{font-family:var(--min);font-weight:700;font-size:22px;letter-spacing:var(--tr-h2);margin:var(--s1) 0 var(--s1)}
.qa-item{padding:var(--s3) 0;border-bottom:1px solid #d9cccc}
.qa-list{border-top:1px solid var(--wine)}
.qa-q{font-family:var(--min);font-weight:700;font-size:17px;line-height:1.6}
.qa-no{display:block;font-family:var(--got);font-size:12px;letter-spacing:var(--tr-label);color:var(--wine);margin-bottom:var(--s1)}
.qa-a{margin-top:var(--s2);font-size:15px}

/* ---------- About page ---------- */
.pf-inner{max-width:1100px;margin:0 auto}
.pf-head{display:flex;flex-direction:column;gap:var(--s4);margin-bottom:var(--s11)}
.pf-photo{width:240px;position:relative;align-self:flex-end}
.pf-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--winel);transform:translate(10px,10px)}
.pf-photo img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover}
.pf-dl{margin:var(--s3) 0 0;border-top:1px solid var(--wine)}
.pf-dl div{display:flex;align-items:baseline;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid #d9cccc}
.pf-dl dt{flex:0 0 6em;font-size:12px;letter-spacing:var(--tr-ui);color:var(--wine);font-weight:700;padding-top:0}
.pf-dl dd{margin:0;font-size:15px}
.pf-sec{margin-bottom:var(--s11)}
.pf-h2{font-family:var(--min);font-weight:700;font-size:26px;letter-spacing:var(--tr-h2);margin:var(--s1) 0 var(--s3)}
.pf-msg-img{margin-bottom:var(--s4)}
.pf-msg-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.pf-msg-text p{margin-bottom:var(--s2)}
.pf-lead{margin:0 0 var(--s3)}
.pf-table{border-top:1px solid var(--wine)}
.pf-table li{display:grid;grid-template-columns:1fr;gap:var(--s1);padding:var(--s2) 0;border-bottom:1px solid #d9cccc}
.pf-y{font-size:12px;letter-spacing:var(--tr-ui);color:var(--wine);font-weight:700}
.pf-d{font-size:15px}
.pf-a{font-family:var(--min);font-weight:700;color:var(--wine)}
.pf-story{background:var(--wine);color:#f3ecec}

/* ---------- Story ---------- */
.st-inner{max-width:1000px;margin:0 auto}
.st-head{margin-bottom:var(--s7)}
.st-lead{margin-top:var(--s3);font-size:14px}
.st-list{position:relative;margin-left:var(--s1);padding-left:var(--s4);border-left:1px solid var(--wine)}
.st-item{position:relative;padding-bottom:var(--s7)}
.st-item::before{content:"";position:absolute;left:-39px;top:6px;width:13px;height:13px;background:var(--cream,#f3ecec);border:2px solid var(--wine);border-radius:50%}
.st-age{font-family:var(--min);font-weight:900;font-size:22px;letter-spacing:var(--tr-h3);color:var(--wine)}
.st-ttl{font-family:var(--min);font-weight:700;font-size:20px;letter-spacing:var(--tr-h2);line-height:1.6;margin:var(--s1) 0 var(--s1)}
.st-txt{font-size:15px}
.st-head .sec-ttl{font-size:23px;letter-spacing:var(--tr-h1)}
.ph{display:inline-block}
.st-photo{margin-top:var(--s3);max-width:320px;position:relative}
.st-photo::before{content:"";position:absolute;inset:0;border:1px solid var(--winel);transform:translate(8px,8px)}
.st-photo img{position:relative;display:block;width:100%;height:auto}
.st-end{font-family:var(--min);font-weight:900;font-size:26px;letter-spacing:var(--tr-h2);color:var(--wine);text-align:center;margin:var(--s3) 0 var(--s1)}

/* ---------- Gallery（下層ページ） ---------- */
.gp-inner{max-width:1200px;margin:0 auto}
.gp-head{margin-bottom:var(--s6)}
.gp-grid{columns:2;column-gap:var(--s2)}
.gp-item{break-inside:avoid;margin-bottom:var(--s2);overflow:hidden}
.gp-item img{display:block;width:100%;height:auto}

/* ================= PC (1200px〜) ================= */
@media (min-width:1200px){
	body{font-size:16px}
	.site-header{height:88px;padding:0 var(--s6)}
	body.admin-bar .site-header{top:var(--s4)}
	.site-logo img{height:26px}
	.menu-toggle{top:24px;right:32px;width:54px;height:54px}
	.menu-toggle span{left:12px}
	.menu-toggle span:nth-child(1){top:15px}
	.menu-toggle span:nth-child(2){top:25px}
	.menu-toggle span:nth-child(3){top:35px}
	body.menu-open .menu-toggle span:nth-child(1),body.menu-open .menu-toggle span:nth-child(2),body.menu-open .menu-toggle span:nth-child(3){top:25px}
	body.admin-bar .menu-toggle{top:56px}
	.site-nav{padding:var(--s14) var(--s7) var(--s6)}
	.menu-logo{left:56px;top:32px}
	.hero-scroll{right:48px;bottom:48px}
	.hero-en{bottom:var(--s6)}
	.site-nav .nav-list a{font-size:30px}
	.en{font-size:12px}
	.sec-ttl{font-size:40px}
	
	.hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.45) 0,rgba(0,0,0,0) 55%),linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.45) 100%)}
	.hero-copy{bottom:auto;top:36%;right:52%}
	.hero-eyebrow{font-size:13px;margin-bottom:var(--s2)}
	.hero-main{font-size:44px}
	.hero-sub{font-size:17px;margin-top:var(--s2)}
	.hero-en{font-size:clamp(90px,13vw,190px)}
	.axes{padding:var(--s18) var(--s8) var(--s22)}
	.ax-list{width:min(1300px,100%);margin:var(--s9) auto 0;position:relative}
	.ax-list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#d9cccc}
	.ax-item{gap:var(--s4);min-height:0;margin-bottom:var(--s12);width:50%;padding-right:var(--s5)}
	.ax-item:last-child{margin-bottom:0}
	.ax-item:nth-child(even){margin-left:50%;padding-right:0;padding-left:var(--s5)}
	.ax-photo{flex-basis:clamp(150px,13vw,200px);width:clamp(150px,13vw,200px);height:clamp(150px,13vw,200px)}
	.ax-text{border-left:1px solid var(--winel);padding-left:var(--s4)}
	.ax-en{font-size:clamp(26px,2.6vw,36px);line-height:1.3;padding-left:var(--s4)}
		.ax-t{font-size:clamp(17px,1.5vw,22px);margin-top:var(--s2)}
	.ax-b{font-size:14px;margin-top:var(--s1)}
	.about{padding:var(--s10) var(--s12) var(--s25)}
	.about-inner{display:flex;align-items:center;gap:var(--s18);justify-content:center}
	.about-photo{width:520px;margin:0;flex:0 0 520px}
	.about-photo::before{transform:translate(14px,14px)}
	.ab-name{font-size:40px}
	.ab-p{font-size:16px;margin:var(--s3) 0 var(--s5)}
	.ab-links{justify-content:flex-start}
	.story{height:440px}
	.story-lead{font-size:32px;margin:var(--s3) 0 var(--s5)}
	.btn-cream{font-size:24px;padding:var(--s3) var(--s6)}
	.gallery{padding:var(--s20) 0 var(--s18)}
	.gl-head{padding:0 var(--s12);margin-bottom:var(--s6)}
	.gl-track{animation-duration:90s}
	.gl-item{width:420px;height:420px;margin-right:var(--s4)}
	.gl-item:nth-child(even){margin-top:var(--s8)}
	.contact{padding:var(--s10) var(--s12)}
	.ct-lead{font-size:28px;margin:var(--s2) 0 var(--s5)}
	.site-footer{padding:0 var(--s12)}
	.to-top{right:32px;bottom:calc(32px + var(--lift,0px))}
	.page-main{padding:var(--s22) var(--s12) var(--s15)}
	.pf-head{flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:var(--s12);margin-bottom:var(--s18)}
	.pf-photo{width:400px;flex:0 0 400px;align-self:auto}
	.pf-profile{flex:1}
	.pf-dl dd{font-size:16px}
	.pf-sec{margin-bottom:var(--s18)}
	.pf-h2{font-size:34px;margin-bottom:var(--s5)}
	.pf-msg{display:flex;gap:var(--s9);align-items:flex-start}
	.pf-msg-img{flex:0 0 46%;margin:0}
	.pf-msg-img img{aspect-ratio:4/5}
	.pf-msg-text{flex:1}
	.pf-table li{grid-template-columns:150px 1fr 190px;gap:var(--s4);align-items:baseline;padding:var(--s3) 0}
	.pf-table-2 li{grid-template-columns:260px 1fr}
	.pf-d{font-size:16px}
	.qa-head{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:var(--s10);margin-bottom:var(--s12)}
	.qa-head-photo{width:260px;align-self:auto;flex:0 0 260px}
	.qa-lead{font-size:16px}
	.qa-group{margin-bottom:var(--s12)}
	.qa-group-ttl{font-size:28px}
	.qa-item{display:grid;grid-template-columns:5fr 6fr;gap:var(--s7);padding:var(--s4) 0;align-items:start}
	.qa-q{font-size:20px}
	.qa-a{margin-top:0;font-size:16px}
	.st-head{margin-bottom:var(--s12)}
	.st-lead{font-size:16px}
	.st-list{margin-left:0;padding-left:0;border-left:0}
	.st-list::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--wine)}
	.st-item{display:flex;align-items:center;gap:0;width:100%;padding-bottom:var(--s12)}
	.st-item::before{left:50%;top:14px;margin-left:-7px}
	.st-body{width:50%;padding-right:var(--s9);text-align:right}
	.st-item:nth-child(even){flex-direction:row-reverse}
	.st-item:nth-child(even) .st-body{padding-right:0;padding-left:var(--s9);text-align:left}
	.st-item.has-img .st-photo{width:50%;max-width:none;margin:0;padding-left:var(--s9)}
	.st-item.has-img:nth-child(even) .st-photo{padding-left:0;padding-right:var(--s9)}
	.st-item:not(.has-img) .st-body{width:50%}
	.st-item.has-img .st-photo{display:flex;justify-content:flex-start}
	.st-item.has-img:nth-child(even) .st-photo{justify-content:flex-end}
	.st-photo::before{display:none}
	.st-photo img{max-width:340px}
	.st-age{font-size:30px}
	.st-ttl{font-size:26px}
	.st-txt{font-size:16px}
	.st-end{font-size:36px;margin:var(--s6) 0 var(--s3)}
	.gp-head{margin-bottom:var(--s9)}
	.gp-grid{columns:3;column-gap:var(--s3)}
	.gp-item{margin-bottom:var(--s3)}
}

/* お問い合わせページ */
.ct-page{max-width:720px;margin:0 auto}
.ct-pg-lead{margin:var(--s3) 0 var(--s8);font-family:var(--min);font-weight:700;font-size:20px;letter-spacing:var(--tr-h3);line-height:1.9}
.ct-block{margin-top:var(--s7)}
.ct-block .en{margin-bottom:var(--s2)}
.ct-mail{display:inline-block;font-family:var(--min);font-weight:700;font-size:18px;letter-spacing:var(--tr-body);color:var(--wine);text-decoration:none;border-bottom:1px solid var(--wine);padding-bottom:var(--s1);word-break:break-all;transition:color .25s,border-color .25s}
.ct-mail:hover{color:var(--gold);border-color:var(--gold)}
.ct-ig{display:block;max-width:480px;line-height:0;transition:opacity .25s}
.ct-ig:hover{opacity:.88}
.ct-ig img{display:block;width:100%;height:auto}
@media (min-width:1200px){.ct-pg-lead{font-size:26px}.ct-mail{font-size:22px}}

/* ブログ */
.bl-list{display:flex;flex-direction:column;gap:var(--s6)}
.bl-link{display:block;color:inherit;text-decoration:none}
.bl-thumb{aspect-ratio:3/2;overflow:hidden;background:#e4d8d8}
.bl-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.bl-link:hover .bl-thumb img{transform:scale(1.04)}
.bl-body{padding-top:var(--s2)}
.bl-date{display:block;font-family:var(--min);font-weight:700;font-size:12px;letter-spacing:var(--tr-label);color:var(--wine)}
.bl-title{font-family:var(--min);font-weight:700;font-size:20px;line-height:1.6;margin-top:var(--s1);transition:color .25s}
.bl-link:hover .bl-title{color:var(--wine)}
.bl-excerpt{margin-top:var(--s1);font-size:13px;color:var(--sub)}
.bl-empty{margin-top:var(--s4)}
.pagination .nav-links{display:flex;justify-content:center;gap:var(--s1);margin-top:var(--s8)}
.pagination .page-numbers{min-width:40px;padding:var(--s1) var(--s2);text-align:center;text-decoration:none;color:var(--wine);border:1px solid transparent;font-family:var(--min);font-weight:700}
.pagination .page-numbers.current{border-color:var(--wine)}
.pagination a.page-numbers:hover{border-color:var(--winel)}
.bl-single{max-width:760px}
.bl-head{margin-bottom:var(--s4)}
.bl-h1{font-family:var(--min);font-weight:700;font-size:24px;line-height:1.6;margin-top:var(--s1)}
.bl-eye{margin-bottom:var(--s5)}
.bl-eye img{display:block;width:100%;height:auto}
.entry-content{line-height:2}
.entry-content p{margin:0 0 var(--s3)}
.entry-content h2{font-family:var(--min);font-weight:700;font-size:21px;line-height:1.6;margin:var(--s6) 0 var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--winel)}
.entry-content h3{font-family:var(--min);font-weight:700;font-size:18px;line-height:1.6;margin:var(--s5) 0 var(--s2);color:var(--wine)}
.entry-content img{max-width:100%;height:auto}
.entry-content figure{margin:var(--s4) 0}
.entry-content figcaption{margin-top:var(--s1);font-size:12px;color:var(--sub)}
.entry-content ul,.entry-content ol{margin:0 0 var(--s3);padding-left:var(--s3)}
.entry-content ul{list-style:disc}
.entry-content ol{list-style:decimal}
.entry-content a{color:var(--wine);text-decoration:underline;text-underline-offset:3px}
.bl-pn{display:flex;justify-content:space-between;gap:var(--s3);margin-top:var(--s8);padding-top:var(--s3);border-top:1px solid #d9cccc;font-size:13px}
.bl-pn a{color:var(--wine);text-decoration:none}
.bl-pn a:hover{text-decoration:underline}
.bl-next{margin-left:auto;text-align:right}
@media (min-width:1200px){
	.bl-list{gap:var(--s9)}
	.bl-link{display:grid;grid-template-columns:5fr 6fr;gap:var(--s6);align-items:center}
	.bl-body{padding-top:0}
	.bl-title{font-size:26px}
	.bl-excerpt{font-size:14px}
	.bl-h1{font-size:34px}
	.entry-content h2{font-size:26px}
	.entry-content h3{font-size:20px}
}

/* TOOLS アイコン */
.tl-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4) var(--s2);border-top:1px solid var(--wine);padding-top:var(--s4)}
.tl-item{display:flex;flex-direction:column;align-items:center;gap:var(--s1);text-align:center}
.tl-item img{width:48px;height:48px;object-fit:contain}
.tl-item{min-width:0}
.tl-item span{font-size:9px;letter-spacing:.02em;color:var(--sub);white-space:nowrap}
@media (min-width:1200px){
	.tl-list{grid-template-columns:repeat(10,1fr);gap:var(--s4)}
	.tl-item img{width:64px;height:64px}
	.tl-item span{font-size:12px;letter-spacing:var(--tr-ui)}
}

/* プライバシーポリシー */
.pp-page{max-width:760px}
.pp-sec{margin-top:var(--s6)}
.pp-h2{font-family:var(--min);font-weight:700;font-size:19px;letter-spacing:var(--tr-h3);line-height:1.6;margin-bottom:var(--s2);padding-bottom:var(--s1);border-bottom:1px solid var(--winel)}
.pp-sec p{margin-bottom:var(--s2);line-height:2}
.pp-date{margin-top:var(--s8);font-size:12px;letter-spacing:var(--tr-ui);color:var(--sub);text-align:right}
@media (min-width:1200px){.pp-h2{font-size:22px}.pp-sec{margin-top:var(--s8)}}
