/*
Template: astra
Theme Name: astra_child
*/

/*.elementor-heading-title  {
	font-family:serif !important;
font-size: 32px !important;
font-weight: normal !important;
}

.elementor-widget-text-editor {
    font-family: serif !important;

}*/

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap");

.elementor-8 .elementor-element.elementor-element-8b199dc .elementor-heading-title {
  color: #ffffff;
  font-family: "Zen Antique", Sans-serif !important;
  font-size: 44px;
  font-weight: 100;
}

/*.elementor-8 .elementor-element.elementor-element-8b199dc .elementor-heading-title {
    color: #FFFFFF;
    font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
    font-weight: 100;
}

.elementor-widget-heading h1.elementor-heading-title {
    line-height: 1.4em;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif !important;
}
.elementor-widget-heading .elementor-heading-title {
	    font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif !important;
}
*/

/*icon色変更*/

/* InstagramアイコンのSVG内のパスの色 (通常時) */
.ast-instagram .ahfb-svg-iconset svg path {
  fill: #e47d97 !important; /* Instagramのオレンジ色 */
}

/* Instagramアイコンのホバー時のSVGパスの色 (白) */
.ast-instagram a:hover .ahfb-svg-iconset svg path {
  fill: #ffffff !important; /* ホバー時の白色 */
}

/* YouTubeアイコンのSVG内のパスの色 */
.ast-behance .ahfb-svg-iconset svg path {
  fill: #ff0000 !important; /* YouTubeの赤色 */
}

/* YouTubeアイコンのホバー時のSVGパスの色 */
.ast-behance a:hover .ahfb-svg-iconset svg path {
  fill: #c4302b !important; /* YouTubeのホバーカラー */
}

table,
th,
td {
  border-collapse: collapse;
  border-width: 0;
  margin: 0;
  font-weight: inherit;
}

.tel a,
.fax a {
  color: #000;
}
#contact .tel a,
#contact .fax a {
  color: #000;
}

a:hover img {
  filter: alpha(opacity=60);
  opacity: 0.6;
  -moz-opacity: 0.6;
  -ms-filter: "alpha( opacity=60 )";
}

/*　改行の調整　*/

/* PCのみ改行 */
@media screen and (max-width: 1024px) {
  br.pc {
    display: none;
  }
}
/* タブレットのみ改行 */
@media screen and (max-width: 767px) and (min-width: 1025px) {
  br.tb {
    display: none;
  }
}
/* スマホのみ改行 */
@media screen and (min-width: 768px) {
  br.sp {
    display: none;
  }
}
/* PCとスマホで改行 */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  br.pc_sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  br.pc_tb {
    display: none;
  }
}

/* -------------------------------------
	レイアウト調整
--------------------------------------*/
body:not(.home) #content {
  margin: 50px 0 150px;
}

/* ----------------------------------
	フッタ
-----------------------------------*/

.widget_block {
  margin-bottom: 0;
}

.wp-block-image img {
  margin-top: 20px;
}

.site-footer-section > :last-child {
  margin-bottom: 20px;
}

/* -------------------------------------
　　TOP
--------------------------------------*/
.topcon > .elementor-container {
  padding-right: 20px;
  padding-left: 20px;
}

/* -----------------------------------------------------------
　　サブページ共通
----------------------------------------------------------- */
/*　ページタイトル　*/

h1.entry-title {
  text-align: center;
  font-weight: bold;
  margin-bottom: 50px;
  color: #000000;
}

/* -----------------------------------------------------------
　　会社案内
----------------------------------------------------------- */
#company table {
  border: #c7c7c7 1px solid;
  line-height: 1.8;
  margin: 0;
}
#company th {
  border: #c7c7c7 1px solid;
  background-color: #f5f5f5;
  padding: 10px 25px;
  font-weight: normal;
  vertical-align: middle;
  text-align: left;
  color: black;
}
#company td {
  border: #c7c7c7 1px solid;
  padding: 10px 25px;
  text-align: left;
}
#company iframe {
  width: 100%;
}

.w1680 {
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-8 .elementor-element.elementor-element-bb0a14e > .elementor-widget-container,
.elementor-8 .elementor-element.elementor-element-df86865 > .elementor-widget-container {
  background: none !important;
}
@media screen and (max-width: 767px) {
  #company table th,
  #company table td {
    display: block;
    width: 100%;
    border-width: 0 0 1px 0;
  }
  #company table tr:last-child td {
    border-bottom: none 0;
  }
}

/* ----------------------------------
　　お問い合わせ
-----------------------------------*/
.wpcf7 form > p {
  margin-bottom: 1.2em !important;
}
.wpcf7 .asterisk {
  margin: 0 0 0 0.2em;
  color: #cc0000;
}
.wpcf7 .check .wpcf7-list-item {
  margin: 0 0.5em 0 0;
}
div.wpcf7 {
  font-family: inherit;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
div.wpcf7 label {
  font-weight: normal;
  margin-bottom: 20px;
  width: 100%;
  color: white;
}
.wpcf7 form textarea {
  width: 100%;
  height: auto;
  padding: 5px 7px 3px;
  font-size: 16px;
  color: #666;
  line-height: 1.8;
}
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form select {
  width: 100%;
  max-width: 400px;
  height: auto;
  padding: 5px 7px 3px;
  font-size: 16px;
  color: #666;
  line-height: 1.8;
}
.wpcf7 form input[type="submit"] {
  line-height: 1;
  padding: 15px 30px 13px;
  border-radius: unset;
  border: none 0;
  font-size: 16px;
}
span.wpcf7-not-valid-tip {
  color: #cc0000;
}
div.wpcf7-response-output {
  margin: 2em 0 1em;
}
/*蔵の家宝部分*/
.align-left {
  text-align: left;
  padding-left: 120px !important;
}

.align-center {
  text-align: center;
}

/* ✅ 共通：Flexboxレイアウトで高さ揃え */
#equal-height-section,
#equal-height-section-2 {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}

@media (max-width: 768px) {
  #equal-height-section,
  #equal-height-section-2 {
    flex-direction: column;
  }
}

/* ✅ Flexカラム構造 */
.equal-height,
.height-sync {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: stretch;
}

.equal-height .elementor-widget-wrap,
.height-sync .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100%;
}

.equal-height .elementor-widget,
.height-sync .elementor-widget {
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: auto;
  min-height: 0;
  max-height: 100%;
}

/* ✅ 幅揃え（Gridレイアウト） */
.width-sync {
  display: grid;
  grid-template-columns: max-content max-content;
  gap: 1rem;
}

.heading,
.heading2 {
  grid-column: span 2;
  display: inline-block;
  width: auto;
}

/* ✅ コンテンツ幅調整と中央寄せ */
.text,
.image {
  width: 28em !important;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.2em;
  overflow: hidden;
}
.text2,
.image2 {
  width: 41em;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.2em;
  overflow: hidden;
}
/* ✅ 画像表示の最適化 */
.image .elementor-widget-container {
  width: 100%;
}

.image img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.image2 img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ✅ 画像親要素の中央揃え（必要に応じて） */
.parent-of-image {
  justify-content: center;
}
/*フッターウィジェット画像調整*/
.wp-block-image img {
  margin-top: 20px;
  width: 80%;
}
/*ヘッダーメニュー高さ調整*/
.ast-builder-menu-1 {
  font-family: inherit;
  font-weight: inherit;
  padding-top: -100px;
  margin-top: -100px;
}
/*手振れっと時のヘッダーメニュー高さ調整*/
.site-header-section > div:last-child {
  padding-right: 0;
  /*margin-top: -50px;*/
}



.ast-builder-layout-element[data-section="section-hb-social-icons-1"] {
  display: flex;
  margin-top: -110px;
}

/* TOPページの最近の投稿タイトルだけ非表示 */
.home h5 {
  display: none !important;
}

@media (max-width: 767px) {
  /* 日付を改行して右寄せ */
  .home nav[aria-label="最近の投稿"] .post-date {
    display: block; /* ブロック化して改行 */
    text-align: right; /* 右寄せ */
    margin-left: 0; /* 横マージンリセット */
    margin-top: 5px; /* タイトルとの隙間 */
  }
}

/* 井関追加分 */

.mv {
  width: 100%;
  margin-top: 6%;
  display: flex;
  gap: 5%;
  align-items: flex-end;
}
.mv-text {
  width: 27%;
  display: flex;
  gap: 5%;
  align-items: flex-end;
  justify-content: center;
  padding: 0 0 8% 5%;
}
.mv-video {
  width: 73%;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
.mv-video video {
  width: 100%;
  height: auto;
  display: block;
}
.top-container {
  width: 100%;
  max-width: 1820px;
  margin: 8% auto;
}
.story {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 40px;
}
.story.reverse{
    flex-direction: row-reverse;
}
.story-text {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
.story-text h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
  margin-bottom: 5%;
  width: 100%;
  max-width: 720px;
  font-size: clamp(28px, 2.916666vw, 42px) !important;
}
.story-text p {
  font-size: clamp(16px, 1.388888888888vw, 20px);
  line-height: clamp(32px, 4.444444444444445vw, 64px);
  width: 100%;
  max-width: 540px;
}
.story-image {
  width: calc(50% - 40px);
  overflow: hidden;
  position: relative; /* 相対位置指定 */
}
.story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.story-text__contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.story-text__image {
  display: flex;
  gap: 16px;
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
}
.story-text__image-img {
  aspect-ratio: 768 / 827;
  object-fit: cover;
  display: block;
  width: 50%;
}
.taste {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
.taste-text {
  width: calc(100% / 3);
}
.taste-text h2,
.lineup h2,
.information h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
  margin-bottom: 5%;
  text-align: center;
  font-size: clamp(28px, 2.416666vw, 42px) !important;
}
.taste-text p {
  max-width: 100%;
  padding: 0 24px;
  font-size: clamp(16px, 1.388888888888vw, 20px);
  line-height: clamp(32px, 4.444444444444445vw, 64px);
}
.taste-image {
  aspect-ratio: 768/576;
  width: calc(100% / 3);
  position: relative;
  overflow: hidden;
}
.taste-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* カバー表示 */
  object-position: center; /* 中央配置 */
  position: absolute; /* 絶対位置指定で親要素にフィット */
  top: 0;
  left: 0;
}
@media (max-width: 1120px) {
  .taste-text {
    width: 50%;
  }
  .taste-image{
      width: 25%;
  }
  .taste-text p {
    max-width: 100%;
    padding: 0 24px;
    font-size: clamp(16px, 1.388888888888vw, 20px);
    line-height: clamp(32px, 2.444444444444445vw, 40px);
  }
  .taste-image {
    aspect-ratio: 768/768;
  }
}
.lineup,
.information {
  margin-top: 8%;
}
.lineup-list {
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  gap: 18px;
  flex-wrap: wrap;
}
.lineup-item {
  border: 1px solid #fff;
  width: calc(100% / 3 - 18px);
}
.lineup-item a {
  color: #fff;
}
.lineup-item a:hover .lineup-item__text {
  opacity: 0.7;
}
.lineup-item__image {
  width: 100%;
  aspect-ratio: 386 / 233;
  overflow: hidden;
  position: relative;
}
.lineup-item__image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* カバー表示 */
  object-position: center; /* 中央配置 */
  position: absolute; /* 絶対位置指定で親要素にフィット */
  top: 0;
  left: 0;
}
.lineup-item__text {
  padding: 24px;
}
.lineup-item__text h3 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
  margin-bottom: 5%;
  text-align: center;
  font-size: clamp(20px, 1.6666666vw, 24px);
}
.lineup-item__text p {
  padding: 0 24px;
  text-align: center;
}
.news-list {
  width: 95%;
  max-width: 640px;
  margin: auto;
}
.news-list li {
  margin-bottom: 2.4rem;
}
.news-list li a {
  color: #fff;
}
.link-btn a {
  display: flex;
  width: 420px;
  max-width: 90%;
  height: 88px;
  justify-content: center;
  align-items: center;
  border: 1px solid #fff;
  color: #fff;
  margin: 3.5% auto 0;
  background: rgba(255, 255, 255, 0.2);
}
.instagram-area {
  width: 1140px;
  max-width: 100%;
  margin: auto;
}
.sp-only {
  display: none;
}
@media (max-width: 921px) {
  .ast-plain-container,
  .ast-page-builder-template {
    background-color: #000;
  }
}
@media (max-width: 768px) {
  .story {
    flex-direction: column;
    width: 95%;
    margin: auto;
    align-items: center;
  }
  .story-text,
  .story-text__image-img {
    width: 100%;
  }
  .story-text__image-img {
    aspect-ratio: 768 / 827;
  }
  .story-text p {
    width: 100%;
  }
  .story-image {
    width: 80%;
  }
  .story,
  .taste,
  .lineup,
  .information,
  .instagram-area {
    margin-top: 18%;
  }
  .sp-only {
    display: block;
  }
  .taste-image,
  .taste-text {
    width: 100%;
  }
  .taste {
    flex-direction: column;
  }
  .lineup-item {
    border: 1px solid #fff;
    width: calc(100% / 2 - 8px);
  }
  .lineup-list {
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .lineup-item__text {
    padding: 16px 8px;
  }
  .lineup-item__text p {
    padding: 0;
    margin-bottom: 8px;
  }
  .story.reverse{
        flex-direction: column;
    }
    #page .site-content{
        margin-top: 20%;
    }
}

/*TOPページ*/
/* 初期状態：スマホ用を非表示 */
.sp-text {
    display: none !important;
}

/* スマホ表示（768px以下） */
@media screen and (max-width: 768px) {
    .pc-text {
        display: none !important;
    }
    .sp-text {
        display: block !important;
    }
	.story-text h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
  margin-bottom: 5%;
  width: 100%;
  max-width: 720px;
  font-size: clamp(22px, 2.916666vw, 35px) !important;
text-align: center;
}
}

/* スマホ表示（768px以下） */
@media screen and (max-width: 768px) {
.taste-text h2, .lineup h2, .information h2 {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 700;
  font-style: normal;
  color: #fff;
  letter-spacing: 0.05em;
  font-feature-settings: "palt" on;
  margin-bottom: 5%;
  text-align: center;
  font-size: clamp(22px, 2.416666vw, 42px) !important;
}
}

/* フッターメニュー全体を中央に配置 */
#astra-footer-menu {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-direction: column; /* 縦並び維持 */
    align-items: flex-start; /* 左揃え */
    width: fit-content; /* メニュー幅を内容に合わせる */
}

/* メニューリンクの左揃え */
#astra-footer-menu .menu-link {
    text-align: left;
}