@charset "utf-8";
/* =========================================================================
   曙酒造 AKEBONO SAKE BREWERY  style.css
   ========================================================================= */
:root{
  --c-ink:#242424;
  --c-white:#ffffff;
  --c-greige:#AC9F8E;
  --c-orange:#FF6F00;
  --c-purple:#68679A;
  --c-line:#cecece;
  --c-paper:#ffffff;

  --font-en:"Cardo", serif;
  --font-mincho:"Noto Serif JP",serif;
  --font-sans:"Noto Sans JP",sans-serif;

  --maxw:1180px;
  --pad:clamp(1.2rem,5vw,4rem);
  --ease:cubic-bezier(.2,.7,.2,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:0.9vw;scroll-padding-top:6rem;-webkit-text-size-adjust:100%;}
@media (max-width:2000px){ 
html{font-size:1vw;}
}
@media (max-width:1600px){ 
html{font-size:1.05vw;}
}

body{
  font-family:var(--font-sans);
  color:var(--c-ink);
  background:var(--c-paper);
  line-height:1.9;
  overflow-x:hidden;
  font-weight:400;
  letter-spacing:.02em;
}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* ---- 共通レイアウト ---- */
main {
    background: #fff;
	padding-bottom: 10em;
}
.page-home main {
	padding-bottom: 0em;
}

.sec {
	padding: 8rem 0 0;
}
/* ---- 見出し系 ---- */
.en-head{font-family:var(--font-en);font-weight:400;letter-spacing:.14em;line-height:1.1;}
.sec-label {
    font-family: var(--font-en);
    display: flex;
    align-items: center;
    gap: 1em;
    letter-spacing: .04em;
    font-size: 1.5rem;
    margin-bottom: 1.8rem;
    padding-left: 0.2em;
    font-weight: 600;
}
.sec-label-jp {
    font-family: var(--font-mincho);
    display: flex;
    align-items: center;
    gap: 1em;
    letter-spacing: .04em;
    font-size: 1rem;
    margin-bottom: 1.8rem;
    padding-left: 0.2em;
    font-weight: 600;
}

.sec-label-jp::after {
    content: "";
    width: 5em;
    height: 1px;
    background: currentColor;
    display: block;
}
.serif {font-family: var(--font-mincho);}
.sec-label.center{justify-content:center;}
.sec-label.center::before{content:"";width:3.2em;height:1px;background:var(--c-greige);opacity:.6;}
.sec-label.center::after{flex:0 0 3.2em;}
.jp-title{font-family:var(--font-mincho);font-weight:500;line-height:1.5;letter-spacing:.06em;}
.lead-center {
	font-family: var(--font-mincho);
    font-weight: 600;
    text-align: center;
    line-height: 1.8;
    letter-spacing: .2em;
    font-size: 1.8rem;
}
.inner {
    width: 78%;
    margin: 0 auto;
}
.inner-min {
    width: 64%;
    margin: 0 auto;
}

/* ---- ボタン ---- */
.btn-more {
display: block;
    align-items: center;
    font-size: .82rem;
    border-radius: 999px;
    padding: 0.2em 1em;
    transition: .4s;
    background: #ffffff;
    border: #333 solid 1px;
    margin: 0 auto;
    width: 9em;
    text-align: center;
    font-weight: 500;
}
.btn-more.type-border {
    background: none;
    color: #fff;
    border: #fff solid 1px;
}

.btn-more:hover{background:var(--c-orange);border-color:var(--c-orange);color:#fff;transition: .4s;}
.btn-more.solid{background:var(--c-orange);border-color:var(--c-orange);color:#fff;transition: .4s;}
.btn-more.solid:hover{filter:brightness(1.08);transition: .4s;}
.notfound-en {
    font-size: 10em;
    line-height: 1.3em;
    font-family: var(--font-en);
}
.notfound {
    text-align: center;
    padding-top: 5em;
}
.notfound a {
    text-decoration: underline;
}
/* =========================================================================
   ヘッダー
   ========================================================================= */

.color-b {display: none;}
.basic .color-b {display: block;}
.basic .color-w {display: none;}

.site-header{position:absolute;top:0;left:0;width:100%;z-index:50;}
.site-header--solid{position:relative;background:var(--c-white);}
.header-inner {
    display: flex;
    align-items: center;
    gap: 3rem;
    padding: 1.8em 2.5em;
}
.brand{display:flex;align-items:center;gap:.8rem;}
.brand-jp-only{font-family:var(--font-mincho);font-size:1.15rem;letter-spacing:.2em;white-space:nowrap;font-weight: 600;}
.brand--full {
    flex-direction: column;
    gap: 0;
    text-align: center;
    position: absolute;
    width: 10em;
    top: 1.6em;
    left: 2em;
}

.brand-mark {
    width: 100%;
    height: auto;
    margin-bottom: .35rem;
}
.brand-en{display:block;font-family:var(--font-en);font-size:.98rem;letter-spacing:.18em;line-height:1.25;}
.brand-cap{display:block;font-size:.5rem;letter-spacing:.14em;margin-top:.25em;opacity:.6;}
.brand-jp {
    font-family: var(--font-mincho);
    display: block;
    font-size: 0.86em;
    letter-spacing: .14em;
    margin-top: .4em;
    padding-top: .3em;
    border-top: 1px solid currentColor;
    font-weight: 600;
}
.site-header--solid .brand-jp{border-color:#d8d2c8;}
.site-header--overlay .brand-jp{border-color:rgba(255,255,255,.45);}
.nav-main {
    font-family: var(--font-mincho);
    margin-left: auto;
    display: flex;
    gap: 1rem;
    font-size: .98rem;
    font-weight: 500;
    letter-spacing: .04em;
	padding-right: 7em;
}
.nav-main a{position:relative;padding-bottom:.2em;}
.nav-main a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s var(--ease);}
.nav-main a:hover::after{width:100%;}
.header-ext {
    position: absolute;
    right: 2em;
    top: 1.2em;
}
.ext-btn {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-family: var(--font-en);
    font-size: 1.1em;
    letter-spacing: .05em;
    white-space: nowrap;
    transition: color .25s var(--ease);
    font-weight: 500;
    pointer-events: none;
}
a.ext-btn.comingsoon {
    pointer-events: none;
}


.header-ext-item {
    position: relative;
}
.comingsoon-txt {
    position: absolute;
    bottom: -0.8em;
    font-size: 0.8em;
    left: 0;
    right: 0;
    text-align: center;
    padding-left: 1.2em;
}
.ext-btn.wine img{
    width:4.5em;
}
.ext-btn.ec img {
       width: 1.36em;
}
span.logo-c {
    display: none;
}



.ext-ico{width:1.3em;height:1.3em;flex:none;}
.ext-btn:hover{color:var(--c-orange);}
/* overlay（HOME）は白文字 */
.site-header--overlay,.site-header--overlay a{color:#fff;}
.site-header--overlay .brand-mark{filter:brightness(0) invert(1);}
/* solid（下層）はインク文字 */
.site-header--solid,.site-header--solid a{color:var(--c-ink);}

/* ---- フローティングハンバーガー（バー2本／スクロールで出現） ---- */
.menu-toggle {
    position: fixed;
    top: 1.4rem;
    right: 1.4rem;
    z-index: 120;
    width: 5em;
    height: 5em;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.4em;
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s var(--ease),background .3s;
	background: #242424;
}
.menu-toggle span {
    display: block;
    width: 60%;
    height: 1px;
    background: #fff;
    transition: transform .35s var(--ease),opacity .25s;
}
.drawer-logo {
    width: 50%;
    margin: 0 auto;
    padding-bottom: 1em;
}


body.nav-collapsed .menu-toggle{opacity:1;pointer-events:auto;}
body.menu-open .menu-toggle{opacity:1;pointer-events:auto;}
body.menu-open .menu-toggle span:nth-child(1){transform:translateY(2.5px) rotate(45deg);}
body.menu-open .menu-toggle span:nth-child(2){transform:translateY(-4.25px) rotate(-45deg);}
@media (max-width:900px){ .menu-toggle{opacity:1;pointer-events:auto;} }

/* ---- ドロワー ---- */
.nav-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(86vw,460px);z-index:110;
  background:var(--c-ink);color:#fff;
  transform:translateX(100%);transition:transform .6s var(--ease);
  display:flex;flex-direction:column;justify-content:flex-start;gap:1.5rem;padding:3rem 2.4rem;
}
body.menu-open .nav-drawer{transform:translateX(0);box-shadow:-12px 0 50px rgba(0,0,0,.3);
    overflow-x: scroll;
}
.drawer-nav{display:flex;flex-direction:column;    gap: 0.4rem;}
.drawer-nav a {
    font-family: var(--font-mincho);
    font-size: 1.4em;
    letter-spacing: .06em;
    transition: .3s;
    line-height: 1.6;
}
.drawer-nav a:hover{}
.drawer-nav .en {
    font-family: var(--font-en);
    font-size: 1.4rem;
    display: block;
    line-height: 1em;
}
.drawer-nav .jp {
    font-size: 0.9em;
}
.drawer-sub-nav a {
    gap: 1em;
    font-family: var(--font-mincho);
    font-size: 0.85em;
    letter-spacing: .06em;
    transition: .3s;
    display: block;
}


.drawer-ext{display:flex;flex-direction:column;}
.drawer-ext .ext-btn {
	position: relative;

}
.drawer-ext .ext-btn {
    position: relative;
    display: block;
    line-height: 1.3;
    width: 5em;
    margin: 0 auto;
}
.drawer-ext-item {
padding-bottom: 0.5em;
}
.drawer-ext .comingsoon-txt {
    position: relative;
    bottom: auto;
    font-size: 0.8em;
    left: auto;
    right: auto;
    text-align: left;
    padding-left: 0;
    display: block;
}
.drawer-ext .ext-btn:hover{background:var(--c-orange);border-color:var(--c-orange);color:#fff;}


/* ページ遷移直後にフェードイン */
.fadein {
  opacity: 0;
  animation: pageFadeIn 1s ease forwards;
}

/* ページ遷移3秒後にフェードイン */
.fadein-delay {
  opacity: 0;
  animation: pageFadeIn 1s ease forwards;
  animation-delay: 1s;
}

@keyframes pageFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}


/* =========================================================================
   HOME ヒーロー
   ========================================================================= */
.hero{position:relative;height:100svh;min-height:560px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;transform:scale(1.06);transition:opacity 1.4s ease,transform 6s ease;}
.hero.ready .hero-bg{opacity:1;transform:scale(1);}
.hero-inner {
  position: relative;
  z-index: 2;
  opacity: 0;
  transform: translateY(20px);

  transition-property: opacity, transform;
  transition-duration: 1.5s;
  transition-timing-function: ease;
  transition-delay: 0.6s;
}
.hero.ready .hero-inner {
    opacity: 1;
    transform: none;
    padding-bottom: 3em;
}
.hero-mark {
    width: 20em;
    margin: 0 auto;
	-webkit-filter: drop-shadow(1px 1px 10px rgba(68, 67, 163, 0.4));
    filter: drop-shadow(1px 1px 10px rgba(68, 67, 163, 0.4));
}
.hero-en{font-family:var(--font-en);font-size:clamp(2.1rem,6vw,4.6rem);letter-spacing:.16em;line-height:1.15;}
.hero-tag{margin-top:1.2rem;font-family:var(--font-en);letter-spacing:.3em;font-size:.78rem;opacity:.9;}

/* =========================================================================
   HOME イントロ
   ========================================================================= */
.intro {
    position: relative;
    width: 100%;
    padding: 8.5rem 0;
    padding-bottom: 20em;
}
.intro-vtext {
    position: absolute;
    top: 5em;
    right: 7.5em;
    z-index: 2;
    writing-mode: vertical-rl;
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.7em;
    letter-spacing: .2em;
    line-height: 2.1;
    height: 24em;
}
.intro-copy {
    position: relative;
    z-index: 2;
    width: 39%;
    margin-top: 0rem;
    line-height: 2.5;
    margin: 0 auto;
    padding-top: 0em;
}

.intro-copy .blk+.blk{margin-top:1.8em;}
.intro-copy p {
    font-size: 1.04em;
    padding-bottom: 1.5em;
    line-height: 2.2em;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.intro-img{position:absolute;z-index:1;}
.intro-img img{width:100%;height:auto;display:block;}
.ii01 {
left: 0;
    top: 9em;
    width: 17em;
}
.ii02 {
    right: 0;
    top: 72em;
    width: 17em;
}
.ii03 {
    right: 0;
    top: 51em;
    width: 17em;
}
.ii04 {
    left: 0;
    top: 64em;
    width: 17em;
}
.ii05 {
    left: 17em;
    top: 96.7em;
    z-index: 3;
    width: 17em;
}
.ii06 {
    left: 0;
    top: 30.5em;
    width: 17em;
}
.ii07 {
    left: 0;
    top: 75em;
    width: 17em;
}
.ii08 {
    right: 0;
    top: 83em;
    width: 17em;
}
/* =========================================================================
   Information（お知らせ一覧）
   ========================================================================= */
.info{padding:clamp(3rem,7vw,6rem) 0;}
.news-list{    border-top: 1px solid var(--c-line);}
.news-row {
    display: grid;
    grid-template-columns: 6.5em 6em 1fr;
    gap: 1.4em;
    align-items: center;
    padding: 1.2rem .4rem;
    border-bottom: 1px solid var(--c-line);
    transition: background .25s;
}
.news-row:hover{background:#f7f7f7;}
.news-date {
    color: #b1a18d;
    width: 6em;
    padding-left: 1em;
}
.news-cat {
    justify-self: start;
    font-size: .74rem;
    border: 1px solid #4b4b4b;
    border-radius: 2px;
    padding: .6em 1.1em;
    width: 94%;
    text-align: center;
    font-weight: 600;
    line-height: 1em;
}
.news-ttl{font-size:1rem;}
.info-more {
    text-align: right;
    margin-top: 2em;
}
.archive-lest {
	padding-top: 4em;
}
.pagination {
  margin-top: 60px;
}

.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pagination li {
  margin: 0;
  padding: 0;
}

.pagination a,
.pagination span {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 40px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #ddd;
  color: #333;
  text-decoration: none;
  transition: 0.3s;
}

.pagination a:hover,
.pagination .current {
  background: #333;
  border-color: #333;
  color: #fff;
}
/* =========================================================================
   バンド（HOMEのSTORY/PAIRING/LINEUP）
   ========================================================================= */
.band{position:relative;height:100vh;min-height:560px;display:flex;align-items:center;color:#fff;overflow:hidden;}
.band-bg{position:absolute;inset:0;background:center/cover no-repeat;}
/*.band::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);z-index:1;}*/
.band-inner{position:relative;z-index:2;width:min(88%,var(--maxw));margin-inline:auto;text-align:center;padding:3rem 0;}
.band-en {
    font-family: var(--font-en);
    font-size: 3.3em;
    letter-spacing: .04em;
    line-height: 1em;
 text-shadow: 2px 2px 15px rgb(0 0 0 / 85%);


}
.band-jp {
    font-family: var(--font-mincho);
    letter-spacing: .18em;
    font-size: 1.3rem;
  text-shadow: 2px 2px 15px rgb(0 0 0 / 85%);
    font-weight: 600;
}
.band-text {
    margin: 1rem auto 2rem;
    font-size: .88rem;
    line-height: 1.8;
    text-align: left;
    text-shadow: 2px 2px 15px rgb(0 0 0 / 85%);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-align: center;
}

/* =========================================================================
   下層ページ：ヒーロー（暗幕0.3）／サブページ・タイトル
   ========================================================================= */
.page-hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;}
.page-hero-bg{position:fixed;inset:0;background:center/cover no-repeat;z-index: -1;}
/*.page-hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4);z-index:1;}*/
.page-hero-inner{position:relative;z-index:2;padding-top: 2.4em;}
.page-hero-en {
    font-family: var(--font-en);
    font-size: 3.2em;
    letter-spacing: .04em;
    line-height: 1.1;
	font-weight: 500;
	    text-shadow: 1px 1px 20px rgba(0, 0, 0, 0.4);
}
.page-hero-jp {
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    margin-top: .3rem;
    font-size: 1.3em;
    font-weight: 500;
	    text-shadow: 1px 1px 20px rgba(0, 0, 0, 0.4);
}

/* 白ヘッダーページの中央タイトル（ABOUT US 等） */
.page-title{text-align:center;padding:8em 0 0;}
.page-title-en {
    font-family: var(--font-en);
    font-size: 3.2em;
    letter-spacing: .04em;
    line-height: 1.1;
	font-weight: 500;
}
.page-title-jp {
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    margin-top: .3rem;
    font-size: 1.3em;
    font-weight: 600;
}

/* =========================================================================
   STORY ページ
   ========================================================================= */
.page-lead {
    padding: 6em 0 8em;
    text-align: center;
    width: 60%;
    margin: 0 auto;
}

.mag-row {
    display: flex;
    margin-bottom: 0;
    width: 100%;
    justify-content: flex-start;
}
.mag-row.rev {
    flex-direction: row-reverse;
}

.mag-imgs {
    width: 50%;
}
.mag-body {
    width: 50%;
    padding: 0rem 7.4rem;
}
.mag-img-col2 {
    display: flex;
}
.col2-item {
width: 50%;
}


.mag-imgs.two{grid-template-columns:1fr 1fr;}
.mag-imgs img{width:100%;}
.mag-imgs img.col2-right {
    width: 50%;
    margin-left: 50%;
}
.story02,.story03,.story04 {
	padding-top: 10em;
	
}
.story03 .mag-body {
	padding-top: 0em;
	
}

.mag-imgs img.col2-left {
    width: 50%;
    margin-right: 50%;
}

.mag-body h3 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.6em;
    line-height: 1.7;
    margin-bottom: 1.5em;
    letter-spacing: 0.08em;
}
.mag-body p {
    font-size: 1.03em;
    line-height: 2.3;
    text-align: justify;
    padding-bottom: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.mag-row.philosophy.in-view {
    padding-top: 10em;
	width: 74%;
	margin: 0 auto;
}
.philosophy-item.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 4em;
}
.philosophy-item.flex.last {
    padding-bottom: 0em;
}

.philosophy-head {
    width: 35%;
}
.philosophy-item-body {
    width: 65%;
}
.philosophy-title-en.en {
    font-size: 2.5em;
    font-weight: 500;
    color: #979797;
    font-family: var(--font-en);
    line-height: 1.3;
}
.philosophy-item-body p {
    font-size: 0.9em;
    line-height: 2;
    text-align: justify;
    padding-bottom: 1.4em;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
}
.philosophy-title-jp.serif {
    font-size: 1.2em;
}
.philosophy-title {
    text-align: center;
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    font-size: 1.8em;
    font-weight: 500;
    padding-bottom: 2em;
}
.philosophy-title::before, .philosophy-title::after {
    content: "——";
    color: rgb(99 99 99 / 60%);
    margin: 0 .6em;
}
.philosophy-item-body-title.serif {
    font-size: 1.15em;
    padding-bottom: 0.4em;
    font-weight: 500;
}


.brew {
    padding: 10rem 0 0;
}
.brew-title {
    text-align: center;
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    font-size: 1.8em;
    font-weight: 500;
}
.brew-title::before, .brew-title::after {
    content: "——";
    color: rgb(99 99 99 / 60%);
    margin: 0 .6em;
}
.kengaku .brew-title {
padding-bottom: 1em;
}
.kengaku .btn a {
    width: 36%;
}
.kengaku p{

}
.kengaku p a{
	text-decoration: underline;
}
.sub-copy {
    text-align: center;
    padding-bottom: 5em;
}
.brew-step {

}
.kengaku table {
    margin: 1.5em 0 2em;
    width: 100%;
    border-top: #c5c5c5 solid 1px;
}
.kengaku th {
    font-size: 1em;
    font-weight: 400;
     padding: 0.8em 0.5em;
    width: 7em;
    text-align: left;
    border-bottom: #c5c5c5 solid 1px;
    line-height: 1.3em;
}
.kengaku td {
    font-size: 1em;
    font-weight: 400;
    padding: 0.8em 0.5em;
    text-align: left;
    border-bottom: #c5c5c5 solid 1px;
    line-height: 1.3em;
}
.txt-center {
	text-align: center;
}
.brew-step img {
    border-radius: 10px;
    margin-bottom: 1.6em;
}
p.page-lead-sub {
    padding-top: 2em;
    text-align: left;
    line-height: 2.4;
}
.brew-step-items.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 4em;
}
.brew-step.in-view {
    width: 30%;
}

.brew-step h4 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.2em;
    letter-spacing: .04em;
    padding: 0 0 1em 0;
    line-height: 1.4em;
    text-align: center;
}
.pont-no {
    font-family: var(--font-mincho);
    text-align: center;
    font-size: 3em;
    line-height: 1.3em;
    color: #b3b3b3;
    font-weight: 600;
}


.brew-step .num{font-family:var(--font-en);font-size:.8rem;letter-spacing:.2em;opacity:.8;display:block;margin-bottom:.5em;}
.brew-step p {
    font-size: .85rem;
    line-height: 1.9;
    padding-bottom: 1em;
    text-align: justify;
    font-feature-settings: "palt";
}
@media (max-width:1800px){
	.brew-step p {
    font-size: .86rem;
    letter-spacing: 0.05em;
}
}



.brew-step dd {
    font-size: .85rem;
    line-height: 1.6;
font-feature-settings: "palt"; 
}
.brew-step dt {
    font-size: .88rem;
    font-weight: 600;
    padding-top: 0.5em;
	font-feature-settings: "palt"; 
}

.process{padding-top:5em;}
.process-title {
    text-align: center;
    font-family: var(--font-mincho);
    letter-spacing: .16em;
    margin-bottom: 2rem;
    font-size: 1.2em;
    font-weight: 500;
}
.process-grid {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 1.5em;
}
.process-grid figure{position:relative;}
.process-grid img{width:100%;aspect-ratio:1;object-fit:cover;}
.process-grid figcaption {
    font-size: 0.9em;
    text-align: center;
    margin-top: .5em;
    letter-spacing: .08em;
}
.end-copy {
    padding: 3em;
    background: #f5f5f3;
    border-radius: 1em;
}
.end-copy p{
    padding-bottom: 1em;
    font-weight: 600;
    line-height: 2.1;
}
.end-copy p + p{
    padding-bottom: 0em;
}
.keiyaku {
	    padding-top: 4em;
	padding-bottom: 8em;
}
/* =========================================================================
   PAIRING
   ========================================================================= */
.pair-block{}
.pair-row {
    display: flex;
    justify-content: space-between;
}
.pair-img {
    width: 48%;
}
.pair-body {
    width: 52%;
    padding: 0rem 6rem;
}

.pair-sub {
    width: 80%;
    margin: 0 auto;
    padding-top: 8em;
}

.pair-sub .pair-img {
    width: 40%;
}
.pair-sub .pair-body {
    width: 60%;
}

.pair-row.rev {
    flex-direction: row-reverse;
}

.pair-img img{width:100%;}

.pair-img img.w70 {
    width: 50%;
    margin-left: 50%;
}
.pair-img img.col2-right {
    width: 50%;
}
.pair-img img.col2-left {
    width: 50%;
	margin-left: 50%;
}
.pair-body h3 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.7em;
    line-height: 1.6;
    margin-bottom: 1.2em;
    letter-spacing: 0.08em;
}
.pair-body p {
    font-size: 1.03em;
    line-height: 2;
    text-align: justify;
    padding-bottom: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.pd6 {
   padding-top: 6em;
}
/* =========================================================================
   LINEUP
   ========================================================================= */

.brand-head{    margin-bottom: 1rem;
    text-align: center;}
.brand-name {
    font-family: var(--font-mincho);
    font-size: 2.7em;
    letter-spacing: .1em;
    white-space: nowrap;
    line-height: 1.1em;
    font-weight: 500;
    padding-bottom: 0.6em;
}
.name-line {
    width: 8rem;
    background: #919191;
    height: 1px;
    margin: 0 auto;
    margin-bottom: 0.6rem;
}

.brand-tag {
    font-size: 1.1rem;
    line-height: 1.7;
    font-family: var(--font-mincho);
    font-weight: 500;
    letter-spacing: 0.1em;
}
.blank-lead {
    font-size: 1.38em;
    font-family: var(--font-mincho);
    font-weight: 600;
    letter-spacing: 0.15em;
    border-top: #8f8f8f solid 1px;
    display: inline-block;
    padding: 0.4em;
    border-bottom: #8f8f8f solid 1px;
    margin-bottom: 1em;
    line-height: 1.4em;
}

.brand-logo {
    position: absolute;
    width: 7em;
    top: 3.2em;
    left: 2.4em;
}
.snowdrop .brand-logo {
    position: absolute;
    width: 10em;
}
.seisyun .brand-logo {
    position: absolute;
    width: 8.5em;
}
.snowdrop .brand-name {
    letter-spacing: .02em;
}
.brand-photo{margin-top:2rem;margin-bottom:3rem;position: relative;}
.brand-photo img{width:100%;}
.brand-lead {
    margin: 0 auto;
    line-height: 2.3;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    text-align: justify;
}
@media screen and (min-width: 2000px) {
  .brand-txt p.pd2000 {
     padding-bottom: 0em;
  }
}


.brand-txt p {
    padding-bottom: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
}
.brand-txt .vineyard-item p {
    padding-bottom: 1em;
    font-feature-settings: "palt";
    font-size: 0.9em;
}
.brand-txt .vineyard-item dt {
    font-feature-settings: "palt";
    font-size: 0.9em;
    font-weight: 600;
}
.brand-txt .vineyard-item dd {
font-feature-settings: "palt";
    font-size: 0.84em;
    line-height: 1.6em;
}
.brand-txt .vineyard-item dl {
    padding-bottom: 1em;
}
.vineyard-item {
    padding-top: 2em;
}
.vineyard-item.pd0 {
    padding: 0;
}
.brand-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(4rem,5vw,6rem);
    margin: 0 auto;
    text-align: center;
    padding-top: 6em;
}
@media screen and (min-width: 2000px) {
	.brand-cols {
    gap: clamp(4rem,4.8vw,6rem);
}
}
.brand-badge {
    display: inline-block;
    background: var(--c-ink);
    color: #fff;
    font-size: .9em;
    padding: .8em 1em;
    border-radius: 2px;
    margin-bottom: 1.3em;
    line-height: 1em;
    width: 20em;
    border-radius: 0.3em;
    font-weight: 600;
}.item-tmb {
    width: 48%;
    margin: 0 auto;
    padding-bottom: 0.3em;
}
.brand-cols h4 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.5em;
    letter-spacing: .06em;
    margin-bottom: 0.1em;
    line-height: 1.4;
}
.brand-subcopy {
    padding-bottom: 1em;
    font-size: 1.1em;
	font-family: var(--font-mincho);
	    font-weight: 500;
}
.brand-subcopy-en.en {
    color: #696969;
    font-weight: 500;
    line-height: 1.3em;
    font-family: var(--font-mincho);
    padding-bottom: 1em;
    font-size: 0.9em;
}

.brand-subcopy {
    padding-bottom: 1em;
}

.brand-cols p {
    font-size: 0.9em;
    line-height: 2;
    text-align: left;
}
.vineyard-title {
    font-weight: 600;
    font-size: 1.17em;
    border-bottom: #c3c3c3 solid 1px;
    margin-bottom: 1.3em;
    padding-bottom: 1em;
}
.brand-txt table {
	margin: 1em 0;
    border-top: #c3c3c3 solid 1px;
}
.brand-txt th {
	font-weight: 400;
    text-align: left;
    padding: 0.5em;
    border-bottom: #c3c3c3 solid 1px;
}
.brand-txt td {
	font-weight: 400;
    text-align: left;
    padding: 0.5em;
    border-bottom: #c3c3c3 solid 1px;
}

section.lineup-brand.container.tenmei.fadein-delay {
    padding-top: 0;
}
.lineup-foot-link.flex {
    display: flex;
    justify-content: flex-end;
    gap: 1em;
    padding-top: 1em;
    align-items: center;
}
.hanbaiten-link {
    margin-bottom: 0.5em;
    text-decoration: underline;
}
.brand-insta {
}
.brand-insta a {
    width: 2.8em;
    display: inline-block;
	transition: .4s;
}
.brand-insta a:hover {
opacity: .5;
	transition: .4s;
}
.flort-pic {
    width: 24rem;
    float: right;
    margin: 0.5em 0 3em 3em;
}
.kengaku {
    padding-top: 8em;
}



/* =========================================================================
   会社案内（表組）
   ========================================================================= */
.table-wrap{margin:0 auto;}
.tbl-title {
    font-family: var(--font-mincho);
    font-size: 1.5em;
    letter-spacing: .1em;
    padding-bottom: .8rem;
    border-bottom: 1px solid var(--c-ink);
    padding-left: 0.2em;
    font-weight: 500;
}

.table-wrap tr:nth-child(2n) {
    background: #f7f7f7;
}
.table-wrap .awards tr:nth-child(2n) {
    background: #fff;
}

.spec-tbl{width:100%;border-collapse:collapse;}
.spec-tbl th,.spec-tbl td{text-align:left;padding:1em .6em;border-bottom:1px solid var(--c-line);vertical-align:top;    line-height: 1.6;}
.spec-tbl th {
    width: 8em;
    font-weight: 400;
    white-space: nowrap;
}
.spec-tbl td a {
text-decoration: underline;
}
.awards {
    padding-top: 6em;
}
.history {
    padding-top: 6em;
}
.hist-tbl{width:100%;border-collapse:collapse;}
.hist-tbl th{width: 5em;
    font-weight: 400;
    white-space: nowrap;line-height: 1.6;}
.hist-tbl th,.hist-tbl td{text-align:left;padding:1em .6em;border-bottom:1px solid var(--c-line);vertical-align:top;line-height: 1.6;}

.hist-tbl li {
    padding-left: 3em;
    position: relative;
}
.hist-tbl span.season {
    position: absolute;
    left: 0;
}
.pd3 {
    padding-top: 2em;
}
.awards-header {
    padding: 3em 0;
}
.awards-header p {
  text-align: justify;
	font-feature-settings: "palt";
}
.awards-header h3 {
    font-family: var(--font-mincho);
    font-size: 1.3em;
    letter-spacing: .1em;
    padding-bottom: .8rem;
    font-weight: 500;
}
.awards thead th {
    background: #878787;
    color: #fff;
    text-align: center;
}
.awards thead th.title {
    width: 22%;
}
.awards thead th.year {
  width: 10%;
}
.awards thead th.category {
  width:42%;
}
.awards thead th.meigara {
  width: 26%;
}
.awards thead td {
    background: #878787;
    color: #fff;
    text-align: center;
}
.recruit-link {
    padding-top: 3em;
    text-align: center;
}
.recruit-link-title {
    font-size: 1.2em;
    font-weight: 600;
}
.recruit-link a{
text-decoration: underline;
}

/* =========================================================================
   お知らせ詳細 
   ========================================================================= */
.article{max-width:760px;margin:0 auto;}
.article-meta {
    display: flex;
    gap: 1rem;
    align-items: center;
    font-size: .84rem;
    margin-bottom: .5em;
	    padding-top: 5em;
}
.article h1 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.8em;
    line-height: 1.6;
    margin-bottom: 2rem;
}
.entry-body h2 {
	    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.5em;
    line-height: 1.6;
   margin: 1.6em 0 0.8em;
	
}
.entry-body h3 {
	    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.4em;
    line-height: 1.6;
   margin: 1.6em 0 0.8em;
	
}
.entry-body h4 {
	    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.3em;
    line-height: 1.6;
   margin: 1.6em 0 0.8em;
	
}
.entry-body h5 {
	    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.2em;
    line-height: 1.6;
   margin: 1.6em 0 0.8em;
	
}
.entry-body h6 {
	    font-family: var(--font-mincho);
    font-weight: 600;
    font-size: 1em;
    line-height: 1.6;
   margin: 1.6em 0 0.8em;
	
}
.article p {
    line-height: 2;
    margin-bottom: 1em;
    font-size: 1em;
}
.article p a{
text-decoration: underline;
}
.article p.sup {
    font-size: 0.88em;
    line-height: 1.8;
}
.entry-body {
    font-feature-settings: "palt";
}

.store{border:1px solid var(--c-line);border-radius:4px;padding:1.4rem 1.6rem;}
.store h3{font-family:var(--font-mincho);font-weight:500;margin-bottom:.4rem;}
.store p{font-size:.86rem;color:#555;}
.placeholder-note{text-align:center;color:#999;padding:4rem 0;font-size:.9rem;}
.entry-body table {
    margin: 1em 0;
    border-top: #bdbdbd solid 1px;
    width: 100%;
	 border-collapse: collapse;
  border-spacing: 0;
}
.entry-body td {
    padding: 0.8em;
    line-height: 1.5em;
    border-bottom: #bdbdbd solid 1px;
}

.entry-body img {
    margin: 2em auto;
}




/* =========================================================================
取扱店舗
   ========================================================================= */
.store-list {
  margin-bottom: 4rem;
}

.store-list .aria {
  font-size: 1.3em;
  font-weight: 600;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  border-left: 4px solid currentColor;
}

.shop-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.shop-items.col1 {
  grid-template-columns: repeat(1, 1fr);
}
.shop-item a {
    display: block;
    height: 100%;
    padding: 1.3rem;
    border-radius: 0.4em;
    text-decoration: none;
    color: inherit;
    background: #f1f1f1;
    transition: .4s;
    font-feature-settings: "palt";
}

.shop-item a:hover {
    background: #333;
    color: #fff;
transition: .4s;
}

.shop-item-name {
    font-size: 1.1em;
    font-weight: 500;
    margin-bottom: .4rem;
    line-height: 1.5;
}

.shop-item-add,
.shop-item-tel {
  font-size: .85rem;
  line-height: 1.6;
}

.shop-item-add::before {
  content: "住所：";
  font-weight: 500;
}

.shop-item-tel::before {
  content: "TEL：";
  font-weight: 500;
}
.map {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 4em;
	position: relative;
}
/* =========================================================================
   shop
   ========================================================================= */
.shopsauna-consept-items.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.shopsauna-logo {
    width: 48%;
}
.shopsauna-logo img {
    width: 72%;
    margin: 0 auto;
}
.shopsauna-concept-txt {
    width: 48%;
}
.shopsauna-concept-txt p {
    font-size: 1.04em;
    line-height: 2.3;
    padding-bottom: 1.5em;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
}
.shopsauna-txt p {
    font-size: 0.94em;
    line-height: 2;
    padding-bottom: 1em;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    text-align: justify;
}
.shopsauna-txt dt {
    font-size: 1.05em;
    line-height: 1.4;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    font-weight: 600;
    padding-top: 1em;
}
.shopsauna-txt dd {
    font-size: 0.9em;
    line-height: 2;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
}
.shopsauna-txt dl {
    padding-bottom: 1.5em;
}

.shopsauna-txt-row {
    padding-bottom: 1em;
}



.shopsauna-title.en {
    font-size: 1.8em;
    text-align: center;
    padding-bottom: 1em;
    font-weight: 600;
    color: #f58265;
}
.sauna .shopsauna-title.en {
    color: #7bcfde;
}

.shopsauna-items.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.shopsauna-items.flex.reverse {
flex-direction: row-reverse;

}
.shopsauna-item-pic {
    width: 48%;
}
.shopsauna-item-pic img {
border-radius: 10px;
	    margin-bottom: 1em;
	width: 100%;
}
.shopsauna-item-pic .col2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.shopsauna-item-pic .col2 img{
 width: 48.5%;
}


.shopsauna-item-txt {
    width: 48%;
	    padding: 0 2em;
}
.shopsauna-subtitle {
    font-size: 1.2em;
    font-family: var(--font-mincho);
    font-weight: 500;
    line-height: 1.7em;
    padding-bottom: 0.5em;
}
.shopsauna-title {
    width: 12em;
    margin: 0 auto;
    padding-bottom: 6em;
}
.shopsauna-title img {
border-radius: 0.3em;
}

.btn {
    padding-top: 2em;
    text-align: center;
}
.btn a {
    display: block;
    background: #c9c9c9;
    width: 80%;
    margin: 0 auto;
    border-radius: 999px;
    line-height: 1em;
    padding: 1em;
    font-weight: 600;
    margin-bottom: 0.3em;
    color: #fff;
	
}
.btn span.note {
    display: block;
    font-size: 0.88em;
}

/* ---- 絞り込みボタン ---- */
.store-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 3em 0;
}
.store-filter-btn {
    appearance: none;
    border: none;
    border-left: #a3a3a3 solid 1px;
    color: inherit;
    font: inherit;
    font-size: 1em;
    letter-spacing: .08em;
    padding: 0.2em 2em;
    min-width: 96px;
    cursor: pointer;
    transition: background .2s,color .2s;
    font-weight: 600;
    border-radius: 0;
    background: none;
    margin: 0;
}
.store-filter-btn:hover{opacity:.7}
.store-filter-btn.is-active{background:#222;border-color:#222;color:#fff}
/* ---- 都道府県アンカー ---- */

.pref-nav li {
    position: absolute;
	    font-size: 0.85em;
    font-weight: 600;
	    line-height: 1em;
}
.pref-nav li a{
    background: #fff;
    border: #333 solid 1px;
    padding: 0.4em 0.8em;
    border-radius: 1em;
	transition: .4s;
	display: block;
}
.pref-nav li a:hover{
    background: #333;
    color: #fff;
	transition: .4s;
	display: block;
}

.anchor-item {
    position: absolute;
	    font-size: 0.85em;
    font-weight: 600;
	    line-height: 1em;
}
.anchor-item a {
    background: #fff;
    border: #333 solid 1px;
    padding: 0.4em 0.8em;
    border-radius: 1em;
	transition: .4s;
	display: block;
}
.anchor-item a:hover{
    background: #333;
    color: #fff;
	transition: .4s;
	display: block;
}

li.hokkaido {
    top: 2em;
   left: 48em;
}
li.aomori {
    top: 10em;
    left: 48em;
}
li.iwate {
    top: 12.5em;
    left: 48em;
}
li.miyagi {
    top: 15em;
    left: 48em;
}
li.akita {
    top: 10em;
    left: 42.5em;
}
li.yamagata {
    top: 12.5em;
    left: 42.5em;
}
li.ibaraki {
    top: 20em;
    left: 42.5em;
}
li.tochigi {
    top: 20em;
    left: 37em;
}
li.saitama {
    left: 37em;
    top: 22.5em;
}
li.chiba {
    left: 42.5em;
    top: 22.5em;
}
li.tokyo {
    top: 25em;
    left: 37em;
}
li.kanagawa {
    top: 25em;
    left: 42.5em;
}
li.niigata {
    top: 15em;
    left: 31.5em;
}
li.ishikawa {
    top: 17.5em;
    left: 31.5em;
}
li.nagano {
    top: 20em;
    left: 31.5em;
}
li.shizuoka {
    top: 22.5em;
    left: 31.5em;
}
li.aichi {
    top: 25em;
    left: 31.5em;
}
li.shiga {
    top: 22.5em;
    left: 26em;
}
li.kyoto {
    top: 25em;
    left: 26em;
}
li.mie {
    top: 27.5em;
    left: 31.5em;
}
li.nara {
    left: 26em;
    top: 27.5em;
}
li.wakayama {
    top: 30em;
    left: 26em;
}
li.osaka {
    left: 26em;
    top: 32.5em;
}
li.hyogo {
    left: 26em;
    top: 35em;
}
li.tottori {
    top: 20em;
    left: 19em;
}
li.hiroshima {
    left: 19em;
  top: 22.5em;
}
li.kagawa {
    left: 19em;
    top: 27.5em;
}
li.ehime {
    top: 30em;
    left: 19em;
}
li.fukuoka {
    top: 22.5em;
    left: 12em;
}
li.nagasaki {
    left: 12em;
    top: 25em;
}
li.kumamoto {
    left: 12em;
    top: 27.5em;
}
li.miyazaki {
    left: 12em;
    top: 30em;
}
li.kagoshima {
    top: 32.5em;
    left: 12em;
}
li.okinawa {
    top: 35em;
    left: 12em;
}
.anchor-item.kaigai {
    left: 60em;
    top: 25em;
}
.anchor-item.hama {
    top: 10em;
    left: 19em;
}
.anchor-item.naka {
    top: 10em;
    left: 12em;
}
.anchor-item.aizu {
    top: 10em;
    left: 4em;
}


.pref-nav a{text-decoration:none;color:inherit;border-bottom:1px solid transparent}
.pref-nav a:hover{border-bottom-color:currentColor}
.pref-nav li[hidden],.store-list[hidden],.shop-item[hidden]{display:none!important}
.store-list{scroll-margin-top:100px} /* 固定ヘッダーの高さに合わせて調整 */
/* ---- 商品タグ ---- */
.shop-item-tag{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}
.shop-item-tag span {
    display: inline-block;
    font-size: 0.76em;
    line-height: 1;
    padding: 0.5em 0.6em;
    letter-spacing: 0;
    background: #fff;
    color: #333;
    font-weight: 500;
}

.store-empty{text-align:center;margin:40px 0}

.sub-aria {
    font-size: 1.2em;
    padding: 1.5em 0;
    font-weight: 600;
}

.access-map {
	padding-top: 4em;
}

.access-map iframe {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
}


/* =========================================================================
   フッター
   ========================================================================= */
.site-footer {
    background-image: linear-gradient(#ff9935, #fd402d);
    color: #fff;
    padding: 4em 0 6em;
}
.footer-inner {
    width: 86%;
	margin: 0 auto;
}
.f-brand {

}
.footer-logo {
    width: 14rem;
    margin: 0 auto;
}

.f-mark {
    width: 100%;
    filter: brightness(0) invert(1);
    margin-bottom: 3rem;
}
.f-en{font-family:var(--font-en);letter-spacing:.12em;font-size:1.05rem;}
.f-jp {
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    font-size: 1.3rem;
    margin-top: 0;
    font-weight: 600;
	line-height: 1em;
}
.f-addr {
    font-size: .76rem;
    line-height: 1.6;
    margin-top: 0.7rem;
}
.footer-items {
    display: flex;
    justify-content: space-between;
}
.f-social{display:flex;gap:1rem;margin-top:1.4rem;}
.f-social img{width:22px;filter:brightness(0) invert(1);}
.f-social .ico-x img{width:20px;margin-top: 1px; filter:brightness(0) invert(1);}
.f-nav {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: flex-end;
    font-weight: 600;
}
.f-nav ul {
	font-family:var(--font-mincho);
    display: flex;
    flex-direction: column;
    gap: .2em;
    font-size: 1em;
}
.f-nav a{transition:opacity .2s;}
.f-nav a:hover{opacity:.7;}
.f-contact {
    align-self: start;
    border: 1px solid #fff;
    border-radius: 999px;
    padding: .6em 3em;
    font-size: .9em;
    letter-spacing: .08em;
    transition: .4s;
    white-space: nowrap;
    font-weight: 600;
}
.f-contact:hover{background:#fff;color:var(--c-orange); transition: .4s;}
.copyright {
    font-family: var(--font-en);
    font-size: .68rem;
    margin-top: 1em;
}


.f-nav li {
    line-height: 1.5;
    padding-bottom: 0.3em;
	    letter-spacing: 0.1em;
}
.f-nav li.sub {
    font-size: 0.85em;
    line-height: 1.3em;
    display: flex;
    align-items: center;
    gap: 0.5em;
}
.f-nav li span.line {
    background: #fff;
    width: 0.7em;
    display: block;
    height: 1px;
    opacity: 0.5;
}



.f-nav li .comingsoon-txt {
    font-size: 0.8em;
    position: relative;
    bottom: auto;
    text-align: left;
    padding: 0;
}
.f-nav li.comingsoon a {
   pointer-events: none;
}
.foot-sopsauna {
	width: 6em;
}


/* =========================================================================
   reveal 演出 / reduced-motion
   ========================================================================= */
/*
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease);}
[data-reveal].in-view{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  html,body{scroll-behavior:auto;}
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  .hero-bg,.hero-inner{transition:none!important;}
}
 */
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	
	.president {
    padding-top: 3em;
    text-align: right;
}
.president-job {
    font-size: 0.95em;
    font-family: var(--font-mincho);
    padding-right: 0.25em;
    font-weight: 500;
    line-height: 1.4;
    padding-bottom: 0.3em;
}
.president-name {
    font-size: 1.44em;
    line-height: 1.4;
    letter-spacing: 0.2em;
    font-family: var(--font-mincho);
    font-weight: 500;
}
.president-name-en {
    font-size: 0.8em;
    font-family: var(--font-mincho);
    padding-right: 0.35em;
}


.anchor-select {
  position: relative;
  width: 100%;
  max-width: 400px;
  min-width: 0;
  box-sizing: border-box;
}

.anchor-select select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  text-overflow: ellipsis;
}

.anchor-select {
  position: relative;
  width: 100%;
  max-width: 400px;
  min-width: 0;
  box-sizing: border-box;
}

/* =========================================================================
   レスポンシブ
   ========================================================================= */


@media (max-width:1000px){
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	
  .nav-main,.header-ext{display:none;}
  .header-inner{justify-content:space-between;}
  /* イントロ：絶対配置を解除して縦積み */
  .intro{min-height:0;padding:3rem 0;}
    .intro-vtext {
        position: static;
        height: auto;
        margin: 0 auto 2rem;
        letter-spacing: .12em;
        font-size: 18px;
    }
  .intro-copy{position:static;width:auto;margin:0;padding:0 7%;}
  .intro-img{position:static;width:auto!important;margin:1.2rem 0;}
  .ii-bottles{width:60%!important;margin:1.2rem auto;}
  .mag-row,.mag-row.rev .mag-imgs,.pair-row,.pair-row.rev .pair-img,.brew-step{grid-template-columns:1fr;}
  .mag-row.rev .mag-imgs{order:0;}
  .brand-head{grid-template-columns:1fr;text-align:center;}
  .brand-logo{justify-self:center;}
  .brand-cols{grid-template-columns:1fr;gap:1.6rem;}
  .process-grid{grid-template-columns:repeat(3,1fr);}
  .footer-inner{grid-template-columns:1fr;gap:2rem;}
  .news-row{grid-template-columns:7em 1fr;}
  .news-cat{display:none;}
	
	
	.page-hero {
    height: 80vh;
}
	html {
    font-size: 15px;
}
	.f-mark {
    width: 50%;
    filter: brightness(0) invert(1);
    margin: 0 auto 30px;
}
	.intro-copy p {
    font-size: 14px;
    letter-spacing: 0;
}
	.hero-mark {
    width: 60%;
}
	.menu-toggle {
    top: 12px;
    right: 12px;
    width: 50px;
    height: 50px;
    gap: 4px;
}
	.brand-jp-only {
    font-size: 15px;
}
	.header-inner {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 24px;
}
	.nav-drawer {
    width: min(100vw,460px);
}
	.news-row {
    display: grid;
    grid-template-columns: 6.5em 6em 1fr;
    gap: 1em;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--c-line);
    transition: background .25s;
}
	.sec-label {
    font-family: var(--font-en);
    display: flex;
    align-items: center;
    gap: 0;
    letter-spacing: .04em;
    font-size: 16px;
    margin-bottom: 15px;
    padding-left: 0;
    font-weight: 600;
}.news-row {
    grid-template-columns: 5.5em 1fr;
}.news-date {
	width: 5.5em;
    font-size: 13px;
}
	.news-ttl {
    font-size: 13px;
    line-height: 1.6;
}
	.btn-more {
    font-size: 13px;
}
	.band {
    position: relative;
    height: 400px;
    min-height: 400px;
}
	.band-en {
    font-size: 30px;
}
	.band-jp {
    font-size: 14px;
    font-weight: 600;
}.band-text {
    max-width: 90%;
    font-size: 11px;
    opacity: 1;
    line-height: 1.8em;
}
	.site-footer {
    padding: 60px 0;
}
	.f-jp {
    font-size: 20px;
}
	.f-nav ul {
    font-family: var(--font-mincho);
    display: flex;
    flex-direction: column;
    gap: .2em;
    font-size: 12px;
    padding-top: 0px;
}
	.f-nav {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    font-weight: 600;
}
	.f-contact {
    align-self: start;
    border: 1px solid #fff;
    border-radius: 3px;
    padding: .6em 3em;
    font-size: 14px;
    letter-spacing: .08em;
    transition: .4s;
    white-space: nowrap;
    font-weight: 600;
    margin-top: 0px;
    text-align: center;
}.f-addr {
    font-size: 12px;
    line-height: 1.6;
    margin-top: 0;
}
	.copyright {
    font-family: var(--font-en);
    font-size: 12px;
    margin-top: 1em;
}
	.intro-img {
    padding-top: 40px;
}
	.brand--full {
    flex-direction: column;
    gap: 0;
    text-align: center;
    position: absolute;
    width: 130px;
    top: 1.6em;
    left: 0;
    right: 0;
    margin: 0 auto;
}.page-hero-en {
    font-family: var(--font-en);
    font-size: 24px;
    letter-spacing: .04em;
    line-height: 1.1;
    font-weight: 500;
    text-shadow: 1px 1px 20px rgba(0, 0, 0, 0.4);
}
	.page-hero-jp {
    font-family: var(--font-mincho);
    letter-spacing: .2em;
    margin-top: .3rem;
    font-size: 20px;
    font-weight: 500;
    text-shadow: 1px 1px 20px rgba(0, 0, 0, 0.4);
}
	.lead-center {
    font-family: var(--font-mincho);
    font-weight: 500;
    text-align: center;
    letter-spacing: .1em;
    font-size: 18px;
}.page-lead {
    padding: 40px 0;
    text-align: center;
    width: 86%;
    margin: 0 auto;
}.mag-row {
    display: block;
    margin-bottom: 0;
    width: 100%;
    justify-content: space-between;
}.mag-imgs {
    width: 100%;
}
	.mag-body {
    width: 84%;
    margin: 0 auto;
    padding: 40px 0;
}
.mag-body h3 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 1.6em;
    line-height: 1.7;
    margin-bottom: 1.5em;
    letter-spacing: 0.08em;
}

	.mag-body p {
    font-size: 14px;
    line-height: 2;
       letter-spacing: 0;
}.story02, .story03, .story04 {
    padding-top: 40px;
}.inner-min {
    width: 80%;
}.brew-title {
    font-size: 19px;
}.sub-copy {
    font-size: 12px;
    padding-bottom: 20px;
}.brew-step {
    display: block;
    margin-bottom: 20px;
    justify-content: space-between;
    align-items: flex-start;
}.brew-step img {
    width: 100%;
    border-radius: 2px;
}.brew-step h4 {
    font-size: 17px;
}.brew-step div {
    width: 100%;
}.brew-step p {
    font-size: 13px;
    line-height: 2;
}.process-grid {
    display: grid;

    gap: 10px;
}.process-title {
    text-align: center;
    font-family: var(--font-mincho);
    letter-spacing: .16em;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 500;
}.process-grid figcaption {
    font-size: 12px;
    text-align: center;
    margin-top: .5em;
    letter-spacing: .08em;
}
	.pair-row {
    display: block;
    justify-content: space-between;
}
	.pair-img {
    width: 100%;
}
	.pair-body {
    width: 80%;
    margin: 0 auto;
    padding: 40px 0;
}
	.pair-body h3 {
    font-family: var(--font-mincho);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 1.2em;
    letter-spacing: 0.08em;
}
	.pair-body p {
    font-size: 14px;
    line-height: 2.2;
       letter-spacing: 0;
}
	.pd6 {
    padding-top: 30px;
}
.brand-logo {
    width: 60px;
    top: 20px;
    left: 20px;
}
	.brand-name {
    font-family: var(--font-mincho);
    font-size: 28px;
    letter-spacing: .1em;
    white-space: nowrap;
    line-height: 1.1em;
    font-weight: 500;
}
	
	.lineup-brand .inner {
    width: 100%;
    margin: 0 auto;
}.brand-photo {
    margin-top: 20px;
    margin-bottom: 30px;
    position: relative;
}.brand-lead {
    margin: 0 auto;
    line-height: 2;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
    text-align: justify;
    width: 84%;
    font-size: 14px;
    letter-spacing: 0;
}.brand-cols {
    padding-top: 50px;
}.brand-badge {
    font-size: 12px;
}.brand-cols h4 {
    font-size: 18px;
}.brand-txt {
    width: 84%;
    margin: 0 auto;
}.brand-cols p {
    font-size: 13px;
    line-height: 2;
    text-align: left;
}.brand-subcopy-en.en {
    font-size: 12px;
}.brand-subcopy {
    font-size: 16px;
}.brand-txt p {
    font-size: 14px;
}
	.seisyun .brand-lead {
    width: 100%;
}
		.snowdrop .brand-lead {
    width: 100%;
}.seisyun .brand-logo {
        width: 80px;
        left: 10px;
        top: 20px;
}.snowdrop .brand-logo {
    width: 120px;
}.brand-tag {
    font-size: 12px;
    line-height: 1.8;
    font-family: var(--font-mincho);
    font-weight: 600;
    letter-spacing: 0.06em;
}
	.hero {
    height: 80vh;

}
	    .story02 {
        padding-top: 0;
    }
.story03 .mag-body {
padding-top: 40px;
}main {
    padding-bottom: 80px;
}
	.f-brand {
    display: none;
}
.f-nav {
    display: none;
}
.f-mark {
    width: 64%;
    filter: brightness(0) invert(1);
    margin: 0 auto 20px;
}	.f-social {
    justify-content: center;
}.f-addr {
    text-align: center;
}.copyright {
    text-align: center;
}p.page-lead-sub {
    padding-top: 2em;
    text-align: left;
    font-size: 14px;
    line-height: 2.2;
    letter-spacing: 0;
}.mag-body h3 {
    font-size: 17px;
}.brew-step-items.flex {
    display: block;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 8em;
}.brew-step.in-view {
    width: 100%;
}.brew-step dt {
    font-size: 14px;
}.brew-step dd {
    font-size: 13px;
}.brew-step-items.flex {
    padding-bottom: 60px;
}.kengaku p {
    font-size: 14px;
    text-align: left;
}.kengaku .btn a {
    width: 100%;
}
.btn a {
    width: 100%;
}.page-hero-bg {
    height: 80vh;
}.blank-lead {
    font-size: 17px;
}.page-title-en {
    font-size: 24px;
    padding-top: 30px;
}.page-title-jp {
    font-size: 16px;
    padding-bottom: 60px;
}.shop-items {
    display: block;
}.shop-item {
    padding: 15px;
    margin-bottom: 6px;
}.shop-item-name {
    font-size: 15px;
}.shop-item-add, .shop-item-tel {
    font-size: 13px;
    line-height: 1.5;
}.store-list .aria {
    font-size: 18px;
}.shopsauna-consept-items.flex {
    display: block;
}.shopsauna-logo {
    width: 100%;
}.sec {
    padding: 50px 0 0;
}.shopsauna-logo {
    width: 80%;
    padding-bottom: 30px;
    margin: 0 auto;
}
	.shopsauna-concept-txt p {
    font-size: 14px;
    line-height: 1.9;
}
	.shopsauna-concept-txt {
    width: 100%;
}.shopsauna-items.flex {
    display: block;
}
	.shopsauna-item-pic {
    width: 100%;
}.shopsauna-item-txt {
    width: 100%;
    padding: 30px 0;
}.shopsauna-title.en {
    font-size: 18px;
}.shopsauna-subtitle {
    font-size: 16px;
    font-family: var(--font-mincho);
    font-weight: 500;
}.shopsauna-txt p {
    font-size: 14px;
    line-height: 1.9;
}.shopsauna-txt dt {
    font-size: 14px;
}.shopsauna-txt dd {
    font-size: 13px;
    line-height: 1.8;
}.footer-logo {
    width: 100%;
    margin: 0 auto;
}
	.f-name-sp {
		font-family: var(--font-mincho);
    font-size: 17px;
    text-align: center;
    font-weight: 600;
}.snowdrop .brand-logo {
    width: 80px;
    left: 20px;
    z-index: 2;
    display: block;
}.inner {
    width: 84%;
    margin: 0 auto;
}
	.mag-row.philosophy.in-view {
    padding-top: 60px;
    width: 100%;
    margin: 0 auto;
}
	.philosophy-title {
    font-size: 20px;
}
	.philosophy-head {
    width: 100%;
}.philosophy-item.flex {
    display: block;
}.philosophy-item-body {
    width: 100%;
}.philosophy-head {
    width: 100%;
    padding-bottom: 20px;
}.drawer-logo {
    width: 65%;
    margin: 0 auto;
    padding-bottom: 1em;
}.end-copy {
    padding: 26px;
    background: #f5f5f3;
    border-radius: 1em;
}
	.end-copy p {
    padding-bottom: 1em;
    font-weight: 500;
    line-height: 2.1;
    font-size: 14px;
}
	.kengaku th {
    font-size: 14px;
    font-weight: 400;
    padding: 0.8em 0;
    width: 6em;
}
	.kengaku td {
    font-size: 14px;
}.brew {
    padding: 60px 0 0;
}.end-copy p {
    font-feature-settings: "palt";
}.vineyard-title {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4em;
}.brand-txt p {
    text-align: justify;
}.flort-pic {
    width: 100%;
    margin: 20px 0;
}
	.lineup-brand .inner .end-copy {
    width: 86%;
		margin: 0 auto;
}
	.end-copy p {
    line-height: 1.8;
		padding-bottom: 1em;
}
	.end-copy p + p {
    padding-bottom: 1em;
}.keiyaku {
    padding-top: 40px;
    padding-bottom: 60px;
}.inner {
    width: 86%;
    margin: 0 auto;
}.end-copy p {
    text-align: justify;
}.kengaku p {
    text-align: justify;
}.page-hero-en {
    font-size: 27px;
}.pair-sub {
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
}.pair-sub .pair-img {
    width: 100%;
}.pair-sub .pair-body {
    width: 80%;
}
section.sec.fadein-delay.shopsauna-concept {
    padding: 0;
}
	.shopsauna-title {
    width: 120px;
    padding-bottom: 30px;
    margin: 0 auto;
    padding-top: 30px;
}
.shopsauna-logo img {
    width: 80%;
    margin: 0 auto;
}.store-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    width: 80%;
}
	.page-title-jp {
    padding-bottom: 30px;
}.shop-item {
    padding: 0;
    margin-bottom: 6px;
}
	.sub-aria {
    font-size: 16px;
    padding: 20px 0;
    font-weight: 600;
}
	.anchor-select {
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 20px auto 40px;
}
	.store-filter {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
        width: 86%;
        gap: 3px;
}
	.store-filter-btn {
    appearance: none;
    border: none;
    border-left: none;
    color: inherit;
    font: inherit;
    font-size: 1em;
    letter-spacing: .08em;
    padding: 0.2em 2em;
    min-width: 96px;
    cursor: pointer;
    transition: background .2s,color .2s;
    font-weight: 600;
    border-radius: 0;
    background: none;
    margin: 0;
    width: calc(50% - 3px);
    background: #f1f1f1;
}
	.article {
    width: 86%;
    margin: 0 auto;
}
	.article h1 {
    font-size: 22px;
}
	.entry-body td {
    padding: 10px 5px;
    font-size: 13px;
}.article p {
    line-height: 1.8em;
    margin-bottom: 1em;
    font-size: 14px;
}
	.entry-body h2 {
    font-size: 19px;
}
	.entry-body h3 {
    font-size: 17px;
}.entry-body h4 {
    font-size: 16px;
}
	.entry-body h5 {
    font-size: 15px;
}
	.entry-body h6 {
    font-size: 14px;
}.intro-copy p {
    font-size: 14px;
    letter-spacing: 0;
    line-height: 2em;
    padding-bottom: 0.8em;
}.spec-tbl th, .spec-tbl td {
    padding: 8px 4px;
    line-height: 1.5;
    font-size: 13px;
}.hist-tbl li {
    padding-left: 30px;
    position: relative;
}.tbl-title {
    font-size: 18px;
}
	.hist-tbl th, .hist-tbl td {
    padding: 8px 4px;
    line-height: 1.5;
    font-size: 13px;
}.contact-wrap {
    margin: 0 auto;
    width: 85%;
}
}



@media (max-width:560px){
  .hero-en{font-size:2rem;}
  .process-grid{grid-template-columns:repeat(2,1fr);}
  .spec-tbl th{width:7em;}
	
	.site-footer {
    padding: 30px 0;
}
.mag-body.sp-pd0 {
    padding-top: 0;
}.page-hero-bg {
    height: 70vh;
}.page-hero {
    height: 70vh;
}
}

/* =========================================================================
   お問い合わせフォーム
   ========================================================================= */
#contact-form{scroll-margin-top:6rem;}


.contact-wrap{max-width:760px;margin:0 auto;}
.contact-lead{font-size:.95rem;line-height:2;margin-bottom:2.4rem;padding-top: 3em;}
.req-note{display:block;margin-top:1rem;font-size:.8rem;}
.badge{display:inline-block;font-size:.62rem;letter-spacing:.06em;border-radius:3px;padding:.18em .7em;margin-left:.7em;vertical-align:middle;color:#fff;}
.badge.req{background:var(--c-orange);}
.badge.any{background:var(--c-greige);}
.form-error-top{background:#fff3ea;border:1px solid var(--c-orange);color:#c34d00;padding:.9em 1.2em;border-radius:4px;margin-bottom:1.8rem;font-size:.9rem;}
.mailform .form-row{display:grid;grid-template-columns:14em 1fr;gap:1rem 1.6rem;padding:1.5rem 0;border-bottom:1px solid var(--c-line);align-items:start;}
.form-label{font-family:var(--font-mincho);font-size:.95rem;padding-top:.4em;}
.form-field input[type=text],.form-field input[type=email],.form-field input[type=tel],.form-field textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--c-ink);
  border:1px solid #d8d2c8;border-radius:4px;padding:.8em .9em;background:#fff;transition:border-color .2s;
}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--c-orange);}
.form-field textarea{resize:vertical;min-height:9em;line-height:1.8;}
.check-grid{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;}
.check{display:inline-flex;align-items:center;gap:.5em;font-size:.92rem;cursor:pointer;}
.check input{width:1.1em;height:1.1em;accent-color:var(--c-orange);}
.form-row.has-error input,.form-row.has-error textarea{border-color:#e0533a;background:#fff7f5;}
.field-error{color:#d63b1f;font-size:.82rem;margin-top:.5em;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-actions{text-align:center;margin-top:2.6rem;}
.form-actions.two{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cta-btn{display:inline-block;font-family:var(--font-sans);font-size:.95rem;letter-spacing:.08em;color:#fff;background:var(--c-orange);border:1px solid var(--c-orange);border-radius:999px;padding:.95em 3.2em;cursor:pointer;transition:.3s var(--ease);}
.cta-btn:hover{filter:brightness(1.08);}
.btn-ghost{display:inline-block;font-family:var(--font-sans);font-size:.95rem;letter-spacing:.08em;color:var(--c-ink);background:#fff;border:1px solid #c9c2b6;border-radius:999px;padding:.95em 3.2em;cursor:pointer;transition:.3s var(--ease);}
.btn-ghost:hover{background:#f3efe9;}
.confirm-note{text-align:center;margin-bottom:2rem;font-size:.95rem;}
.confirm-list{border-top:1px solid var(--c-line);}
.confirm-list>div{display:grid;grid-template-columns:14em 1fr;gap:1.6rem;padding:1.3rem .2rem;border-bottom:1px solid var(--c-line);}
.confirm-list dt{font-family:var(--font-mincho);color:#555;}
.confirm-list dd{line-height:1.9;}
.muted{color:#aaa;}
.complete-box{text-align:center;padding:2rem 0 1rem;}
.complete-title{font-family:var(--font-mincho);font-size:1.5rem;letter-spacing:.08em;margin-bottom:1.4rem;}
.complete-text{line-height:2.1;margin-bottom:2.4rem;font-size:.95rem;}
@media (max-width:680px){
  .mailform .form-row,.confirm-list>div{grid-template-columns:1fr;gap:.6rem;}
  .form-label{padding-top:0;}
}


