@charset "UTF-8";
/* CSS Document */

/*お決まりの文*/
*,*::before,*::after{
margin: 0;
padding: 0;
box-sizing: border-box; 
}

/*コンテナー設定*/
.container{
/*幅*/
width:1080px;
/*中央寄せ*/
margin:0 auto;
/*コンテナー親要素*/
/*display: flex;*/
}

/*イントロ用コンテナー*/
.intro_container{
/*幅*/
width:1080px;
/*中央寄せ*/
margin:0 auto;
/*コンテナー親要素*/
display: flex;
/*子要素縦並び*/
flex-direction: column;
/*センター揃え*/
justify-content: center;
/*上揃え*/
align-items: center;
}

/*画像の１００％表示*/
img{
max-width: 100%;
height: auto;
/*画像を下につける*/
vertical-align: bottom;
}

body{
/*幅の最小値*/
min-width: 750px;
/*
background-image:url("../images/bg.jpg");
*/
/*背景の色（万が一表示されなかった時のため）*/
background-color:#A9ACE4;
color: #000;
/*行間*/
line-height: 2;

/*フォントサイズ*/
font-size: 16px;
/*フォント 明朝体*/
font-family: serif;
	
padding-top: 80px;
	
}
/*スマホ対応*/
@media(max-width:767px){
	body{
	min-width:100%;
		}
}

/*ヘッダー ----------
------------------------------------------------------------------------------*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;               /* ヘッダー高さ */
  padding: 10px 20px;         /* 上下の余白も含める */
  box-sizing: border-box;     /* padding を height に含める */
  background-color: #fff;
  z-index: 1000;
  display: flex;
  align-items: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/*ヘッダーの子要素コンテナーに対しての設定*/
header .container {
  display: flex;
  flex-wrap: wrap;              /* 折り返し可能 */
  justify-content: center;       /* 横中央揃え */
  align-items: flex-start;       /* 上揃えに変更 */
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  gap: 10px;                     /* 要素間の隙間 */
}


header img{
 height:80px;
 width:auto;
}
/*ヘッダー ここまで----------
------------------------------------------------------------------------------*/

/*ナビゲーション　----------
------------------------------------------------------------------------------*/
/* ナビ背景 */
nav {
  background-color: #fff;
}

/* ナビリスト：横並び + 折り返し */
nav ul.nav__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center; /* 中央揃え */
  gap: 5px;               /* アイテム間の余白 */
}

nav ul.nav__list li a {
  display: block;
  text-decoration: none;
  color: #000;
  padding: 10px 15px;
  background-color: #fff;
/*  border-radius: 5px;*/
  white-space: nowrap;
}

/* 共通リンク設定（不要な重複は削除） */
header a,
header a:visited,
header a:hover,
header a:active {
  text-decoration: none;
  color: inherit;
}

/* ロゴ */
header h1 img {
  width: 150px; /* PC用 */
  height: auto;
}

/* ロゴのレスポンシブ */
/* レスポンシブ：タブレット・スマホ */
@media (max-width: 767px) {
  header .container {
    flex-direction: column;       /* 縦並びに */
    align-items: center;          /* 横中央揃え */
  }

  /* ロゴ中央寄せ */
  header h1 {
    order: 1;                     /* 上に表示 */
    margin-bottom: 10px;          /* ナビとの余白 */
  }

  /* ナビを下に表示 */
  nav {
    order: 2;
    width: 100%;                  /* 横幅いっぱい */
    text-align: center;
  }

  nav ul.nav__list {
    justify-content: center;      /* 中央揃え */
    flex-wrap: wrap;              /* 折り返し可能 */
    gap: 8px;                     /* リスト間の余白 */
  }

  nav ul.nav__list li a {
    font-size: 14px;
    padding: 8px 10px;
  }

  /* ロゴサイズ調整 */
  header h1 img {
    width: 100px;
    height: auto;
  }
}
/*ロゴのレスポンシブここまで -----------------------*/

/*ハンバーガーメニュー*/
.hamburger-overlay {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 1000;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .6s;
}

.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #fff;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
/*ナビ背景色*/
  background-color: rgba(255, 255, 255, 0.95);
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}

.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

.nav-overlay__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

/*ナビリストメニュー*/
.nav-overlay__list {
  display: flex;
  flex-direction: column; /* ← 縦に並べる */
  align-items: center;	
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}

.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}

.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }

.nav-overlay__link {
  display: inline-block;
  padding: 20px;
/*文字色*/
  color: #000;
  font-size: 24px;
  text-decoration: none;
  transition: color .3s;
}

.nav-overlay__link:hover {
  color: #4a90e2;
}

/* --- ボタン風 h3 --- */
header h3 {
  order: 3;                     /* h1:1, nav:2, h3:3 */
  display: inline-flex;          /* コンテンツ幅に合わせる */
  justify-content: center;       /* 中のアイコンも中央揃え */
  align-items: center;
  margin: 10px auto 0;           /* 上10px、左右中央 */
  padding: 0 15px;               /* 横余白 */
  color: #fff;
  background-color: #001766;
  font-size: 16px;
  border-radius: 10px;
  height: 50px;
}

/* h3 内のアイコン画像 */
header h3 img {
  height: 1em;               /* フォントサイズと同じ高さ */
  vertical-align: text-top;
  margin-right: 5px;         /* テキストとの間隔 */
}

/* →マークを丸で囲む */
header h3 span {
  display: inline-block;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  border-radius: 50%;
  background-color: #e65d2b;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  transform: rotate(-45deg);
  margin-left: 5px;          /* 文字との間隔 */
}

/* --- スマホ用レスポンシブ --- */
@media (max-width: 767px) {
	
header {
    padding: 20px 15px;   /* 上下の余白を半分にして詰める */
  }

header .container {
    flex-direction: column;       /* 縦並び */
    align-items: center;          /* 横中央 */
  }

  header h1 { order: 1; margin-bottom: 10px; }
  nav { order: 2; width: 100%; }
  header h3 { order: 3; margin: 10px 0 0 0; }
	
  /* h3を中央寄せ */
  header h3 {
    display: flex;
    justify-content: center;
    margin: 20px auto 0;     /* 上下間隔を調整 */
  }

  /* ナビも中央寄せ */
  nav ul.nav__list {
    justify-content: center;
    flex-wrap: wrap;         /* アイテム折り返し対応 */
  }

  nav ul.nav__list li {
    margin: 10px 8px;         /* スマホ用マージン調整 */
  }
}

/*ナビゲーションここまで----------
------------------------------------------------------------------------------*/

/*メインビジュアル　----------
------------------------------------------------------------------------------*/
.main-visual {
display: flex;
flex-direction: column;
justify-content: center; /* 縦中央寄せ */
align-items: center;     /* 横中央寄せ */
height: 100vh;
min-height: 540px;
padding-top: 80px;     /* ヘッダー高さ + 余白 */
box-sizing: border-box;
text-align: center;
background-image: url("../images/mainvisual2.jpg");
background-size: cover;
background-position: center top;
background-repeat: no-repeat;
color: #000;
text-shadow: 0 0 10px #fff;
position: relative; /* ← 半角スペースで正しく書く */
}

/* PC用：左右に縦書き文字を配置 */
.main-visual h2 {
position: absolute;
top: 10%;         /* 親要素の上端に揃う */
left: 30%;
font-size: 68px;
writing-mode: vertical-rl;
text-align: start;
white-space: nowrap;
margin: 0;      /* ブラウザのデフォルト余白をリセット */
}

.main-visual p {
position: absolute;
top: 35%;         /* 上端に揃える */
right: 30%;
font-size: 38px;
writing-mode: vertical-rl;
text-align: start;
white-space: nowrap;
margin: 0;
}
/* ------------------------------
  スマホ対応
------------------------------ */
@media (max-width: 767px) {
  .main-visual {
    padding-top: 130px;       /* スマホでもヘッダー高さ分余白 */
  }

  .main-visual h2 {
    top: 10%;
    left: 20%;
    font-size: 68px;          /* 小画面用に調整 */
  }

  .main-visual p {
    top: 50%;
    right: 5%;
    font-size: 28px;          /* 小画面用に調整 */
  }
}

/*メインビジュアルここまで　----------
------------------------------------------------------------------------------*/


/*生酒とは　----------
------------------------------------------------------------------------------*/
.intro {
  background-color: #fff;
  background-image: url("../images/shizuku_05.jpg");
  background-size: cover;
/*  background-size: auto 100%;   縦方向を100%に、幅は自動 */
  background-repeat: no-repeat;
  background-position: center top;
  height: 100vh;
}

/* 横書き中央の h2 */
.intro h2 {
text-align: center;
padding-top: 50px;
font-size: 48px;
margin: 100px 0;
}

/* 縦書きの p（上揃え＋横中央＋h2との距離） */
.intro p {
text-align: left;
padding-top: 12px;
padding-bottom: 15px;
padding-left: 10px;
padding-right: 7px;
font-size: 24px;
background-color: rgba(255,255,255,0.4);
writing-mode: vertical-rl; /*縦書き*/
}

/* 背景や装飾用 */
.intro__text {
  
}

/* スマホ対応 */
@media (max-width: 767px) {
  .intro h2 {
    
  }

  .intro p {
    
  }

  .intro__text {
   
  }
}

/*生酒とはここまで　----------
------------------------------------------------------------------------------*/



/*ストーリー　----------
------------------------------------------------------------------------------*/
.story{
	
	/*相対位置指定*/
	position: relative;
	background-image: url("../images/wasi_back.jpg");
	background-size: cover;
/*	background-image: url("../images/nihonsyutokome_06.jpg");*/
/*	background-image: url("../images/nihonsyutokome_05.jpg");*/
/*  	background-position: right bottom;*/
  	background-repeat: no-repeat;
/*	height: 100vh;*/
/*	margin: 50px 0;*/
	
	/*中央寄せ設定*/
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	
	color:#000;
	background-color: #333;
	padding-top: 50px;
}

.story .container {
  max-width: 800px;
  padding: 20px;
}

.story h2{
	display: inline-block;
	padding: 10px 10px;
	text-align: center;
	font-size:36px;
    border-top: 1px solid black;
	border-bottom: 1px solid black;
	background-color: rgba(255,255,255,.5);
	margin: 100px 0;
}

.story h2 img{
	height: 1em; /* フォントサイズと同じ高さにする */
  	vertical-align: text-top; /* テキストの中央に揃える */
	
}

.story__text{
	font-size: 18px;
}

.story__text__01,
.story__text__02,
.story__text__03,
.story__text__04{
	/*半透明で読みやすく*/
	background-color: rgba(255,255,255,0.5);
	text-align: left;
	margin-left: 150px;
	margin-top: 20px;
	margin-bottom: 50px;
	padding: 10px;

		
}

.story__img__01,
.story__img__02,
.story__img__03,
.story__img__04{
	width:80%;
	height: auto;
}
/*ストーリーここまで　----------
------------------------------------------------------------------------------*/

/*特別な理由　----------
------------------------------------------------------------------------------*/
.about{
　text-align: center; /* ←半角スペースに修正 */
  color: #000;
  background-color: #fff;
  padding: 50px 0 100px 0; /* ←半角スペースに修正 */
  background-image: url("../images/about-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}

/*カード*/
.about-card{
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* ←テキストを自然に上揃え */
  gap: 20px;

}

.about-card__text{
  width: 46%;
  font-size: 18px;
/*  background-color: #fff;*/
  text-align: left;
/* 　position: relative;*/
	background-color: rgba(255,255,255,0.5);
}


.about-card__text p{
/*	position: absolute;*/
/*	top: 130px;*/
/*	left: 50px;*/
	margin-left: 70px;
	margin-bottom: 50px;
	
}


.about-card__img {
  width: 46%;      /* テキストと同じくらいの幅に */
}


.about-card__img img {
  width: 100%;     /* 親要素の幅いっぱい */
  height: auto;    /* アスペクト比を保持して縮小 */
  display: block;  /* 下の余白（インラインの隙間）を消す */
  margin-top: 80px;  /*写真の上のあき*/
}

.about .container{
	max-width: 1080px;
  	padding: 20px;
	margin: 0 auto;
}

.about h2{
   display: flex;              /* 横並びをflexで扱う */
  justify-content: center;    /* 中央に寄せる */
  align-items: center;        /* 画像とテキストを縦中央揃え */
  gap: 10px;                  /* 画像と文字の間に余白 */
  margin: 0 auto;
  padding: 10px 0;
  font-size: 36px;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  width: fit-content;         /* テキスト幅に合わせる */
}

/*生酒すべての写真*/
.about__img__sake{
	display: block;      /* ブロック要素に変更 */
	margin-top: 50px;
	margin-bottom: 100px;
	margin-left: auto;
	margin-right: auto;
/*  	margin: 70px auto;    上下余白20px、左右中央寄せ */
  	max-width: 100%;     /* 横幅が親要素より大きくならないように */
  	height: auto;        /* 高さは自動 */
	
}

.about h2 img{
	height: 1em; /* フォントサイズと同じ高さにする */
  	vertical-align: text-top; /* テキストの中央に揃える */
}

.about h3{
 padding:50px 20px 10px 0;
 font-size: 36px;
 color:#001766;
　background-color: rgba(255,255,255,0.5);
}

/*特別な理由ここまで　----------
------------------------------------------------------------------------------*/



/*商品紹介　----------
2列表示
------------------------------------------------------------------------------*/
.goods{
	font-size: 18px;
	background-color: #fff;
	padding: 50px 0;
	text-align: center;
	background-image: url("../images/goods-bk_01.png");
	background-repeat: no-repeat;
	background-size: 100% auto;    /*画面全体にフィット */
    background-position: center top;	
}

.goods .en{
	font-size: 0.6em;                  /* “円”だけ小さく（親の60%） */
  	margin-left: 0.1em;                /* 少しだけ間隔 */
}

.goods__grid-layout{
	list-style-type: none;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}


/*50%で２列表示*/
.goods__grid-layout li{
	width: 25%;
	margin-top: 50px;
	margin-bottom:20px;
	/*ボタン配置固定用*/
	position: relative;
}

.goods__grid-layout img{
	display: block;
/*	background-color: #fff;*/
	margin-left: 150px;
/*	padding-left: 50px;*/
}

.goods h2{
    display: inline-block;
	margin: 10px 0;
 	text-align: center;
	font-size: 36px;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	background-color: rgba(255,255,255,.5);
}

.goods h2 img{
	height: 1em; /* フォントサイズと同じ高さにする */
  	vertical-align: text-top; /* テキストの中央に揃える */
}

.goods h3{
	color:#fff;
	background-color: #001766;
}

.goods-text{
	background-color: rgba(255,255,255,.5);
	text-align: left;
}

.goods-value{
/*	background-color: moccasin;*/
	text-align: end;
}

.goods-btn{
	color: #FFF;
	font-weight: bold;
	background-color: #e85d1d;
	font-size:20px;
	display: flex;            /* flexにする */
	justify-content: center;  /* 横方向中央 */
	align-items: center;      /* 縦方向中央 */
	border-radius: 10px;
	width: 120px;
	height:50px;
	margin-top:20px;
	margin-left: 150px;
		/* ★カード内の右下に固定 */
	position: absolute;
	bottom: 10px; /* カードの下から10px */
	right: 10px;  /* カードの右から10px */

	margin: 0;   /* ←margin-leftは消す */
}

.goods a,a:visited,a:hover,a:active{
	text-decoration: none;
	color: inherit;
}

.goods-gentei{
	color: #e65d2b;
}

@media (max-width: 767px) {
	.goods__grid-layout li{
	width: 48%;
	
}


}

/*商品紹介ここまで　----------
------------------------------------------------------------------------------*/


/*店舗のご案内　----------
------------------------------------------------------------------------------*/
.store{
	
    background-color: #fff;
	padding: 50px 0;
	background-image: url("../images/footer-bk.png");
    background-size: cover;   /* 画面全体にフィット */
    background-position: center top;
    background-repeat: no-repeat;
}

.store-img-line{
	max-width: 100%;
	display: block;
	margin: 0 auto;
	padding-bottom: 100px;
}


/* store全体を中央揃え */
.store .container {
  display: flex;
  flex-direction: column; /* 縦並び */
  align-items: center;    /* 横方向中央寄せ */
  text-align: center;
  width: 1080px;          /* PC用幅固定 */
  margin: 0 auto;          /* 横中央寄せ */
}

.store h2{
	display: inline-block;
	text-align: center;
	font-size:36px;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
	background-color: rgba(255,255,255,.5);
	margin-bottom: 20px;
	
}

/* 見出しと通販リンク */

.store__link {
  text-align: center;
  margin-top: 50px;
  margin-bottom: 20px;
  padding: 0 50px;
  font-size:36px;
}


/*オンラインショップ誘導*/
.store__link{
    color: #FFF;
/*	font-weight: bold;*/
	background-color: #e85d1d;
	font-size: 24px;
	text-decoration: none; /* ←ここに書くのが確実 */
	display: inline-block; /* ボタン風にするなら推奨 */
	padding: 10px 20px;
	border-radius: 10px;
}

.store__link,
.store__link:link,
.store__link:visited,
.store__link:hover,
.store__link:active {
	color: #FFF;            /* ←文字色を白に固定 */
	text-decoration: none;  /* ←下線を消す */
}

.store__link span{
	display: inline-block;
	transform: rotate(-45deg);
}

/* 駅リストを横並びに */
.store__list {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center; /* 横方向中央 */
  gap: 40px;               /* 横並びの間隔 */
  flex-wrap: wrap;         /* 折り返し対応 */
}

.store__list li {
  text-align: center;
  max-width: 300px;        /* 幅をそろえる */
}

.store__list img {
  max-width: 100%;
  height: auto;
}

.store h2 img{
	height: 1em; /* フォントサイズと同じ高さにする */
  	vertical-align: text-top; /* テキストの中央に揃える */
}


/* スマホ対応 */
@media (max-width: 767px) {
  /* 親コンテナを画面幅いっぱいにして中央寄せ */
  .store .container {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  /* 駅リストを縦並びに */
  .store__list {
    flex-direction: column; 
    align-items: center;    
    gap: 20px;              
  }
}

.store-img-line{
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	margin-bottom: 10px;
}
/*店舗のご案内ここまで　----------
------------------------------------------------------------------------------*/



/*フッター　----------
------------------------------------------------------------------------------*/
footer{
  border-top:1px solid #fff;
  text-align:center;
  padding: 50px 0;
  background-color: #001766;
  color: #fff;
  
}

footer .container {
  display: flex;
  flex-direction: column;   /* ←縦に並べる */
  align-items: center;      /* 横方向中央 */
  gap: 10px;                /* 各段落の間隔 */
}

footer p {
  margin: 5px 0;
}

.footer-logo{
	max-width: 70%;
	height: auto;
}

.footer-insta{
	max-width: 50%;
}
/*フッターここまで　----------
------------------------------------------------------------------------------*/


/*フェイドイン -----------------------------------------------------------------*/
.fade-in-img {
  opacity: 0;                  /* 初期は透明 */
  transform: translateY(20px); /* 下に少しずらす */
  transition: opacity 1s ease, transform 1s ease;
}

.fade-in-img.visible {
  opacity: 1;
  transform: translateY(0);
}


/*フェイドイン2秒後にでる*/
.fade-in-img-2 {
  opacity: 0;                  /* 初期は透明 */
  transform: translateY(20px); /* 下に少しずらす */
  transition: opacity 2s ease, transform 2s ease;
}

.fade-in-img-2.visible {
  opacity: 1;
  transform: translateY(0);
}

/*フェイドイン3秒後にでる*/
.fade-in-img-3 {
  opacity: 0;                  /* 初期は透明 */
  transform: translateY(20px); /* 下に少しずらす */
  transition: opacity 3s linear, transform 3s linear;
}

.fade-in-img-3.visible {
  opacity: 1;
  transform: translateY(0);
}


/*フェイドイン5秒後にでる*/
.fade-in-img-5 {
  opacity: 0;                  /* 初期は透明 */
  transform: translateY(20px); /* 下に少しずらす */
  transition: opacity 5s ease, transform 5s ease;
}

.fade-in-img-5.visible {
  opacity: 1;
  transform: translateY(0);
}
