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

/*---------------------------------
* utility
---------------------------------*/


html {
    font-size: 62.5%;
    /*16px×62.5%=10px*/
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem;
    font-weight: 500;
    font-style: normal;
    color: #232F15;
    line-height: 1.3;
    -webkit-font-smoothing: antialiased;
    /* macOS で細く見せる */
    -moz-osx-font-smoothing: grayscale;
    /* macOS Firefox 用 */
}

img {
    max-width: 100%;
    -webkit-backface-visibility: hidden;
}

a {
    color: #232F15;
    text-decoration: none;
    transition: all .24s ease;
}

.wrapper {
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 30px;
}


.sp-display {
    display: none;
}

.pc-display {
    display: block;
}

@media screen and (max-width: 767px) {

    body {
        min-width: initial;
        /* 初期値 */
        min-width: 100%;
    }

    .wrapper {
        width: calc(100% - 40px);
        margin: 0 auto;
        padding: 0;
    }

    .sp-display {
        display: block;
    }

    .pc-display {
        display: none;
    }

    .flex01 {
        flex-direction: column;
    }
}

/*---------------------------------
* common
---------------------------------*/

section {
    padding: 120px 0 0;
}

.main-bl {
    background-color: #FCF9F7;
    padding-bottom: 115px;
}

.hedader-offset {
    padding-top: 80px;
}

.sec-title-wrap01 {
    margin-bottom: 60px;
}

.sec-title01 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 30px;
    margin-bottom: 10px;
    font-style: normal;
}

/* .products-archive .sec-title01{
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 700;
    margin-bottom: 15px;
} */

.sec-subtitle01 {
    font-size: 19px;
    font-family: "Lusitana", serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    font-style: normal;
}

.flex01 {
    display: flex;
    justify-content: space-between;
}

.btn01 a,
.btn01-select {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 235px;
    height: 38px;
    background-color: #232F15;
    border-radius: 38px;
    font-family: "Lusitana", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: #fff;
    position: relative;
    border: 1px solid #232F15;
    transition: background-color .24s ease, color .24s ease;
}

.btn01 a::after,
.btn01-select::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 10px;
    background-image: url(./assets/img/common/arrow01_wh.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 20px;
}

.btn01 a:hover::after,
.btn01-select:hover::after {
    background-image: url(./assets/img/common/arrow01_bk.png);
}

.btn01 a:hover,
.btn01-select:hover,
.btn02 a:hover {
    background-color: #fff;
    color: #232F15;
}

.indent_bl {
    padding: 0 0 0 15px;
}

.btn02 {
    margin-top: 20px;
}

.btn02 a, .btn02 p{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 138px;
    height: 38px;
    background-color: #232F15;
    border-radius: 38px;
    font-family: "Lusitana", "Noto Sans JP", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: #fff;
    position: relative;
    border: 1px solid #232F15;
    transition: background-color .24s ease, color .24s ease;
}

.link_cont:hover .btn02 p{
    background-color: #fff;
    color: #232F15;
}

@media screen and (max-width: 767px) {

    section {
        padding: 70px 0 0;
    }

    .sec-title01 {
        font-size: 20px;
        margin-bottom: 6px;
    }

    .sec-subtitle01 {
        font-size: 16px;
    }

    .sec-title-wrap01 {
        margin-bottom: 20px;
    }

    .btn01 a,
    .btn01-select {
        width: 166px;
        height: 30px;
        font-size: 10px;
    }
    
    .btn02{
        margin: 20px auto 0;
    }
    
    .btn02 a, .btn02 p{
        width: 180px;
        margin: 0 auto;
    }

    .hedader-offset {
        padding-top: 56px;
    }

    .main-bl {
        padding-bottom: 50px;
    }

    .indent_bl {
        padding: 0;
    }
}

/*---------------------------------
* header
---------------------------------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 110;
    height: 80px;
    width: 100%;
    transition: background-color .3s ease, backdrop-filter .3s ease, -webkit-backdrop-filter .3s ease;
    background-color: transparent;
}

/* スクロール時の半透明 + ブラー */
header.scrolled {
    background-color: rgba(0, 0, 0, 0.2);
    /* 半透明の黒 */
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    /* Safari */
}

/* （任意）ブラー非対応ブラウザ用のわずかな暗さだけのフォールバック */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    header.scrolled {
        /* ブラーが効かない場合でも背景の暗さだけは適用 */
        background-color: rgba(0, 0, 0, 0.3);
    }
}

.header-bk-color {
    background-color: #000;
}

.header_cont01 img {
    width: 100px;
}

.header_nav01 {
    display: flex;
    gap: 26px;
}

.header_nav01 a {
    font-family: "Lusitana", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    overflow: hidden;
    /* 1つ目の影を隠す */
    color: transparent;
    /* テキスト本体は透明にする */
    text-shadow: 0 -1.5em 0 #fff, 0 0 0 #fff;
    transition: text-shadow 0.3s;
    display: block;
}

.header_nav01 a:hover {
    text-shadow: 0 0 0 #fff, 0 1.5em 0 #fff;
    /* 2つの影の位置を上方向に1.5emずつずらす */
}

.header_inner {
    height: 100%;
}

.header_inner>ul {
    height: 100%;
    align-items: center;
}

.header_cont03 {
    display: none;
}

.header_sp_nav {
    display: none;
}

.header_lang{
    position: relative;
    width: 79px;
}

header .gt_selector{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    background: transparent;
    color: #fff;   /* ここ重要: 文字色はそのまま表示 */
    opacity: 1;       /* 完全非表示にしない */
    font-size: 14px;
    letter-spacing: 0.02em;
    cursor: pointer;
    position: absolute;
    padding-left: 17px;
}

header .gt_selector option{
    background-color: rgba(0, 0, 0, 0.5);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
}

header .gt_selector:focus{
    outline: none;
    box-shadow: none;
}

header .gtranslate_wrapper{
    display: flex;
    align-items: center;
}

.gtranslate_wrapper::before {
    display: inline-block;
    content: '';
    width: 12px;
    height: 12px;
    background-image: url(./assets/img/common/lang_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
}

.online-shop-link{
    display: flex;
}

.online-shop-link::before{
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url(./assets/img/common/online_shop_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    position: relative;
    bottom: -1px;
}

@media screen and (max-width: 950px) {

    header {
        height: 56px;
    }

    /* メニュー開いている間はブラーをオフ */
    header.scrolled.no-blur {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        /* 背景色は維持（必要なら濃く/薄く調整OK） */
    }

    .header_sp_nav {
        display: none;
        position: fixed;
        top: 0;
        height: 100vh;
        left: 0;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.2);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        transition: background-color .3s ease, backdrop-filter .3s ease, -webkit-backdrop-filter .3s ease;
        padding: 126px 40px 0;
        z-index: 100;
    }

    header .header_cont02 {
        display: none;
    }

    .header_cont03 {
        display: block;
    }

    .header_inner>ul {
        flex-direction: row;
        position: fixed;
        width: 100%;
        top: 0;
        left: 0;
        padding: 0 20px;
        z-index: 200;
        height: 56px;
        box-sizing: border-box;
    }

    .header_cont01 {
        position: relative;
        z-index: 210;
    }

    /* ハンバーガー項目は中身基準にきっちり合わせる */
    .header_cont03 {
        display: inline-flex;
        /* 中身のサイズで収まる */
        align-items: center;
    }

    .header_cont01 img {
        width: 70px;
    }

    .header_nav01 {
        flex-direction: column;
        row-gap: 26px;
    }

    .no-scroll {
        position: fixed;
        /* bodyを固定 */
        width: 100%;
        overflow: hidden;
    }

    .header_sp_nav.show {
        display: block;
    }

    header.no-blur {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
    
    .header_lang{
        margin-right: 25px;
        position: static;
        width: 49px;
    }
    
    .header_lang.sp-display{
        display: block;
    }
    
    header .gtranslate_wrapper{
        flex-direction: column; 
    }
    
    header .gt_selector{
        font-size: 10px;
        width: fit-content;
        text-align: center;
        position: static;
        padding-left: 0;
        text-align-last: center;
        -webkit-text-align-last: center;
    }
    
    header .gtranslate_wrapper::before{
        margin-right: 0;
        margin-bottom: 3px;
    }
    
    .online-shop-link::before{
        content: none;
    }

    /*=============================
    btn-trigger
    =============================*/

    .btn-trigger {
        position: relative;
        width: 24px;
        height: 8px;
        cursor: pointer;
    }

    .btn-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #fff;
    }

    .btn-trigger,
    .btn-trigger span {
        display: inline-block;
        transition: all .3s;
        box-sizing: border-box;
    }

    .btn-trigger span:nth-of-type(1) {
        top: 0;
    }

    .btn-trigger span:nth-of-type(2) {
        bottom: 0;
    }

    .btn-trigger.active {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

/*---------------------------------
* footer
---------------------------------*/

footer{
    background-color: #232F15;
    border-top: 1px solid #fff;
    padding: 105px 0 50px;
}

.footer_links02>ul>li:first-of-type a:first-of-type{
    margin-right: 30px;
}

.footer_links01 a, .footer_links01 p,
 .footer_links02 a, .footer_links02 p{
    color: #fff;
}

.footer_links01 ul {
    display: flex;
    justify-content: space-between;
}

.footer_links01 ul li dl{
    display: flex;
    flex-direction: column;
}

.footer_links01 ul li dl dt{
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
}

.footer_links01 ul li dl dd>div{
    display: flex;
    flex-direction: column;
}

.footer_links01 ul li a{
    font-size: 14px;
    letter-spacing: 0.1em;
}

.footer_links01 ul li dl dd a{
    margin-top: 13px;
}

footer a:hover {
    color: #8e9668;
}

.footer-shop-list>div a:nth-of-type(2),
.footer-shop-list>div a:nth-of-type(3),
.footer-shop-list>div a:nth-of-type(4),
.footer-shop-list>div a:nth-of-type(5),
.footer-shop-list>div a:nth-of-type(n+7){
    padding-left: 15px;
}

.footer-company-links>div a:nth-of-type(6),
.footer-company-links>div a:nth-of-type(8),
.footer-company-links>div a:nth-of-type(9){
    margin-top: 35px;
}

.footer_links02{
    margin: 175px 0 0;
}

.footer_links02 ul{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.footer_links02 li:first-of-type{
    display: flex;
    align-items: flex-end;
}

.footer_links02 li:first-of-type>div{
    display: flex;
    flex-wrap: wrap;
}

.footer_links02 a{
    font-family: "Lusitana", serif;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.footer_notes{
    font-size: 10px;
    letter-spacing: 0.1em;
    margin-left: 100px;
}

.footer_sns{
    display: flex;
    gap: 22px;
    margin-top: 10px;
}

.footer_sns img{
    width: 24px;
}


@media screen and (max-width: 1000px){
    .footer_links01 ul {
        column-gap: 24px;
    }
    .footer_links02 ul {
        column-gap: 40px;
    }
}

@media screen and (max-width: 767px){
    
    footer{
        padding: 50px 0 20px;
    }
    
    .footer_links01 dl dt{
        position: relative;
        padding-right: 30px;
        cursor: pointer;
    }
    
    .footer_links01 dl dt::before {
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        width: 15px;
        height: 1px;
        /*縦線に*/
        transform: rotate(90deg);
        background: #fff;
        transition: all .3s ease-in-out;
    }
    
    .footer_links01 dl dt::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 12px;
        /*横線*/
        width: 15px;
        height: 1px;
        background: #fff;
        transition: all .2s ease-in-out;
    }

    .footer_links01 dl dt.open::before{
        transform: rotate(180deg);
    }

    .footer_links01 dl dt.open::after{
        opacity: 0;
    }
    
    .footer_links01 ul li dl dd{
        display: none;
    }
    
    .footer_links01 dl dt.open + dd>div{
        display: flex;
        flex-direction: column;
    }

    
    .footer_links01 ul {
        flex-direction: column;
        gap: 0;
    }
    
    .footer_links01 ul li dl dt{
        font-size: 16px;
        padding: 15px 0;
        border-bottom: 1px solid #fff;
    }
    
    .footer_links01 ul li dl dd a{
        font-size: 12px;
    }
    
    .footer_links02 ul {
        flex-direction: column-reverse;
        row-gap: 25px;
    }
    
    .footer_links02{
        margin-top: 150px;
    }
    
    .footer_links02 li:first-of-type{
        flex-direction: column;
        row-gap: 35px;
        align-items: flex-start;
    }
    
    .footer_notes{
        margin-left: 0;
    }
}



/*---------------------------------
* 商品リスト　共通部分
---------------------------------*/

.page-title {
    font-size: 20px;
    margin: 10px;
}

.parts-products-list {

    display: grid;
    align-content: space-between;
    /* 上下方向を均等に配置 */
    height: 100%;
    flex: 1 1 auto;
    /* 親の高さにフィット */
    /* カード幅に応じて自動整列（カード最小幅は調整可能） */
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    /* 縦横のギャップを個別に指定（縦はpxやremなど固定値に） */
    gap: 60px 5%;
    /* グリッドの内容は上寄せ。space-between はやめる */
    align-content: start;
    /* Flex 親での stretch を効かせるため高さ指定はしない */
    height: auto;
    margin-bottom: 110px;
    margin-top: 60px;
}

.umeshu-page .parts-products-list{
    margin-top: 0;
    margin-bottom: 0;
}

/* ===== Featured list: force 4 cols -> 2 cols (skip 3 cols) ===== */
@media (min-width: 768px) {

    /* Wide: exactly 4 columns */
    .featured-products__list .parts-products-list {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* When the container becomes too narrow for 4 columns,
   jump straight down to 2 columns (avoid 3-col state). */
@media (max-width: 1100px) and (min-width: 768px) {
    .featured-products__list .parts-products-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.all-products__list .parts-products-list {
    gap: 24px 3%;
    margin: 0;
}

.parts-products-card {
    border-radius: 10px;
    background-color: #fff;
}

.parts-products-card__thumb img {
    max-height: 100%;
    width: auto;
    display: block;
    border-radius: .4rem;
    object-fit: cover;
    /* 画像の縦横比を維持 */
}

.parts-products-card__title {
    font-weight: 700;
    font-style: normal;
    margin: 5px 0 0;
    font-size: 14px;
    color: #182000;
    transition: color .24s ease, transform .24s ease;
    position: relative;
    z-index: 3;
}

.parts-products-card__link:hover .parts-products-card__title,
.parts-products-card__link:focus-visible .parts-products-card__title {
    color: #fff;
}

.parts-products-card__media {
    position: relative
}

.parts-products-card__thumb {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Safari等でaspect-ratioが効かない場合のフォールバック */
    aspect-ratio: 1 / 1;
}

/* aspect-ratio未対応ブラウザ向けのフォールバック（正方形比率維持） */
.parts-products-card__thumb::before {
    content: "";
    display: block;
    padding-top: 100%;
}

.parts-products-card__thumb img {
    position: absolute;
    inset: 0;
    margin: auto;
}

.parts-products-card__thumb--placeholder {
    width: 100%;
    height: 180px;
    background: #f3f3f3;
    border: 1px dashed #e0e0e0;
    border-radius: .4rem
}

.parts-products-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 20px 64px;
    background: rgba(35, 47, 21, 0.85);
    color: #fff;
    opacity: 0;
    transition: opacity .24s ease;
    border-radius: 10px;
    z-index: 2;
    pointer-events: none;
}

.parts-products-card__overlay {
    min-width: 0;
}

.parts-products-card__overlay-en {
    font-family: "Lusitana", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 10px;
    max-width: 100%;
    display: block;
    overflow-wrap: anywhere;
    /* どの言語でもはみ出さない */
    word-break: break-word;
    /* 長い連結単語対策 */
    hyphens: auto;
    /* 英語などで可能ならハイフン分割 */
}

.parts-products-card__overlay-txt {
    font-weight: 500;
    font-style: normal;
    font-size: 10px;
    line-height: 1.4;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.parts-products-card__link {
    display: block;
    position: relative;
    padding: 20px;
    height: 100%;
    box-sizing: border-box;
}

.parts-products-card__link:hover .parts-products-card__overlay,
.parts-products-card__link:focus-visible .parts-products-card__overlay {
    opacity: 1
}

.parts-products-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    margin-bottom: 5px;
    margin-top: 15px;
    position: relative;
    z-index: 3;
    min-height: 18px;
    /* keep layout height even when no tags */
}

.parts-products-card__tag {
    font-family: "Lusitana", serif;
    font-weight: 700;
    font-style: normal;
    display: inline-block;
    background: #182000;
    color: #fff;
    font-size: 10px;
    padding: 2.5px 4px;
    border-radius: 5px;
    transition: background-color 0.24s ease;
}

.parts-products-card__link:hover .parts-products-card__tag {
    background: #fff;
    color: #000;
}

@media screen and (max-width: 767px) {

    /* 商品リスト（SPは2カラム） */
    .parts-products-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4vw 4vw;
        /* 上下・左右の間隔 */
        margin: 20px 0 100px;
    }

    .all-products__list .parts-products-list {
        gap: 4vw 4vw;
    }

    .parts-products-card__thumb img {
        max-height: 100%;
    }

    .parts-products-card__link {
        padding: 14px;
    }

    .parts-products-card__title {
        font-size: 12px;
    }

    .parts-products-card__overlay {
        padding: 0 14px 55px;
    }

    .parts-products-card__link:hover::after {
        top: 10px;
        right: 10px;
        width: 25px;
        height: 25px;
    }

    .parts-products-card__overlay-en {
        font-size: 14px;
    }
}

/*---------------------------------
* 商品概要ページ
---------------------------------*/

.page-overview-mv {
    height: 840px;
}

.mv01 {
    color: #fff;
    position: relative;
}

/* MV overlay (dark color) */
.mv-blur-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 暗さはここで調整 */
    z-index: 1;
    pointer-events: none;
    opacity: 0; /* 初期状態は非表示（ブラーなし） */
    transition: opacity 1.8s ease;
}

/* MV text elements should be above overlay */
.mv-text {
    position: relative;
    z-index: 2;
}

.mv__title-en {
    font-family: "Lusitana", serif;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.03em;
    margin-top: 16px;
}

.mv-text {
    position: absolute;
    top: calc(50% + 40px);
    transform: translateY(-50%);
}

.mv__title h1 {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 40px;
    letter-spacing: 0.2em;
    margin: 0;
}

.mv-text__ja {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 2;
    margin-top: 40px;
    letter-spacing: 0.04em;
}

.mv-text__en {
    font-family: "Lusitana", serif;
    font-weight: 300;
    font-style: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 20px;
}

/* MVテキスト: 初期状態は非表示にしておき、JSでフェードイン */
.mv__title h1,
.mv__title-en,
.mv-text__ja {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.all-products {
    padding: 0 0 110px;
}

.all-products__inner {
    display: flex;
    gap: 6.5%;
    align-items: stretch;
    /* 2カラムの高さを揃える */
}

.all-products__img {
    flex: 0 0 32%;
    align-self: stretch;
    /* 横幅を固定（例: 35%） */
    position: relative;
    padding-left: 2.8%;
}

.all-products__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 縦横比を保ちながらカバー表示 */
    display: block;
}

.all-products__list {
    width: 59%;
}

.parts-products-card__link:hover::after {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 32px;
    height: 32px;
    background-image: url(./assets/img/common/link_icon01.png);
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 2;
}

.featured-products {
    padding: 140px 0 0;
}

.umeshu-page .all-products{
    padding: 140px 0 110px;
}

.seasonal-picks {
    padding: 0;
}

.chart-map {
    padding: 0 0 160px;
}

.overview-img01{
    height: 40vw;
    width: 100%;
    overflow: hidden;
}

.overview-img01 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 84%;
    display: block;
}

.overview-banner01 img{
    display: block;
    margin: 0 auto;
}

.fullsize-image img {
    width: 100%;
}

.detail-page__list {
    display: flex;
    gap: 1.8%;
}

.detail-page__item {
    flex: 1 1 32%;
}

.detail-page__item a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
}

.detail-page__item a::after {
    content: '';
    position: absolute;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    transition: all .24s ease;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    opacity: 1;
}

.detail-page__item,
.detail-page__item a,
.detail-page__item a::after,
.detail-page__item--01,
.detail-page__item--02,
.detail-page__item--03 {
    border-radius: 10px;
}

.detail-page__item a:hover::after {
    opacity: 0;
}

.detail-page__item--01 {
    content: '';
    background-image: url(./assets/img/beer/beer_story_link_img01.jpeg);
    background-size: cover;
    background-position: 24% center;
    height: 500px;
}

.sake-page .detail-page__item--01 {
    height: 415px;
    background-image: url(./assets/img/sake/sake_story_link_img01.jpeg);
    background-position: center 73%;
}

.detail-page__item--02 {
    content: '';
    background-image: url(./assets/img/beer/beer_story_link_img02.jpeg);
    background-size: cover;
    background-position: center;
    height: 500px;
}

.detail-page__item--03 {
    content: '';
    background-image: url(./assets/img/beer/beer_story_link_img03.jpeg);
    background-size: cover;
    background-position: 24% center;
    height: 500px;
}

.detail-page__item p {
    color: #fff;
}

.detail-page__text-wrap {
    position: absolute;
    top: 33%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    z-index: 3;
}

.detail-page__title {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: clamp(20px, 2.7vw, 30px);
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.detail-page__subtitle {
    font-family: "Lusitana", serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.04em;
    margin-top: 12px;
}

.detail-page__text {
    font-weight: 700;
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.04em;
    line-height: 1.6;
    margin-top: 35px;
    white-space: nowrap;
}

.detail-page__item--02 .detail-page__text {
    margin-top: 15px;
}

.link-list{
    margin-top: 30px;
    display: flex;
}

.link-list>li{
    flex: 0 0 50%;
    padding: 30px 0 0;
    box-sizing: border-box;
}

.link-list>li:first-of-type{
    border-right: 1px solid #232F15;
    padding-right: 55px;
}

.link-list>li:nth-of-type(2){
    padding-left: 55px;
}

.link-list__item01 h3{
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-size: 26px;
    letter-spacing: 0.1em;
}

.link-list__item01 p{
    font-weight: 500;
    letter-spacing: 0.01em;
    margin-top: 15px;
}

.link-list__item02{
    margin-top: 45px;
    display: flex;
    justify-content: flex-end;
}

.awards-link .introduction-sec{
    padding: 0;
}

.awards-link .introduction-sec__text-box{
    margin-top: 15px;
}


@media screen and (max-width: 767px) {

    .page-overview-mv {
        height: 600px;
        background-size: cover;
    }


    .mv-text {
        top: calc(50% + 28px);
        padding: 0 20px;
        width: 100%;
        left: 0;
        box-sizing: border-box;
    }

    .mv__title-en {
        font-size: 14px;
        line-height: 1.11;
        margin-top: 10px;
    }

    .mv__title h1 {
        font-size: 28px;
    }

    .mv-text__ja {
        font-size: 10px;
        line-height: 1.8;
        margin-top: 30px;
    }

    .mv-text__en {
        font-size: 10px;
        line-height: 1.6;
        margin-top: 10px;
    }

    .featured-products {
        padding: 100px 0 0;
    }

    .seasonal-picks {
        padding: 0;
    }


    .banner-list {
        flex-direction: column;
        row-gap: 20px;
        padding: 0 0 100px;
    }

    .banner-list>div:first-of-type {
        margin-bottom: 20px;
    }

    .banner-list__link img {
        width: 100%;
    }

    .all-products {
        padding: 0 0 100px;
    }
    
    .umeshu-page .all-products{
        padding: 70px 0 100px;
    }

    .all-products__img {
        display: none;
    }

    .all-products__list {
        width: 100%;
    }

    .all-products__list .parts-products-list {
        margin-top: 20px;
    }

    .chart-map {
        padding: 0 0 100px;
    }
    
    .overview-img01{
        height: 280px;
    }

    .detail-page__list {
        flex-direction: column;
        row-gap: 20px;
    }

    .detail-page__item {
        flex: unset;
    }

    .detail-page__item--01,
    .detail-page__item--02,
    .detail-page__item--03,
    .sake-page .detail-page__item--01 {
        height: 260px;
    }

    .detail-page__text-wrap {
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
    }

    .detail-page__title {
        font-size: 27px;
    }

    .detail-page__subtitle {
        font-size: 16px;
        margin-top: 6px;
    }

    .detail-page__text {
        margin-top: 12px;
    }
    
    .link-list{
        flex-direction: column;
        row-gap: 55px;
        margin-top: 20px;
    }
    
    .link-list>li{
        flex: unset;
        padding: 0;
    }
    
    .link-list>li:first-of-type{
        border-right: none;
        padding-right: 0;
    }
    
    .link-list>li:nth-of-type(2){
        padding-left: 0;    
    }
    
    .link-list__item01 h3{
        font-size: 16px;
    }
    
    .link-list__item01 p{
        font-size: 14px;
    }
    
    .link-list__item02{
        margin-top: 40px;
    }
    
}

@media screen and (max-width: 430px){
    
    .overview-img01{
        height: 200px;
    }
    
    .overview-img01 img{
        transform: scale(1.2);
        transform-origin: 50% 80%;
    }
}

/*---------------------------------
* 商品 一覧
---------------------------------*/

.products-list .products-archive__list .parts-products-list:last-of-type {
    margin-bottom: 0;
}

.products-archive {
    padding: 80px 0 0;
}

.products-archive__list {
    margin-top: 110px;
}

.cpt-filters .btn01-select select {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    /* 親のbtn01-selectに合わせる */
    background: transparent;
    border: none;
    color: inherit;
    font: inherit;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-align: center;
    text-align-last: center;
    -webkit-text-align-last: center;
    cursor: pointer;
    

    /* appearanceを完全リセット */
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    outline: none;
    box-shadow: none;
    background-color: transparent;
}

/* フォーカス時のスタイルも消す */
.cpt-filters .btn01-select select:focus {
    outline: none;
    box-shadow: none;
}

/* 矢印を非表示にして親の::afterを利用 */
.cpt-filters .btn01-select select::-ms-expand {
    display: none;
}

@media screen and (max-width: 767px) {

    .products-archive {
        padding: 56px 0 0;
    }

    .products-archive__list {
        margin-top: 100px;
    }
}

/*---------------------------------
* バナーリンク
---------------------------------*/

.banner-list {
    display: flex;
    gap: 5%;
    padding: 0 0 110px;
}

.banner-list__item {
    flex: 1 1 48%;
}

.banner-list__link img {
    border-radius: 10px;
    transition: opacity .24s ease;
    width: 100%;
}

.banner-list__link:hover img {
    opacity: 0.8;
}

/*---------------------------------
* 商品 singleページ
---------------------------------*/

.product-single__title {
    font-family: "Zen Kaku Gothic New", sans-serif;
    margin-bottom: 10px;
    font-size: 30px;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-style: normal;
}

.product-single__enname {
    font-family: "Lusitana", serif;
    font-weight: 500;
    font-style: normal;
    font-size: 19px;
    letter-spacing: 0.1em;
}

.product-single__thumb img {
    width: auto;
    height: 100%;
    display: block;
    border-radius: .4rem;
    max-height: 500px;
}

.product-single__explain {
    margin: 15px 0 35px;
}

.product-single__section-title {
    padding: 10px 12px;
    font-size: 14px;
    color: #000;
    font-weight: 400;
    position: relative;
    cursor: pointer;
}

.product-single__section-title::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 15px;
    height: 1px;
    /*縦線に*/
    transform: rotate(90deg);
    background: #000;
    transition: all .3s ease-in-out;
}

.product-single__section-title::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    /*横線*/
    width: 15px;
    height: 1px;
    background: #000;
    transition: all .2s ease-in-out;
}

.product-single__section-title.open::before{
    transform: rotate(180deg);
}

.product-single__section-title.open::after{
    opacity: 0;
}

.product-spec {
    display: none;
}

.product-single__section>div:last-of-type {
    border-bottom: 1px solid #000;
}

.product-single__section>div {
    border-top: 1px solid #000;
}

.product-single__text,
.product-single__text p {
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    line-height: 1.8;
}

.product-spec {
    padding: 20px 12px;
}

.product-spec__row {
    display: flex;
    gap: 1rem;
    padding: .6rem 0;
    border-bottom: 1px solid #eee;
    font-size: 12px;
}

.product-single__awards .product-spec__row{
    border-bottom: none;
}

.product-spec__term {
    width: 9em;
    flex: 0 0 auto;
    font-weight: 600;
}

.product-spec__desc {
    flex: 1 1 auto;
    white-space: pre-wrap;
    font-weight: 400;
    line-height: 1.5;
}

.tastechart-item {
    display: flex;
    height: 25px;
    align-items: center;
    margin-bottom: 5px;
}

.tastechart-label {
    font-size: 12px;
    flex: 0 0 24%;
    min-width: 75px;
}

.tastechart-bar {
    max-width: 134px;
    flex: 1;
}

.tastechart-img {
    display: flex;
    align-items: center;
}

.product-single__shop {
    margin-top: 52px;
}

.product-single__shop-btn {
    display: flex;
    border: 1px solid #232F15;
    background-color: #232F15;
    border-radius: 38px;
    color: #232F15;
    width: 138px;
    height: 38px;
    color: #fff;
    font-family: "Lusitana", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 12px;
    align-items: center;
    justify-content: center;
    transition: background-color .24s ease, color .24s ease;
    letter-spacing: 0.05em;
}

.product-single__shop-btn:hover {
    background-color: #fff;
    color: #232F15;
}

.product-single__footer {
    margin-left: 15px;
}

.product-single__back {
    display: inline-block;
    margin-top: 20px;
    font-size: 12px;
}

.product-single__back::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 1px solid #232F15;
    border-right: 1px solid #232F15;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    display: inline-block;
    margin-right: 10px;
}

.product-single__back:hover {
    text-decoration: underline;
}

.single-main {
    padding: 140px 0 0;
}

.product-single__inner {
    display: flex;
    gap: 8%;
}

.product-single {
    padding: 0 85px;
}

.product-single__thumb-wrap {
    width: 500px;
    height: 500px;
    background-color: #fff;
    padding: 45px;
    box-sizing: border-box;
    border-radius: 10px;
}

.product-single__thumb {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-single__slider {
    max-height: 100%;
}

.slick-track {
    height: auto;
}

.slick-initialized .slick-slide {
    display: flex;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

.product-single__thumb-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.slick-dots {
    bottom: -22%;
}

.slick-dots li {
    margin: 0 2px;
}

.slick-dots li button:before {
    font-size: 9px;
    color: rgba(35, 47, 21, 0.3);
}

.slick-dots li.slick-active button:before {
    color: #232F15;
}

.product-single__detail {
    flex: 1;
    padding-top: 25px;
}

.recommended-products {
    padding: 190px 0 0;
}

@media screen and (max-width: 1024px) {

    .product-single__inner {
        flex-direction: column;
        row-gap: 40px;
        align-items: center;
    }

}

@media screen and (max-width: 767px) {

    .single-main {
        padding: 50px 0 0;
    }

    .product-single {
        padding: 0;
    }

    .product-single__inner {
        flex-direction: column;
        row-gap: 40px;
    }

    .product-single__thumb-wrap {
        padding: 30px;
        width: 100%;
        height: auto;
    }

    .slick-dotted.slick-slider {
        margin-bottom: 0;
    }

    .slick-dots {
        bottom: -21%;
    }


    .product-single__title {
        font-size: 28px;
    }

    .product-single__enname {
        font-size: 16px;
    }

    .product-single__shop {
        margin-top: 30px;
    }

    .recommended-products {
        padding: 90px 0 0;
    }

}


/*---------------------------------
* 生産拠点ページ
---------------------------------*/

.youtube-wrap {
    max-width: 75%;
    margin: 0 auto;
}

.brewery-embed {
    position: relative;
    aspect-ratio: 16 / 9;
    height: auto;
}

.brewery-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}


.brewery-single h3 span,
.brewery-single h3,
.page-info h3 span,
.page-info h3 {
    font-family: "Shippori Mincho", sans-serif!important;
    font-weight: 600;
    font-style: normal;
    font-size: 26px !important;
    letter-spacing: 0.1em;
}

.brewery-single h4, .brewery-single h4 span,
.brewery-single h5, .brewery-single h5 span {
    font-family: "Shippori Mincho", sans-serif!important;
}

.brewery-access-content p,
.brewery-access-content p span {
    font-family: "Noto Sans JP", sans-serif!important;
    font-weight: 500;
    font-style: normal;
    font-size: 16px !important;
    line-height: 1.6;
    letter-spacing: 0.1em;
    ;
}

.brewery-access-content p span b,
.brewery-access-content p b {
    font-weight: 700;
}

.brewery-single__map {
    margin-top: 70px;
}

.brewery-map-with-thumb {
    display: flex;
    gap: 5%;
}

.brewery-map-with-thumb>div {
    flex: 1;
}

.page-info .brewery-map-with-thumb>div{
    flex: 0 0 47.5%;
}

.brewery-map-thumb img {
    width: 100%;
    border-radius: 10px;
}

.brewery-map-embed iframe {
    border-radius: 10px;
}

.brewery-single__experience .tours-content{
    margin-top: 0;
}

.brewery-single__experience .tours-card {
    margin-top: 44px;
    margin-bottom: 80px;
}

.brewery-single__experience .tours-type {
    font-size: 18px;
}

.brewery-single__experience .tours-title {
    font-weight: 700;
    font-size: 24px;
    letter-spacing: 0.1em;
    margin-top: 5px;
}

.brewery-single__experience .tours-text {
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    margin-top: 15px;
    line-height: 1.9;
    margin-bottom: 20px;
}

.brewery-single__experience .tours-detail {
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
    line-height: 1.9;
}

.brewery-single__hinomaru-link {
    margin: 110px auto 0;
    width: 88.5%;
}

.tours-link a {
    text-decoration: underline;
}

.tours-link a:hover {
    text-decoration: none;
}

.hinomaru-link-list {
    display: flex;
    gap: 6.5%;
}

.hinomaru-link-img {
    flex: 1 1 53%;
}

.hinomaru-link-text {
    flex: 1 1 40%;
}

.hinomaru-link-img img {
    border-radius: 10px;
}

.hinomaru-link-title {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 30px;
    letter-spacing: 0.1em;
    text-align: center;
}

.hinomaru-link-logo {
    margin-top: 40px;
}

.hinomaru-link-site {
    font-size: 13px;
    letter-spacing: 0.1em;
    text-decoration: underline;
    margin-top: 30px;
    text-align: center;
    display: block;
    transition: all .24s ease;
    line-height: 2;
}

.brewery-single__hinomaru-link a:hover .hinomaru-link-site {
    text-decoration: none;
}

.brewery-single__img{
    width: 100%;
    height: 660px;
}

.brewery-single__img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media screen and (max-width: 767px) {

    .youtube-wrap {
        max-width: 100%;
    }

    .brewery-single h3 span,
    .brewery-single h3,
    .page-info h3 span,
    .page-info h3 {
        font-size: 18px !important;
    }

    .brewery-access-content p,
    .brewery-access-content p span {
        font-size: 14px !important;
    }

    .brewery-single__map {
        margin-top: 50px;
    }

    .brewery-map-with-thumb {
        flex-direction: column;
        row-gap: 40px;
    }
    
    .page-info .brewery-map-with-thumb>div{
        flex: unset;
    }

    .brewery-single__experience .tours-card {
        margin-top: 35px;
        margin-bottom: 40px;
    }

    .brewery-single__hinomaru-link {
        margin: 50px auto 0;
        width: 100%;
    }

    .hinomaru-link-list {
        flex-direction: column;
        row-gap: 30px;
    }

    .hinomaru-link-title {
        font-size: 24px;
    }

    .hinomaru-link-logo {
        margin-top: 15px;
    }

    .hinomaru-link-site {
        margin-top: 10px;
    }
    
    .brewery-single__img{
        height: 255px;
    }
}

/*---------------------------------
* 会社概要
---------------------------------*/

.page-info .page-overview-mv {
    background: url(./assets/img/info/info_mv01.png);
    background-size: cover;

}


.info-head-office__content h3 span:first-of-type {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 52px;
    letter-spacing: 0.1em;
}

.info-head-office__content h3 span:nth-of-type(2) {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 40px;
}

.info-head-office__list {
    margin-top: 80px;
    display: flex;
    gap: 13%;
}

.info-head-office__list>li {
    display: flex;
    flex-direction: column;
    row-gap: 25px;
}

.info-head-office__list>li:first-of-type {
    flex: 0 0 42%;
}

.info-head-office__list>li:nth-of-type(2) {
    flex: 1;
    justify-content: space-between;
}

.info-head-office__list dl {
    display: flex;
}

.info-head-office__list dl dt {
    width: 35%;
    min-width: 120px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.info-head-office__list dl dd {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.info-associate__content>ul:nth-of-type(n+2){
    margin-top: 25px;
}

.info-access .brewery-access-content p {
    margin-top: 15px;
}

.info-access .brewery-access-content h3:nth-of-type(n+2) {
    margin-top: 40px;
}

.brewery-list {
    display: flex;
    gap: 5%;
    row-gap: 60px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.brewery-card {
    flex: 0 0 47%;
    border-radius: 10px;
}

.brewery-card__thumb img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    border-radius: 10px;
    display: block;
}

.brewery-card__content {
    padding: 30px 0 0 15px;
}

.brewery-card__content ul {
    display: flex;
}

.brewery-card__addr {
    margin-top: 15px;
}

.brewery-card__tel {
    margin-top: 15px;
}

.brewery-card__label {
    width: 60px;
    letter-spacing: 0.1em;
    line-height: 1.6;
    min-width: fit-content;
}

.brewery-card a {
    transition: opacity .24s ease;
}

.brewery-card a:hover {
    opacity: 0.8;
}

.info-associate .info-head-office__list {
    gap: 6%;
}

@media screen and (max-width: 767px) {

    .info-head-office__list {
        flex-direction: column;
        margin-top: 37px;
        row-gap: 20px;
    }

    .info-head-office__list dl dt {
        width: 110px;
        font-size: 14px;
        min-width: unset;
    }

    .info-head-office__list dl dd {
        font-size: 14px;
    }

    .info-head-office__list>li {
        row-gap: 20px;
    }
    
    .info-associate__content>ul:nth-of-type(n+2){
        margin-top: 45px;
    }

    .brewery-list {
        flex-direction: column;
        margin-top: 20px;
    }

    .brewery-card__thumb img {
        height: 180px;
    }

    .brewery-card__content {
        padding: 30px 0 0 0;
    }

    .brewery-card__content ul {
        font-size: 14px;
    }

    .brewery-card__tel {
        margin-top: 10px;
    }

    .info-associate .info-head-office__list {
        row-gap: 20px;
    }


}

/*---------------------------------
* 固定ページ　基本ファイル
---------------------------------*/

.page-basic {
    padding: 0 0 115px;
    background-color: #FCF9F7;
}

.page-mv {
    padding: 0;
    position: relative;
}

.page-mv::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}

.page-mv__figure {
    position: relative;
    margin: 0;
}

.page-mv__img {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: center center;
}

.page-mv__title-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}

.page-mv__title {
    margin: 2% 0 0;
    padding: .4em .8em;
    color: #fff;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: center;
    font-family: "Lusitana", "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.page-mv--noimg {
    padding: 48px 0 24px;
    text-align: center;
}

.page-content {
    line-height: 1.5;
    font-weight: 300;
    padding-top: 60px;
}

.page-content section {
    padding: 0;
}

.page-content h2 {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.1em;
    font-size: 24px;
    margin-top: 40px;
    margin-bottom: 20px;
}

.page-content h2, .page-content h2 span, .page-content h2 b,
.page-content h3, .page-content h3 span, .page-content h3 b,
.page-content h4, .page-content h4 span, .page-content h4 b,
.page-content h5, .page-content h5 span, .page-content h5 b {
    font-family: "Shippori Mincho", sans-serif!important;
}

.page-content p,
.page-content span {
    font-family: "Noto Sans JP", sans-serif!important;
    font-weight: 400;
    line-height: 1.6;
}

.page-content strong,
.page-content strong span,
.page-content b, .page-content b span,
.page-content b u {
    font-weight: 700;
}

.page-content a {
    font-family: "Noto Sans JP", sans-serif!important;
    text-decoration: underline;
}

.page-content a:hover {
    text-decoration: none;
}

.page-content table {
    margin-top: 20px;
    margin-bottom: 20px;
}

.page-content table th,
.page-content table th p,
.page-content table th span {
    font-weight: 700;
}

.page-content table tr {
    border-bottom: 1px solid #000;
}

.page-content table tr:first-of-type th,
.page-content table tr:first-of-type td {
    border-top: 1px solid #000;
}

.page-content table th,
.page-content table td {
    font-family: "Noto Sans JP", sans-serif!important;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
    border-top: 0;
    border-bottom: 0;
    padding: 10px;
}

.page-content ul li, .page-content ul li a{
    font-family: "Noto Sans JP", sans-serif!important;
}

.page-content ol li, .page-content ol li a{
    font-family: "Noto Sans JP", sans-serif!important;
}

.faq-list dl dt, .faq-list dl dt p,
.faq-list dl dt span, .faq-list dl dt h2,
.faq-list dl dt h3, .faq-list dl dt h4,
.faq-list dl dt h5 {
    font-family: "Shippori Mincho", sans-serif!important;    
}

/* distributor */

.distributor-ttl {
    padding-bottom: 30px;
}

.distributor-cont {
    color: #666666;
}

.distributor-cont h3 {
    color: #5f8023;
    font-size: 20px;
    margin-top: 30px;
    font-weight: 700;
}

.distributor-cont h3 span {
    font-weight: 700;
}

.distributor-cont h4 {
    color: #000;
    font-weight: 700;
    margin-top: 30px;
}

.distributor-cont a {
    color: #ff0000;
}

@media screen and (max-width: 767px) {

    .page-basic {
        padding: 0 0 80px;
    }

    .page-content {
        padding-top: 40px;
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .page-mv__title {
        font-size: 24px;
        margin-top: 15px;
    }

    .page-mv__img {
        height: 200px;
    }
}

/*---------------------------------
* 固定ページ お問い合わせ先
---------------------------------*/

section.page-contact-explanation {
    margin-top: 60px;
    border: 1px solid #000;
    padding: 60px 20px;
    width: 100%;
    letter-spacing: 0.1em;
    box-sizing: border-box;
}

.page-contact-explanation p {
    text-align: center;
    margin-top: 20px;
    line-height: 2;
    font-size: 14px;
}

.page-contact-explanation h2 {
    font-size: 20px;
    text-align: center;
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 700;
    font-style: normal;
    margin-top: 0;
}


@media screen and (max-width: 767px) {

    section.page-contact-explanation {
        padding: 30px;
        box-sizing: border-box;
    }

    .page-contact-explanation h2 {
        font-size: 18px;
    }

    .page-contact-explanation p {
        line-height: 1.5;
    }
}


/*---------------------------------
* フォーム
---------------------------------*/

.form-wrap input {
    padding: 5px;
}

.form-wrap ul li {
    margin-top: 45px;
}

.form-wrap ul li dl {
    display: flex;
}

.form-wrap ul li dl dt {
    width: 200px;
}

.form-wrap ul li dl dd input {
    padding: 10px;
}

.form-note01 {
    margin-top: 10px;
    color: #666;
    font-size: 14px;
}

.form_link01_type01 {
    color: #ff0000;
}

.form_link01_type02 {
    color: #666;
    font-weight: 700;
    font-size: 18px;
}

.confirm-btn,
.submit-btn {
    background-color: #000;
    color: #fff;
    border-radius: 10px;
    width: 250px;
    height: 60px;
    font-size: 16px;
    letter-spacing: 0.1em;
    font-weight: 600;
    border: 1px solid #000;
    transition: all .24s ease;
}

.confirm-btn:hover,
.submit-btn:hover {
    background-color: #fff;
    color: #000;
    cursor: pointer;
}

.page-booking .page-content,
.page-customer .page-content,
.page-biz .page-content,
.page-faq .page-content {
    max-width: 920px;
    margin: 0 auto;
}

.form-btns {
    display: flex;
    justify-content: center;
}

.required {
    display: flex;
    flex-wrap: wrap;
}

.required::after {
    content: "※入力必須";
    color: #ff0000;
    font-weight: 700;
    margin-left: 5px;
    margin-top: 5px;
    font-size: 14px;
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .form-wrap ul li dl {
        flex-direction: column;
    }

    .form-wrap ul li dl dt {
        width: 100%;
        margin-bottom: 10px;
    }

    .form-wrap ul li dl dd input,
    .form-wrap ul li dl dd select,
    .form-wrap ul li dl dd textarea {
        max-width: 100%;
        box-sizing: border-box;
    }

    .form-wrap ul li {
        margin-top: 30px;
    }

    .required {
        flex-direction: column;
    }

    .required::after {
        display: block;
        margin-top: 5px;
    }

}

/*---------------------------------
* faq
---------------------------------*/

.faq-list {
    border-bottom: 1px solid #000;
}

.faq-list__q {
    padding: 15px 50px 14px 20px;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.faq-list__q::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    display: inline-block;
    right: 0;
    transition: all .24s ease;
    position: absolute;
    right: 20px;
}

.faq-list__q.open::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.faq-list__a {
    display: none;
    padding: 15px 20px 30px;
}

.faq-list__q h2,
.faq-list__q p {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
}

.link-box {
    margin-top: 50px;
}

.link-box a {
    background-color: #fff;
    display: flex;
    border-radius: 5px;
    width: 440px;
    height: 120px;
    padding: 15px 30px 15px 15px;
    box-sizing: border-box;
    text-decoration: none;
    transition: all .24s ease;
    border: 1px solid #b3b2b2;
    position: relative;
    align-items: center;
}

.link-box a:hover {
    opacity: 0.7;
}

.link-box__inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.link-box a::after {
    content: "";
    width: 15px;
    height: 15px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    right: 18px;
}

.link-box__inner ul {
    display: flex;
    gap: 20px;
    height: 100%;
    align-items: center;
}

.link-box__img {
    height: 100%;
}

.link-box__img img {
    width: 150px;
    height: 100%;
    object-fit: cover;
}

.link-box__text {
    font-size: 14px;
}

@media screen and (max-width: 767px) {

    .faq-list__q {
        padding: 10px 50px 10px 15px;
    }

    .faq-list__q h2,
    .faq-list__q p {
        font-size: 18px;
    }

    .faq-list__a {
        padding: 15px 10px 20px;
    }

    .link-box a {
        width: 100%;
        height: 100px;
        padding: 15px 30px 15px 15px;
    }

    .link-box a::after {
        right: 13px;
    }

    .link-box__inner ul {
        gap: 10px;
    }

}

/*---------------------------------
* 歴史 / 伝統 /改革
---------------------------------*/

.page-story {
    padding: 0 0 100px;
}

.story-lead__text {
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    font-weight: 500;
    margin-top: 65px;
    line-height: 1.7;
    letter-spacing: 0.1em;
}

.story-lead__text p:nth-of-type(2) {
    margin-top: 30px;
}

.story-contents__item {
    padding-left: 50px;
    border-left: 4px solid #536728;
}

.story-contents__year {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.25;
    position: relative;
}

.story-contents__year::before {
    content: "";
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: #232F15;
    display: inline-block;
    margin-left: -63px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.story-block--title {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-top: 5px;
}

.story-contents::before {
    content: "";
    height: 50px;
    width: 100%;
    border-left: 4px solid #536728;
    display: block;
}

.story-contents::after {
    content: "";
    height: 50px;
    width: 100%;
    border-left: 4px solid #536728;
    display: block;
}

.story-contents article:nth-of-type(n+2) {
    padding-top: 110px;
}

.story-blocks--img {
    display: flex;
    gap: 1%;
    align-items: stretch;
}

.story-block--img {
    flex: 0 0 33%;
}

.story-block--img img {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.story-block {
    margin-top: 60px;
}

.story-block--text {
    letter-spacing: 0.1em;
    line-height: 1.87;
}

@media screen and (max-width: 767px) {

    .page-story {
        padding: 0 0 50px;
    }

    .story-lead__text {
        font-size: 16px;
        margin-top: 40px;
    }

    .story-contents__item {
        padding-left: 20px;
    }

    .story-contents__year::before {
        margin-left: -30px;
        width: 16px;
        height: 16px;
    }

    .story-contents__year {
        font-size: 18px;
    }

    .story-block--title {
        font-size: 18px;
    }

    .story-block {
        margin-top: 30px;
    }

    .story-contents article:nth-of-type(n+2) {
        padding-top: 70px;
    }

    .story-blocks--img {
        flex-direction: column;
        row-gap: 15px;
        margin-top: 30px;
    }

    .story-block--img {
        width: 100%;
        margin-top: 0;
    }

    .story-contents::before,
    .story-contents::after {
        height: 30px;
    }

    .story-block--text {
        font-size: 14px;
    }
}

/*---------------------------------
* 受賞歴
---------------------------------*/

.awards-archive {
    padding: 150px 0 0;
}

.awards-entries>ul {
    display: flex;
    gap: 5.33%;
    flex-wrap: wrap;
    row-gap: 30px;
}

.awards-entries>ul>li {
    flex: 0 0 21%;
}

.awards-entry__thumb {
    aspect-ratio: 1 / 1;
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff;
    border-radius: 10px;
    transition: all .3s ease;
}

.awards-entry__link{
    display: block;
}

.awards-entry__link:hover .awards-entry__thumb{
    background-color: rgba(35, 47, 21, 0.4)
}
.awards-entry__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.awards-entry__title {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.3;
    padding: 20px 0 16px;
}

.awards-entry__link:hover .awards-entry__title{
    color: #536728;
}


.awards-entry__fields>ul {
    border-top: 1px solid #000;
    padding: 16px 0 20px;
}

.awards-block__competition {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}

.awards-detail-list {
    display: flex;
    flex-direction: column;
    row-gap: 6px;
    margin-top: 16px;
}

.awards-detail {
    display: flex;
    gap: 20px;
}

.awards-detail span {
    font-size: 10px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {

    .awards-archive {
        padding: 50px 0 0;
    }

    .awards-entries {
        padding: 0 20px;
    }

    .awards-entries>ul {
        flex-direction: column;
        row-gap: 44px;
    }

    .awards-entries>ul>li {
        width: 100%;
        flex: none;
        /* 念のためリセット */
    }

}

/*---------------------------------
* 店舗概要・詳細ページ
---------------------------------*/

.shop-details-block {
    padding: 80px 0 0;
}

.shop-eyecatch {
    width: 100%;
    aspect-ratio: 1220 / 707;
}

.shop-title-wrap {
    display: flex;
    align-items: flex-end;
    margin-bottom: 50px;
}

.shop-eyecatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.shop-name {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.1em;
    margin-right: 30px;
}

.shop-place-name {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 26px;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.shop-explanation {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.5;
    margin-top: 70px;
}

.shop-info-wrap {
    margin-top: 60px;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    row-gap: 36px;
}

.shop-info-wrap>div {
    display: flex;
    gap: 25px;
    align-items: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.shop-info-label {
    flex: 0 0 185px;
    height: 50px;
    background-color: #182000;
    color: #fff;
    font-family: "Shippori Mincho", serif;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    letter-spacing: 0.1em;
}

.shop-info-label span {
    display: inline-block;
    transform: translateY(-2px);
    font-weight: 600;
}

.shop-links {
    margin-top: 80px;
    display: flex;
    gap: 2%;
    padding: 0 30px;
}

.shop-link {
    font-family: "Shippori Mincho", serif;
    flex: 1 1 24%;
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(16px, 1.6vw, 20px);
    letter-spacing: 0.1em;
    font-weight: 600;
}

.shop-link a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #182000;
    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box;
}

.shop-link a.button.button--instagram::before {
    content: "";
    display: inline-block;
    width: 28px;
    height: 28px;
    background: url(./assets/img/common/instagram_logo.png) no-repeat center / contain;
    margin-right: 15px;
    transition: all .24s ease;
}

.shop-link a:hover {
    background-color: #182000;
    color: #fff;
}

.shop-link a.button.button--instagram:hover::before {
    background: url(./assets/img/common/instagram_logo_wh.png) no-repeat center / contain;
}

.shop-map {
    height: auto;
    padding-bottom: 0;
    aspect-ratio: 16 / 9;
    width: 100%;
    position: relative;
}

.shop-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 10px;
}

/* 右カラムの画像も16:9に固定して、相互に高さを引っ張らないようにする */
.shop-image {
    position: relative;
    aspect-ratio: 16 / 9;
    width: 100%;
}

.shop-image__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px;
}

.shop-map-wrap {
    display: flex;
    gap: 5%;
    margin-top: 125px;

}

.shop-map-wrap>div {
    flex: 1;
}

.shop-image img {
    border-radius: 10px;
}

.shop-banner-area .banner-item a {
    background-image: url(assets/img/shop/shop_banner01.png);
    width: 100%;
    height: 505px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    color: #fff;
    text-align: center;
}

.shop-banner-area .banner-item a:hover {
    opacity: 0.8;
}

.banner-area .banner-item a .banner-content p:first-of-type {
    font-family: "Lusitana", serif;
    letter-spacing: 0.1em;
}

.banner-area .banner-item a .banner-content p:nth-of-type(2) {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    letter-spacing: 0.1em;
    font-size: 40px;
    line-height: 2;
    margin-top: 10px;
}

.shop-list {
    display: flex;
    gap: 3%;
    flex-wrap: wrap;
}

.shop-list a {
    flex: 0 0 31.3%;
    border-radius: 10px;
}

.shop-list a:nth-of-type(n+4) {
    margin-top: 50px;
}

.shop-card img {
    transition: all .24s ease;
}

.shop-card:hover img {
    opacity: 0.8;
}

.shop-thumb-wrap {
    aspect-ratio: 385 / 280;
}

.shop-thumb-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.shop-subgroup__title {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 26px;
    letter-spacing: 0.1em;
    margin-bottom: 50px;
}


.shop-thumb-wrap img {
    border-radius: 10px;
}

.shop-list__name {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: clamp(18px, 2vw, 23px);
    letter-spacing: 0.1em;
    margin-top: 20px;
}

.shop-list__type,
.shop-list__place-name {
    font-size: 16px;
    margin-top: 10px;
    letter-spacing: 0.1em;
    margin-top: 15px;
    font-weight: 700;
}

.shop-subgroups>div:nth-of-type(n+2) {
    padding-top: 80px;
}

.shop-related .shop-list {
    gap: 2.6%;
}

.shop-related .shop-list a {
    flex: 0 0 31.55%;
}

.shop-related .shop-card {
    position: relative;
    height: 130px;
}

.shop-related .shop-card:hover {
    opacity: 0.8;
}

.shop-related .shop-list__name {
    position: absolute;
    color: #fff;
    top: 50%;
    transform: translateY(-50%);
    padding: 27px;
    margin-top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}

.shop-related .shop-list__name::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: -1;
    border-radius: 10px;
}

.shop-related .shop-thumb-wrap {
    width: 100%;
    height: 100%;
}

.shop-related .shop-thumb-wrap img {
    height: 100%;
}

.shop-related .sec-title-wrap01 {
    margin-bottom: 30px;
}

.shop-related .shop-subgroups>div:nth-of-type(n+2) {
    padding-top: 30px;
}

.shop-related .shop-subgroup__title {
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {

    .shop-details-block {
        padding: 40px 0 0;
    }

    .shop-eyecatch {
        height: 280px;
    }

    .shop-title-wrap {
        margin-bottom: 25px;
        flex-direction: column;
        align-items: flex-start;
    }

    .shop-name {
        font-size: 24px;
        margin-right: 10px;
    }

    .shop-place-name {
        font-size: 18px;
        margin-top: 5px;
    }

    .shop-explanation {
        font-size: 14px;
        line-height: 1.85;
        margin-top: 20px;
    }

    .shop-info-wrap {
        margin-top: 40px;
        padding: 0;
        row-gap: 20px;
    }

    .shop-info-wrap>div {
        flex-direction: column;
        row-gap: 15px;
        align-items: flex-start;
        font-size: 14px;
    }

    .shop-info-label {
        flex: none;
        width: 76px;
        height: 26px;
        font-size: 16px;
    }

    .shop-links {
        flex-direction: column;
        margin-top: 25px;
        padding: 0;
        row-gap: 25px;
    }

    .shop-link {
        flex: none;
    }

    .shop-map-wrap {
        margin-top: 50px;
        flex-direction: column;
        row-gap: 40px;
    }

    .shop-related .shop-list {
        gap: 4.5%
    }

    .shop-related .shop-list a {
        flex: 0 0 47.7%;
    }

    .shop-related .shop-card {
        height: 77px;
    }

    .shop-related .shop-list__name {
        padding: 10px;
        font-size: 16px;
    }

    .shop-related .sec-title-wrap01 {
        margin-bottom: 20px;
    }

    .shop-related .shop-subgroup__title {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .shop-banner-area .banner-item a {
        height: 260px;
    }

    .banner-area .banner-item a .banner-content p:first-of-type {
        font-size: 16px;
        line-height: 1.62;
    }

    .banner-area .banner-item a .banner-content p:nth-of-type(2) {
        font-size: 28px;
        line-height: 1.28;
    }

    .shop-list a {
        flex: 0 0 48.5%;
    }

    .shop-thumb-wrap img {
        height: 134px;
    }

    .shop-list a:nth-of-type(n+4) {
        margin-top: 0;
    }

    .shop-list a:nth-of-type(n+3) {
        margin-top: 30px;
    }

    .shop-list__name {
        font-size: 13px;
        margin-top: 10px;
    }

    .shop-list__type,
    .shop-list__place-name {
        font-size: 10px;
        margin-top: 5px;
        font-weight: 500;
    }

    .shop-subgroup__title {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .shop-subgroups>div:nth-of-type(n+2) {
        padding-top: 30px;
    }
}

/*---------------------------------
* 体験一覧
---------------------------------*/
.tours-cards {
    margin-top: 90px;
}

.tours-cards>div:nth-of-type(n+2) {
    margin-top: 90px;
}

.tours-card {
    display: flex;
    gap: 6%;
    /* 画像のアスペクト比ボックスがコンテンツの高さに引っ張られないようにする */
    align-items: flex-start;
}

.tours-thumb-link {
    flex: 1 1 47%;
    aspect-ratio: 570 / 364;
    /* 伸張で高さが揃えられないよう個別にも指定 */
    align-self: flex-start;
}

.tours-thumb-link img {
    border-radius: 10px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tours-content {
    flex: 1 1 47%;
    margin-top: 27px;
}



.tours-content .tours-type {
    padding: 5px 30px;
    background-color: #232F15;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.05em;
    display: inline-block;
}

.tours-content .tours-title {
    font-family: "Shippori Mincho", serif;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-top: 30px;
}

.tours-content .tours-text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.1em;
    margin-top: 30px;
    margin-bottom: 35px;
}

.tours-content .tours-detail {
    font-weight: 500;
}

.tours-content .tours-access {
    margin-bottom: 10px;
}

.tours-content .tours-link {
    margin-bottom: 10px;
    font-weight: 500;
}

@media screen and (max-width: 767px) {

    .tours-cards {
        margin-top: 65px;
    }

    .tours-cards>div:nth-of-type(n+2) {
        margin-top: 60px;
    }

    .tours-card {
        flex-direction: column;
        row-gap: 20px;
    }

    .tours-thumb-link {
        width: 100%;
    }

    .tours-thumb-link,
    .tours-thumb-link img {
        aspect-ratio: 350 / 180;
    }

    .tours-content {
        margin-top: 0;
    }

    .tours-content .tours-title {
        font-size: 18px;
        margin-top: 20px;
    }

    .tours-content .tours-text {
        font-size: 14px;
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .tours-content .tours-detail {
        font-size: 14px;
    }
}

/*---------------------------------
* 体験詳細（手作りビール工房体験）
---------------------------------*/

.tours-detail-page {
    padding-top: 90px;
}

.exp-contents {
    margin-bottom: 80px;
}

.exp-contents h2, .exp-contents h2 span,
.exp-contents h3, .exp-contents h3 span,
.exp-contents h4, .exp-contents h4 span,
.exp-contents h5, .exp-contents h5 span {
    font-family: "Noto Sans JP", sans-serif!important;
}

.exp-contents ul li {
    font-size: 18px;
    line-height: 2.33;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.exp-contents ul li::before {
    content: "";
    width: 15px;
    height: 15px;
    background-color: #000;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
}

.exp-contents ul li p, .exp-contents ul li span {
    font-family: "Noto Sans JP", sans-serif!important;
}

.exp-contents p, .exp-contents p span {
    font-family: "Noto Sans JP", sans-serif!important;
    line-height: 1.6;
    letter-spacing: 0.1em;
}

.exp-contents table th,
.exp-contents table td{
    font-family: "Noto Sans JP", sans-serif!important;
    font-size: 18px;
    padding: 12px 15px;
    font-weight: 500;
}

.exp-contents table th p, .exp-contents table th span,
.exp-contents table td p, .exp-contents table td span {
    font-family: "Noto Sans JP", sans-serif!important;
    font-weight: 500;
}

.exp-contents table th,
.page-sake-story__flexbox01 table th{
    background-color: #E9DFD4;
    border: 2px solid #FCF9F7!important;
}

.exp-contents table td,
.page-sake-story__flexbox01 table td {
    background-color: #F8F6EF;
    border: 2px solid #FCF9F7!important;
}

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

.exp-custom-link {
    display: inline-block;
    padding: 30px 150px;
    background-color: #232F15;
    border: 2px solid #232F15;
    color: #fff;
    font-size: 28px;
    font-weight: 500;
    letter-spacing: 0.1em;
    border-radius: 10px;
}

.exp-custom-link:hover {
    background-color: #fff;
    color: #232F15;
}

.exp-link .faq-link {
    display: inline-block;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 20px;
    text-decoration: underline;
}

.exp-link .faq-link:hover {
    text-decoration: none;
}

.tours-beer-info {
    margin-top: 95px;
}

.tours-beer-info__note {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.tours-beer-flow {
    display: flex;
    gap: 2.7%;
    margin-top: 105px;
    flex-wrap: wrap;
}

.tours-beer-flow li {
    flex: 1 1 31.53%;
}

.tours-beer-flow li:nth-of-type(n+4) {
    margin-top: 105px;
}

.tours-beer-flow__img {
    position: relative;
}

.tours-beer-flow__img::before {
    content: "";
    display: block;
    width: 72px;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: -36px;
    left: 14px;
}

.tours-beer-flow li:nth-of-type(1) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr01.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(2) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr02.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(3) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr03.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(4) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr04.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(5) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr05.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(6) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr06.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(7) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr07.png) no-repeat center / contain;
}

.tours-beer-flow li:nth-of-type(8) .tours-beer-flow__img::before {
    background: url(assets/img/tours/tours_beer_flow_nbr08.png) no-repeat center / contain;
}


.tours-beer-flow dl dt {
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 15px;
}

.tours-beer-flow dl dd {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.85;
    margin-top: 15px;
}

.tours-beer-flow__finish {
    background: url(assets/img/tours/tours_beer_flow_bg01.png) no-repeat center / cover;
    border-radius: 10px;
    padding: 34px 45px 25px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.tours-beer-flow__finishImg {
    width: 81%;
}

.tours-beer-flow__finishTxt {
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #fff;
    text-align: center;
    margin-top: 27px;
    font-size: clamp(13px, 1.2vw, 16px);
}

.tours-beer-info__bl02 {
    margin-top: 190px;
    margin-bottom: 125px;
}

.tours-beer-label ul {
    display: flex;
    gap: 13%;
    padding: 0 50px;
    align-items: center;
}

.tours-beer-label ul li:first-of-type {
    flex: 1 1 37%;
}

.tours-beer-label ul li:nth-of-type(2) {
    flex: 1 1 50%;
}

.tours-beer-label__ttl {
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2.3;
}

.tours-beer-label__img {
    width: 100%;
    height: auto;
    margin-top: 50px;
}

.tours-beer-label__text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.85;
    margin-top: 50px;
}

.tours-beer-label__link {
    margin-top: 40px;
}

.tours-beer-label__link a {
    display: block;
    width: 100%;
    padding: 20px;
    border: 2px solid #232F15;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.1em;
    border-radius: 10px;
    text-align: center;
    box-sizing: border-box;
}

.tours-beer-label__link a:hover {
    background-color: #232F15;
    color: #fff;
}

.tours-beer-label__link a:nth-of-type(2) {
    margin-top: 25px;
}

.tours-beer-label__note {
    margin-top: 90px;
    font-weight: 500;
    line-height: 1.62;
    letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {

    .tours-detail-page {
        padding-top: 40px;
    }

    /* 親はそのまま。テーブル自体をスクロールコンテナにする */
    .exp-contents {
        overflow: visible;
        margin-bottom: 35px;
    }

    .exp-contents table {
        display: block;
        /* 自身をスクロール要素に */
        overflow-x: auto;
        /* 横スクロール */
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        width: max-content;
        /* 内容幅に合わせる */
        min-width: 100%;
        /* 画面幅未満には縮めない */
        max-width: 100%;
        /* はみ出しはスクロールで */
        white-space: nowrap;
        /* セル内の改行を抑制して横幅を確保 */
    }

    .exp-contents table th,
    .exp-contents table td {
        white-space: nowrap;
        /* セルごとに折返し防止 */
    }

    .exp-contents ul li {
        font-size: 14px;
        line-height: 2;
    }

    .exp-contents p {
        font-size: 14px;
    }

    .exp-contents table th,
    .exp-contents table td {
        font-size: 16px;
    }

    .exp-contents table th p,
    .exp-contents table td p {
        font-size: 16px;
    }

    .exp-custom-link {
        padding: 15px;
        font-size: 20px;
    }

    .exp-link .faq-link {
        margin-top: 10px;
    }

    .tours-beer-info {
        margin-top: 50px;
    }

    .tours-beer-info__note {
        font-size: 13px;
    }

    .tours-beer-flow {
        margin-top: 25px;
        gap: 3%;
    }

    .tours-beer-flow li {
        flex: 1 1 48%;
    }

    .tours-beer-flow li .tours-beer-flow__img::before {
        width: 40px;
        top: -20px;
        left: 10px;
    }

    .tours-beer-flow li:nth-of-type(n+4) {
        margin-top: 0;
    }

    .tours-beer-flow li:nth-of-type(n+3) {
        margin-top: 40px;
    }

    .tours-beer-flow dl dt {
        font-size: 16px;
    }

    .tours-beer-flow dl dd {
        font-size: 12px;
        line-height: 1.33;
        margin-top: 10px;
    }

    .tours-beer-flow__finish {
        display: flex;
        flex-direction: row;
        padding: 10px 10px;
        gap: 6%;
        justify-content: center;
    }

    .tours-beer-flow__finishTxt {
        margin-top: 0;
        font-size: 12px;
        text-align: left;
        letter-spacing: 0;
        flex: none;
    }

    .tours-beer-flow__finishImg {
        flex: none;
        width: 34.5%;
    }

    .tours-beer-info__bl02 {
        margin-top: 80px;
        margin-bottom: 40px;
    }

    .tours-beer-label ul {
        flex-direction: column;
        padding: 0;
        row-gap: 30px;
    }

    .tours-beer-label ul li:first-of-type {
        width: 53%;
    }

    .tours-beer-label__ttl {
        font-size: 18px;
        line-height: 1.66;
    }

    .tours-beer-label__img {
        margin-top: 15px;
    }

    .tours-beer-label__text {
        font-size: 13px;
        line-height: 2;
        margin-top: 20px;
    }

    .tours-beer-label__link {
        margin-top: 20px;
    }

    .tours-beer-label__link a {
        font-size: 15px;
        padding: 20px 10px;
    }

    .tours-beer-label__note {
        margin-top: 30px;
        font-size: 13px;
    }
}

/*---------------------------------
* お問い合わせ
---------------------------------*/

.inquiry-page {
    width: 820px;
    margin: 0 auto;
    max-width: 100%;
}

.inquiry-link01 {
    margin-top: 70px;
}

.inquiry-link01 a {
    color: #000;
    background-color: #E9DFD4;
    border-bottom: 7px solid #A09994;
    border-radius: 10px;
    position: relative;
    display: inline-block;
    width: 100%;
    aspect-ratio: 1220 / 118;
    color: #9F9893;
    font-size: 32px;
    letter-spacing: 0.1em;
}

.inquiry-link01 a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 500;
    white-space: nowrap;
}

.inquiry-link01 a:hover {
    margin-top: 5px;
    border-bottom: 2px solid #A09994;
}

.arrow01 a::before,
.arrow01 a::after {
    content: "";
    /* 疑似要素に指定必須 */
    width: 27px;
    /* 線の長さを指定 */
    height: 5px;
    /* 線の幅を指定 */
    display: inline-block;
    /* インラインブロックにする */
    border-radius: 2px;
    /* 線を角丸にする */
    background: #9f9893;
    /* 線の色を指定 */
    position: absolute;
    /* 相対位置に指定 */
    right: 55px;
    /* 右から10pxの位置に配置 */
}

.arrow01 a::before {
    top: calc(50% - 10px);
    /* 数値は微調整してください */
    transform: rotate(40deg);
    /* 45度回転させる */
}

.arrow01 a::after {
    bottom: calc(50% - 10px);
    /* 数値は微調整してください */
    transform: rotate(-40deg);
    /* -45度回転させる */
}

.inquiry-links02-list {
    margin-top: 105px;
}

.inquiry-links02-list li:nth-of-type(2) {
    margin-top: 50px;
}

.inquiry-link02 a {
    display: flex;
    border: 2px solid #232F15;
    border-radius: 10px;
    position: relative;
    padding: 40px 9% 40px 50px;
    gap: 60px;
    align-items: center;
}

.inquiry-link02 a:hover {
    background-color: #232F15;
    color: #fff;
}

.inquiry-link02__title {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.1em;
    white-space: nowrap;
}

.inquiry-link02__text {
    font-size: 16px;
    line-height: 1.44;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.arrow01.inquiry-link02 a::before,
.arrow01.inquiry-link02 a::after {
    background: #000;
    right: 4.5%;
}

.inquiry-link02 a:hover::before,
.inquiry-link02 a:hover::after {
    background: #fff;
}

.inquiry-contact-info {
    margin-top: 70px;
    border-radius: 10px;
    background-color: #E9DFD4;
    padding: 37px;
}

.inquiry-contact-info__inner {
    background-color: #F8F6EF;
    border-radius: 10px;
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.inquiry-contact-info__inner>div:nth-of-type(n+2) {
    margin-top: 40px;
}

.inquiry-contact-info__cont01 {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: 100%;
}

.inquiry-contact-info h2 {
    font-family: "Shippori Mincho", serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.1em;
}

.inquiry-contact-info__text {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.1em;
    font-weight: 500;
    margin-top: 40px;
}

.inquiry-contact-info__cont01 a {
    background-color: #232F15;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    letter-spacing: 0.1em;
    border-radius: 10px;
    font-weight: 500;
    margin: 40px auto 0;
    border: 2px solid #232F15;
    max-width: 100%;
    padding: 15px 70px;
}

.inquiry-contact-info__cont01 a:hover {
    background-color: #fff;
    color: #232F15;
}

.inquiry-privacy {
    margin-top: 55px;
    padding-left: 15px;
}

.inquiry-privacy h2 {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.1em;
}

.inquiry-privacy__text {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0.1em;
    margin-top: 15px;
}

@media screen and (max-width: 767px) {

    .inquiry-link01 {
        margin-top: 40px;
        text-align: center;
    }

    .inquiry-link01 a {
        font-size: 20px;
        aspect-ratio: 357 / 101;
        max-width: 360px;
    }

    .arrow01 a::before,
    .arrow01 a::after {
        right: 25px;
    }

    .arrow01.inquiry-link02 a::before,
    .arrow01.inquiry-link02 a::after {
        right: 17px;
        width: 20px;
        height: 4px;
    }

    .arrow01.inquiry-link02 a::before {
        top: calc(50% - 7.5px);
    }

    .arrow01.inquiry-link02 a::after {
        bottom: calc(50% - 7.5px);
    }

    .inquiry-link01 a span {
        top: 50%;
        left: 11%;
        transform: translateY(-50%);
    }

    .inquiry-links02-list {
        margin-top: 45px;
    }

    .inquiry-link02 a {
        flex-direction: column;
        padding: 20px 34px 20px 15px;
        gap: 15px;
        align-items: flex-start;
        max-width: 360px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .inquiry-link02__title {
        font-size: 20px;
    }

    .inquiry-link02__text {
        font-size: 12px;
        line-height: 2.16;
        letter-spacing: 0;
    }

    .inquiry-links02-list li:nth-of-type(2) {
        margin-top: 35px;
    }

    .inquiry-contact-info {
        margin-top: 50px;
        padding: 24px 22px;
    }

    .inquiry-contact-info__inner {
        padding: 30px 17px;
    }

    .inquiry-contact-info h2 {
        font-size: 20px;
        letter-spacing: 0;
        line-height: 1.4;
    }

    .inquiry-contact-info__text {
        font-size: 13px;
        margin-top: 20px;
        letter-spacing: 0;
        line-height: 2;
    }

    .inquiry-contact-info__cont01 a {
        width: 100%;
        margin-top: 30px;
        font-size: 20px;
        height: 60px;
        max-width: 270px;
        padding: 0;
    }

    .inquiry-privacy {
        margin-top: 25px;
        padding: 0;
    }

    .inquiry-privacy h2 {
        font-size: 18px;
    }

    .inquiry-privacy__text {
        font-size: 13px;
        line-height: 2;
    }
}

/*---------------------------------
* Age Gate Overlay
---------------------------------*/
.age-gate__logo {
    width: 335px;
    margin: 0 auto;
}

.age-gate.is-hidden {
    display: none;
}

.age-gate {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.age-gate__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.age-gate__dialog {
    position: relative;
    z-index: 1;
    width: min(92vw, 520px);
    background: #FCF9F7;
    border-radius: 10px;
    padding: 60px 90px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.25);
    text-align: center;
}

.age-gate__lead {
    font-size: 20px;
    font-weight: 500;
    margin-top: 30px;
    letter-spacing: 0.05em;
}

.age-gate__title {
    font-size: 28px;
    margin-top: 30px;
    font-weight: 700;
    color: #536728;
    letter-spacing: 0.1em;
}

.age-gate__form {
    margin: 0 auto;
    width: 90%;
}

.age-gate__year-field {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    margin: 0 auto;
}

/* Month & Day wrapper */
.age-gate__md-wrap {
    display: flex;
    justify-content: center;
    margin: 10px auto 0;
    gap: 26px;
}

.age-gate__month-field,
.age-gate__day-field {
    display: flex;
    align-items: flex-end;
}

/* Reuse base input style but narrower */
.age-gate__month-field .age-gate__input,
.age-gate__day-field .age-gate__input {
    width: 178px;
    height: 60px;
    font-size: 30px;
    margin-top: 10px;
}

.age-gate__input {
    height: 70px;
    border: 2px solid #536728;
    border-radius: 10px;
    font-size: 35px;
    color: #536728;
    letter-spacing: 0.1em;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    margin-top: 20px;
}

.age-gate__unit {
    font-size: 20px;
    font-weight: 700;
    color: #536728;
    margin-left: 8px;
    margin-bottom: 5px;
}

.age-gate__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 215px;
    height: 55px;
    margin-top: 30px;
    background: #536728;
    color: #fff;
    border-radius: 10px;
    border: 2px solid #536728;
    font-size: 24px;
    letter-spacing: 0.1em;
    font-weight: 700;
    transition: all .24s ease;
    cursor: pointer;
}

.age-gate__btn:hover {
    background: #fff;
    color: #536728;
}

.age-gate__help {
    font-size: 12px;
    color: #666;
    margin-top: 10px;
}

.age-gate__error {
    font-size: 18px;
    color: #c00;
    margin-top: 30px;
    margin-bottom: 10px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.age-gate__lang-text{
    letter-spacing: 0.1em;
    font-weight: 500;
}

.age-gate__lang .gtranslate_wrapper{
    position: relative;
    display: flex;
    width: fit-content;
    align-items: center;
    margin: 15px auto 0;
    flex-direction: row;
}

.age-gate__lang .gtranslate_wrapper::after{
    content: '';
    display: inline-block;
    width: 8px;
    height: 10px;
    background-image: url(./assets/img/common/arrow01_wh.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    right: 20px;
}

.age-gate__lang .gtranslate_wrapper::before{
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url(./assets/img/common/lang_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    left: 7%;
    z-index: 1;
}

.age-gate__lang .gt_selector{
    width: 235px;
    height: 38px;
    font-size: 14px;
    border: 2px solid #536728;
    background-color: #536728;
    color: #fff;
    border-radius: 38px;
    transition: all .24s ease;
    /* Hide native dropdown arrow */
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    text-align: center;
    text-align-last: center;
    -webkit-text-align-last: center;
    padding: 0 44px;
    cursor: pointer;
    letter-spacing: 0.1em;
    outline: none; /* remove default focus outline */
    box-shadow: none; /* remove default focus glow */
}

.age-gate__lang .gt_selector:focus,
.age-gate__lang .gt_selector:focus-visible {
    outline: none;
    box-shadow: none;
}

.age-gate__lang .gt_selector:hover{
    background-color: #fff;
    color: #536728;
}

.age-gate__lang .gtranslate_wrapper:hover::before{
    background-image: url(./assets/img/common/lang_icon_grn.png);
}

.age-gate__lang .gtranslate_wrapper:hover::after{
    background-image: url(./assets/img/common/arrow01_grn.png);
}

@media screen and (max-width: 767px){
    
    .age-gate__dialog{
        width: 90vw;
        padding: 30px 30px;
        box-sizing: border-box;
    }
    
    .age-gate__logo{
        width: 150px;
    }
    
    .age-gate__lead{
        font-size: 16px;
        margin-top: 20px;
    }
    
    .age-gate__title{
        font-size: 20px;
        margin-top: 20px;
    }
    
    .age-gate__form{
        width: 100%;
    }
    
    .age-gate__input{
        width: 250px;
        height: 50px;
        font-size: 24px;
        margin-top: 15px;
    }
    
    .age-gate__md-wrap{
        margin: 5px auto 0;
        gap: 13px;
    }
    
    .age-gate__month-field .age-gate__input, .age-gate__day-field .age-gate__input{
        width: 105px;
        height: 50px;
        font-size: 24px;
        margin-top: 10px;
    }
    
    .age-gate__unit{
        font-size: 18px;
    }
    
    .age-gate__btn{
        width: 150px;
        height: 44px;
        font-size: 20px;
        padding: 0 15px;
        box-sizing: content-box;
        margin-top: 20px;
    }
    
    .age-gate__lang-text{
        font-size: 12px;
    }
    
    .age-gate__lang .gt_selector{
        width: 210px;
        height: 36px;
        font-size: 12px;
    }
}

/*---------------------------------
* お知らせ　一覧
---------------------------------*/

.news-section{
    padding: 120px 0 0;
    max-width: 1060px;
    margin: 0 auto;
}

.news-content{
    display: flex;
    align-items: flex-start;
    margin-top: 5px;
}

.news-date{
    font-size: 14px;
    letter-spacing: 0.1em;
    font-weight: 500;
}

.news-tags{
    display: flex;
}

.news-tag{
    background-color: #536728;
    padding: 7px 10px;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 2px;
    letter-spacing: 0.1em;
    white-space: nowrap;
    line-height: 1;
}

.news-tags>li:nth-of-type(n+2){
    margin-left: 10px;
}

.news-list>li:nth-of-type(n+2){
    margin-top: 40px;
}

.news-title{
    margin-left: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.news-pagination{
    margin-top: 80px;
}

.news-title a:hover{
    text-decoration: underline;
}

.news-pagination>ul.page-numbers{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.page-numbers>li{
    font-size: 18px;
    margin: 5px 0;
}

.page-numbers>li a, .page-numbers>li span{
    font-weight: 500;
    padding: 5px 15px 7px;
    line-height: 1;
}

.page-numbers>li .current{
    background-color: #232F15;
    color: #fff;
}

.page-numbers>li:nth-of-type(n+2){
    margin-left: 15px;
}

@media screen and (max-width: 767px){
    .news-section{
        padding: 70px 0 0;
    }
    
    .news-content{
        flex-direction: column;
    }
    
    .news-title{
        margin-left: 0;
        margin-top: 10px;
        line-height: 1.85;
        font-size: 14px;
    }
    
    .page-numbers>li{
        font-size: 14px;
    }
    
    .news-list>li:nth-of-type(n+2){
        margin-top: 20px;
    }
    
    .page-numbers>li a, .page-numbers>li span{
        padding: 2px 7px 5px;
    }
    
    .page-numbers>li:nth-of-type(n+2){
        margin-left: 10px;
    }
    
    .page-numbers>li a.prev{
        padding: 2px 0 5px;
    }
    
    .page-numbers>li a.next{
        padding: 2px 0 5px;
    }
    
    .page-numbers>li .dots{
        padding: 2px 0 5px;
    }
    
}

/*---------------------------------
* お知らせ　詳細
---------------------------------*/

.post-article-main{
    padding-top: 80px;
}

.post-article-inner{
    max-width: 1060px;
    margin: 0 auto;
}

.post-article__date{
    letter-spacing: 0.1em;;
}

.post-article__title{
    font-size: 26px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 15px;
}

.post-article__thumb{
    margin-top: 40px;
    width: 100%;
}

.post-article__thumb img{
    width: 100%;
    height: auto;
}

.post-article__content{
    margin-top: 90px;
}

.post-article__content h2{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    border-left: 7px solid #232F15;
    padding: 3px 0 3px 10px;
    margin: 20px 0;
}

.post-article__content h2, .post-article__content h3,
.post-article__content h4, .post-article__content h5
{
    font-family: "noto sans jp", sans-serif!important;
}

.post-article__content h2 strong, .post-article__content h3 strong,
.post-article__content h4 strong, .post-article__content h5 strong{
    font-weight: 700;
}

.post-article__content p{
    font-family: "noto sans jp", sans-serif!important;
    line-height: 1.87;
    font-weight: 500;
}

.post-article__content p strong{
    font-family: "noto sans jp", sans-serif!important;
}

.post-article__content span{
    font-family: "noto sans jp", sans-serif!important;
}

.post-article__content img{
    margin: 20px 0;
}

.post-article__content h3{
    margin: 20px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.post-article__content a{
    font-family: "noto sans jp", sans-serif!important;
    text-decoration: underline;
}

.post-article__content a:hover{
    text-decoration: none;
}

.post-article__content table th, .post-article__content table td{
    font-family: "noto sans jp", sans-serif!important;
}

.post-article__footer{
    margin-top: 80px;
}

.post-article__footer a{
    font-family: "Noto Sans JP", sans-serif;
    margin: 0 auto;
    line-height: 1;
}

.post-article__footer a::after{
    background-image: url(./assets/img/common/arrow02_wh.png);
    width: 8px;
    height: 8px;
}

.post-article__footer a:hover::after{
    background-image: url(./assets/img/common/arrow02_bk.png);
}

@media screen and (max-width: 767px){
    
    .post-article__date{
        font-size: 12px;
    }
    
    .post-article__title{
        font-size: 20px;
        margin-top: 5px;
    }
    
    .post-article__thumb{
        margin-top: 30px;
    }
    
    .post-article__content{
        margin-top: 35px;
    }
    
    .post-article__content h2{
        font-size: 20px;
        margin: 15px 0;
    }
    
    .post-article__content p{
        font-size: 14px;
        line-height: 1.7;
    }
    
    .post-article__content h3{
        font-size: 16px;
        margin: 15px 0;
    }
    
    .btn01 a::after, .btn01-select::after{
        right: 11px;
    }
}

/*---------------------------------
* お知らせ　フッター
---------------------------------*/

.latest-posts{
    background-color: #232F15;
    padding: 55px 0;
}

.latest-posts__link{
    color: #fff;
    font-size: 14px;
    display: flex;
    gap: 26px;
    align-items: center;
}

.latest-posts__link:hover .latest-posts__title{
    text-decoration: underline;
}

.latest-posts__inner{
    display: flex;
    max-width: 100%;
    padding-right: 7.1%;
}

.latest-posts__list{
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1 1 auto;
    min-width: 0;
}

.latest-posts__heading{
    color: #fff;
    width: 250px;
    flex: 0 0 250px;
    margin: auto 0;
}

.latest-posts__heading h2 a{
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #fff;
    display: flex;
    align-items: center;
    line-height: 1;
    width: fit-content;
}

.latest-posts-front .latest-posts__heading h2.sec-title01 a{
    font-size: 30px;
}

.latest-posts-front .latest-posts__heading .sec-title-wrap01{
    margin-bottom: 0;
}

.latest-posts__link span{
    font-weight: 500;
    letter-spacing: 0.04em;
}

.latest-posts__tags{
    display: flex;
}

.latest-posts__tag{
    white-space: nowrap;
    background-color: #536728;
    padding: 3px 15px;
    border-radius: 2px;
}

.latest-posts__tags span:nth-of-type(n+2){
    margin-left: 8px;
}

.latest-posts__date{
    width: 81px;
}

.latest-posts__title{
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.latest-posts-front .latest-posts{
    background-color: unset;
    padding-bottom: 0;
}

.latest-posts-front .latest-posts__heading h2 a{
    color: #232F15;
}

.latest-posts-front .latest-posts__heading{
    color: #232F15;
    margin: 0;
}

.latest-posts-front .latest-posts__link{
    color: #232F15;
}

.latest-posts-front .latest-posts__tag{
    color: #fff;
}

@media screen and (max-width: 767px){
    
    .latest-posts{
        padding: 20px 0 25px;
    }
    
    .latest-posts__inner{
        flex-direction: column;
        padding-right: 0;
    }
    
    .latest-posts__heading{
        flex: unset;
    }
    
    .latest-posts__heading h2 a{
        font-size: 13px;
    }
    
    .latest-posts__link span{
        font-size: 12px;
    }
    
    .latest-posts__date{
        width: fit-content;
    }
    
    .latest-posts__list{
        margin-top: 14px;
    }
    
    .latest-posts__link{
        gap: 8px;
    }
    
    .latest-posts__tag{
        padding: 3px 8px;
    }
    
    .latest-posts-front .latest-posts__heading h2.sec-title01 a{
        font-size: 20px;
    }
    
    
}


/*---------------------------------
* 地域社会との取り組み
---------------------------------*/

.project-sections{
    line-height: 1.7;
}

.project-sections strong, .project-sections strong span{
    font-weight: 600;
}

.project-block__title {
    margin-top: 125px;
    text-align: center;
}

/* カードの並び（一覧） */
.project-list {
    display: block;
}

/* 各カード */
.project-item {
    display: flex;
    flex-direction: column;
    align-items: start;
    overflow: hidden;
    margin-top: 120px;
}


.project-item__main--img img {
    max-width: 100%;
}

.project-item__main--img,
.project-item__main--txt {
    flex: 1;
}

.project-item__img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
}

/* WYSIWYG 内のメディアが横に溢れないように */
.project-item__main--txt img,
.project-item__main--txt video,
.project-item__main--txt iframe {
    max-width: 100%;
    height: auto;
}

.project-item__main--txt {
    overflow-wrap: anywhere;
}

.project-item__main--txt h2, .project-item__main--txt h2 span,
.project-item__main--txt h3, .project-item__main--txt h3 span,
.project-item__main--txt h4, .project-item__main--txt h4 span,
.project-item__main--txt h5, .project-item__main--txt h5 span
{
    font-family: "Shippori Mincho", sans-serif!important;
}

.project-item__main--txt p, .project-item__main--txt p span{
    font-family: "Noto Sans JP", sans-serif!important;
}

/* ===== レイアウト切替（左右/上下） ===== */
/* PC 幅で左右レイアウトを2カラムに */
@media (min-width: 768px) {
    .project-item:not(.project-item--vertical) {
        flex-direction: row;
        column-gap: 40px;
    }

    /* 左右の順序切替 */
    .project-item--left .project-item__main--img {
        order: 1;
    }

    .project-item--left .project-item__main--txt {
        order: 2;
    }

    .project-item--right .project-item__main--img {
        order: 2;
    }

    .project-item--right .project-item__main--txt {
        order: 1;
    }
}

/* 上下配置は常に縦並び */
.project-item--vertical {
    flex-direction: column;
    align-items: center;
}

.project-item--vertical .project-item__main--img {
    order: 1;
}

.project-item--vertical .project-item__main--txt {
    order: 2;
    margin-top: 60px;
}

.project-sections h2, .project-sections h2 span,
.project-sections h3, .project-sections h3 span,
.project-sections h4, .project-sections h4 span,
.project-sections h5, .project-sections h5 span
{
    font-family: "Shippori Mincho", sans-serif!important;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}

.project-block__sentence{
    font-family: "Shippori Mincho", sans-serif!important;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 125px;
}

.project-block__sentence p, .project-block__sentence span{
    font-family: "Shippori Mincho", sans-serif!important;
}

.project-block__sentence h2{
    margin-bottom: 40px;
}

.project-item p, .project-item p span{
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
}

@media screen and (max-width: 767px){
    
    .project-sections h2{
        margin-bottom: 10px;  
    }
    
    .project-block__sentence h2{
        margin-bottom: 20px;
    }
    
    .project-sections h2, .project-sections h2 span{
        font-size: 26px!important;
    }
    
    .project-sections h3, .project-sections h3 span{
        font-size: 22px!important;
    }
    
    .project-sections h2, .project-sections h2 span, .project-sections h3, .project-sections h3 span{
        margin-bottom: 15px;
    }
    
    .project-block__sentence p, .project-block__sentence span{
        font-size: 18px!important;
    }
    
    .project-block__title{
        margin-top: 55px;
    }
    
    .project-block__sentence{
        margin-top: 55px;
    }
    
    .project-item{
        margin-top: 60px;
    }
    
    .project-item__main--txt{
        margin-top: 10px;
    }
    
    .project-item--vertical .project-item__main--txt{
        margin-top: 10px;
    }
}

/*---------------------------------
* 共通リード文
---------------------------------*/

.lead-content{
    padding: 120px 0 0;
}

.lead-content p {
    font-family: "Shippori Mincho", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 2.3;
    text-align: center;
}

.project-sections .lead-content{
    padding: 0;
}

@media screen and (max-width: 767px) {
    
    .lead-content{
        padding: 70px 0 0;
    }
    
    .lead-content p {
        font-size: 17px;
        line-height: 2;
    }
    
    .lead-section.story-lead{
        margin-top: 50px;
    }
    
}
<<<<<<< HEAD
>>>>>>> local
=======

/*---------------------------------
* 提携レストラン　一覧
---------------------------------*/

.partnership-archive__header{
    padding-top: 80px;
}

.partnership-archive__nav-list{
    display: flex;
    gap: 30px;
    justify-content: center;
}

.partnership-archive__section{
    padding-top: 80px;
}

.partnership-archive__nav-item a{
    padding: 2px 25px 4px;
    background-color: #232F15;
    border: 1px solid #232F15;
    border-radius: 30px;
    font-size: 18px;
    color: #fff;
    line-height: 1;
}

.partnership-archive__nav-item a:hover{
    background-color: #fff;
    color: #232F15;
}

.partnership-archive__section-title{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 46px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-align: center;
}

.partnership-archive__list{
    margin-top: 40px;
}

.partnership-archive__item-name{
    background-color: #E9DFD4;
    color: #9F9893;
    padding: 25px 70px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.partnership-archive__item-meta-row a{
    margin-top: 5px;
    background-color: #F8F6EF;
    color: #000;
    padding: 25px 70px;
    font-weight: 700;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    overflow-wrap: anywhere;
    word-break: break-all;
}

.partnership-archive__item-meta-row a:hover{
    background-color: #E7E4DA;
}

.partnership-archive__list article:nth-of-type(n+2){
    margin-top: 35px;
}

.partnership-archive__item-address a::before{
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(./assets/img/common/address_icon01.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 12px;
}

.partnership-archive__item-tel a::before{
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(./assets/img/common/tel_icon01.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 12px;
}

.partnership-archive__item-url a::before{
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(./assets/img/common/website_icon01.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 12px;
}

/*---------------------------------
* STORY
---------------------------------*/

.page-flexbox01 ul{
    display: flex;
    gap: 80px;
    align-items: stretch;
    
}

.page-flexbox01 ul li{
    flex: 1 1 47%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page-flexbox01.page-story__sec01 ul li{
    height: 600px;
}

.page-flexbox01__text01{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.84;
    position: relative;
    z-index: 2;
}

.page-flexbox01__text02{
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.62;
    margin-top: 60px;
}

.page-flexbox01__img01 img{
    border-radius: 10px;
    object-fit: cover;
    height: 100%;
}

.page-story__cont01{
    background-image: url(assets/img/story/story01_img05.JPG);
    width: 100%;
    padding: 200px 0;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.04em;
    
    line-height: 1.87;
    text-align: center;
    background-size: cover;
    background-position: center;
    border-radius: 10px;
    position: relative;
}

.page-story__cont01 p{
    position: relative;
    font-weight: 500;
    z-index: 1;
}

.page-story__cont01::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 10px;
    mix-blend-mode: multiply;
}

.page-story__bl01{
    margin-top: 150px;
}

.page-story__img02{
    display: flex;
    justify-content: flex-end;
    padding-right: 15%;
    margin-top: 20px;
}

.page-story__img02-inner{
    flex: 0 0 55%;
}

.page-story__img02-inner img{
    border-radius: 10px;
}

.page-story__bl02{
    background-image: url(assets/img/story/story01_img08.jpg);
    background-size: cover;
    background-position: center;
    width: 100%;
    padding: 170px 50px 130px 50px;
    color: #fff;
    border-radius: 10px;
    margin-top: 130px;
    box-sizing: border-box;
    position: relative;
}

.page-story__bl02::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 10px;
    z-index: 1;
}

.page-story__flexType01 ul{
    flex-direction: row-reverse;
}

.page-story__flexType01 ul li:nth-of-type(2){
    padding-left: 50px;
    box-sizing: border-box;
}

.page-story__bl03{
    margin-top: 185px;
}

.page-story__bl04{
    background-image: url(assets/img/story/story01_img10.JPG);
    background-size: cover;
    background-position: top left;
    padding: 185px 0 115px; 
    width: 100%;
    color: #fff;
    margin-top: 130px;
    box-sizing: border-box;
    position: relative;
    height: 534px;
}

.page-story__bl04 p{
    position: absolute;
    top: 20px;
    right: 3vw;
    font-size: clamp(14px, 1.8vw, 22px);
}

.page-story__bl05{
    margin-top: 185px;
}

.page-story__flexType02 ul{
    align-items: flex-start;
}

.page-story__flexType02 ul li:first-of-type{
    background-image: url(assets/img/story/story01_img11.jpg);
    padding: 145px 30px 355px;
    color: #fff;
    background-size: cover;
    background-position: center;
    font-family: "Shippori Mincho", sans-serif;
    font-size: clamp(20px, 2vw, 26px);
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.85;
}

.page-story__flexType02 ul li:nth-of-type(2){
    padding-top: 60px;
}

.page-story__flexType02 ul li:nth-of-type(2) img{
    border-radius: 10px;
}

.page-story__bl05 .page-flexbox01__text01{
    margin-top: 20px;
}

.page-story__bl06{
    margin-top: 145px;
    background-image: url(assets/img/story/story01_img13.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom 0 right 0;
    width: 100%;
    padding: 100px 0 550px;
    color: #fff;
}

.page-story__bl06-inner{
    width: fit-content;
    margin: 0 0 0 auto;
}

.page-story__bl06-text01{
    margin-bottom: 40px;
    font-size: 22px;
}

.page-story__bl06 img{
    width: 585px;
}

.page-story__bl06-text02{
    margin-top: 30px;
    font-size: 22px;
}

.page-story03__flex{
    display: flex;
    flex-direction: column;
    row-gap: 105px;
}

.page-story03__flex ul:nth-of-type(2n){
    flex-direction: row-reverse;
}

.page-story03__flex ul:nth-of-type(2) .page-flexbox01__text02{
    margin-top: 0;
}

.page-story03__bl01{
    background-image: url(assets/img/story/story03_img04.jpeg);
    background-size: cover;
    background-position: right bottom;
    margin-top: 155px;
    width: 100%;
    height: 660px;
}

.page-story03__bl01 img{
    width: 415px;
    margin: 0 0 0 auto;
}

.page-story03__bl01 .wrapper{
    height: 100%;
}

.page-story03__bl01-img{
    display: flex;
    align-items: center;
    height: 100%;
}

.page-story03__2imgBlock img:nth-of-type(2){
    width: 44.4%;
    margin: -115px 6% 0 auto;
}

.page-story2__colmn01{
    padding-top: 140px;
    display: flex;
    flex-direction: column;
    row-gap: 64px;
}

.page-story2__img01 img{
    border-radius: 10px;
    width: 100%;
}

.page-story2__flexbox01{
    display: flex;
    gap: 60px;
}

.page-story2__flexbox01 li{
    flex: 1;
}

.page-story2__year{
   font-size: 48px;
   font-weight: 600;
   letter-spacing: 0.1em;
   margin-bottom: 40px;
}

.page-story2__title{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
    line-height: 1.45;
}

.page-story2__text{
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.62;
}

.page-story2__line01{
    display: flex;
    justify-content: center;;
}

.page-story2__line01 img{
    width: 14px;
}

.page-story2__line02{
    display: flex;
    justify-content: left;
}

.page-story2__line02 img{
    width: 330px;
    margin-left: -37px;
}

.page-story2__btn01{
    margin-top: 80px;
}

.page-story2__flexType01{
    align-items: center;;
}

.page-story2__bl01{
    padding: 150px 0 100px;
    font-family: "Shippori Mincho", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-align: center;
}

.page-story2__bl02{
    background-image: url(assets/img/story/story02_img06.JPG);
    background-size: cover;
    background-position: center;
    width: 100%;
    padding: 150px 0;
    color: #fff;
    text-align: center;
    position: relative;
}

.page-story2__bl02::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 1;
}

.page-story2__bl02-inner{
    position: relative;
    z-index: 2;
}

.page-story2__bl02-title{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.43;
}

.page-story2__bl02-text{
    margin-top: 50px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.44;
}

.page-story2__bl03{
    aspect-ratio: 375 / 150;
    overflow: hidden;
    margin-top: 120px;
}

.page-story2__bl03 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
}

.labelGallery_sec{
    margin-top: 160px;
}

.labelGallery_textBl{
    display: flex;
}

.labelGallery_title{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.45;
    text-align: center;
}

.labelGallery_text{
    font-weight: 500;
    line-height: 1.62;
    letter-spacing: 0.1em;
    margin-top: 15px;
    text-align: center;
}

.labelGallery_textBl>li:first-of-type{
    flex: 1 1 58%;
}

.labelGallery_textBl>li:nth-of-type(3){
    flex: 1 1 42%;
}

.labelGallery_list01{
    margin-top: 54px;
    display: flex;
    gap: 2.86%;
    row-gap: 20px;
    flex-wrap: wrap;
}

.labelGallery_list01>li{
    flex: 0 0 17.7%;
}

.labelGallery_list01__img{
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    width: 100%;
}

.labelGallery_list01__img img{
    width: 51.85%;
    max-width: 112px;
}

.labelGallery_list01__text{
    margin-top: 10px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
}

.labelGallery_textBl02{
    margin-top: 125px;
}

@media screen and (max-width: 1200px){
    
    .page-story__bl06{
        background-position: bottom 0 right 32%;
    }
}

@media screen and (max-width: 940px){
    
    .labelGallery_textBl{
        gap: 30px;
    }
}

@media screen and (max-width: 767px){
    
    .page-flexbox01 ul{
        flex-direction: column;
        row-gap: 30px;
    }
    
    .page-flexbox01__text01{
        font-size: 17px;
    }
    
    .page-flexbox01__text02{
        margin-top: 20px;
        font-size: 14px;
    }
    
    .page-story__cont01{
        padding: 27px 30px;
        font-size: 13px;
        box-sizing: border-box;
    }
    
    .page-story__bl01{
        margin-top: 60px;
    }
    
    .page-flexbox01__img01 img{
        aspect-ratio: 350 / 180;
        object-fit: cover;
    }
    
    .page-story__img02{
        padding-right: 0;
        margin-top: 40px;
    }
    
    .page-story__img02-inner{
        flex: 0 0 100%;
    }
    
    .page-story__bl02{
        margin-top: 45px;
        padding: 30px 15px;
        background-position: right;
    }
    
    .page-story__bl03{
        margin-top: 50px;
    }
    
    .page-story__flexType01 ul li:nth-of-type(2){
        padding-left: 0;
    }
    
    .page-story__bl04{
        margin-top: 60px;
        padding: 0;
        height: 300px;
        background-position: center;
    }
    
    .page-story__bl04 p{
        display: none;
    }
    
    .page-story__bl04_sp{
        margin-top: 20px;
    }
    
    .page-story__flexType02 ul{
        flex-direction: column-reverse;
        row-gap: 60px;
    }
    
    .page-story__bl05{
        margin-top: 80px;
    }
    
    .page-story__flexType02 ul li:nth-of-type(2){
        padding-top: 0;
    }
    
    .page-story__flexType02 ul li:first-of-type{
        font-size: 17px;
        padding: 144px 20px 440px;
        background-position: left 41% bottom;
        margin-left: -20px;
        width: calc(100% + 40px);
        box-sizing: border-box;
    }
    
    .page-story__bl06{
        margin-top: 70px;
        padding: 25px 0 250px;
        background-position: bottom 0 right 38%;
        position: relative;
    }
    
    .page-story__bl06::after{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .page-story__bl06-inner{
        position: relative;
        z-index: 2;
    }
    
    .page-story__bl06 img{
        width: 210px;
    }
    
    .page-story03__flex ul:nth-of-type(2n){
        flex-direction: column;
    }
    
    .page-story03__flex{
        row-gap: 35px;
    }
    
    .page-story03__flex ul:nth-of-type(3) .page-flexbox01__img01 img{
        aspect-ratio: unset;
    }
    
    .page-story03__bl01{
        margin-top: 75px;
        height: 370px;
        background-position: right 30% bottom;
    }
    
    .page-story03__bl01 img{
        width: 210px;
    }
    
    .page-story__bl06-text01{
        margin-bottom: 20px;
    }
    
    .page-story__bl06-text02{
        margin-top: 20px;
    }
    
    .page-story__bl06-text01, .page-story__bl06-text02{
        font-size: 15px;
    }
    
    .page-story2__colmn01{
        padding-top: 40px;
        row-gap: 0;
    }
    
    .page-story2__flexbox01{
        flex-direction: column;
        row-gap: 25px;
    }
    
    .page-story2__flexbox01.sp_reverse{
        flex-direction: column-reverse;
    }
    
    .page-story2__contBl01 .page-story2__flexbox01{
        row-gap: 0;
    }
    
    .page-story2__contBl01 .page-story2__flexbox01>li:first-of-type{
        text-align: center;
        margin-top: -41px;
    }
    
    .page-story2__year{
       font-size: 32px;
       margin-bottom: 20px;
    }
    
    .page-story2__title{
        font-size: 16px;
        margin-bottom: 20px;
    }
    
    .page-story2__text{
        font-size: 14px;
    }
    
    .page-story2__flexbox01.page-story2__flexLine{
        gap: 0;
    }
    
    .page-story2__line01{
        margin: 30px 0;
    }
    
    .page-story2__line01 img{
        width: 8px;
    }
    
    .page-story2__contBl01 .page-story2__line02 img{
        width: 91px;
        margin-left: 21.5%;
    }
    
    .page-story2__contBl04 .page-story2__line02{
        justify-content: center;
    }
    
    .page-story2__contBl04 .page-story2__line02 img{
        width: 197px;
        margin-left: 0;
    }
    
    .page-story2__contBl01{
        row-gap: 0;
        margin-top: 30px;
    }
    
    .page-story2__contBl01>li:first-of-type{
        text-align: center;
        margin-top: -40px;
    }
    
    .page-story2__contBl02{
        margin: 20px 0 30px;
    }
    
    .page-story2__line02 img{
        width: 200px;
    }
    
    .page-story2__contBl03 .page-story2__title{
        margin-bottom: 0;
    }
    
    .page-story2__contBl03 .page-story2__text{
        margin-top: 20px;
    }
    
    .page-story2__btn01{
        margin-top: 30px;
    }
    
    .page-story2__contBl05 .page-story2__flexbox01{
        row-gap: 0;
    }
    
    .page-story2__contBl06 .page-story2__year, .page-story2__contBl06 .page-story2__title{
        text-align: center;
    }
    
    .page-story2__contBl06 .page-story2__text{
        width: 78.5%;
        margin: 0 auto;
    }
    
    .page-story2__bl01{
        padding: 55px 0;
        font-size: 16px;
    }
    
    .page-story2__bl02{
        padding: 60px 0 50px;
    }
    
    .page-story2__bl02-title{
        font-size: 18px;
    }
    
    .page-story2__bl02-text{
        margin-top: 30px;
        font-size: 14px;
    }
    
    .page-story2__bl03{
        margin-top: 50px;
    }
    
    
    .labelGallery_sec{
        margin-top: 40px;
    }
    
    .labelGallery_textBl{
        flex-direction: column;
        row-gap: 25px;
    }
    
    .labelGallery_textBl>li:nth-of-type(3){
        margin-top: 35px;
    }
    
    .labelGallery_list01.pc-display{
        display: none!important;
    }
    
    .labelGallery_list01{
        gap: 7.14%;
        row-gap: 17px;
        margin-top: 0;
    }
    
    .labelGallery_list01 li{
        flex: 0 0 28.57%
    }
    
    .labelGallery_title{
        text-align: left;
    }
    
    .labelGallery_text{
        text-align: left;
        font-size: 14px;
    }
    
    .labelGallery_list01__text{
        font-size: 10px;
        margin-top: 5px;
    }
    
    .labelGallery_textBl02{
        margin-top: 60px;
    }
    
    .labelGallery_owlList{
        margin-top: 25px;
    }
}

/*---------------------------------
* トップページ
---------------------------------*/

/* ズーム対象（imgでなくラッパーならセレクタ調整してください） */
.slick-slide.is-zooming img {
  animation: zoom-out 4s ease-out forwards;
}

.slick-slide img {
  transform: scale(1); /* 初期値は等倍 */
}

@keyframes zoom-out {
  from {
    transform: scale(1.3); /* 拡大状態から */
  }
  to {
    transform: scale(1);   /* 等倍に戻る */
  }
}

.top_slider__item{
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.top_slider__item img{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}

.front-mv{
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    padding: 0;
}

.front-mv__text-box{
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translate(0, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.front-mv__logo{
    width: 28vw;
}

.front-mv__text{
    font-family: "Shippori Mincho", sans-serif;
    font-size: clamp(16px, 1.1vw, 18px);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #fff;
    margin-top: 90px;
    text-align: center;
    line-height: 2.1;
}

.front-mv__btn a{
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    width: 220px;
    height: 50px;
    border-radius: 50px;
    font-size: 16px;
    letter-spacing: 0.05em;
    color: #fff;
    margin-top: 90px;
}

.front-mv__btn a:hover{
    background-color: #fff;
    color: #232F15;
}

.top-info{
    padding: 120px 0 0;
}

.top-featured-products .parts-products-list{
    margin: 0;
}

.top-brand__list{
    display: flex;
    gap: 20px;
}

.top-brand__list li{
    flex: 1;
}

.top-brand__img-box{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    width: 100%;
    height: 190px;
    padding: 20px;
    box-sizing: border-box;
    border-radius: 10px;
    position: relative;
}

.top-brand__img-box img{
    height: 100%;
    object-fit: cover;
}

.top-brand__img-box::after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(35, 47, 21, 0.8);
    opacity: 0;
    transition: opacity .24s ease;
    border-radius: 10px;
}

.top-brand__list li a:hover .top-brand__img-box::after{
    display: block;
    opacity: 1;
}

.top-brand__name{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #232F15;
    margin-top: 20px;
    text-align: center;
}

.top-shops__list{
    display: flex;
    gap: 90px;
}

.top-shops__img{
    flex: 1 1 44%;
    overflow: hidden;
    border-radius: 10px;
}

.top-shops__img img{
    width: 100%;
    height: 100%;
    border-radius: 10px;
    object-fit: cover;
    transition: transform 3s ease;
}

.top-shops__text-box{
    flex: 1 1 49%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.top-shops__text p:first-of-type{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.top-shops__text p:nth-of-type(2){
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.85;
    margin-top: 30px;
}

.top-shops__link:hover .top-shops__img img{
    transform: scale(1.1);
}

.top-bases__list{
    display: flex;
    gap: 60px;
}

.top-bases__list li{
    flex: 1;
}

.top-bases__img-box{
    flex: 1;
    height: 278px;
    overflow: hidden;
    border-radius: 10px;
}

.top-bases__img-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
    transition: transform 3s ease; /* ゆっくり拡大 */
}

.top-bases__text-box{
    margin-top: 45px;
}

.top-bases__text-box h3{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.top-bases__text-box p{
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2;
}

.top-bases__list a:hover img{
    transform: scale(1.1);
}

.introduction-sec{
    padding: 120px 0 0;
}

.introduction-sec__img-box{
    width: 100%;
    height: 300px;
    overflow: hidden;
    border-radius: 10px;
}

.top_recruit_info .introduction-sec__img-box{
    height: auto;
}

.introduction-sec__img-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 3s ease;
    
}

.introduction-sec__title{
    margin-top: 15px;
    font-family: "Shippori Mincho", sans-serif;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.introduction-sec__subtitle{
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-top: 15px;
}

.introduction-sec__text{
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.85;
    margin-top: 5px;
}

.introduction-sec a:hover img{
    transform: scale(1.1);
}

.introduction-sec ul li:nth-of-type(n+2){
    margin-top: 60px;
}

@media screen and (max-width: 767px){
    
    .top_slider__item{
        height: 100vh;
    }
    
    .front-mv__text-box{
        width: 90%;
        align-items: flex-start;
    }
    
    .front-mv__logo{
        width: 56vw;
    }
    
    .front-mv__text{
        margin-top: 40px;
        text-align: left;
        font-size: 12px;
    }
    
    .front-mv__btn a{
        width: 120px;
        height: 40px;
        margin-top: 50px;
        font-size: 12px;
    }
    
    .top-info{
        padding: 70px 0 0;
    }
    
    .featured-products{
        padding: 70px 0 0;
    }
    
    
    .featured-products__list{
        margin-top: 20px;
    }
    
    .top-brand__list{
        flex-wrap: wrap;
        gap: 4%;
    }
    
    .top-brand__list li{
        flex: 0 0 48%;
    }
    
    .top-brand__img-box{
        height: 140px;
    }
    
    .top-brand__name{
        font-size: 16px;
        margin-top: 10px;
    }
    
    .top-brand__list li:nth-of-type(n+3){
        margin-top: 20px;
    }
    
    .top-shops__list{
        flex-direction: column;
        gap: 20px;
        align-items: stretch;
    }
    
    .top-shops__text p:first-of-type{
        font-size: 18px;
    }
    
    .top-shops__text p:nth-of-type(2){
        font-size: 12px;
        margin-top: 10px;
    }
    
    .top-bases__list{
        flex-direction: column;
        row-gap: 40px;
    }
    
    .top-bases__img-box{
        height: 200px;
    }
    
    .top-bases__text-box{
        margin-top: 20px;
    }
    
    .introduction-sec{
        padding: 70px 0 0;
    }
    
    .introduction-sec__img-box{
        height: 200px;
    }
}

/*---------------------------------
* 木内酒造とは　ページ
---------------------------------*/

.page-about__flexbox01 ul{
    align-items: stretch;
    
}

.page-about__flexbox01>a{
    display: block;
}

.page-about__flexbox01>a:nth-of-type(n+2){
    margin-top: 60px;
}

.page-about__flexbox01 .page-flexbox01__img01{
    min-height: 364px;
    overflow: hidden;
    border-radius: 10px;
}

.page-about__flexbox01 .page-flexbox01__img01 img{
    height: 100%;
    object-fit: cover;
    transition: transform 3s ease;
}

.page-about__link:hover .page-flexbox01__img01 img{
    transform: scale(1.1);
}


.page-flexbox01__textWrap01 .page-flexbox01__text02{
    margin-top: 30px;
}

.page-about__flexbox01 ul>li:nth-of-type(2){
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.page-about__movie-cont{
    overflow: hidden;
    height: 650px;
    position: relative;
}

.page-about__movie-cont iframe{
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    height: 300%;
    left: auto;
    top: -100%;
    width: 100%;
}

.page-about__logo-box{
    text-align: center;
    margin-top: 150px;
}

.page-about__logo-box img{
    width: 500px;
}

@media screen and (max-width: 1170px){
    
    .page-about__movie-cont iframe {
        width: 150%;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media screen and (max-width: 767px){
    
    .page-about__flexbox01 .page-flexbox01__img01{
        min-height: unset;
    }
    
    .page-flexbox01__textWrap01 .page-flexbox01__text02{
        margin-top: 20px;
    }
    
    .page-about__movie-cont{
        height: 240px;
    }
    
    .page-about__movie-cont iframe{
        height: calc(100% + 80px);
        width: 120%;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .page-about__logo-box{
        text-align: center;
        margin-top: 100px;
    }

    .page-about__logo-box img{
        width: 70%;
    }
}

/*---------------------------------
* 菊盛が出来るまで　ページ
---------------------------------*/

.page-sake-story .lead-content p{
    font-size: 20px;
}

/* .sake-story-logo{
    width: 176px;
    padding: 75px 0 105px;
    margin: 0 auto;
} */
 
.page-sake-story__flexbox01{
    padding-top: 100px;
}

.page-flexbox01.page-sake-story__flexbox01 ul li:first-of-type{
    aspect-ratio: 570 / 364;
    flex: 0 0 47%;
}

.page-flexbox01.page-sake-story__flexbox01 ul li:nth-of-type(2){
    flex: 1;
}

.page-flexbox01__icon01{
    width: 108px;
    height: 30px;
    background-color: #232F15;
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
    line-height: 1;
}

.page-sake-story__flexbox01 .page-flexbox01__text01{
    line-height: 1.4;
}

.page-sake-story__flexbox01 .page-flexbox01__text02{
    font-size: 14px;
    line-height: 1.85;
    margin-top: 25px;
}

.page-sake-story__flexbox01>ul:nth-of-type(n+2){
    margin-top: 90px;
}

.sake-story__attention{
    margin-top: 30px;
    background-color: #F8F6EF;
    border-radius: 10px;
    padding: 35px 40px;
}

.sake-story__attention-title{
    font-family: "Shippori Mincho", sans-serif;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding-bottom: 23px;
    border-bottom: 3px solid #536728;
    display: flex;
    align-items: center;
}

/* .sake-story__attention-title::before{
    content: "";
    display: block;
    width: 31px;
    height: 31px;
    background-image: url(assets/img/sake_story/sake_story_attention_icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 10px;
} */

.sake-story__attention-text{
    font-size: 14px;
    line-height: 1.85;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding-top: 30px;
}

.bold-text{
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
}

.sake-story__attention-text .bold-text{
    margin-top: 20px;
}

.page-sake-story__flexbox01 table{
    margin-top: 5px;
}

.page-sake-story__flexbox01 table th, .page-sake-story__flexbox01 table td{
    padding: 10px 30px;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
}

.page-sake-story__flexbox01 table th{
    font-weight: 600;
}

@media screen and (max-width: 767px){
    
    .page-sake-story .lead-content p{
        font-size: 16px;
    }
    
    /* .sake-story-logo{
        width: 128px;
        padding: 40px 0;
    } */
     
    .page-sake-story__flexbox01{
        padding-top: 40px;
    }
    
    .page-sake-story__flexbox01 .page-flexbox01__text01{
        font-size: 22px;
    }
    
    .page-flexbox01__icon01{
        margin-bottom: 18px;;
    }
    
    .page-sake-story__flexbox01 .page-flexbox01__text02{
        margin-top: 20px;
    }
    
    .sake-story__attention{
        margin-top: 20px;
        padding: 20px 15px;
    }
    
    .sake-story__attention-title{
        font-size: 26px;
        padding-bottom: 18px;
    }
    
    .sake-story__attention-text{
        padding-top: 18px;
    }
    
    .bold-text{
        font-size: 16px;
    }
    
    .page-sake-story__flexbox01>ul:nth-of-type(n+2){
        margin-top: 50px;
    }
    
    .page-sake-story__flexbox01 table th, .page-sake-story__flexbox01 table td{
        padding: 8px 15px;
        font-size: 12px;
    }
    
    
}

/*---------------------------------
* restaurant-lp
---------------------------------*/

.restaurant-lp{
    color: #dddddd;
    line-height: 2.4;
}

.restaurant-lp>div:first-of-type.m-sec{
    padding: 240px 0 90px;
}

.restaurant-lp.omoya-lp>div:first-of-type.m-sec{
    padding: 200px 0 120px;
}

.restaurant-lp.kiuchibrewerytokyo-lp>div:first-of-type.m-sec{
    padding: 240px 0 50px;
}

.omoya-lp{
    font-family: 'Noto Serif JP', serif;
}

@media screen and (max-width: 767px){
    
    .restaurant-lp>div:first-of-type.m-sec{
        padding: 170px 0 60px;
    }
    
    .restaurant-lp.kiuchibrewerytokyo-lp>div:first-of-type.m-sec{
        padding: 170px 0 60px;
    }
}