/*
Theme Name: 上原酒造（Hello 子テーマ）
Template: hello-elementor
Description: 上原酒造株式会社のサイト用。見た目の共通の決まりと、ヘッダーの動きだけを持つ。ページの中身は Elementor、更新する情報は JetEngine（商品・お知らせ・サイトの情報）で持つ。
Author: BRIDGE
Version: 2.0.0
Text Domain: awamori-child
*/

/*
  2026-10-21 全面見直し：今のサイト（TCD HAKU）と同じ余白・文字・高さになるよう、値を写した。
  切り替え幅は今のサイトと同じ　タブレット 1001px 以下／スマホ 750px 以下／小さいスマホ 550px 以下。
  Elementor の切り替え幅も 1001px・750px にそろえてある（サイトの設定）。
  余白・高さ・文字の大きさは、このファイルで持つ（Elementor の各部品の設定には持たせない）。
*/

/* ================================================================ 文字・土台 */
:root {
	--aw-sans: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	--aw-sans1: Arial, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
	--aw-mincho: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--aw-accent: #934f22;
	--aw-line: #dddddd;
}
html { scroll-padding-top: 100px; }
body { font-family: var(--aw-sans); font-size: 14px; line-height: 1; color: #000; background: #fff; -webkit-font-smoothing: antialiased; margin: 0; }
body, input, textarea { font-family: var(--aw-sans); }
a { color: #000; text-decoration: none; transition: background-color .2s ease, color .2s ease; }
a:hover { color: #bf0000; }
em, i, cite, address, dfn, var, q, blockquote, figcaption, caption { font-style: normal; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-weight: 500; }
img { vertical-align: bottom; }
.aw-mincho, .aw-mincho .elementor-heading-title, .aw-mincho .jet-listing-dynamic-field__content { font-family: var(--aw-mincho) !important; font-weight: 500 !important; }
.elementor-widget-heading .elementor-heading-title { font-weight: 500; }

/* ================================================================ 本文（今のサイトの .post_content と同じ決まり） */
.aw-post { font-size: 16px; line-height: 1; }
.aw-post p { line-height: 2.4; margin: 0 0 2em 0; }
.aw-post p:last-child { margin: 0; }
.aw-post h1, .aw-post h2, .aw-post h3, .aw-post h4, .aw-post h5, .aw-post h6 { clear: both; line-height: 1.4; margin: 0 0 20px 0; padding: 0; font-weight: 500; }
.aw-post h2 { font-size: 24px; }
.aw-post h3 { font-size: 22px; }
.aw-post h4 { font-size: 20px; }
.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h4 { margin-top: 40px !important; }
.aw-post img { height: auto; max-width: 100%; vertical-align: baseline; }
.aw-post figure { margin: 0; }
.aw-post figure img { vertical-align: bottom; }
.aw-post li, .aw-post dt, .aw-post dd { line-height: 2.4; }
.aw-post table { margin: 0 0 24px 0; width: 100% !important; border-collapse: collapse; font-size: inherit; }
.aw-post td, .aw-post th { border: 1px solid #ccc; padding: 10px 15px; line-height: 2.4; background: #fff; text-align: left; font-weight: 400; }
/* 表の年などは枠の中で上下の真ん中（前川さんの指示 2026-10-21。今のサイトは上ぞろえ）。1 行おきの灰色（Hello の初期設定）は出さない */
.aw-post table tbody > tr > td, .aw-post table tbody > tr > th { vertical-align: middle; }
.aw-post table tbody > tr:nth-child(odd) > td, .aw-post table tbody > tr:nth-child(even) > td, .aw-post table tbody > tr > td { background-color: #fff; }
.aw-post table tbody > tr > th { background-color: #f2f2f2; }
.aw-post table tbody tr:hover > td { background-color: #fff; } .aw-post table tbody tr:hover > th { background-color: #f2f2f2; }
.aw-post th { background: #f2f2f2; }
.aw-post a { color: #000; }
.aw-post a:hover { color: var(--aw-accent); }
.aw-post iframe { max-width: 100%; vertical-align: baseline; }
/* 見出し（左に線）＝ 今のサイトの .styled_h4 */
.aw-post .aw-h4, .aw-h4 .elementor-heading-title { font-size: 18px !important; text-align: left; color: #000; border-left: 2px solid #222; padding: 10px 0 10px 15px !important; margin: 0 0 30px !important; line-height: 1.4; font-weight: 500; }
.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2.aw-h4 { margin-top: 40px !important; }
@media (max-width: 768px) {
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2.aw-h4 { margin-top: 30px !important; }
}
@media (max-width: 767px) { .aw-post h2 { font-size: 20px; } .aw-post h3, .aw-post h4 { font-size: 18px; } }
@media (max-width: 750px) {
	.aw-post { font-size: 14px; }
	.aw-post p, .aw-post li, .aw-post dt, .aw-post dd, .aw-post td, .aw-post th { line-height: 2.2; }
}
@media (max-width: 600px) {
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
	.aw-post :not(h2):not(h3):not(h4):not(h5):not(h6) + h2.aw-h4 { margin-top: 20px !important; }
}

/* 表示する幅（上の各部品は display を CSS で持つので、Elementor の「隠す」をここで効かせ直す） */
@media (min-width: 1002px) { html body .aw-spbar { display: none !important; } }
@media (max-width: 1001px) { html body .aw-head, html body .aw-fixbar { display: none !important; } }

/* ================================================================ ヘッダー（パソコン：下層ページ） */
.aw-head { height: 310px !important; min-height: 0 !important; padding: 0 !important; position: relative; background: #fff; display: block !important; }
.aw-head .aw-head-logo { height: 247px; display: flex !important; align-items: center; justify-content: center; }
.aw-head .aw-head-logo img { width: 450px !important; height: 60px !important; max-width: none; display: block; }
.aw-head .aw-head-logo a:hover img { opacity: .5; }
.aw-head .aw-gnav { position: absolute !important; left: 0; right: 0; bottom: 0; height: 84px; width: 100%; }
.aw-gnav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
.aw-gnav .elementor-nav-menu--main .elementor-item,
.aw-gnav .elementor-nav-menu--main .elementor-item:hover { padding: 0 22px !important; height: 85px; line-height: 57px !important; font-size: 14px !important; display: block; color: #000 !important; }
.aw-gnav .elementor-nav-menu--main .elementor-item:hover,
.aw-gnav .elementor-nav-menu--main .elementor-item.elementor-item-active,
.aw-gnav .elementor-nav-menu--main .current-menu-item > .elementor-item { color: var(--aw-accent) !important; }
.aw-gnav .elementor-menu-toggle, .aw-fixnav .elementor-menu-toggle, .aw-footnav .elementor-menu-toggle,
.aw-gnav .elementor-nav-menu--dropdown, .aw-fixnav .elementor-nav-menu--dropdown, .aw-footnav .elementor-nav-menu--dropdown { display: none !important; }

/* スクロールすると上から出る黒い帯（パソコン） */
.aw-fixbar { position: fixed !important; top: 0; left: 0; right: 0; z-index: 999; height: 70px !important; min-height: 0 !important; padding: 0 !important; background: #000 !important; box-shadow: 0 0 15px 5px rgba(0,0,0,.1); display: block !important; transform: translateY(-110%); }  /* 今のサイトと同じく、400px 下がると上から 0.5 秒で降りてくる。戻るときはすぐ消える */
body.admin-bar .aw-fixbar { top: 32px; }
body.aw-fixed .aw-fixbar { transform: none; animation: aw-slide-down .5s ease; }
.aw-fixbar .aw-fixlogo { position: absolute !important; left: 40px; top: 25px; width: 180px !important; z-index: 2; }
.aw-fixbar .aw-fixlogo img { width: 180px !important; height: 20px !important; display: block; }
.aw-fixbar .aw-fixlogo a:hover img { opacity: .5; }
.aw-fixbar .aw-fixnav { width: 100%; }
.aw-fixnav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
.aw-fixnav .elementor-nav-menu--main .elementor-item,
.aw-fixnav .elementor-nav-menu--main .elementor-item.elementor-item-active { padding: 0 22px !important; height: 70px; line-height: 70px !important; font-size: 14px !important; color: #fff !important; display: block; }
.aw-fixnav .elementor-nav-menu--main .elementor-item:hover { color: #ccc !important; }
.elementor-editor-active .aw-fixbar { position: relative !important; transform: none; }

/* ================================================================ ヘッダー（1001px 以下：白い帯） */
.aw-spbar { height: 60px !important; min-height: 0 !important; padding: 0 !important; position: relative; background: #fff !important; display: block !important; z-index: 200; }
.aw-spbar--front { position: absolute !important; top: 0; left: 0; right: 0; }
body.admin-bar .aw-spbar--front { top: 0; }
.aw-spbar .aw-splogo { position: absolute !important; left: 20px; top: 20px; width: 180px !important; }
.aw-spbar .aw-splogo img { width: 180px !important; height: 20px !important; display: block; }
.aw-spbar .aw-burger-wrap { position: absolute !important; right: 0; top: 0; width: 60px !important; height: 60px; }
.aw-burger-wrap .elementor-shortcode { display: block; }
.aw-burger { display: block; width: 60px; height: 60px; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: #000; position: relative; }
.aw-burger svg { width: 18px; height: 18px; position: absolute; left: 21px; top: 22px; }
.aw-burger:hover { color: #ccc; }

/* 右から出る引き出し（今のサイトと同じ幅・色） */
.aw-drawer-mask { position: fixed; inset: 0; background: rgba(0,0,0,.6); opacity: 0; visibility: hidden; transition: .3s; z-index: 9998; }
.aw-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 400px; background: #222; transform: translateX(100%); transition: transform 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); z-index: 9999; overflow-y: auto; -webkit-overflow-scrolling: touch; }
@media (max-width: 500px) { .aw-drawer { width: 80%; } }
body.aw-drawer-open .aw-drawer { transform: translateX(0); box-shadow: -5px 0 20px 0 rgba(0,0,0,.4); }
body.aw-drawer-open .aw-drawer-mask { opacity: 1; visibility: visible; }
/* 現行の引き出しには閉じるボタンの行が無い（外側を押すと閉じる）。キーボードで使う人のために、押せる状態のまま画面からは隠し、選んだときだけ右上に出す */
.aw-drawer-close { position: absolute; top: 0; right: 0; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); background: #222; border: 0; color: #fff; cursor: pointer; padding: 0; z-index: 2; }
.aw-drawer-close:focus-visible { width: 60px; height: 58px; clip-path: none; outline: 2px solid #fff; outline-offset: -4px; }
.aw-drawer-close svg { width: 18px; height: 18px; position: absolute; top: 21px; right: 17px; }
.aw-drawer ul { list-style: none; margin: 0; padding: 0; }
.aw-drawer li a { position: relative; display: block; margin: 0; padding: 18px 20px; line-height: 1.6; color: #fff; font-size: 13px; background: #222; border-bottom: 1px solid #444; text-decoration: none; box-sizing: border-box; }
.aw-drawer li a:hover, .aw-drawer li.current-menu-item > a { color: #fff; background: #00314a; }  /* 今いるページの項目は紺（現行と同じ） */

/* ページの先頭へ戻るボタン */
.aw-totop { position: fixed; right: 0; bottom: 0; width: 60px; height: 60px; background: #222; color: #fff; display: flex; align-items: center; justify-content: center; transform: translate3d(0,100%,0); transition: transform .35s ease, background-color .2s; z-index: 999; text-decoration: none; }
.aw-totop svg { width: 12px; height: 12px; }
.aw-totop:hover { background: #bf0000; color: #fff; }
body.aw-totop-on .aw-totop { transform: translate3d(0,0,0); }  /* 今のサイトと同じく、100px 下がると出る */
@media (max-width: 750px) { .aw-totop { width: 50px; height: 50px; } }

/* ================================================================ 下層ページの写真の見出し（今のサイトの #page_header） */
.aw-ph { height: 600px !important; min-height: 0 !important; padding: 0 20px !important; overflow: hidden; position: relative; }
.aw-ph-catch .elementor-heading-title { font-family: var(--aw-mincho) !important; font-size: 30px !important; line-height: 1.5 !important; font-weight: 500 !important; color: #fff !important; text-align: center; margin: 0; }
@media (max-width: 1001px) { .aw-ph { height: 450px !important; } }
@media (max-width: 750px) {
	.aw-ph { height: 340px !important; }
	.aw-ph-catch .elementor-heading-title { font-size: 24px !important; }
}

/* 縦書きの見出し（神泉プレミアム） */
.aw-ph--vertical .aw-ph-catch .elementor-heading-title { writing-mode: vertical-rl; display: inline-block; text-align: left !important; padding: 50px 0; font-size: 35px !important; }
@media (max-width: 750px) { .aw-ph--vertical .aw-ph-catch .elementor-heading-title { font-size: 24px !important; } }

/* ================================================================ フッター（工場の写真） */
.aw-footer { padding: 128px 0 !important; min-height: 0 !important; overflow: hidden; display: block !important; text-align: center; }
.aw-footer > .elementor-element { position: relative; z-index: 2; }
.aw-footer .aw-flogo-pc, .aw-footer .aw-flogo-sp { line-height: 0; }
.aw-footer .aw-flogo-pc a, .aw-footer .aw-flogo-sp a { display: inline-block; vertical-align: top; }
.aw-footer .aw-flogo-pc img { width: 350px !important; height: 47px !important; display: block; margin: 0 auto; }
.aw-footer .aw-flogo-sp img { width: 200px !important; height: 27px !important; display: block; margin: 0 auto; }
.aw-footer .aw-flogo-pc a:hover img, .aw-footer .aw-flogo-sp a:hover img { opacity: .5; }
.aw-footnav { margin-top: 40px !important; }
.aw-footnav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; display: block !important; font-size: 0; text-align: center; }
.aw-footnav .elementor-nav-menu--main .elementor-nav-menu > li { display: inline !important; margin: 0 15px !important; font-size: 14px; line-height: 1; }
.aw-footnav .elementor-nav-menu--main .elementor-item,
.aw-footnav .elementor-nav-menu--main .elementor-item.elementor-item-active { display: inline !important; padding: 0 !important; font-size: 14px !important; line-height: 1 !important; color: #fff !important; }
.aw-footnav .elementor-nav-menu--main .elementor-item:hover { color: #bf0000 !important; }
.aw-fbtn { margin-top: 40px !important; }
.aw-fbtn .elementor-button { display: inline-block !important; font-size: 14px !important; padding: 0 25px !important; height: 60px; line-height: 60px !important; min-width: 270px; background: var(--aw-accent) !important; color: #fff !important; border-radius: 0 !important; box-sizing: border-box; }
.aw-fbtn .elementor-button:hover { background: #999 !important; color: #fff !important; }
.aw-fbtn .elementor-button-content-wrapper { display: block; }
.aw-copy { height: 60px !important; min-height: 0 !important; padding: 0 !important; background: #000 !important; display: block !important; text-align: center; }
.aw-copy .jet-listing-dynamic-field__content, .aw-copy p { font-size: 12px !important; line-height: 60px !important; color: #fff !important; margin: 0; text-align: center !important; }
.aw-copy .jet-listing-dynamic-field { justify-content: center; }
@media (max-width: 750px) {
	.aw-footer { padding: 40px 0 !important; }
	.aw-footnav { margin-top: 30px !important; }
	.aw-footnav .elementor-nav-menu--main .elementor-nav-menu > li { display: block !important; margin: 10px 0 !important; line-height: 2; }
	.aw-footnav .elementor-nav-menu--main .elementor-nav-menu > li:first-child { margin-top: 0 !important; }
	.aw-footnav .elementor-nav-menu--main .elementor-nav-menu > li:last-child { margin-bottom: 0 !important; }
	.aw-footnav .elementor-nav-menu--main .elementor-item { line-height: 2 !important; }
	.aw-fbtn { margin-top: 25px !important; }
	.aw-fbtn .elementor-button { font-size: 12px !important; padding: 0 20px !important; height: 50px; line-height: 50px !important; min-width: 240px; }
	.aw-copy { height: 50px !important; }
	.aw-copy .jet-listing-dynamic-field__content, .aw-copy p { line-height: 50px !important; }
}

/* ================================================================ トップ：動画 */
.aw-hero { position: relative; overflow: hidden; height: 100vh !important; min-height: 0 !important; padding: 0 !important; }
.aw-hero .aw-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.aw-hero .elementor-widget-shortcode { position: absolute !important; inset: 0; z-index: 0; }

/* トップ：黒い帯の紹介文（今のサイトの .index_design_content1） */
.aw-intro { height: 600px !important; min-height: 0 !important; padding: 0 calc((100% - 860px) / 2) !important; background: #000 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: stretch !important; gap: 0 !important; }
.aw-intro-catch .jet-listing-dynamic-field__content { font-family: var(--aw-sans1); font-size: 28px !important; line-height: 1.5 !important; font-weight: 500 !important; color: #fff !important; margin: 0 !important; }
.aw-intro-desc { margin-top: 30px !important; }
.aw-intro-desc .jet-listing-dynamic-field__content, .aw-intro-desc p { font-family: var(--aw-sans1); font-size: 16px !important; line-height: 2.4 !important; color: #fff !important; margin: 0 !important; text-wrap: pretty; word-break: auto-phrase; }  /* 左右に余白を足したので、最後の1〜2文字だけが次の行に落ちないように（auto-phrase は Chrome だけ。Safari は pretty だけが効く） */
@media (max-width: 1001px) {
	/* 今のサイトはタブレットで文が画面の左端に付く。読みやすさのため左右 50px あける（改善） */
	.aw-intro { padding: 0 50px !important; }
}
@media (max-width: 750px) {
	.aw-intro { height: 450px !important; justify-content: flex-start !important; padding: 40px 20px 0 !important; text-align: center; }
	.aw-intro-catch .jet-listing-dynamic-field__content { font-size: 25px !important; text-align: center !important; }
	.aw-intro-desc { margin-top: 27px !important; }
	.aw-intro-desc .jet-listing-dynamic-field__content, .aw-intro-desc p { font-size: 14px !important; text-align: center !important; }
	.aw-intro .jet-listing-dynamic-field { justify-content: center; }
}

/* トップ：銘柄紹介（今のサイトの .index_design_content3。左右を交互に） */
.aw-toplist .jet-listing-grid__items { --columns: 1 !important; margin: 0 !important; }
.aw-toplist .jet-listing-grid__item { padding: 0 !important; }
.aw-pt-row { height: 600px !important; min-height: 0 !important; display: flex !important; flex-direction: row !important; gap: 0 !important; padding: 0 !important; }
.aw-toplist .jet-listing-grid__item:nth-child(even) .aw-pt-row { flex-direction: row-reverse !important; }
.aw-pt-text { width: 50% !important; height: 100%; padding: 0 130px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 0 !important; background: #fff; position: relative; }
.aw-pt-catch .jet-listing-dynamic-field__content, .aw-pt-title .jet-listing-dynamic-field__content { font-family: var(--aw-sans1); font-size: 24px !important; line-height: 1.5 !important; font-weight: 500 !important; color: #000 !important; margin: 0 !important; }
.aw-pt-lead { margin-top: 22px !important; }
.aw-pt-lead .jet-listing-dynamic-field__content, .aw-pt-lead p { font-family: var(--aw-sans1); font-size: 16px !important; line-height: 2 !important; color: #000; margin: 0 !important; }
/* 今のサイトは 1 段目の紹介文だけ 15px */
.aw-toplist .jet-listing-grid__item:first-child .aw-pt-lead .jet-listing-dynamic-field__content,
.aw-toplist .jet-listing-grid__item:first-child .aw-pt-lead p { font-size: 15px !important; }
.aw-pt-image { width: 50% !important; height: 600px !important; min-height: 0 !important; position: relative; overflow: hidden; padding: 0 !important; display: block !important; background-size: cover !important; background-position: center center !important; }
.aw-pt-image::before { content: ''; display: block; width: 100%; height: 40%; position: absolute; bottom: 0; left: 0; z-index: 1; opacity: 0; transition: opacity .5s ease; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); pointer-events: none; }
.aw-pt-image:has(.aw-pt-detail a:hover)::before { opacity: 1; }  /* 今のサイトと同じく、詳しいページへのリンクがある段だけ・出し終わってから */
.aw-pt-detail { position: static !important; }
.aw-pt-detail .jet-listing-dynamic-link__link { position: absolute; left: 0; bottom: 0; width: 100%; padding: 40px 30px; box-sizing: border-box; text-align: center; color: #fff !important; font-size: 20px; line-height: 1.5; font-weight: 500; z-index: 3; display: block; }
.aw-pt-detail .jet-listing-dynamic-link__link::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 600px; }
/* マウスを乗せると、写真の上の文字が入れ替わる（今のサイトの .title → .item_title。消えるのは 0 秒・出るのは 0.6 秒後・戻るのは 0.4 秒後） */
.aw-pt-detail .jet-listing-dynamic-link__link { transition: opacity .7s ease-in-out .4s; }
.aw-pt-hover { position: static !important; }
.aw-pt-hover .jet-listing-dynamic-link__link { position: absolute; left: 0; bottom: 0; width: 100%; padding: 40px 30px; box-sizing: border-box; text-align: center; color: #fff !important; font-size: 20px; line-height: 1.5; font-weight: 500; z-index: 3; display: block; opacity: 0; pointer-events: none; transition: opacity .7s ease-in-out 0s; }
.aw-pt-image:has(.aw-pt-hover .jet-listing-dynamic-link__label:not(:empty)):has(.aw-pt-detail a:hover) .aw-pt-detail .jet-listing-dynamic-link__link { opacity: 0; transition: opacity .7s ease-in-out 0s; }
.aw-pt-image:has(.aw-pt-detail a:hover) .aw-pt-hover .jet-listing-dynamic-link__link { opacity: 1; transition: opacity .7s ease-in-out .6s; }
@media (max-width: 1001px) { .aw-pt-text { padding: 0 50px !important; } }
@media (max-width: 750px) {
	.aw-pt-row, .aw-toplist .jet-listing-grid__item:nth-child(even) .aw-pt-row { height: auto !important; flex-direction: column-reverse !important; }
	.aw-pt-text { width: 100% !important; height: auto; padding: 80px 50px 75px !important; }
	.aw-pt-image { width: 100% !important; height: 360px !important; }
	.aw-pt-catch .jet-listing-dynamic-field__content, .aw-pt-title .jet-listing-dynamic-field__content { font-size: 19px !important; }
	.aw-pt-lead { margin-top: 10px !important; }
	.aw-pt-lead .jet-listing-dynamic-field__content, .aw-pt-lead p,
	.aw-toplist .jet-listing-grid__item:first-child .aw-pt-lead .jet-listing-dynamic-field__content,
	.aw-toplist .jet-listing-grid__item:first-child .aw-pt-lead p { font-size: 14px !important; }
	.aw-pt-detail .jet-listing-dynamic-link__link, .aw-pt-hover .jet-listing-dynamic-link__link { padding: 30px 20px; }
	.aw-pt-detail .jet-listing-dynamic-link__link::after { height: 360px; }
}

/* ================================================================ 会社情報の型（上原酒造について・電子技法・取扱商品・お問合せ） */
.aw-company { padding: 100px 0 0 !important; min-height: 0 !important; display: block !important; }
.aw-cc { width: 860px; max-width: 100%; margin: 0 auto 100px !important; padding: 0 !important; min-height: 0 !important; display: block !important; position: relative; }
.aw-company > .aw-cc:last-child, .aw-pl .jet-listing-grid__item:last-child .aw-cc { margin-bottom: 150px !important; }
.aw-cc3 { margin: -10px auto 90px !important; }
.aw-company > .aw-cc3:last-child { margin-bottom: 150px !important; }
/* 会社概要の表 */
.aw-datalist { border-right: 1px solid var(--aw-line); border-bottom: 1px solid var(--aw-line); font-size: 16px; margin: 0 0 60px 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.aw-datalist dt { width: 160px; padding: 10px 15px; line-height: 2.4; margin: 0; border-left: 1px solid var(--aw-line); border-top: 1px solid var(--aw-line); text-align: center; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: #fafafa; font-weight: 400; }
.aw-datalist dd { width: calc(100% - 160px); padding: 10px 30px; margin: 0; border-left: 1px solid var(--aw-line); border-top: 1px solid var(--aw-line); line-height: 2.4; box-sizing: border-box; }
/* 取扱商品（今のサイトの .company_content1） */
.aw-pl .jet-listing-grid__items { --columns: 1 !important; margin: 0 !important; }
.aw-pl .jet-listing-grid__item { padding: 0 !important; }
.aw-cc-catch .jet-listing-dynamic-field__content { font-family: var(--aw-mincho) !important; font-size: 28px !important; font-weight: 500 !important; line-height: 1.5 !important; text-align: center !important; margin: -5px 0 50px !important; color: #000 !important; }
.aw-cc-image { margin: 0 0 50px !important; }
.aw-cc-image img { display: block; width: 100%; height: auto; }
.aw-cc-btn, .aw-prod-btn { text-align: center; }
.aw-cc-btn .elementor-button, .aw-prod-btn .elementor-button { display: inline-block !important; font-size: 14px !important; padding: 0 25px !important; height: 60px; line-height: 60px !important; min-width: 270px; background: #fff !important; color: #000 !important; border: 1px solid var(--aw-line) !important; border-radius: 0 !important; text-align: center; box-sizing: border-box; }
.aw-cc-btn .elementor-button:hover, .aw-prod-btn .elementor-button:hover { color: #fff !important; background: #000 !important; border-color: #000 !important; }
.aw-cc-btn .elementor-button-content-wrapper, .aw-prod-btn .elementor-button-content-wrapper { display: block; }
@media (max-width: 1001px) {
	.aw-company { padding: 100px 50px 0 !important; }
	.aw-cc { width: auto; }
	.aw-cc3, .aw-company > .aw-cc3:last-child { margin: -10px 0 90px !important; }
}
@media (max-width: 750px) {
	.aw-company { padding: 40px 20px 0 !important; }
	.aw-cc, .aw-company > .aw-cc:last-child, .aw-pl .jet-listing-grid__item:last-child .aw-cc { margin: 0 auto 40px !important; }
	.aw-cc3, .aw-company > .aw-cc3:last-child { margin: -7px 0 30px !important; }
	.aw-datalist { font-size: 12px; margin: 0 0 40px 0; }
	.aw-datalist dt { width: 100px; padding: 10px 15px; line-height: 1.8; }
	.aw-datalist dd { width: calc(100% - 100px); padding: 10px 15px; line-height: 1.8; }
	.aw-cc-catch .jet-listing-dynamic-field__content { font-size: 20px !important; margin: -5px 0 35px !important; }
	.aw-cc-image { margin: 0 0 35px !important; }
	.aw-cc-btn .elementor-button { padding: 0 15px !important; height: 50px; line-height: 50px !important; min-width: 240px; }
}

/* ================================================================ お問合せのフォーム（今のサイトの Contact Form 7 と同じ見た目） */
.aw-form { width: 100%; margin: 0 0 35px !important; padding: 0 !important; border: 1px solid var(--aw-line); background: #fafafa; font-size: 14px; color: #000; box-sizing: content-box; }
.aw-form .elementor-form { margin: 21px 21px 0; }
.aw-form .elementor-form-fields-wrapper { display: block !important; margin: 0 !important; }
.aw-form .elementor-field-group { display: block !important; width: 100% !important; max-width: 100% !important; margin: 0 0 16px 0 !important; padding: 0 !important; font-size: 16px; line-height: 2.4; }
.aw-form .elementor-field-group > label, .aw-form .elementor-field-label { display: block !important; font-size: 16px !important; line-height: 2.4 !important; margin: 0 !important; padding: 0 !important; font-weight: 400 !important; color: #000 !important; }
.aw-form .elementor-field-textual { display: block; width: 100% !important; box-sizing: border-box; padding: 8px !important; border: 1px solid #ccc !important; border-radius: 0 !important; background: #fff !important; font-size: 16px !important; line-height: 1.2 !important; min-height: 0 !important; height: auto; color: #000 !important; box-shadow: none !important; }
.aw-form textarea.elementor-field-textual { height: 300px !important; resize: vertical; }
.aw-form .elementor-field-textual:focus { border: 1px solid #bbb !important; outline: none; }
.aw-form .elementor-field-type-text, .aw-form .elementor-field-type-email { padding-bottom: 1px !important; }
.aw-form .elementor-field-type-textarea { padding-bottom: 14px !important; }
.aw-form .elementor-field-type-submit { margin: 0 !important; padding-bottom: 57px !important; }
.aw-form .elementor-field-type-submit .elementor-button { display: block !important; width: 225px !important; height: 48px; margin: 30px auto 0 !important; padding: 8px !important; border: none !important; border-radius: 0 !important; background-color: #333 !important; color: #fff !important; font-size: 14px !important; line-height: 1.5 !important; text-align: center; }
.aw-form .elementor-field-type-submit .elementor-button:hover { background-color: #666 !important; }
.aw-form .elementor-message { text-align: center; margin: 2em .5em 2em; font-size: 16px; }
@media (max-width: 750px) {
	.aw-form .elementor-field-group, .aw-form .elementor-field-group > label, .aw-form .elementor-field-label { line-height: 2.2 !important; }
	.aw-form .elementor-field-type-submit { padding-bottom: 49px !important; }
}

/* ================================================================ 神泉プレミアム（今のサイトの デザインページ２） */
.aw-d2 { padding: 100px 0 50px !important; min-height: 0 !important; display: block !important; }
.aw-d2-free { width: 860px; max-width: 100%; margin: -10px auto 90px !important; padding: 0 !important; min-height: 0 !important; display: block !important; position: relative; }
.aw-d2-free .aw-post h2 { font-family: var(--aw-mincho); font-weight: 500; text-align: center; }
.aw-d2-band { width: 100%; height: 600px !important; min-height: 0 !important; margin: 0 auto 100px !important; padding: 0 !important; position: relative; display: flex !important; align-items: center !important; justify-content: center !important; }
.aw-d2-band-catch .elementor-heading-title { writing-mode: vertical-rl; display: inline-block; text-align: left !important; padding: 50px 0; font-family: var(--aw-mincho) !important; color: #fff !important; font-size: 30px !important; line-height: 1.5 !important; font-weight: 500 !important; }
.aw-d2-pair { width: 860px; max-width: 100%; margin: 0 auto 100px !important; padding: 0 !important; min-height: 0 !important; display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: flex-start !important; gap: 0 !important; }
.aw-d2-pair--l1 { flex-direction: row-reverse !important; }
.aw-d2-pair-image { width: 400px !important; padding: 0 !important; min-height: 0 !important; }
.aw-d2-pair-image img { display: block; max-width: 100%; height: auto; margin: 0 0 7px 0; }
.aw-d2-pair-image .elementor-widget:last-child img { margin: 0; }
.aw-d2-pair-content { width: 400px !important; padding: 0 !important; min-height: 0 !important; display: block !important; }
.aw-d2-catch .elementor-heading-title { font-family: var(--aw-mincho) !important; font-size: 28px !important; font-weight: 500 !important; line-height: 1.5 !important; margin: 0 0 42px !important; color: #000 !important; }
.aw-d2-btn { text-align: center; }
.aw-d2-btn .elementor-button { display: inline-flex !important; align-items: center; justify-content: center; width: 240px; height: 60px; padding: 0 30px !important; font-size: 16px !important; line-height: 1.5 !important; background: #535353 !important; color: #fff !important; border: 1px solid #535353 !important; border-radius: 70px !important; box-sizing: border-box; }
.aw-d2-btn .elementor-button:hover { background: #7d7d7d !important; border-color: #7d7d7d !important; }
@media (max-width: 1001px) {
	.aw-d2 { padding: 100px 0 0 !important; }
	.aw-d2-free { width: auto; margin: -10px 50px 90px !important; }
	.aw-d2-band { height: 450px !important; }
	.aw-d2-pair { width: auto; margin: 0 50px 90px !important; }
	.aw-d2-pair-image, .aw-d2-pair-content { width: calc(50% - 25px) !important; }
}
@media (max-width: 750px) {
	.aw-d2 { padding: 40px 0 0 !important; }
	.aw-d2-free { margin: -7px 20px 30px !important; }
	.aw-d2-band { height: 360px !important; margin: 0 auto 40px !important; }
	.aw-d2-band-catch .elementor-heading-title { font-size: 20px !important; }
	.aw-d2-pair, .aw-d2-pair--l1 { margin: 0 20px 40px !important; flex-direction: column !important; }
	.aw-d2-pair-image, .aw-d2-pair-content { width: auto !important; }
	.aw-d2-pair-image { margin: 30px 0 0 0 !important; order: 2; }
	.aw-d2-pair-image img { margin: 0 auto 7px; }
	.aw-d2-pair-content { order: 1; }
	.aw-d2-catch .elementor-heading-title { font-size: 20px !important; text-align: center; margin: 0 0 27px !important; }
	.aw-d2-btn .elementor-button { font-size: 14px !important; }
}

/* ================================================================ 詳しいページの土台（商品・お知らせ・ブログ） */
.aw-main { border-top: 1px solid var(--aw-line); padding: 0 0 150px !important; min-height: 0 !important; display: block !important; }
.aw-maincol { width: 860px; max-width: 100%; margin: 0 auto !important; padding: 0 !important; min-height: 0 !important; display: block !important; }
/* パンくず（今のサイトの #bread_crumb） */
.aw-crumb { padding: 27px 0 22px; }
.aw-crumb ol { list-style: none; margin: 0; padding: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; line-height: 14px; color: #bf0000; }  /* 「…」はこの大きさと色で描かれる（現行と同じ） */
.aw-crumb li { display: inline; font-size: 12px; margin: 0; padding: 0; position: relative; }
.aw-crumb li a { display: inline-block; height: 60px; line-height: 60px; color: #000; vertical-align: top; }
.aw-crumb li.last { line-height: 60px; }  /* 最後の題名は行の中の文字のまま（幅が足りないときに「…」で切れる。現行と同じ） */
.aw-crumb li.last { color: #bf0000; }
.aw-crumb li a:hover { color: #bf0000; }
.aw-crumb li + li::before { content: ''; display: inline-block; width: 10px; height: 10px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223%22%20d%3D%22M5.651%2C23.5%2C18.227%2C12.374a.5.5%2C0%2C0%2C0%2C0-.748L5.651.5%22/%3E%3C/svg%3E") no-repeat center / 7px 10px; margin: 0 15.9px 0 12px; vertical-align: top; position: relative; top: 24px; }  /* 矢印は IconJar「arrow-right-1」。li が inline でも inline-block でも同じ高さに来るよう、行の上端から測る */
.aw-crumb li.category + li::before { margin-left: 15.3px; }  /* 現行はカテゴリの項目だけ、名前の後ろに空白が1つ入る（約3px） */
.aw-crumb li.home a { width: 16px; position: relative; color: transparent; overflow: hidden; vertical-align: top; }
.aw-crumb li.home a svg { position: absolute; left: 0; top: 23px; width: 12px; height: 12px; color: #000; }
.aw-crumb li.home a:hover svg { color: #bf0000; }
@media (max-width: 1001px) {
	.aw-main { padding: 0 50px 50px !important; }
	.aw-maincol { width: auto; }
	.aw-crumb { padding: 3px 0; }
	.aw-crumb li a { height: 43px; line-height: 43px; }
	.aw-crumb li.last { line-height: 43px; }
	.aw-crumb li + li::before { margin: 0 8.9px 0 5px; top: 16px; }
	.aw-crumb li.category + li::before { margin-left: 8.3px; }
	.aw-crumb li.home a svg { top: 14px; }
}
@media (max-width: 750px) { .aw-main { padding: 0 20px 40px !important; } }

/* ================================================================ 商品の詳しいページ（今のサイトの 商品詳細ページ） */
.aw-prod-imgarea { width: 100%; height: 600px !important; min-height: 0 !important; margin: 0 0 95px !important; padding: 0 !important; background-size: cover !important; background-position: center !important; }
.aw-prod-title { margin: 0 0 90px !important; }
.aw-prod-title .elementor-heading-title { font-family: var(--aw-mincho) !important; font-size: 28px !important; line-height: 1.3 !important; font-weight: 500 !important; margin: 0; text-align: center; color: #000 !important; }
.aw-prod-content { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: flex-start !important; gap: 0 !important; padding: 0 !important; min-height: 0 !important; }
.aw-prod-image { width: 400px !important; padding: 0 !important; min-height: 0 !important; }
.aw-prod-image img { display: block; max-width: 100%; width: 100%; height: auto; margin: 0 0 5px 0; }
.aw-prod-body { width: 400px !important; padding: 0 !important; min-height: 0 !important; display: block !important; }
.aw-prod-body .aw-post { font-family: var(--aw-mincho); }
.aw-prod-body .aw-post .jet-listing-dynamic-field__content { font-size: 16px; text-align: left; }
@media (max-width: 750px) { .aw-prod-body .aw-post .jet-listing-dynamic-field__content { font-size: 14px; } }
.aw-spec { border-top: 1px solid var(--aw-line); font-size: 14px; margin: 0 0 40px 0; display: flex; flex-wrap: wrap; justify-content: space-between; }
.aw-spec dt { width: 160px; padding: 18px 15px 18px 0; margin: 0; border-bottom: 1px solid var(--aw-line); box-sizing: border-box; font-weight: 400; line-height: 1; }
.aw-spec dd { width: calc(100% - 160px); padding: 18px 0; margin: 0; border-bottom: 1px solid var(--aw-line); box-sizing: border-box; line-height: 1; }
.aw-prod-btn { margin: 40px 0 0 0 !important; text-align: left; }
@media (max-width: 1001px) { .aw-prod-image, .aw-prod-body { width: calc(50% - 25px) !important; } }
@media (max-width: 750px) {
	.aw-main--product { padding-bottom: 15px !important; }
	.aw-prod-imgarea { height: auto !important; aspect-ratio: 1 / 1; margin: 0 -20px 37px !important; width: calc(100% + 40px) !important; }
	.aw-prod-title { margin: 0 0 30px !important; }
	.aw-prod-title .elementor-heading-title { font-size: 20px !important; }
	.aw-prod-content { flex-direction: column !important; }
	.aw-prod-image, .aw-prod-body { width: auto !important; }
	.aw-prod-image { margin: 0 0 40px 0 !important; }
	.aw-prod-image img { margin: 0 auto 4px; }
	.aw-spec { font-size: 12px; margin: 0 0 30px 0; }
	.aw-prod-btn { margin: 30px 0 0 0 !important; text-align: center; }
	.aw-prod-btn .elementor-button { padding: 0 15px !important; height: 50px; line-height: 50px !important; min-width: 240px; font-size: 12px !important; }
}

/* ================================================================ 商品の一覧（今のサイトの #product_archive） */
.aw-pcat-btns { display: flex; flex-wrap: wrap; width: 100%; margin: 0 auto 100px; }
.aw-pcat-btns a { flex: 1 1 0%; display: block; height: 60px; line-height: 60px; text-align: center; background: #f4f4f4; color: #000; margin: 0 2px 2px 0; font-size: 14px; font-weight: 500; box-sizing: border-box; }
.aw-pcat-btns a:last-child { margin-right: 0; }
.aw-pcat-btns a.active, .aw-pcat-btns a:hover { background: #000; color: #fff; }
.aw-pcat-headline { margin: 0 auto 100px; font-size: 18px; font-weight: 500; width: 130px; background: #000; color: #fff; height: 130px; line-height: 1.4; text-align: center; position: relative; font-family: var(--aw-mincho); display: flex; align-items: center; justify-content: center; }
.aw-pcat-headline span { display: block; padding: 0 10px; }
.aw-plist { padding: 0 0 100px 0; }
.aw-pcat-item:last-of-type .aw-plist { padding: 0; }
.aw-plist-item { margin: 0 0 60px 0; display: flex; justify-content: space-between; align-items: flex-start; }
.aw-plist-item:last-of-type { margin: 0; }
.aw-plist-img { display: block; width: 400px; height: 400px; position: relative; overflow: hidden; flex: none; }
.aw-plist-image { display: block; width: 100%; height: 100%; background-size: cover; background-position: center; transition: transform .75s ease; }
.aw-plist-img:hover .aw-plist-image { transform: scale(1.2); }
.aw-plist-content { width: calc(100% - 460px); }
.aw-plist-title { line-height: 1; font-weight: 500; font-size: 28px; font-family: var(--aw-mincho); margin: 0; }
.aw-plist-title a { color: #000; }
.aw-plist-desc { line-height: 2.4; font-size: 16px; margin: 35px 0 0 0; }
.aw-plist-btn { position: relative; margin: 65px 0 0 0; }
.aw-plist-btn a { display: inline-block; font-size: 14px; padding: 0 25px; height: 60px; line-height: 60px; min-width: 270px; background: #fff; color: #000; border: 1px solid var(--aw-line); text-align: center; box-sizing: border-box; }
.aw-plist-btn a:hover { color: #fff; background: #000; border-color: #000; }
@media (max-width: 1001px) {
	.aw-pcat-btns { margin: 0 auto 50px; }
	.aw-plist-item { margin: 0 0 50px 0; }
	.aw-plist-img { width: 50%; height: auto; }
	.aw-plist-img::before { content: ''; display: block; padding-top: 100%; }
	.aw-plist-image { position: absolute; top: 0; left: 0; }
	.aw-plist-content { width: calc(50% - 50px); }
}
@media (max-width: 750px) {
	.aw-pcat-btns a { flex: none; width: calc(50% - 3px); margin: 0 3px 3px 0; height: 46px; line-height: 46px; font-size: 12px; }
	.aw-pcat-btns a:nth-child(2n) { margin-right: 0; }
	.aw-pcat-headline { margin: 0 auto 40px; width: 110px; height: 110px; font-size: 15px; }
	.aw-plist { padding: 0 0 40px 0; }
	.aw-plist-item { display: block; }
	.aw-plist-img { width: 320px; margin: 0 auto 30px; }
	.aw-plist-content { width: auto; }
	.aw-plist-title { font-size: 20px; }
	.aw-plist-desc { margin: 20px 0 0 0; font-size: 14px; }
	.aw-plist-btn { margin: 20px 0 0 0; text-align: center; }
	.aw-plist-btn a { padding: 0 15px; height: 50px; line-height: 50px; min-width: 240px; }
}
@media (max-width: 550px) { .aw-plist-img { width: 100%; } }

/* ================================================================ お知らせの一覧（今のサイトの #news_archive・#post_list2） */
.aw-archive { width: 860px; max-width: 100%; margin: 0 auto !important; padding: 100px 0 150px !important; min-height: 0 !important; display: block !important; }
.aw-newslist .jet-listing-grid__items { --columns: 1 !important; margin: 0 !important; }
.aw-newslist .jet-listing-grid__item { padding: 0 !important; margin: 0 0 -1px 0 !important; }
.aw-news-row { width: 100%; height: 280px !important; min-height: 0 !important; display: flex !important; flex-direction: row !important; gap: 0 !important; padding: 0 !important; border: 0 !important; position: relative; overflow: hidden; }
.aw-nr-img { width: 400px !important; height: 280px !important; padding: 0 !important; min-height: 0 !important; overflow: hidden; flex: none; }
.aw-nr-img img { width: 100% !important; height: 280px !important; object-fit: cover; display: block; transition: transform .75s ease; }
.aw-news-row:hover .aw-nr-img img { transform: scale(1.2); }
.aw-nr-body { width: calc(100% - 400px) !important; height: 280px !important; padding: 0 60px !important; border: 1px solid var(--aw-line) !important; border-left: none !important; border-bottom: none !important; box-sizing: border-box; display: flex !important; flex-direction: column !important; justify-content: center !important; gap: 0 !important; min-height: 0 !important; }
.aw-newslist .jet-listing-grid__item:last-child .aw-nr-body { border-bottom: 1px solid var(--aw-line) !important; }
.aw-nr-title .jet-listing-dynamic-link__link { font-weight: 600; line-height: 2; max-height: 4em; font-size: 16px; overflow: hidden; color: #000 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.aw-nr-title .jet-listing-dynamic-link__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.aw-nr-date { margin-top: 10px !important; }
.aw-nr-date .jet-listing-dynamic-field__content { color: #aaa !important; font-size: 14px !important; line-height: 1 !important; margin: 0 !important; }
@media (max-width: 1001px) {
	.aw-archive { width: auto; padding: 90px 50px 100px !important; }
	.aw-nr-img { width: calc(100% - 400px) !important; }
	.aw-nr-body { width: 400px !important; }
}
@media (max-width: 750px) {
	.aw-archive { padding: 40px 20px 40px !important; }
	.aw-news-row, .aw-nr-img, .aw-nr-body { height: 200px !important; }
	.aw-nr-img img { height: 200px !important; }
}
@media (max-width: 650px) {
	.aw-news-row, .aw-nr-img, .aw-nr-body { height: 112px !important; }
	.aw-nr-img img { height: 112px !important; }
	.aw-nr-img, .aw-nr-body { width: 50% !important; }
	.aw-nr-body { padding: 0 20px !important; }
	.aw-nr-title .jet-listing-dynamic-link__link { font-size: 14px; font-weight: 500; line-height: 1.8; max-height: 5.4em; -webkit-line-clamp: 3; }
	.aw-nr-date { margin-top: 5px !important; }
	.aw-nr-date .jet-listing-dynamic-field__content { font-size: 10px !important; }
}

/* ================================================================ お知らせ・ブログの詳しいページの見出し */
.aw-titlebox { width: 100%; margin: 0 0 60px 0 !important; padding: 0 !important; position: relative; border: 1px solid var(--aw-line) !important; box-sizing: border-box; min-height: 0 !important; display: block !important; }
.aw-titlebox-image img { display: block; width: calc(100% + 2px) !important; max-width: none; margin: -1px -1px 0; height: 550px !important; object-fit: cover; }
.aw-titlebox-title .elementor-heading-title { font-size: 28px !important; line-height: 1.3 !important; font-weight: 500 !important; margin: 0; padding: 45px 50px; color: #000 !important; font-family: var(--aw-sans) !important; }
.aw-titlebox--noimage .aw-titlebox-title .elementor-heading-title { padding: 80px 50px 50px; }
.aw-titlebox-title { margin: 0 !important; }
.aw-titlebox-date { margin: -32px 50px 49px !important; }
.aw-titlebox--post .aw-titlebox-date { margin: -32px 54px 48px 50px !important; }
.aw-titlebox-date .elementor-icon-list-items, .aw-titlebox-date .elementor-inline-items { margin: 0 !important; padding: 0 !important; }
.aw-titlebox-date .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.aw-titlebox-date .elementor-icon-list-item::after { display: none !important; }
.aw-titlebox-date .elementor-post-info, .aw-titlebox-date .elementor-icon-list-text, .aw-titlebox-date .jet-listing-dynamic-field__content { font-size: 14px !important; color: #999 !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; }
.aw-titlebox-term { position: absolute !important; top: 509px; left: 50px; z-index: 2; width: auto !important; }
.aw-titlebox-term a, .aw-card-term a { display: none; height: 40px; line-height: 40px; min-width: 120px; text-align: center; padding: 0 20px; background: #000; color: #fff !important; font-size: 12px; box-sizing: border-box; }
.aw-titlebox-term a:first-of-type, .aw-card-term a:first-of-type { display: inline-block; }
.aw-article .aw-post { font-size: 16px; font-family: var(--aw-mincho); }
.aw-linkbtn { margin-top: 0 !important; }  /* 今のサイトはボタンが本文の最後の段落の中にある。文の行のすぐ下に来る */
.aw-linkbtn .jet-listing-dynamic-link__link { font-family: var(--aw-mincho); display: inline-flex; align-items: center; justify-content: center; width: 240px; height: 60px; padding: 0 30px; box-sizing: border-box; font-size: 16px; line-height: 1.5; background: #535353; color: #fff !important; border: 1px solid #535353; text-decoration: none; }
.aw-linkbtn .jet-listing-dynamic-link__link:hover { background: #7d7d7d; border-color: #7d7d7d; }
@media (max-width: 1001px) {
	.aw-titlebox--post { margin-bottom: 50px !important; }
	.aw-titlebox-image img { height: 450px !important; }
	.aw-titlebox-term { top: 409px; }
}
@media (max-width: 750px) {
	.aw-titlebox { margin: 0 -20px 30px !important; width: calc(100% + 40px) !important; border: none !important; border-top: 1px solid var(--aw-line) !important; }
	.aw-titlebox--post { border-top: none !important; border-bottom: 1px solid var(--aw-line) !important; overflow: hidden; }
	.aw-titlebox-image img { height: 300px !important; width: calc(100% + 1px) !important; margin: 0; }
	.aw-titlebox--post .aw-titlebox-image img { margin: -1px 0 0 -1px; }  /* 現行の記事ページは写真が左と上へ1pxはみ出す */
	.aw-titlebox-title .elementor-heading-title { padding: 17px 20px; font-size: 20px !important; }
	.aw-titlebox--noimage .aw-titlebox-title .elementor-heading-title { padding: 50px 20px 20px; }
	.aw-titlebox--news .aw-titlebox-title .elementor-heading-title { padding: 16px 20px; }
	.aw-titlebox--news.aw-titlebox--noimage .aw-titlebox-title .elementor-heading-title { padding: 50px 20px 20px; }
	.aw-titlebox-date, .aw-titlebox--post .aw-titlebox-date { margin: -12px 20px 20px !important; }
	.aw-titlebox--post .aw-titlebox-date { margin: -14px 0 20px 20px !important; }
	.aw-titlebox-date .elementor-post-info, .aw-titlebox-date .elementor-icon-list-text, .aw-titlebox-date .jet-listing-dynamic-field__content { font-size: 10px !important; }
	.aw-titlebox-term { top: 259px; left: 20px; }
	.aw-titlebox-term a { height: 35px; line-height: 35px; min-width: 100px; padding: 0 15px; font-size: 11px; }
	.aw-article .aw-post { font-size: 14px; }
	.aw-linkbtn .jet-listing-dynamic-link__link { font-size: 14px; }
}
@media (max-width: 550px) { .aw-titlebox-image img { height: 230px !important; } .aw-titlebox-term { top: 189px; } }

/* ブログの詳しいページの下の「カテゴリー」「アーカイブ」（今のサイトの #side_col） */
.aw-sidecol { margin: 60px auto -50px; width: 100%; display: flex; flex-wrap: wrap; box-sizing: border-box; }
.aw-widget { width: calc(50% - 15px); margin: 0 30px 50px 0; }
.aw-widget:nth-child(2n) { margin-right: 0; }
.aw-widget-headline { font-size: 16px; position: relative; margin: 0 0 18px 0; font-weight: 700; line-height: 1; }
.aw-dropdown { font-size: 14px; position: relative; }
.aw-dropdown-title { box-sizing: border-box; position: relative; display: block; width: 100%; height: 50px; line-height: 50px; padding: 0 18px; background: #000; color: #fff; z-index: 10; border: 0; border-radius: 0; text-align: left; font-size: 14px; font-family: var(--aw-sans); cursor: pointer; }
.aw-dropdown-title svg { position: absolute; right: 17px; top: 19px; width: 12px; height: 12px; color: #fff; transition: transform .2s; }
.aw-dropdown-title:hover svg { color: #ccc; }
.aw-dropdown-title.is-active svg { transform: rotate(180deg); }
.aw-dropdown-list { display: none; top: -1px; position: relative; list-style: none; margin: 0; padding: 0; }
.aw-dropdown-title.is-active + .aw-dropdown-list { display: block; }
.aw-dropdown-list li { line-height: 1.5; margin: 0; padding: 0; position: relative; }
.aw-dropdown-list li a { display: block; padding: 0 18px; height: 47px; line-height: 47px; margin: -1px 0 0 0; background: #fff; color: #000; border: 1px solid var(--aw-line); }
@media (max-width: 750px) {
	.aw-sidecol { margin: 40px 0 0 0; display: block; }
	.aw-widget { width: auto; margin: 0 0 40px 0; }
	.aw-widget:last-of-type { margin: 0; }
}

/* ================================================================ ブログの一覧（今のサイトの #blog_archive・#post_list1・#category_button） */
.aw-catbtn { display: flex !important; flex-wrap: wrap !important; flex-direction: row !important; width: 860px; max-width: 100%; margin: 0 auto 100px !important; padding: 0 !important; gap: 0 !important; min-height: 0 !important; }
.aw-catbtn .elementor-widget-button { flex: 1 1 0% !important; margin: 0 2px 2px 0 !important; width: auto !important; }
.aw-catbtn .elementor-widget-button:last-child { margin-right: 0 !important; }
.aw-catbtn .elementor-button { display: block !important; width: 100% !important; height: 60px; line-height: 60px !important; padding: 0 !important; text-align: center; background: #f4f4f4 !important; color: #000 !important; font-size: 14px !important; font-weight: 500 !important; border: 0 !important; border-radius: 0 !important; box-sizing: border-box; }
.aw-catbtn .elementor-button:hover, .aw-catbtn .aw-catbtn-active .elementor-button,
body.category-staff .aw-catbtn-staff .elementor-button, body.category-awamori .aw-catbtn-awamori .elementor-button { background: #000 !important; color: #fff !important; }  /* カテゴリのページでは、そのタブを黒に（現行と同じ） */
.aw-catbtn .elementor-button-content-wrapper { display: block; }
.aw-cards .jet-listing-grid__items { display: flex !important; flex-wrap: wrap !important; margin: 0 !important; --columns: 2 !important; }
.aw-cards .jet-listing-grid__item { width: calc(50% - 29px) !important; max-width: none !important; flex: none !important; height: 390px; margin: 0 58px 50px 0 !important; padding: 0 !important; box-sizing: border-box; position: relative; }
.aw-cards .jet-listing-grid__item:nth-child(2n) { margin-right: 0 !important; }
.aw-card { display: block !important; padding: 0 !important; min-height: 0 !important; height: 100%; position: relative; gap: 0 !important; }
.aw-card-imgwrap { display: block !important; width: 100%; height: 280px !important; position: relative; overflow: hidden; margin: 0 0 20px 0 !important; padding: 0 !important; min-height: 0 !important; }
.aw-card-imgwrap img { width: 100% !important; height: 280px !important; object-fit: cover; display: block; transition: transform .75s ease; }
.aw-card:hover .aw-card-imgwrap img { transform: scale(1.2); }
.aw-card-term { position: absolute !important; top: 240px; left: 0; z-index: 2; width: auto !important; }
.aw-card-title .jet-listing-dynamic-link__link { font-weight: 600; line-height: 1.8; max-height: 3.6em; font-size: 16px; overflow: hidden; color: #000 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.aw-card-title .jet-listing-dynamic-link__link::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.aw-card-date { margin-top: 10px !important; }
.aw-card-date .jet-listing-dynamic-field__content { color: #aaa !important; font-size: 14px !important; line-height: 1 !important; margin: 0 !important; }
@media (max-width: 1001px) {
	.aw-catbtn { width: auto; margin: 0 auto 50px !important; }
	.aw-cards .jet-listing-grid__item { width: calc(50% - 20px) !important; margin: 0 40px 40px 0 !important; }
}
@media (max-width: 750px) {
	.aw-catbtn { margin: 0 auto 40px !important; }
	.aw-catbtn .elementor-widget-button { flex: none !important; width: calc(50% - 3px) !important; margin: 0 3px 3px 0 !important; }
	.aw-catbtn .elementor-widget-button:nth-child(2n) { margin-right: 0 !important; }
	.aw-catbtn .elementor-button { height: 46px; line-height: 46px !important; font-size: 12px !important; }
	.aw-cards .jet-listing-grid__item { width: calc(50% - 7px) !important; height: 335px; margin: 0 14px 14px 0 !important; }
	.aw-card-imgwrap, .aw-card-imgwrap img { height: 200px !important; }
	.aw-card-imgwrap { margin-bottom: 20px !important; }
	.aw-card-title .jet-listing-dynamic-link__link { font-size: 14px; font-weight: 500; max-height: 5.4em; -webkit-line-clamp: 3; }
	.aw-card-term { top: 165px; }
	.aw-card-term a { height: 35px; line-height: 35px; min-width: 100px; font-size: 11px; }
}
@media (max-width: 550px) {
	.aw-cards .jet-listing-grid__item { height: 220px; }
	.aw-card-imgwrap, .aw-card-imgwrap img { height: 110px !important; }
	.aw-card-imgwrap { margin-bottom: 12px !important; }
	.aw-card-term { top: 75px; }
	.aw-card-date { margin-top: 3px !important; }
	.aw-card-date .jet-listing-dynamic-field__content { font-size: 10px !important; }
}

/* ================================================================ 一覧の部品の土台（JetEngine の余計な余白を消す） */
.jet-listing-dynamic-field { display: block; }
.aw-pt-text .jet-listing-dynamic-field__content, .aw-intro .jet-listing-dynamic-field__content, .aw-nr-date .jet-listing-dynamic-field__content, .aw-card-date .jet-listing-dynamic-field__content { text-align: left; }
.jet-listing-dynamic-field__inline-wrap { display: block; }
.jet-listing-grid__item > .elementor { width: 100%; }
.elementor-widget-jet-listing-dynamic-field, .elementor-widget-jet-listing-dynamic-link, .elementor-widget-jet-listing-dynamic-image { width: 100%; }

/* ================================================================ ふわっと出る動き（動きを減らす設定の人には出さない） */
@media (prefers-reduced-motion: reduce) { .elementor-invisible { visibility: visible !important; } .animated { animation: none !important; } }

/* ================================================================ 動き（今のサイトの TCD HAKU と同じ時間と順番）
   ・<html> に aw-anim が付いているときだけ「最初は隠す」（JavaScript が動かない閲覧・Elementor の編集画面では隠さない）
   ・付ける・外すのは assets/aw.js（読み込みが終わったら body に aw-loaded） */
html { scroll-behavior: auto !important; }  /* Elementor は html を smooth にする。今のサイトは auto（上へ戻る等は aw.js が 1 秒の easeOutExpo で動かす） */
@keyframes aw-fade { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes aw-slideup { 0% { translate: 0 50px; } 100% { opacity: 1; translate: 0 0; } }      /* 今の slideUp（下 50px から上がりながら出る） */
@keyframes aw-text2 { 0% { opacity: 0; left: 30px; } 100% { opacity: 1; left: 0; } }         /* 見出しの文字（横書き：右から） */
@keyframes aw-text { 0% { opacity: 0; bottom: -30px; } 100% { opacity: 1; bottom: 0; } }     /* 見出しの文字（縦書き：下から） */
@keyframes aw-slide-down { 0% { transform: translateY(-70px); } 100% { transform: translateY(0); } }
@keyframes aw-loading { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* 読み込みの幕（今の #site_loader_overlay） */
.aw-loader { display: none; }
html.aw-anim .aw-loader { display: block; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: #000; opacity: 1; z-index: 99999; }
html.aw-anim .aw-loader.is-out { opacity: 0; transition: opacity .9s cubic-bezier(.445, .05, .55, .95); pointer-events: none; }  /* jQuery の fadeOut(900) と同じ曲線 */
.aw-loader-ring { width: 48px; height: 48px; position: fixed; top: 0; left: 0; right: 0; bottom: 0; margin: auto; box-sizing: content-box; border: 3px solid rgba(153,153,153,.2); border-top-color: #999; border-radius: 50%; animation: aw-loading 1.1s infinite linear; }
@media only screen and (max-width: 767px) { .aw-loader-ring { width: 30px; height: 30px; } }

/* トップ：左上のロゴ・右下の下向きボタン（今の #top_logo・#header_slider_button。パソコンだけ） */
.aw-hero .aw-toplogo { position: absolute; top: 30px; left: 36px; z-index: 100; display: block; line-height: 0; }
.aw-hero .aw-toplogo img { display: block; width: 300px !important; height: 40px !important; max-width: none; margin: 0; transition: opacity .35s ease-in-out; }
.aw-hero .aw-toplogo img:hover { opacity: .5; }
html.aw-anim .aw-hero .aw-toplogo { opacity: 0; }
html.aw-anim body.aw-loaded .aw-hero .aw-toplogo { animation: aw-fade 1s ease forwards 1s; }
body.aw-fixed .aw-hero .aw-toplogo { display: none; }  /* 今のサイトと同じく、上の黒い帯が出ているあいだは消す。戻ると 1 秒待って 1 秒かけて出直す */
.aw-hero .aw-herobtn { position: absolute; right: 0; bottom: 0; width: 60px; height: 60px; background: #fff; display: block; z-index: 2; transform: translate3d(0,0,0); transition: all .5s ease 1s; }
html.aw-anim .aw-hero .aw-herobtn { transform: translate3d(0,100%,0); }
html.aw-anim body.aw-loaded .aw-hero .aw-herobtn { transform: translate3d(0,0,0); }
.aw-hero .aw-herobtn svg { position: absolute; left: 25.5px; top: 30.9px; width: 10.4px; height: 10.4px; color: #000; display: block; }
.aw-hero .aw-herobtn:hover svg { color: #ccc; }
@media (max-width: 1001px) { .aw-hero .aw-toplogo, .aw-hero .aw-herobtn { display: none; } }

/* 下層ページの見出し：1文字ずつ 0.1 秒おきに出る（今の #page_header .catch span） */
html.aw-anim .aw-ph-catch .aw-ch { opacity: 0; position: relative; }
html.aw-anim .aw-ph-catch .aw-ch.is-on { animation: aw-text2 1s ease forwards; }
html.aw-anim .aw-ph--vertical .aw-ph-catch .aw-ch.is-on { animation-name: aw-text; }

/* トップ：黒い帯の紹介文（今の .index_design_content1。見出し 0.5 秒後・文 1 秒後に 1 秒かけて出る） */
html.aw-anim .aw-intro .aw-intro-catch, html.aw-anim .aw-intro .aw-intro-desc { opacity: 0; }
html.aw-anim .aw-intro.is-active .aw-intro-catch { animation: aw-fade 1s ease forwards .5s; }
html.aw-anim .aw-intro.is-active .aw-intro-desc { animation: aw-fade 1s ease forwards 1s; }

/* トップ：商品の段（今の .index_design_content3。出し終わる 3 秒後に元の状態へ戻す＝is-done） */
html.aw-anim .aw-pt-row:not(.is-done) .aw-pt-catch, html.aw-anim .aw-pt-row:not(.is-done) .aw-pt-title,
html.aw-anim .aw-pt-row:not(.is-done) .aw-pt-lead, html.aw-anim .aw-pt-row:not(.is-done) .aw-pt-detail { opacity: 0; }
html.aw-anim .aw-pt-row:not(.is-done) a { pointer-events: none; }
html.aw-anim .aw-pt-row.is-active .aw-pt-catch, html.aw-anim .aw-pt-row.is-active .aw-pt-title { animation: aw-fade 1s ease forwards .5s; }
html.aw-anim .aw-pt-row.is-active .aw-pt-lead { animation: aw-fade 1s ease forwards 1s; }
html.aw-anim .aw-pt-row.is-active:not(.is-done) .aw-pt-detail { opacity: 1; transition: opacity .7s ease-in-out 2s; }
@media (max-width: 750px) {
	/* スマホは順番が変わる（写真の上の文字 1 秒後 → 見出し 1.5 秒後 → 文 2 秒後） */
	html.aw-anim .aw-pt-row.is-active:not(.is-done) .aw-pt-detail { opacity: 0; transition: none; animation: aw-fade 1s ease forwards 1s; }
	html.aw-anim .aw-pt-row.is-active .aw-pt-catch, html.aw-anim .aw-pt-row.is-active .aw-pt-title { animation-delay: 1.5s; }
	html.aw-anim .aw-pt-row.is-active .aw-pt-lead { animation-delay: 2s; }
}

/* 会社概要・電子技法・お問合せ・取扱商品・商品の段：下から上がりながら出る（今の company_animate_item・product_animate_item） */
html.aw-anim .aw-su { opacity: 0; }
html.aw-anim .aw-su.is-active { animation: aw-slideup 1s ease forwards; }

