@charset "UTF-8";
html, body {
  overflow-x: hidden; /*水平スクロールの防止*/
  overflow-y: visible; /*水平スクロールの防止*/
}
html {
  font-size: 18px; /*ルート要素サイズ指定（remのベースの値）*/
}
body {
  margin: 0;
  padding: 0;
  background: url('../images/base-bg.png') center / cover no-repeat;
  background-attachment: fixed;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', sans-serif; /*サイトの基本となるフォント（ゴシックフォント）*/
  color: #1d1d20;
  line-height: 2; /*行間調整*/
  font-weight: normal;
  font-style: normal;
  font-feature-settings: "palt"; /* プロポーショナル仮名 */
  text-align: center;
}
.mincho {
  font-family: 'Noto Serif JP', serif;
}
a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  color: inherit; /* ← これで親要素の色を引き継ぐ */
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
.red {
  color: #e60012;
}
.blue {
  color: #0000ff;
}
.black {
  color: #000;
}
.normal {
  font-weight: normal !important;
}
.bgy {
  background-color: #fff100;
}
.ul {
  text-decoration: underline;
}
.p0 {
  padding: 0 !important;
}
.p5 {
  padding: 5% 0 !important;
}
.p8 {
  padding: 8% 0 !important;
}
.p10 {
  padding: 10% 0 !important;
}
.pt0 {
  padding-top: 0 !important;
}
.pt1 {
  padding-top: 1% !important;
}
.pt3 {
  padding-top: 3% !important;
}
.pt5 {
  padding-top: 5% !important;
}
.pt8 {
  padding-top: 8% !important;
}
.pt10 {
  padding-top: 10% !important;
}
.pb0 {
  padding-bottom: 0 !important;
}
.pb1 {
  padding-bottom: 1% !important;
}
.pb3 {
  padding-bottom: 3% !important;
}
.pb5 {
  padding-bottom: 5% !important;
}
.pb8 {
  padding-bottom: 8% !important;
}
.pb10 {
  padding-bottom: 10% !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mt1 {
  margin-top: 1% !important;
}
.mt3 {
  margin-top: 3% !important;
}
.mt5 {
  margin-top: 5% !important;
}
.mt8 {
  margin-top: 8% !important;
}
.mt10 {
  margin-top: 10% !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb1 {
  margin-bottom: 1% !important;
}
.mb3 {
  margin-bottom: 3% !important;
}
.mb5 {
  margin-bottom: 5% !important;
}
.mb8 {
  margin-bottom: 8% !important;
}
.mb10 {
  margin-bottom: 10% !important;
}
/* font（親要素に対して大きくなる） */
.font07 {
  font-size: 0.7em;
  font-weight: inherit;
}
.font08 {
  font-size: 0.8em;
  font-weight: inherit;
}
.font09 {
  font-size: 0.9em;
  font-weight: inherit;
}
.font11 {
  font-size: 1.1em;
  font-weight: inherit;
}
.font12 {
  font-size: 1.2em;
  font-weight: inherit;
}
.font13 {
  font-size: 1.3em;
  font-weight: inherit;
}
.font14 {
  font-size: 1.4em;
  font-weight: inherit;
}
.font15 {
  font-size: 1.5em;
  font-weight: inherit;
}
.font16 {
  font-size: 1.6em;
  font-weight: inherit;
}
.font17 {
  font-size: 1.7em;
  font-weight: inherit;
}
.font18 {
  font-size: 1.8em;
  font-weight: inherit;
}
.font19 {
  font-size: 1.9em;
  font-weight: inherit;
}
.font20 {
  font-size: 2.0em;
  font-weight: inherit;
}
.bold {
  font-weight: 700;
}
/* text-align */
.txt_l {
  text-align: left;
}
.txt_c {
  text-align: center;
}
.txt_r {
  text-align: right;
}
.w_50 {
  width: 50%;
  margin: 0 auto;
}
.w_60 {
  width: 60%;
  margin: 0 auto;
}
.w_70 {
  width: 70%;
  margin: 0 auto;
}
.w_80 {
  width: 80%;
  margin: 0 auto;
}
/*--------------------------------------
ここからサイトの個別のcss*/
h1, h2, h3 {
  font-weight: bold;
}
h3 {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.2rem;
  line-height: 1.4em;
  letter-spacing: 0.15em;
}
h3::after {
  content: "";
  display: block;
  width: 100%; /* 画面の70%幅 */
  max-width: 700px;
  height: 3px;
  margin: 0.5rem auto 0;
  background: linear-gradient(to right, #d4af37 0%, #efef99 26%, #bb9851 50%, #efef99 74%, #d4af37 100%); /* ゴールドグラデーション */
}
h4 {
  font-family: 'Noto Serif JP', serif; /*明朝体*/
  font-size: 1.4rem;
  margin-bottom: 2.5em;
  letter-spacing: 0.1em;
}
h5 {
  font-family: 'Noto Serif JP', serif; /*明朝体*/
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
h6 {
  font-family: 'Noto Serif JP', serif; /*明朝体*/
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
p {
  margin-bottom: 2em;
  letter-spacing: 0.15em;
}
p:last-child {
  margin-bottom: 0;
}
.image {
  margin-bottom: 2rem;
  text-align: center;
}
.image:last-child {
  margin-bottom: 0;
}
.highlight {
  background: linear-gradient(transparent 70%, #FFFF00 0%);
}
/*--------------------------------------
年齢確認用*/
.age-gate__form h2 {
  margin-bottom: 0;
}
.age-gate__form p {
  letter-spacing: 0;
  margin-bottom: 1em;
}
.age-gate__form button.age-gate__submit--yes {
  background: #fff;
  color: #000;
  width: 50%;
}
.age-gate__form button.age-gate__submit--no {
  background: #999;
  color: #777;
  width: 30%;
}
.age-gate__form .age-gate__error {
  color: #f2001c;
  font-weight: 300;
  margin-bottom: 0;
}
/*--------------------------------------
ヘッダー用*/
header {
  padding: 1.5rem 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000; /* 上に表示されるようにする */
}
header .inner {
  text-align: left;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center; /* 垂直方向中央揃え */
  justify-content: space-between; /* ロゴとメニューを両端に配置 */
}
header h1 {
  width: 220px;
  max-width: 50%;
}
header .nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  color: #ddd;
}
header .nav-list li {
  margin-right: 20px;
  font-family: 'Noto Serif JP', serif;
}
header .nav-list li:last-child {
  margin-right: 0;
}
header .nav-list li a {
  color: white;
  text-decoration: none;
}
.header .hamburger {
  display: block; /* デフォルトで表示 */
  width: 30px;
  height: 22px;
  position: relative;
  cursor: pointer;
}
.header .hamburger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #D5D5D5; /* ハンバーガーメニューの色 */
  transition: all 0.3s ease;
}
.header .hamburger span:nth-child(1) {
  top: 0;
}
.header .hamburger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header .hamburger span:nth-child(3) {
  bottom: 0;
}
/* ハンバーガーメニューが開いた時のスタイル */
.header .hamburger.open span:nth-child(1) {
  transform: translateY(11px) rotate(45deg);
}
.header .hamburger.open span:nth-child(2) {
  opacity: 0;
}
.header .hamburger.open span:nth-child(3) {
  transform: translateY(-11px) rotate(-45deg);
}
.header .nav-list {
  position: fixed;
  top: 0;
  right: -70%; /* 初期位置を右端の外に */
  width: 70%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8); /* 透過された黒背景 */
  z-index: 99; /* ハンバーガーメニューより奥に */
  padding-top: 60px; /* ヘッダーの高さ分だけ下げる */
  transition: right 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start; /* メニューを上から配置 */
}
.header .nav-list.open {
  right: 0; /* スライドイン */
}
.header .nav-list li a {
  color: #fff;
  text-decoration: none;
  font-size: 1.2em;
}
/*--------------------------------------
キャッチ用*/
#catch {
  background: url('../images/home/headimage-main.png') center / cover no-repeat;
  height: 100vh;
  max-height: 900px;
  min-height: 500px;
  display: flex;
  align-items: center; /* 垂直方向中央揃え */
  justify-content: center; /* 水平方向中央揃え（必要に応じて） */
  text-align: center;
}
#catch .inner {
  text-align: right;
}
#catch h2 {
  font-family: 'Noto Serif JP', serif;
  font-size: 3rem;
  letter-spacing: 0.15em;
  color: #fff;
}
#catch p {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.9rem;
  letter-spacing: 0.15em;
  color: #fff;
}
/*--------------------------------------
本文用*/
.inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}
.section {
  padding: 4rem 0;
}
#home .section {
  padding: 6rem 0;
}
.section p {
  font-weight: 100;
  font-size: 1.1rem;
}
.btn, btn {
  width: 100%;
  max-width: 500px;
  padding: 0.5rem 1.5rem 0.5rem 0.8rem; /* 右側の矢印スペース確保のため右パディングを調整 */
  font-size: 1.4rem;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  border: 1px solid #A7A7A7; /* 枠線を少し太くしました */
  display: block;
  margin: 5rem auto 0;
  position: relative; /* 光アニメーションの基準位置 */
  overflow: hidden; /* 光が要素外に漏れるのを防ぐ */
  color: #333; /* テキストの色 */
  transition: border-color 0.3s ease; /* ホバー時の枠線アニメーション */
}
/* 光アニメーション */
btn::before, .btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(160, 160, 160, 0.2), transparent);
  transition: left 0.6s ease-in-out;
  z-index: 1; /* テキストより手前に表示 */
}
btn:hover::before, .btn:hover::before {
  left: 150%; /* ホバー時に右へ移動 */
}
/* おしゃれな矢印 */
btn::after, .btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.8rem; /* 右端からの距離 */
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border-top: 2px solid #A7A7A7;
  border-right: 2px solid #A7A7A7;
  transform-origin: top right;
  transform: translateY(-50%) rotate(45deg); /* 矢印の角度 */
  margin: 0.55em;
}
/*btn {
  width: 100%;
  max-width: 500px;
  padding: 0.5rem;
  font-size: 1.4rem;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.15em;
  border: 0.05px solid #A7A7A7; 
  display: block;
  margin: 5rem auto 0;
}*/
a .white {
  color: #fff;
}
#welcome {
  background: url("../images/home/welcome_section-bg.png") center / cover no-repeat;
}
#welcome .inner {
  display: flex;
  justify-content: space-between;
}
#welcome .inner .sakabin {
  flex: 1 1 250px; /* 最小幅300pxくらいから縮む */
  max-width: 32%; /* 横幅の最大制限（お好みで） */
  margin-top: -45%;
  margin-bottom: -6rem;
}
#welcome .inner .sakabin img {
  width: 100%;
  height: auto;
  display: block;
}
#welcome .inner .text-area {
  flex: 1 1 300px;
  max-width: 65%;
}
#welcome .inner h3, #welcome .inner h4, #welcome .inner p, #welcome .inner btn {
  color: #fff;
}
#welcome .inner p {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
/*--------------------------------------
news用*/
#news h3 {
  margin-bottom: 1.5em;
}
#news ul {
  display: flex;
  flex-wrap: wrap; /* 幅オーバー時に折り返し */
  gap: 20px; /* アイテム間の隙間 */
}
#news ul li {
  flex: 1 1 calc(33.33% - 20px);
  gap: 1rem;
  padding: 1rem;
}
#news ul li btn {
  width: 80%;
  text-align: center;
  margin: 0 auto;
}
#news ul li img {
  display: block;
  width: 100%;
  height: auto; /* heightはautoに設定 */
  aspect-ratio: 3 / 2; /* ここでアスペクト比を指定 (例: 横3:縦2の場合) */
  object-fit: cover;
  margin-bottom: 1rem;
}
#news ul li .news_day {
  font-size: 0.9rem;
  color: #666;
  margin-bottom: 0;
  letter-spacing: normal;
}
#news ul li .news_title {
  font-size: 1.1rem;
  font-weight: bold;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  margin-top: 0;
  line-height: 1.5;
  letter-spacing: normal;
  border-bottom: solid 1px #dcdcdc;
}
#news ul li .txt {
  font-size: 0.8rem;
  margin-bottom: 1.5em;
  letter-spacing: normal;
  text-align: left;
}
#news ul li .btn {
  font-size: 1rem;
  letter-spacing: normal;
  margin: 0;
}
/*--------------------------------------
news一覧用*/
.news-archive {
  max-width: 1100px;
  margin: 0 auto;
  padding: 2em 0;
}
.news-archive h3 {
  margin: 3em 0 3em 0;
}
.news-archive h6 {
  margin: 0 0 1em 0;
  text-align: left;
  line-height: 1.5;
  font-size: 0.9rem;
}
.news-archive .news_wrap_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news-archive ul {
  width: 48%;
  padding: 2em;
  margin-bottom: 2em;
  border: 0.5px solid #A7A7A7;
}
.news-archive .news_list .thumbnail-image {
  margin-bottom: 1em;
}
.news-archive .news_list .thumbnail-image img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
.news-archive .news_list p {
  margin-bottom: 1em;
  text-align: left;
  font-size: 0.8rem;
}
.news-archive .news_list .btn {
  margin: 0 0 0 0;
}
/*--------------------------------------
news個別ページ用*/
.news-single {
  max-width: 1100px;
  margin: 0 auto;
  padding: 7em 0 4em;
}
.news-single img {
  width: 100%;
  margin-bottom: 1em;
  max-width: 650px;
}
.news-single .news_day {
  margin-bottom: 1em;
}
.news-single .news_title {
  margin-bottom: 1em;
  font-size: 1.5rem;
  font-family: 'Noto Serif JP', serif;
  border-top: 0.5px solid #A7A7A7;
  border-bottom: 0.5px solid #A7A7A7;
}
.news-single p:last-child {
  margin-bottom: 4em;
}
.news-single .news-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2em;
}
/* 初期スタイル（リンクがあるときに適用） */
.news-single .news-nav .prev a, .news-single .news-nav .next a {
  display: inline-block;
  padding: 0.5rem 1.5rem 0.5rem 0.8rem;
  border: 0.5px solid #A7A7A7;
  text-decoration: none;
  color: inherit;
}
/* リンクが無い場合（spanが出力されるので、非表示に） */
.news-single .news-nav .prev span, .news-single .news-nav .next span {
  display: none;
}
/*--------------------------------------
news一覧用*/
#sake_making {
  background-color: #f2f2f2;
  background-image: url('../images/home/sake_making-bg.png');
  background-repeat: no-repeat;
  background-position: 95% bottom;
  background-size: 40% auto;
  text-align: left;
}
#sake_making h3 {
  margin-left: 1rem;
}
#sake_making h3::after {
  margin: 0.5rem auto 0 -1rem;
}
#sake_making h4 {
  margin-left: 1rem;
}
#sake_making .box {
  width: 70%;
}
#sake_making .box ul {
  margin: 1rem 0 1rem 2rem;
}
#sake_making .box li {
  border-left: solid 10px #e5e5e5;
  padding: 0.5em 0 0.5em 2em;
  font-family: 'Noto Serif JP', serif;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  margin-bottom: 2em;
}
#sake_making btn {
  text-align: center;
}
#sanrensei {
  background-image:
    url('../images/home/sanrensei-bg.png'), /* 上に重ねたい画像（右下） */ url('../images/home/sanrensei_star-bg.png'); /* 薄く敷く背景画像 */
  background-repeat: no-repeat, no-repeat;
  background-position: left bottom, center bottom;
  background-size: 40% auto, cover;
  background-blend-mode: normal, lighten;
}
#sanrensei .inner h3, #sanrensei .inner h4, #sanrensei .inner p, #sanrensei .inner btn {
  color: #fff;
}
#sanrensei .inner p {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
#sanrensei .box {
  width: 65%;
  margin-left: auto;
}
#sanrensei .box btn {
  margin: 6rem auto 0 2rem;
}
#kagura {
  background: url("../images/home/kagura-bg.png") center / cover no-repeat;
}
#kagura .box {
  width: 65%;
}
#kagura .inner p {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
#hakariuri {
  background: url("../images/home/hakariuri-bg.png") left bottom / 26% auto no-repeat;
}
#hakariuri .box {
  width: 75%;
  margin-left: auto;
}
#hakariuri .inner p {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
}
#free-trial {
  background: #e5f6f0;
}
/*--------------------------------------
商品ページ用*/
#lineup .item {
  margin-bottom: 3.5rem; /* 各 .item 要素の下マージンを 2rem に設定 */
}
#lineup .item:last-child {
  margin-bottom: 0; /* #lineup 内の最後の .item 要素の下マージンを 0 に設定 */
}
#lineup h6 {
  margin: 0 0 0.5em 0;
  font-size: 1.5rem;
  line-height: 1.5;
}
#lineup .item p {
  margin-bottom: 0; /* #lineup 内の .item 要素内の p 要素の下マージンを 0 に設定 */
  text-align: left; /* #lineup 内の .item 要素内の p 要素のテキストを左寄せに設定 */
  font-size: 0.8rem;
}
#lineup img {
  margin-bottom: 0.5em;
}
#shop-image h3 {
  margin-bottom: 2em;
}
.shop-indoor {
  width: 100%;
  max-width: 100%;
}
.shop-map-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
}
.shop-map-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
#taruzake .txt-left_image-right {
  display: flex;
  flex-direction: row-reverse;
}
#taruzake .txt-left_image-right .image-right {
  max-width: 400px;
  padding: 0 0 2rem 2rem;
  flex: 0 0 auto; /* 画像の幅をコンテンツに合わせる */
}
#taruzake .txt-left_image-right .txt-left {
  flex: 1; /* テキストが残りのスペースを占める */
}
#taruzake .txt-left_image-right .image-right img {
  float: right; /* 画像を右にフロートさせる */
  margin-left: 20px; /* テキストとの間にスペースを作る（任意） */
}
#taruzake p {
  text-align: left; /* #taruzake 内の p 要素のテキストを左寄せに設定 */
}
#taruzake p:last-child {
  margin-bottom: 2em;
}
#hakariuri-page .hakariuri-wrap {
  padding: 2em;
  margin-bottom: 2em;
  border: 0.5px solid #A7A7A7;
}
#hakariuri-page .hakariuri-items h3 {
  background: #104e40;
  color: #fff;
  padding: 0.5em 1rem;
  font-size: 1.5rem;
  margin-bottom: 1em;
}
#hakariuri-page .hakariuri-items h3::after {
  background: none;
  margin: 0;
}
#hakariuri-page .hakariuri-item-first {
  display: flex;
  gap: 20px;
}
#hakariuri-page .hakariuri-item-info {
  flex: 1;
}
#hakariuri-page .hakariuri-item-image {
  width: 40%;
}
#hakariuri-page .hakariuri-item-image img {
  width: 100%;
  max-width: 300px;
  height: auto;
  border-radius: 8px;
}
#hakariuri-page .hakariuri-item-info p {
  margin-bottom: 1em;
  font-size: 0.9rem;
}
#hakariuri-page .hakariuri-item-info p:last-child {
  margin-bottom: 0;
}
#hakariuri-page .hakariuri-subtitle {
  margin-bottom: 0 !important;
  font-weight: bold;
  border-bottom: 0.5px solid #A7A7A7;
}
#hakariuri-page .hakariuri-item-small h3 {
  margin-bottom: 1em;
  font-size: 1rem;
}
#hakariuri-page .hakariuri-item-small h3::after {
  background: none;
  margin: 0;
}
#hakariuri-page .hakariuri-item-small-wrap {
  display: flex;
  gap: 20px;
}
#hakariuri-page .hakariuri-item-small {
  flex: 1;
  padding: 2em;
  border: 0.5px solid #A7A7A7;
}
#hakariuri-page .hakariuri-item-small p {
  margin-bottom: 1em;
  font-size: 0.9rem;
}
#hakariuri-page .hakariuri-item-small p:last-child {
  margin-bottom: 0;
}
/*--------------------------------------
三連星ページ用*/
#sanrensei-page #sanrensei-naming p.highlighted-message {
  font-family: 'Noto Serif JP', serif; /* フォントファミリーを 'Noto Serif JP' に設定（明朝体） */
  font-size: 1.4em; /* フォントサイズを親要素の 1.2 倍に設定 */
  font-weight: 700; /* フォントの太さを bold（700）に設定 */
  background: url("../images/sanrensei/sanrensei-bg.png") center / cover no-repeat;
  color: #fff; /* 文字色を白（#fff）に設定 */
  display: inline-block; /* 要素をインラインブロックレベル要素として表示（コンテンツ幅に合わせるが、width/height や padding/margin を適用可能） */
  padding: 0.5em 2em; /* 上下パディングを 0、左右パディングを 1em に設定 */
  margin-bottom: 1em; /* 下マージンを 1em に設定 */
  letter-spacing: 0;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); /* 水平方向の影、垂直方向の影、ぼかしの半径、影の色 */
}
#sanrensei-page h3 {
  margin-bottom: 5rem;
}
#sanrensei-page h5 {
  position: relative;
  display: inline-block;
  padding-left: 3em; /* アイコンの幅＋余白 */
  font-size: 1.8rem;
}
#sanrensei-page h5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5em; /* 画像のサイズ */
  height: 2.5em;
  background-image: url("../images/sanrensei/sanrensei-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#sanrensei-page #sanrensei-naming img {
  margin-bottom: 1rem;
  width: 100%;
  max-width: 800px;
}
#sanrensei-page #sanrensei-naming .highlighted-message img {
  margin: 0.5rem;
  height: 5rem;
  width: auto;
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.8)); /* 水平方向の影、垂直方向の影、ぼかしの半径、影の色 */
}
#sanrensei-page #sanrensei-kodawari .text-left_image-right {
  display: flex;
  flex-direction: row-reverse;
}
#sanrensei-page #sanrensei-kodawari .text-left {
  text-align: left;
}
#sanrensei-page #sanrensei-kodawari .image-right {
  max-width: 380px;
  padding-left: 3rem;
}
#sanrensei-page #sanrensei-lineup .image-left_text-right {
  display: flex;
  flex-direction: row;
}
#sanrensei-page #sanrensei-lineup .text-right {
  text-align: left;
}
#sanrensei-page #sanrensei-lineup .image-left {
  max-width: 420px;
  padding-right: 5rem;
}
#sanrensei-page #sanrensei-lineup h6 {
  display: block;
  background: #555;
  color: #fff;
  padding: 0.5em;
  margin: 5rem 0 1rem;
}
#sanrensei-page #sanrensei-lineup table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: center;
}
#sanrensei-page #sanrensei-lineup thead th {
  font-weight: bold;
  border-bottom: 0.5px solid #ccc;
}
#sanrensei-page #sanrensei-lineup thead th:first-child {
  padding: 1rem;
  text-align: left;
  width: 15%;
}
#sanrensei-page #sanrensei-lineup thead th:nth-child(2) p {
  background: #cd0027;
  color: #fff;
  margin: 0.25rem;
  padding: 0.75rem;
  font-weight: inherit;
}
#sanrensei-page #sanrensei-lineup thead th:nth-child(3) p {
  background: #009944;
  color: #fff;
  margin: 0.25rem;
  padding: 0.75rem;
  font-weight: inherit;
}
#sanrensei-page #sanrensei-lineup thead th:last-child p {
  background: #1d1d20;
  color: #fff;
  margin: 0.25rem;
  padding: 0.75rem;
  font-weight: inherit;
}
#sanrensei-page #sanrensei-lineup tbody th {
  padding: 1rem;
  font-weight: bold;
  border-bottom: 0.5px solid #ccc;
  text-align: left;
}
#sanrensei-page #sanrensei-lineup td {
  padding: 1rem;
  border-bottom: 0.5px solid #ccc;
  vertical-align: top;
}
#sanrensei-page #sanrensei-lineup td img {
  max-width: 100%;
  height: auto;
}
#sanrensei-page #sanrensei-lineup table tr:nth-child(2) td {
  text-align: left;
}
#sanrensei-page #sanrensei-lineup table tbody tr:last-child td, #sanrensei-page #sanrensei-lineup table tbody tr:last-child th {
  border-bottom: none !important;
}
/* 可読性向上のためテキストの折り返し設定 */
#sanrensei-page #sanrensei-lineup td, #sanrensei-page #sanrensei-lineup th {
  word-break: break-word;
}
#sanrensei-page img {
  margin-bottom: 1em;
}
#sanrensei-lineup .red_txt {
  color: #cd0027;
  font-weight: bold;
}
#sanrensei-lineup .white_txt {
  color: #009944;
  font-weight: bold;
}
#sanrensei-lineup .black_txt {
  color: #1d1d20;
  font-weight: bold;
}
/*--------------------------------------
三連星取り扱い店舗用*/
.store-list-area ul {
  display: flex; /* 子要素を横並びにする */
  flex-wrap: wrap; /* 幅が足りなくなったら折り返す */
  gap: 1rem;
  justify-content: flex-start;
}
.store-list-area ul li {
  width: calc(50% - 0.5rem); /* 新しいwidthの指定 */
  border: 0.5px solid #A7A7A7; /* 黒の実線枠 */
  padding: 1rem;
}
.store-list-area ul li h6 {
  margin-top: 0;
  margin-bottom: 1em;
  display: block;
  border-bottom: 0.5px solid #A7A7A7;
}
.store-list-area ul li p {
  letter-spacing: 0;
  font-size: 0.9rem;
  text-align: left;
  margin-bottom: 0.5em;
}
.store-list-area ul li .btn-area {
  display: flex;
  justify-content: space-between;
}
.store-list-area ul li a {
  width: calc(50% - 0.5em); /* 新しいwidthの指定 */
  box-sizing: border-box;
}
.store-list-area ul li .btn {
  font-size: 0.9rem;
  margin-top: 0;
}
#sanrensei-store .hidden {
  display: none;
}
#sanrensei-store .store-tabs {
  margin-bottom: 2em;
}
#sanrensei-store .tab-button {
  position: relative;
  background: #eee;
  color: #1d1d20;
  ;
  padding: 0.5em 2em;
  border: none;
  font-size: 1rem;
}
#sanrensei-store .tab-button.active {
  background: #1d1d20;
  ;
  color: #fff;
}
#sanrensei-store .tab-button.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  color: #fff;
  border-style: solid;
  border-color: #1d1d20 transparent transparent transparent;
  border-width: 1em 1em 0 1em;
}
/*--------------------------------------
蔵カフェ 薫蔵～KAGURA～ページ用*/
#kagura-page h3 {
  margin-bottom: 5rem;
}
#kagura-page h5 {
  background: url("../images/kagura/kagura-titlebg.png") center / cover no-repeat;
  padding: 0.5em;
  margin-bottom: 2rem;
}
#kagura-page #kagura-section .text-left_image-right {
  display: flex;
  flex-direction: row-reverse;
}
#kagura-page #kagura-section .text-left {
  text-align: left;
}
#kagura-page #kagura-section .image-right {
  max-width: 40%;
  padding-left: 3rem;
}
#kagura-page #kagura-section .image-left_text-right {
  display: flex;
  flex-direction: row;
}
#kagura-page #kagura-section .text-right {
  text-align: left;
}
#kagura-page #kagura-section .image-left {
  max-width: 40%;
  padding-right: 5rem;
}
#kagura-page #kagura-section .opening-times {
  border: solid 0.5px #ddd;
  padding: 1rem 5rem;
  display: inline-block;
  margin-bottom: 3rem;
}
#kagura-page #kagura-section .time {
  display: inline-block;
  font-size: 1.4rem;
  margin-bottom: 0;
  font-weight: 600;
}
#kagura-page #kagura-section .timesub {
  font-size: 0.8rem;
}
#kagura-page #kagura-section h6 {
  margin: 0;
}
#kagura-page #kagura-section btn {
  margin: 2rem auto;
}
#kagura-section .btn {
  max-width: 600px;
  margin-bottom: 1em;
}
#kagura-page .menu ul {
  display: flex; /* 子要素を横並びにする */
  flex-wrap: wrap; /* 幅が足りなくなったら折り返す */
  gap: 1rem;
  justify-content: flex-start;
  margin-bottom: 2rem;
}
#kagura-page .menu ul li {
  width: calc(33.33% - 12px); /* 新しいwidthの指定 */
  border: 0.5px solid #A7A7A7; /* 黒の実線枠 */
  padding: 1rem;
}
#kagura-page .menu ul li img {
  display: block;
  width: 100%;
  height: auto; /* heightはautoに設定 */
  aspect-ratio: 3 / 2; /* ここでアスペクト比を指定 (例: 横3:縦2の場合) */
  object-fit: cover;
  margin-bottom: 1rem;
}
#kagura-page .menu ul li h6 {
  font-family: 'Noto Serif JP', serif; /* フォントファミリーを 'Noto Serif JP' に設定（明朝体） */
  margin-bottom: 0.2em;
  padding-bottom: 0.2em;
  margin-top: 0;
  text-align: center;
  border-bottom: solid 0.5px #dcdcdc;
  letter-spacing: 0;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.5;
}
#kagura-page .menu ul li .menu-description {
  font-size: 0.7rem;
  text-align: left;
}
#kagura-page .menu ul li .menu-price {
  font-size: 0.8rem;
  text-align: right;
  letter-spacing: 0;
}
/*--------------------------------------
量り売りページ用*/
#hakariuri-page h3 {
  margin-bottom: 5rem;
}
#hakariuri-page h6 {
  margin: 0 auto 2rem;
}
#hakariuri-page #hakariuri-detail p {
  text-align: left;
}
#hakariuri-page #hakariuri-detail .subtitle {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: center;
  display: inline-block;
  padding: 0.2em 3em;
  background: #1d1d20;
  color: #fff;
  border-radius: 100px; /* 水平方向の半径 10px、垂直方向の半径 5px */
  margin-bottom: 1rem;
}
#hakariuri-page #hakariuri-detail img {
  width: 100%;
  max-width: 900px;
  margin-bottom: 2rem;
}
#hakariuri-page #hakariuri-detail .catch {
  font-family: 'Noto Serif JP', serif;
  color: #104e40; /*ダークグリーン*/
  font-size: 1.5em;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: center
}
#hakariuri-page #hakariuri-detail ul {
  display: flex;
  flex-direction: row; /* 横方向に並べる */
  flex-wrap: wrap; /* 必要に応じて折り返す */
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
#hakariuri-page #hakariuri-detail ul > li {
  padding: 2rem;
  border: 0.5px solid #A7A7A7; /* 黒の実線枠 */
}
#hakariuri-page #hakariuri-detail ul > li h6 {
  background: #104e40; /*ダークグリーン*/
  color: #fff;
  padding: 0 2rem;
}
#hakariuri-page #hakariuri-detail ul > li:first-child h6 {
  font-size: 1.5rem;
}
#hakariuri-page #hakariuri-detail ul > li p {
  text-align: left;
  letter-spacing: 0;
}
#hakariuri-page #hakariuri-detail ul > li p.day, #hakariuri-page #hakariuri-detail ul > li p.time, #hakariuri-page #hakariuri-detail ul > li p.plice {
  font-weight: 600;
  margin-bottom: 1em;
}
#hakariuri-page #hakariuri-detail ul > li:first-child {
  width: 100%;
  order: 1; /* 最初に配置 */
}
#hakariuri-page #hakariuri-detail ul > li:nth-child(2) {
  flex: 1;
  order: 2; /* 2番目に配置 */
}
#hakariuri-page #hakariuri-detail ul > li:nth-child(3) {
  flex: 1;
  order: 3; /* 3番目に配置 */
}
/* 4番目以降の要素はデフォルトの順序で配置 */
#hakariuri-page #hakariuri-detail ul > li:nth-child(n + 4) {
  width: 100%; /* 必要に応じて幅を調整 */
  /* order: 4; /* 必要なら順序を指定 */
}
#hakariuri-page .over-block {
  overflow: hidden; /* 親要素でclearfix */
}
/*左に画像、右にテキスト（回り込みなし） */
#hakariuri-page .over-block .image-left {
  float: left;
  width: 350px; /* 画像の幅 */
  margin-right: 3rem; /* テキストとの間隔 */
}
#hakariuri-page .over-block .text-right {
  overflow: auto; /* テキスト領域でclearfix */
}
#hakariuri-page .over-block .text-right p {
  text-align: left; /* テキスト左寄せ */
}
/*右に画像、左にテキスト（画像下にも回り込みあり） */
#hakariuri-page .over-block .image-right {
  float: right;
  width: 350px; /* 画像の幅 */
  margin-left: 3rem; /* テキストとの間隔 */
}
#hakariuri-page .over-block .text-left {
  margin-right: 3rem;
}
#hakariuri-page .over-block .text-left p {
  text-align: left; /* テキスト左寄せ */
}
#hakariuri-page #hakariuri-secret .subtitle {
  font-family: 'Noto Serif JP', serif;
  font-size: 0.7em;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-align: center;
  display: inline-block;
  padding: 0 3em;
  background: #1d1d20;
  color: #fff;
  border-radius: 100px; /* 水平方向の半径 10px、垂直方向の半径 5px */
}
#hakariuri-page #hakariuri-secret h5 {
  font-size: 1.8rem;
  margin: 0 auto 1em;
}
#hakariuri-page #hakariuri-secret img {
  width: 100%;
  max-width: 700px;
  margin-bottom: 1em;
}
#hakariuri-page #hakariuri-secret .secret:last-child p {
  margin-bottom: 0;
}
#hakariuri-notes .message {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.2em;
}
#hakariuri-notes btn {
  margin: 2rem auto 2rem;
}
#hakariuri-notes .btn {
  max-width: 600px;
  margin-bottom: 1em;
}
/*--------------------------------------
蔵見学ページ用*/
#kurakengaku-page #kurakengaku-guidance .inner > img {
  width: 100%;
  max-width: 700px;
}
#kurakengaku-page #kurakengaku-guidance .inner > p {
  font-family: 'Noto Serif JP', serif; /* フォントファミリーを 'Noto Serif JP' に設定（明朝体） */
  font-size: 1.2em; /* フォントサイズを親要素の 1.2 倍に設定 */
}
#kurakengaku-page #kurakengaku-guidance .flow-group {
  padding: 5%;
  border-bottom: solid 0.5px #dcdcdc;
}
#kurakengaku-page #kurakengaku-guidance .flow-group:first-child {
  padding: 0 5% 5%;
}
#kurakengaku-page h5 {
  display: block;
  background: #59493f;
  color: #fff;
  margin: 4rem 0 2em;
}
#kurakengaku-page #kurakengaku-guidance .flow-group h6 {
  display: block;
  background: #ede6da;
  margin: 0 0 2rem;
}
#kurakengaku-page #kurakengaku-guidance .over-block {
  overflow: hidden; /* 親要素でclearfix */
}
/*右に画像、左にテキスト（画像下にも回り込みあり） */
#kurakengaku-page #kurakengaku-guidance .over-block .image-right {
  float: right;
  width: 300px; /* 画像の幅 */
  margin-left: 3rem; /* テキストとの間隔 */
}
#kurakengaku-page #kurakengaku-guidance .over-block .text-left {
  margin-right: 3rem;
}
#kurakengaku-page #kurakengaku-guidance .over-block .text-left p {
  text-align: left; /* テキスト左寄せ */
}
#kurakengaku-page #kurakengaku-please p {
  text-align: left;
}
#kurakengaku-page #kurakengaku-please ul {
  margin: 0 auto;
  max-width: 900px;
}
#kurakengaku-page #kurakengaku-please ul li {
  font-weight: 100;
  letter-spacing: 0.15em;
  text-align: left;
  margin-bottom: 1em;
}
kurakengaku-page #kurakengaku-please ul li:last-child {
  margin-bottom: 0;
}
#kurakengaku-page #kurakengaku-please ul li::before {
  content: "◾️"; /* 表示したい文字 */
  margin-right: 0.5em; /* 文字と内容の間隔を調整（必要に応じて） */
}
#kurakengaku-page #kurakengaku-please ul li span {
  font-weight: 600;
  width: 100px;
  display: inline-block; /* 幅を指定するためにinline-blockにする */
}
.kura-indoor {
  width: 100%;
  max-width: 100%;
}
.kura-map-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9の比率（9 ÷ 16 = 0.5625） */
  height: 0;
  overflow: hidden;
}
.kura-map-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/*--------------------------------------
会社紹介ページ用*/
#company-page .history-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem 0;
  border-bottom: solid 0.5px #dcdcdc;
}
#company-page .history-item .history-date {
  font-family: 'Noto Serif JP', serif; /* フォントファミリーを 'Noto Serif JP' に設定（明朝体） */
  font-size: 1.3em; /* フォントサイズを親要素の 1.2 倍に設定 */
  position: relative;
  display: inline-block;
  padding-left: 3em; /* アイコンの幅＋余白 */
  margin-bottom: 1em;
}
#company-page .history-item .history-date::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5em; /* 画像のサイズ */
  height: 2.5em;
  background-image: url("../images/company/atukanlogo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
#company-page .history-item .history-image {
  width: 100%;
  max-width: 350px;
  margin-left: 3rem;
}
#company-page .history-item .history-description p {
  text-align: left;
  margin-bottom: 1em;
}
#company-page .history-item ul {
  display: flex;
  flex-direction: column;
}
#company-page .history-item ul li {
  border: solid 0.5px #1d1d20;
  margin-bottom: 0.5em;
}
#company-page .history-item ul .red-label {
  background: #cd0027;
  color: #fff;
}
#company-page .history-item ul .white-label {
  background: #009944;
  color: #fff;
}
#company-page .history-item ul .black-label {
  background: #1d1d20;
  color: #fff;
}
#company-page #company-profile h3 {
  margin-bottom: 3rem;
}
#company-page #company-profile dl {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
}
#company-page #company-profile dl dt {
  font-weight: 600;
  width: 25%;
  border-bottom: solid 0.5px #d1c0a5;
  padding: 1em;
}
#company-page #company-profile dl dd {
  width: 74%;
  border-bottom: solid 0.5px #d2d2d2;
  margin-left: 1%;
  padding: 1em;
}
.access-map {
  width: 100%;
  margin-top: 2em;
  max-width: 100%;
}
.access-map-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 アスペクト比 */
  height: 0;
  overflow: hidden;
}
.access-map-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/*--------------------------------------
コンタクト用*/
#contact-page .wpcf7 {
  text-align: left;
  max-width: 800px;
  margin: 0 auto;
}
#contact-page .section p {
  text-align: left;
}
#contact-page .wpcf7-form-control {
  width: 100%;
  height: 40px;
  margin-bottom: 1em;
  font-size: 100%;
}
#contact-page .kozin {
  border: 0.5px solid #ddd;
  height: 180px;
  overflow-y: scroll;
  padding: 1rem;
  margin-bottom: 1rem;
  line-height: 1.7;
  background: #fff;
}
#contact-page .kozin p {
  font-size: 0.8rem;
}
#contact-page .kozin h6 {
  margin: 0 0 1em 0;
}
#contact-page .kozin .ttl {
  font-weight: bold;
  margin-bottom: 0;
}
#contact-page .btn {
  background-color: transparent;
}
input[type='text'], input[type='email'], input[type='tel'], input[type='url'], input[type='number'], input[type='password'], textarea, select {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  box-sizing: border-box;
  border: 0.5px solid #ccc;
  border-radius: 4px;
  appearance: none;
  background-color: #fff;
}
textarea {
  resize: vertical;
  min-height: 120px;
}
/*--------------------------------------
フッター用*/
footer {
  text-align: center;
  background: url("../images/footer/footer-bg.png") center / cover no-repeat;
  color: #fff;
  padding: 2.5rem 0;
}
footer p, footer li, footer a {
  font-weight: 100;
}
footer .inner {
  display: flex;
  justify-content: space-evenly;
  text-align: left;
  margin-bottom: 1rem;
}
footer .inner ul {
  margin-bottom: 1rem;
}
footer .inner .fotter-logo {
  width: 35%;
}
footer .inner .fotter-logo img {
  max-width: 320px;
  margin-bottom: 1rem
}
footer .inner .fotter-logo p {
  font-size: 0.8em;
  letter-spacing: 0;
  line-height: 1.5em;
  margin-bottom: 0.6rem;
}
footer .inner .fotter-logo p.company-name {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.2em;
  letter-spacing: 0.15em;
}
footer .inner .footer-menu {
  width: 25%;
}
footer .inner .menu-list li {
  line-height: 2em;
}
footer .inner .fotter-link .sns-list {
  display: flex;
  gap: 1rem;
}
footer .inner .fotter-link .sns-list img {
  height: 50px;
  width: auto;
}
footer .disclaimer {
  font-size: 0.8em;
  color: #aaa;
}
footer .copyright {
  font-size: 0.6em;
  letter-spacing: 0;
}
footer a, footer a:link, footer a:visited, footer a:hover, footer a:active {
  text-decoration: none;
  color: #fff;
}
/*----------------------------------------
アニメーション配置*/
/* 共通の初期スタイル */
.fade-in-up, .fade-in-left, .fade-in-scale, .fade-in-right, .fade-in-down, .fade-in-opacity {
  opacity: 0; /* 初期状態を透明に */
}
/* パターン1：下から上へのフェードイン */
.fade-in-up.show {
  animation: fadeInUp 1s ease-out forwards;
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* パターン2：左から右へのフェードイン */
.fade-in-left.show {
  animation: fadeInLeft 1s ease-out forwards;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/* パターン3：スケールアップしながらフェードイン */
.fade-in-scale.show {
  animation: fadeInScale 1s ease-out forwards;
}
@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/* パターン4：右から左へのフェードイン */
.fade-in-right.show {
  animation: fadeInRight 1s ease-out forwards;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(30px); /* 右に移動した状態から */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* 元の位置へ */
  }
}
/* パターン5：上から下へのフェードイン */
.fade-in-down.show {
  animation: fadeInDown 1s ease-out forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px); /* 上に移動した状態から */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 元の位置へ */
  }
}
/* パターン6：透明度のみのフェードイン */
.fade-in-opacity.show {
  animation: fadeInOpacity 1s ease-out forwards;
}
@keyframes fadeInOpacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*----------------------------------------
メニュー配置

#menu {
	position: fixed;
	width: 170px;
	bottom:55px;
	right: 1%;
	z-index: 2000;
}
#menu img:hover {
	opacity: 0.7;
}
#menu img {
	max-width: 100%;
	height: auto;
}
#menu .sub_btn {
	padding: 0;
	background-color: transparent;
	border:none;
	margin-bottom: 0;
}

@media screen and (min-width:1240px) {
	#menu {
		position: fixed;
		width: 170px;
		bottom: 55px;
		left: 50%;
		z-index: 2000;
		margin-left: 460px;
	}
}
-------------------------------------------*/
/*--------------------------------------
レスポンシブ*/
@media screen and (min-width: 800px) {
  .sp {
    display: none;
  }
  br.sp {
    display: none;
  }
  .header .hamburger {
    display: none; /* ハンバーガーメニューを非表示 */
  }
  .header nav {
    display: block; /* ナビゲーションを表示 */
  }
  .header .nav-list {
    position: static;
    width: auto;
    height: auto;
    background-color: transparent;
    flex-direction: row;
    padding-top: 0;
    transition: none;
    align-items: center;
  }
  .header .nav-list li a {
    font-size: 1em;
  }
}
@media print, screen and (max-width: 800px) {
  html {
    font-size: 12px;
  }
  .pc {
    display: none;
  }
  br.sp {
    display: block;
  }
  .section {
    padding: 3rem 0;
  }
  h2, h3, h4, h5, h6, p {
    letter-spacing: 0;
  }
  h3 {
    font-size: 1.9em;
  }
  p {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
  btn {
    width: auto;
    letter-spacing: 0;
  }
  .btn {
    letter-spacing: 0;
  }
  header .nav-list li {
    margin: 0 0 0.5em 0;
    text-align: center;
  }
  header ul.nav-list li.spwaku {
    padding: 0.5em;
    margin-bottom: 0.5em;
    border: 0.5px solid #fff;
    line-height: 1.5;
    width: 80%;
  }
  header ul.nav-list li.spwaku:last-child {
    margin-bottom: 2em;
  }
  .header ul.sns-list {
    display: flex;
    justify-content: space-between;
    width: 60%;
    margin: 1em auto 0;
  }
  .header ul.sns-list li {
    margin-right: 1em;
  }
  .header ul.sns-list li:last-child {
    margin-right: 0;
  }
  .header ul.sns-list li img {
    width: 100%;
  }
  #catch .inner {
    text-align: center;
  }
  #catch h2, #catch p {
    letter-spacing: 0;
  }
 
  #catch {
    height: 80vh;
  }
  #home .section {
    padding: 5rem 0;
  }
  #news ul li {
    flex: 1 1 calc(100% - 20px);
  }
  #news ul li .txt {
    font-size: 1rem;
    line-height: 1.5;
  }
  .news-single .news_title {
    line-height: 1.5;
    padding: 0.5em 0;
  }
  .news-archive {
    width: 90%;
    margin: 0 auto;
  }
  .news-archive .news_wrap_area {
    display: block;
  }
  .news-archive ul {
    width: 100%;
  }
  .news-single {
    width: 90%;
    margin: 0 auto;
  }
  #welcome .inner .sakabin {
    margin-top: -80%;
    max-width: 35%;
    margin-bottom: 0;
  }
  #welcome .inner {
    flex-direction: column;
  }
  #welcome .inner .text-area {
    max-width: 100%;
  }
  #welcome p {
    text-align: left;
  }
  #home #sake_making {
    background-size: 70% auto;
    padding-bottom: 50%;
  }
  #sake_making .box {
    width: 100%;
  }
  #sake_making .box ul {
    margin: 1rem 0 ;
}
  #sake_making .box li {
    padding: 0.5em 0 0.5em 1em;
    letter-spacing: 0;
}
  #home #sanrensei {
    background-size: 80% auto, cover;
    padding-bottom: 60%;
  }
  #sanrensei .box {
    width: 100%;
  }
  #sanrensei .box p {
    text-align: left;
  }
  #sanrensei .box btn {
    margin: 5rem 0 0;
  }
  .store-list-area ul li {
    width: 100%;
  }
  .store-list-area ul li btn {
    font-size: 1.2rem;
  }
  #sanrensei-store .tab-button {
    margin-bottom: 1.8em;
  }
  #sanrensei-store .tab-button::after, #sanrensei-store .tab-button.active::after {
    bottom: -0.8em;
  }
  #kagura .box {
    width: 100%;
  }
  #kagura .inner p {
    letter-spacing: 0;
    text-align: left;
  }
  #kurakengaku-page #kurakengaku-guidance .over-block .image-right {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 1.5rem; /* 下に余白を追加してテキストと分離 */
  }
  #kurakengaku-page #kurakengaku-guidance .over-block .text-left {
    margin-right: 0;
  }
  #hakariuri .box {
    width: 100%;
  }
  #hakariuri p {
    text-align: left;
  }
  #hakariuri btn {
    width: 70%;
    margin: 25% 0 0 auto;
  }
  #hakariuri-page h3 {
    margin-bottom: 2em;
  }
  #hakariuri-page #hakariuri-secret h5 {
    line-height: 1.5;
  }
  #hakariuri-page .hakariuri-item-first {
    display: block;
    margin-bottom: 0;
  }
  #hakariuri-page .hakariuri-item-small {
    margin-bottom: 2em;
  }
  #hakariuri-page .hakariuri-item-small:last-child {
    margin-bottom: 0;
  }
  #hakariuri-page .hakariuri-item-small-wrap {
    display: block;
  }
  #hakariuri-page .hakariuri-item-image {
    width: 100%;
  }
  #hakariuri-page .hakariuri-item-info p:last-child {
    margin-bottom: 1em;
  }
  #hakariuri-page .hakariuri-items h3 {
    padding: 1em;
  }
  #hakariuri-page #hakariuri-detail img {
    margin-bottom: 0;
  }
  #home #hakariuri {
    background: url(../images/home/hakariuri-bg.png) left bottom / 30% auto no-repeat;
    padding-bottom: 30%;
  }
  #taruzake .txt-left_image-right {
    flex-direction: column;
  }
  #taruzake .txt-left_image-right .image-right {
    padding: 0 2rem 2rem;
  }
  #sanrensei-page #sanrensei-kodawari .text-left_image-right {
    flex-direction: column;
  }
  #sanrensei-page #sanrensei-kodawari .image-right {
    padding: 0 5rem 2rem;
  }
  #sanrensei-page #sanrensei-lineup .image-left_text-right {
    flex-direction: column;
  }
  #sanrensei-page #sanrensei-lineup .image-left {
    padding: 0 5rem 2rem;
  }
  #sanrensei-page #sanrensei-naming p.highlighted-message {
    display: block;
    padding: 0.5em;
  }
  #kagura-page #kagura-section .text-left_image-right, #kagura-page #kagura-section .image-left_text-right {
    flex-direction: column;
  }
  #kagura-page #kagura-section .image-right, #kagura-page #kagura-section .image-left {
    max-width: 100%;
    padding: 0 3rem 2rem;
  }
  #kagura-page .menu ul li {
    width: calc(50% - 6px); /* 新しいwidthの指定 */
  }
  #kagura-page #kagura-section .opening-times {
    padding: 2em;
  }
  #company-page .history-item {
    flex-direction: column;
  }
  #company-page .history-item .history-image {
    margin: 1rem auto 2rem;
    width: 80%;
  }
  footer .inner {
    flex-direction: column;
  }
  footer .inner .fotter-logo {
    width: 100%;
    text-align: center;
  }
  footer .inner .fotter-menu, footer .inner .fotter-link {
    display: none;
  }
}
@media print, screen and (max-width: 800px) and (min-width: 640px) {
  body {
    font-size: 118%;
  }
  br {
    display: block;
    content: none;
  }
}