@charset "utf-8";
/* CSS Document */

/********************************************************************/

/* HTMLタグ要素 */

/********************************************************************/

body {
    padding: 0px;
    margin: 0px;
    background-image: url(img/bg.png);
    color: #59493F;
    background-color: #F8F6F2;
}

A,
A:link,
A:visited,
A:hover,
A:active {
    color: #3356CF;
    text-decoration: none;
    font-weight: bold;
    outline: none;
}

.use_hover A:hover {
    opacity: 0.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: bold;
    margin-bottom: 15px;
}

h1 {
    font-size: 161.6%;
}

h2 {
    font-size: 146.5%;
}

h3 {
    font-size: 131%;
}

h4 {
    font-size: 123.1%;
}

h5 {
    font-size: 116%;
}

h6 {
    font-size: 108%;
}


/********************************************************************/

/* 大外 */

/********************************************************************/

#container {
    font-size: 100%;
}


/********************************************************************/

/* トップページコンテンツ間余白 */

/********************************************************************/

.main_box,
.side_box {
    margin: 15px 0px 50px;
    background-color: #F8F4EC;
    border: 2px solid #a18b60;
    border-radius: 12px;
    box-shadow: 0 0 12px rgba(0,0,0,0.1);
}

.top_page_body .main_box,
.top_page_body .side_box {
    background-color: #F8F4EC;
    margin-left: 5px;
    margin-right: 5px;
}

.top_page_body .main_box .ajax_item_box {
    margin-left: 0px;
    margin-right: 0px;
}

.top_page_body .main_box .custom_space {
    padding: 15px 0;
    background: #fffbe9;
    border: 1px solid #ccc8aa;
    border-radius: 10px;
}

.inner_outer_contents {
    padding: 10px;
}

.inner_main_nav,
.inner_itemlist_nav,
.main_search_box {
    padding: 10px;
}

.tiled_list_box {
    padding: 0px 20px;
}
.itemlist_box .inner_item_data {
    padding: 0px 15px;
}

.main_box .calendar_contents {
    padding: 0 10px 10px;
}
.top_page_body .event_list {
    padding: 0px;
}

#contents_bottom .custom_space,
#min_contents_bottom .custom_space {
    background-color: #F8F4EC;
}

@media screen and (max-width: 500px) {
    .main_box,
    .side_box {
        margin-bottom: 20px;
    }
    
    .tiled_list_box {
        padding: 0px;
    }

    .itemlist_box .inner_item_data {
        padding: 10px 5px;
    }
}


/********************************************************************/

/* キャッチフレーズ欄 */

/********************************************************************/

/* キャッチフレーズ */
.copy {
    min-height: 18px;
    padding: 5px 5px 0px;
    font-size: 85%;
}


/********************************************************************/

/* ヘッダー */

/********************************************************************/

/* ヘッダーの固定解除 */
.header {
    position: relative !important;
}


/********************************************************************/

/* ショップ名 */

/********************************************************************/

/* ショップ名ロゴ */
.shoplogo {
    padding: 20px 5px 20px 70px;
}

.use_hover .shoplogo A:hover img {
    opacity: 0.8;
}

/* ショップ名テキスト */
.shoptext {
    padding: 5px 0px;
    min-height: 40px;
    margin-right: auto;
}

.shoptext A {
    font-size: 116%;
    margin: 0px;
}


/********************************************************************/

/* 文字サイズ */

/********************************************************************/

.font_setting {
    padding: 5px 5px 10px;
    text-align: center;
}

.header_font_setting .set_font_title {
    color: #000000;
}

/* 文字サイズ画像 */
.set_font_normal,
.set_font_large {
    width: 45px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: left top;
    -webkit-background-size: 45px 60px;
    background-size: 45px 60px;
}

/* 普通画像 */
.set_font_normal {
    background-image: url(img/font_default.gif);
}

/* 大画像 */
.set_font_large {
    margin-left: 5px;
    background-image: url(img/font_large.gif);
}

/* 文字サイズ画像マウスオーバー、選択中 */
.use_hover .font_setting .set_font_normal:hover,
.use_hover .font_setting .set_font_large:hover,
.font_setting .nav_on {
    background-position: left bottom;
}


/********************************************************************/

/* ヘッダーナビ */

/********************************************************************/

/* 各ナビゲーション */
.inner_header_nav .nav_btn {
    color: #666666;
}

.use_hover .inner_header_nav .nav_btn:hover {
    background-color: #F8F4EC;
}


/*************************************************************/

/* 検索 */

/*************************************************************/

.search_bar .search {
    background-color: #F8F4EC;
}


/*************************************************************/

/* グローバルナビゲーション */

/*************************************************************/

.global_nav {
    background-color: #59493F;
    margin-bottom: 15px;
}

@media screen and (max-width: 500px) {
    .global_nav {
        margin-bottom: 0px;
    }
}

.top_page_body .global_nav {
    border-bottom: none;
}

/* 各ナビゲーション */
.inner_global_nav .nav_btn {
    background-image: url(img/navi_line_bg.gif);
    background-position: right center;
    background-repeat: no-repeat;
    color: #FFFFFF;
    font-weight: normal;
    text-align: center;
}

.use_hover .inner_global_nav .nav_btn:hover {
    border-bottom: 2px solid #F19C47;
    color: #FFFFFF;
    padding-bottom: 8px;
}

.global_nav_item:first-child .nav_btn {
    background-image: url(img/navi_line_bg.gif), url(img/navi_line_bg.gif);
    background-position: right center,left center;
}


/********************************************************************/

/* 開閉ナビゲーション */

/********************************************************************/

.inner_popup_nav_area,
.inner_popup_menu_area {
    background-color: #F8F4EC;
    color: #000000;
}

/* 各ナビゲーション */
.inner_popup_nav .nav_btn {
    border-top: 1px solid #E7D7CD;
    font-weight: normal;
}

.use_hover .inner_popup_nav .nav_btn:hover {
    background-color: #F0E4D8;
}

/* 開閉ナビゲーション閉じるボタン */
.nav_close_box .nav_close {
    background-color: #59493F;
}

.use_hover .nav_close_box .nav_close:hover {
    background-color: #433730;
}


/********************************************************************/

/* メインナビゲーション */

/********************************************************************/

/* 各ナビゲーション */
.inner_side_nav .nav_btn,
.inner_main_nav .nav_btn {
    border-bottom: 1px dotted #59493F;
    color: #59493F;
}

.use_hover .inner_side_nav .nav_btn:hover ,
.use_hover .inner_main_nav .nav_btn:hover {
    border-bottom: 1px solid #59493F;
    color: #59493F;
}

.use_hover .freepage_nav .inner_freepage_nav .nav_btn:hover {
    border-bottom: 1px solid #666666;
}


/********************************************************************/

/* カテゴリ、特集ナビゲーション */

/********************************************************************/

.itemlist_nav {
    margin-top: 15px;
}

/* 各ナビゲーション */
.inner_itemlist_nav .nav_btn {
    border-bottom: 1px dotted #59493F;
    color: #59493F;
}

.use_hover .inner_itemlist_nav .nav_btn:hover {
    border-bottom: 1px solid #59493F;
    color: #59493F;
}


/********************************************************************/

/* サイドメニュー */

/********************************************************************/

/* サイドメニュー枠 */
.open_side_col .side_container {
    background-color: #FFFFFF;
}

/* サイドカテゴリ一覧 */
.side_itemlist_nav {
    padding: 0px 1px;
}

/* サブカテゴリ　第二階層 */
.side_itemlist_nav .sub_menu_link {
    padding: 10px 24px 10px 10px;
}

/* サブカテゴリ背景 */
.side_itemlist_nav .sub_menu_link {
    background-color: #F5F5F5;
    border-top: none;
    border-left: 1px solid #E0DFE3;
    border-right: 1px solid #E0DFE3;
    border-bottom: 1px solid #E0DFE3;
}

/* マウスオーバー */
.use_hover .side_itemlist_nav .side_itemlist_nav_link:hover {
    background-color: #F5F5F5;
}


/********************************************************************/

/* フッターナビゲーション */

/********************************************************************/

/* 各ナビゲーション */
.footer_nav_item .nav_btn {
    border-bottom: 1px dotted #D3BB9E;
    color: #FFFFFF;
}

.footer_nav .nav_btn:hover {
    border-bottom: 1px solid #D3BB9E;
}


/********************************************************************/

/* タイトル */

/********************************************************************/

.page_title h1,
.page_title h2,
.main_box h2{
    background-color: transparent;
}

.itemdetail .page_title h1:before,
.lower_link_box .main_box .section_title h2:before {
    background-color: transparent;	
}

.page_title h1 .title_text,
.page_title h2 .title_text,
.main_box h2 .title_text {
    display: block;
    width: 96%;
    color: #59493F;
}

.top_page_body .section_title .title_text,
.top_page_body .page_title .title_text{
    
}

@media screen and (max-width: 500px) {
    .top_page_body .section_title .title_text {
        margin-left: 0px;
    }

    .top_page_body .section_title .title_text {
        padding: 15px 40px;
    }
}

.page_title h1.detail_page_title .title_text {
    padding-left: 0px;
	padding-right: 0px;
}

.lower_link_box .main_box .section_title h2 .title_text {
    display: inline;
	background-color: transparent;
	padding: 0px;	
}

.top_page_body .main_box .section_title .title_text,
.top_page_body .main_box .page_title .title_text {
    color: #FFFFFF;
	background-color: #A6937C;
    background-image: url(img/leaf_bg.png);
    background-position: left top;
    background-repeat: no-repeat;
    padding: 20px 20px 20px 180px;
    margin-left: 15px;
}

@media screen and (max-width: 500px) {
    .top_page_body .main_box .section_title .title_text,
    .top_page_body .main_box .page_title .title_text {
        background-size: 100px auto;
        padding: 15px 15px 15px 50px;
        margin-left: 0px;
    }
}

.side_box h2,
.main_box h2 {
    color: #000000;
	text-align: left;
}

.lower_link_box .main_box .section_title h2 {
    padding: 10px;
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: left;
}

.main_desc {
	text-align: left;
    font-size: 100%;
    margin: 15px 15px 0px;
    padding: 0px;
}

@media screen and (min-width: 710px) {
    .main_desc {
	    margin-bottom: 20px;	
	}
}

.free_delivery {
    background-color: #E8DED1;
    padding: 10px;
    border-radius: 10px;
    position: relative;
}

.main_desc li {
    text-align: left;
}


/********************************************************************/

/* 第二階層タイトル */

/********************************************************************/

/* 第二階層各ページタイトル */
.page_box .page_title h1,
.page_box .page_title h2,
.page_box .recently .section_title h2,
.page_box .use_emphasis_title .section_title h2 {
    padding: 25px 0px 25px 170px;
    margin: 0px 0px 30px;
    color: #59493F;
	text-align: left;
    border-bottom: 1px solid #59493F;
    background-image: url(img/leaf_bg.png);
    background-repeat: no-repeat;
    background-color: transparent;
}

@media screen and (max-width: 500px) {
    .page_box .page_title h1,
    .page_box .page_title h2,
    .page_box .recently .section_title h2,
    .page_box .use_emphasis_title .section_title h2 {
        background: none;
        font-size: 150%;
        padding-left: 10px;
        margin-bottom: 10px;
    }
}

.itemdetail .page_title h1 {
    background-color: transparent;
	text-align: left;
	padding: 30px 15px 30px 170px;
}

@media screen and (max-width: 500px) {
    .itemdetail .page_title h1 {
        padding-left: 15px;
    }
}


/********************************************************************/

/* 第二階層サブタイトル */

/********************************************************************/

/* 各ページサブタイトル */
.page_box .section_title h2,
.page_box .section_title h3 {
    padding: 10px;
    color: #59493F;
	background-color: #F0E4D8;
}

.detail_contents .toggle_closed .section_title h2 {
    margin-bottom: 0px;
}

.page_box #cart_preview .section_title h3 {
    margin-bottom: 10px;
}

.page_box .section_title h4 {
    padding: 10px 5px;
	border-bottom: 1px solid #59493F;
    color: #59493F;
}

.page_box .page_contents .search_result_title h3 {
    margin-top: 10px;
}


/********************************************************************/

/* 第二階層小項目タイトル */

/********************************************************************/

.contents_title {
    padding: 8px 5px;
	background-color: #F0E4D8;
    font-weight: bold;
    font-size: 116%;
    color: #000000;
}

.rules_title {
    font-weight: bold;
}


/********************************************************************/

/* フォームタイトル */

/********************************************************************/

.form_title {
    border-bottom: 1px solid #59493F;
    padding: 8px 5px;
    font-weight: bold;
    font-size: 116%;
    color: #59493F;
}

.shoppingcart_page_body .page_box .form_area .form_title {
	border-bottom: 1px dotted #A6937C;
}

.form_inner_title {
    border-bottom: 1px dotted #A6937C;
    font-weight: bold;
    color: #59493F;
}


/********************************************************************/

/* タイトル文字サイズ */

/********************************************************************/

.page_title h1,
.page_title h2,
.section_title h1,
.section_title h2 {
    font-size: 138.5%;
    font-weight: normal;
	font-weight: bold;
}

.page_title h1 .title_text,
.page_title h2 .title_text,
.main_box h2 .title_text {
	font-size: 116%;
}

@media screen and (max-width: 500px) {
    .page_title h1 .title_text,
    .page_title h2 .title_text,
    .main_box h2 .title_text {
        font-size: 70%;
    }
}

@media screen and (min-width: 710px) {
    .page_box .page_title h1:before,
    .page_box .page_title h2:before,
    .main_box .section_title h2:before {
        top: 25px;
    }

    .page_title h1 .title_text,
    .page_title h2 .title_text,
    .main_box h2 .title_text {
	    font-size: 120%;
    }
}

.lower_link_box .main_box .section_title h2 .title_text {
    font-size: 100%;	
}

.page_title h3,
.section_title h3 {
    margin: 0px;
    font-size: 116%;
    font-weight: normal;
}

.page_box .section_title h2,
.page_box .section_title h3 {
    font-weight: bold;
}

.page_title h4,
.page_title h5,
.page_title h6,
.section_title h4,
.section_title h5,
.section_title h6 {
    margin: 0px;
    font-size: 100%;
    font-weight: bold;
}

.shoppingcart_page_body .section_title h4 {
    margin: 0px;
    font-size: 116%;
    font-weight: normal;
}


/********************************************************************/

/* メインコンテンツ */

/********************************************************************/

/********************************************************************/

/* 一覧
・写真のみ表示
・説明付き表示
・商品一覧ページ(写真のみ、説明付き)
・最新情報、店長日記
・ソート
*/

/********************************************************************/


/*--------------------------------------*/

/* 写真のみ表示  */

/*--------------------------------------*/

/* サムネイル写真 */
.layout_photo .list_item_photo {
    padding: 5px 0px;
    text-align: center;
}

/* 一覧枠 */
.layout_photo .list_item_data {
    padding: 5px 1px;
	text-align: left;
}

/* もっと見る */
.more_item {
    padding: 10px 5px 0px 5px;
    text-align: right;
}

.more_item .general_btn {
    padding: 5px 10px;
    font-size: 85%;
    font-weight: normal;
    margin-bottom: 20px;
    border-radius: 20px;
    border: 1px solid #59493F;
}

/* 写真のみ文字サイズ */
.layout_photo .item_data_link {
    font-size: 85%;
}

.layout_photo .item_data_link .goods_name {
    font-size: 100%;
}

.layout_photo .col2 .item_data_link {
    font-size: 85%;
}


/*--------------------------------------*/

/* 説明付き */

/*--------------------------------------*/

/* リンク */
.layout_column_text .list_item_box,
.layout_text .not_link {
    border-bottom: 1px dotted #59493F;
}

.list_item_data p.item_desc {
    color: #000000;
}


/*--------------------------------------*/

/* 商品一覧  */

/*--------------------------------------*/

/* 商品、記事一覧マウスオーバー */
.use_hover .item_list .item_data_link:hover,
.use_hover .item_list .list_item_link:hover {
    opacity: 0.7;
}

/* 商品名 */
.item_name {
    font-weight: bold;
}

.list_item_data p.item_name {
    margin-bottom: 3px;
}

/* 販売価格 */
.price {
    padding: 2px 0px;
    color: #59493F;
    font-weight: bold;
}

.price .selling_price,
.price .regular_price {
    padding: 2px 0px;
}

/* 通常販売価格 */
.price .regular_price {
    color: #59493F;
    font-weight: normal;
    display: block;
}

.item_box .text_layout .regular_price {
    display: inline;
}

/* 希望小売価格、税込価格 */
.item_box .retail_price,
.item_box .tax_incl_price {
    color: #59493F;
    font-weight: normal;
    word-break: normal;
}

/* 在庫あり */
.stock {
    color: #59493F;
    font-size: 93%;
}

/* 在庫僅か */
.lowstock {
    color: #990000;
}

/* 在庫なし */
.soldout,
.variation_stock_list .data_table .soldout {
    color: #777777;
}

/* レビュー件数 */
.item_info .review_number {
    color: #000000;
}

/* 商品一覧ランキングNo. */
.rankno {
    color: #333333;
    background-color: #D1D1D1;
	min-width: 40px;
	height: 40px;
	border-radius: 40px;
	line-height: 40px;
	white-space: nowrap;
}

.item_data .rankno1 {
    background-color: #D9B340;
	color: #FFFFFF;
}

.item_data .rankno2 {
    background-color: #666666;
	color: #FFFFFF;
}

.item_data .rankno3 {
    background-color: #A15326;
	color: #FFFFFF;
}


/*--------------------------------------*/

/* 記事一覧  */

/*--------------------------------------*/

/* タイトル */
.list_subject {
    padding: 5px 0px;
}

/* 日付 */
.date {
    color: #000000;
    font-size: 93%;
    font-weight: normal;
}


/*--------------------------------------*/

/* ソート */

/*--------------------------------------*/

.sort {
    border-bottom: 1px solid #59493F;
}

.sort_toggle .toggle_open {
    padding: 7px;
    background-color: #59493F;
    border: 1px solid #59493F;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom: none;
}

.sort_toggle .toggle_open:hover {
    background-color: #59493F;
    color: #FFFFFF;
}

.sort_toggle .toggle_open,
.sort_toggle .toggle_open .fa {
    color: #FFFFFF;
}

/* ソート項目枠 */
.sort_item {
    padding: 10px;
    background-color: #E8DED1;
}

.sort_box {
    padding: 5px;
    margin: 3px;
    border-bottom: 1px solid #A6937C;
}

.sort_item .global_btn {
    padding: 5px;
    text-align: center;
}

/* 件数 */
.item_count {
    font-size: 93%;
}


/********************************************************************/

/* 写真 */

/********************************************************************/

#photo .fix_center {
    max-width: 100%;
}


/********************************************************************/

/* スライド */

/********************************************************************/

/* スライド送りボタン */
.slider_box .swiper-pagination-bullet,
.swipe_list .pointer span {
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 1px solid #A6937C;
    border-radius: 50%;
    cursor: pointer;
}

/* 現スライド */
.slider_box .swiper-pagination-bullet-active,
.swipe_list .pointer span.current {
    background-color: #A6937C;
    border: 1px solid #A6937C;
}

#photo .slider_box .swiper-pagination-bullet,
#photo .swipe_list .pointer span,
#photo .slider_box .swiper-pagination-bullet-active,
#photo .swipe_list .pointer span.current {
    border: none;
}

/* 前へ、次へアイコン */
.swipe_list .pointer_box span.pointer_prev,
.swipe_list .pointer_box span.pointer_next,
.swiper-button-prev,
.swiper-button-next {
    width: 25px;
    height: 25px;
    background-color: #FFFFFF;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
}

.use_hover .swiper-button-prev:hover,
.use_hover .swiper-button-next:hover {
    background-color: #E7D7CD;
}

.use_hover .slider_box .swiper-button-disabled:hover {
    background-color: #F5F5F5;
}

/* 前へアイコン画像 */
.swipe_list .pointer_box span.pointer_prev,
.swiper-button-prev {
    background-image: url(img/icon_prev.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

/* 次へアイコン画像 */
.swipe_list .pointer_box span.pointer_next,
.swiper-button-next {
    background-image: url(img/icon_next.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}


/********************************************************************/

/* 第二階層 */

/********************************************************************/

.page_box {
    color: #59493F;
    padding-bottom: 15px;
    background-image: url("https://coffeebaisenbu.ocnk.net/data/coffeebaisenbu/image/article-background-image.jpg") !important; /* 背景色を背景画像に変更する */
    background-repeat: repeat-y;
    background-size: cover;
    min-height: 400px; /* 背景が表示されるだけの高さを明示 */
    background-color: transparent !important;  
}

/* 共通説明 */
.page_desc {
    padding: 10px;
}

/* 共通ボックス */
.global_info {
    border: 1px solid #A6937C;
    background-color: #E8DED1;
    padding: 10px;
}

.title_text A {
    color: #806C4D;
}


/********************************************************************/

/* 商品詳細 */

/********************************************************************/

/* 商品情報　各ブロック */
.detail_section {
    border-bottom: 1px solid #59493F;
}

/* 商品情報　商品名 */
.detail_item_data h1,
.detail_item_data .item_name {
    font-size: 123.1%;
    font-weight: bold;
    margin-bottom: 10px;
}

/* 商品詳細　価格エリアdivタグ間余白 */
.detail_item_data .section_box {
    margin-bottom: 10px;
}

/* 商品詳細　価格エリア項目間余白 */
.detail_item_data .section_box p {
    margin-bottom: 5px;
}

/* 商品詳細　販売価格 */
.detail_item_data .selling_price {
    font-size: 123.1%;
    word-break: normal;
}

/* 商品詳細　販売価格金額 */
.detail_item_data .selling_price .figure {
    font-weight: bold;
}

/* 商品詳細　通常販売価格 */
.detail_item_data .regular_price {
    font-size: 85%;
}

/* 商品詳細　希望小売価格、税込価格 */
.detail_item_data .retail_price,
.detail_item_data .tax_incl_price {
    color: #59493F;
    font-weight: normal;
}

/* 商品詳細　販売価格ラベル */
.detail_item_data .selling_price {
    font-weight: normal;
}

/* 商品詳細　在庫 */
.detail_item_data .stock {
    font-size: 108%;
    font-weight: bold;
}

/* 商品情報　商品説明 */
.item_desc {
    margin: 0px;
}

/* 価格変動注意書き */
.price_desc {
    font-size: 77%;
}

/* 商品仕様 */
.detail_spec_data {
    margin: 0px;
}

/* 他の写真枠 */
.other_item_data {
    margin: 0px;
}

.other_item_data .global_photo {
    text-align: center;
}

/* 他の写真説明 */
.other_photo_desc {
    margin: 0px;
    text-align: center;
}

/* ソーシャルツール */
.social_tool {
    padding-bottom: 5px;
}

/* バリエーション在庫表 */
.variation_stock_list {
    margin-bottom: 5px;
}

/* バリエーション、オーダーメイド項目間余白 */
.variation_item,
.order_item {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* オーダーメイド項目 */
.order_item {
    border-bottom: 1px dotted #59493F;
}

.ordermade .bottompos {
    border-bottom: none;
}

/* 在庫数のラベルなし */
.hidden_stock .stocklist_data {
    text-align: center;
}

/* バリエーション在庫選択中背景 */
.variation_stock_list .data_table .selected_item {
    background-color: #F0E4D8;
    color: #796C5C;
}

.variation_stock_list .data_table .selected_data {
    background-color: #F0E4D8;
}

/* カートに入れるボタン */
.add_cart_btn .cartinput {
    background-color: #90975F;
}

.overlay_product .overlay_close {
    margin-bottom: 0px;
}

.popup_page #main_container {
    padding: 0px;
}


/*--------------------------------------*/
/* バリエーション選択のポップアップ */

/* ポップアップ枠 */
.popup_variation,
.popup_area {
    background-color: #FFFFFF;
    border: 1px solid #59493F;
}

.popup_variation_selection,
.popup_section {
    border-bottom: 1px solid #59493F;
}

/* バリエーション項目ボタン */
.popup_variation_button,
.item_selection_button {
    background-color: #F5F5F5;
    border: 2px solid #CCCCCC;
}

/* 選択中 */
.selected_option .popup_variation_button,
.selected_option .item_selection_button {
    background-color: #F0E4D8;
    border: 2px solid #59493F;
    color: #59493F;
}

/* 変更、選択してくださいボタン */
.popup_variation_edit_button,
.popup_variation_select_button,
.item_select_operation_button {
    background-color: #EEEEEE;
    color: #333333;
}

.popup_variation_value,
.variation_selection_value,
.item_selection_value {
    color: #59493F;
    font-weight: bold;
}

/* 選択済み枠 */
.variation_selection_box .validation_selection_selected_all,
.use_hover .variation_selection_box .validation_selection_selected_all:hover {
    background-color: #FBF7EA;
    border: 1px solid #796C5C;
    color: #59493F;
    border-radius: 0px;
}

.validation_selection_selected_all .variation_selection_msg_text {
    background-color: #59493F;
    color: #FFFFFF;
}

.recommenditem_page_body .main_box {
    background-color: #F8F4EC;
}


/*--------------------------------------*/
/* サムネイル写真 */

.thumbnail {
    margin-top: 5px;
}

/* サムネイル写真 */
.thumbnail .thumbnail_btn {
    border: 2px solid #FFFFFF;
}

.thumbnail .current .thumbnail_btn {
    border: 2px solid #000000;
}

/* サムネイル写真枠サイズ */
.thumbnail_listbox {
    width: 60px;
}


/*************************************************************/

/* レビュー */

/*************************************************************/

.large_rating_icon .rating_point {
    font-size: 153.9%;
}

.medium_rating_icon .rating_point {
    font-size: 123.1%;
}

/* 星ポイント */
.rating_point {
    margin-left: 10px;
    color: #EF9D35;
}

/* レビュー数 */
.review_number {
    margin-left: 10px;
}

/* グラフ */
.bar_graph {
    background-color: #EF9D35;
}

/* 年代 */
.rating_age {
    font-size: 93%;
}

/* 分析レポート内レビュー数 */
.rating_number A {
    font-size: 93%;
}

/* レビュー一覧 */
.review_data {
    border-bottom: 1px dotted #000000;
}

.mypagereview_contents .review_data {
    border-bottom: none;
}

/* レビュータイトル */
.review_title {
    font-size: 123.9%;
    font-weight: bold;
}

.product_review_item .page_title {
    margin-bottom: 30px;
}

.product_review_item .page_title .title_note,
.item_box .page_title .title_note {
    display: block;
	margin-top: 5px;
	font-size: 77%;
}

@media screen and (min-width: 710px) {
	.product_review_item .page_title .title_note,
	.item_box .page_title .title_note {
	    font-size: 85%;
    }
}

.itemdetail .review_data .review_title,
.mypagereview_contents .review_data .review_title {
    font-size: 108%;
}

/* 登録日 */
.review_postdate {
    background-color: #E7D7CD;
}

/* メモ */
.review_note {
    border-top: 1px solid #E0DFE3;
    border-bottom: 1px solid #E0DFE3;
}

.detail_page_body .review_note {
    border-top: 1px solid #E0DFE3;
    border-bottom: none;
}

/* ショップオーナー返信 */
.owner_note {
    border-bottom: 1px solid #E0DFE3;
}

/* ショップオーナーヘッダー */
.owner_header {
    font-size: 93%;
    color: #00BF60;
}

/* ショップオーナー登録日 */
.owner_postdate {
    display: inline-block;
    margin-left: 5px;
}

/* 参考質問数字 */
.user_number {
    font-size: 123.9%;
    font-weight: bold;
    color: #EF9D35;
}

/* 参考質問ボタン */
.review_vote_btn {
    display: block;
    margin-top: 5px;
}

/* 商品一覧レビュー数 */
.itemlist .review_number {
    font-size: 85%;
    margin-left: 5px;
}

/* 商品詳細レビュー数 */
.review_list .review_number {
    font-size: 93%;
}

/* 商品詳細ヘッダー */
.detail_review_header {
    padding-top: 10px;
}

/* 商品詳細、マイページレビュー管理ボタン */
.review_admin .global_btn {
    border-top: 1px solid #E7D7CD;
    text-align: center;
}

.detail_review_header .global_btn {
    text-align: center;
}


/********************************************************************/

/* ログイン */

/********************************************************************/

/* ID、PW枠 */
.signin_box .id_box,
.signin_box .pass_box {
    margin: 0px auto;
    text-align: left;
    max-width: 500px;
}

/* ID、PWタイトル */
.signin_box .id_title,
.signin_box .pass_title {
    font-size: 116%;
    font-weight: bold;
}

.signin_box .password .global_link {
    font-size: 85%;
}

/* 新規登録枠 */
#register_form {
    padding-top: 20px;
    border-top: 1px solid #A6937C;
}


/********************************************************************/

/* カート */

/********************************************************************/

/* カートの中身各枠 */
.inner_cart_data {
    background-color: #FFFFFF;
    border-radius: 5px;
}

.shoppingcart_page_body .contents_box {
    margin-left: 5px;
    margin-right: 5px;
}

/* 各項目枠 */
.cart_section {
    border-top: 1px solid #A6937C;
}

.bottom_separator {
    border-bottom: 1px solid #A6937C;
}

/* 各項目ラベル */
.cart_label {
    font-weight: normal;
}

/* ボタン中央寄せ */
.cart_inner_btn {
    text-align: center;
}

/* 小計、送料 */
.cart_sub_total_price,
.cart_shipping_charge {
    text-align: right;
}

/* 合計 */
.cart_footer {
    text-align: right;
}

.grand_total {
    display: inline-block;
    margin-bottom: 5px;
}

#shoppingcart_page_step4 .grand_total,
.mypage_history_detail_contents .grand_total {
    border-bottom: 1px solid #000000;
}

.grandtotal_price {
    font-size: 153.9%;
    color: #990000;
}

/* 買い物を続ける */
.continue_shopping {
    text-align: right;
    padding-right: 10px;
    border-top: 1px solid #A6937C;
    border-bottom: 1px solid #A6937C;
}

/* 送り主、お届け先追加変更ボタン */
.cart_recipient .global_btn {
    text-align: center;
}

/* お届け先名 */
.cart_recipient_title {
    border-left: 5px solid #666666;
}

/* ラジオボタン選択の強調表示 */
.checked_row {
    background-color: #F0E4D8;
}

.form_area .checked_row > .form_title,
.form_inner_area .checked_row > .form_inner_title {
    color: #98761D;
}

.checked_row .global_info {
    background-color: #F8F4EC;
    border: none;
    padding: 10px;
}

/* クーポン/ポイント枠 */
.toggle_box .cart_point,
.toggle_box .box_padding,
.toggle_box .cart_point_notice {
    margin: 1px;
}

/* クーポン/ポイント変更時の金額を更新ボタン欄、強調表示背景 */
.notice_box .form_btn_spad {
    background-color: #F6F7BE;
}

.page_title_right_edge .global_btn,
.section_title_right_edge .global_btn,
.section_title_right_edge .inner_title_btn {
    right: 13px;
}

#return_contents {
    margin: 10px;
}

/* 備考 */
#cart_remarks {
    padding-top: 15px;
}

#cart_quantity {
    padding-top: 15px;
}

#cart_quantity .preview_data {
    padding-top: 5px;
}


/*************************************************************/

/* ステップ表 */

/*************************************************************/

.step_list {
    margin: 10px 0px;
    padding: 0px;
}

/* ステップ表 各枠背景 */
.step_data {
    background-color: #FFFFFF;
    border-right: 1px solid #F0E4D8;
    text-align: center;
}

/* ステップ表 右端 */
.step_list .posright .step_data {
    border-right: none;
}

/* ステップ表 各枠　現ページ */
.step_check .step_data {
    background-color: #59493F;
}

/* ステップ表 文字 */
.step_data span {
    color: #59493F;
}

/* ステップ表 ステップ数 */
.step_data .step_number {
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
}

/* ステップ表 現ページ文字 */
.step_check .step_data span {
    color: #FFFFFF;
}


/********************************************************************/

/* 最新情報、店長日記 */

/********************************************************************/

/* 日付 */
.article_date {
    border-bottom: 1px dotted #59493F;
    margin: 0 10px 10px;
    text-align: center;
}

.format {
    font-size: 77%;
}

/* 記事 */
.ph_article {
    font-size: 120%;
}

/* バックナンバー */
.count_number {
    font-size: 93%;
}


/********************************************************************/

/* ご利用案内 */

/********************************************************************/

/* 上部ページ内リンクのナビゲーション */
.anchor_nav_area .nav_btn {
    background-color: #F0E4D8;
    border: 1px solid #F0E4D8;
}

.use_hover .anchor_nav_area .nav_btn:hover {
    background-color: #F0E4D8;
	border: 1px solid #A6937C;
}

.responsive .anchor_nav_area {
    padding: 0 15px;
}

/* 各ブロック */
.help_contents .inner_contents_box {
    margin-bottom: 10px;
}

.help_step,
.help_payment {
    padding-bottom: 5px;
}

/* 説明各ブロック */
.help_data {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 93%;
}

/* 推奨環境 */
#spec_contents dt {
    font-weight: bold;
    padding-bottom: 5px;
}

/* アイコンについて */
.help_icon_data .data_table .cell_header {
    background-color: #FFFFFF;
}


/********************************************************************/

/* 特定商取引法 */

/********************************************************************/

/* 各欄枠 */
.contents_desc {
    padding: 10px 5px;
}


/********************************************************************/

/* メールマガジン */

/********************************************************************/

/* 登録、解除タイトル */
.mailmagazine_box .mailmagazine_subscribe_title,
.mailmagazine_box .mailmagazine_unsubscribe_title {
    font-size: 116%;
    font-weight: bold;
    color: #59493F;
}

.mailmagazine_box,
.mailmagazine_box ul.global_note{
    text-align: center;
    margin: 0px;
}

@media screen and (max-width: 500px) {
    .mailmagazine_box,
    .mailmagazine_box ul.global_note{
        text-align: left;
    }
}


/********************************************************************/

/* マイページ */

/********************************************************************/

/* ポイント */
.member_contents .point_number {
    font-size: 138.5%;
    font-weight: bold;
    color: #990000;
}

/* リンク枠 */
.link_box .global_iconleft {
    display: block;
    margin-bottom: 10px;
}

/* 注意書き */
.mypage_note {
    font-size: 93%;
    line-height: 140%;
}

/* マイページ共通　送り主　お届け先 */
.mypage_recipient {
    padding: 5px 0px;
    font-size: 108%;
}


/*************************************************************/

/* 購入履歴 */

/*************************************************************/

/* 商品名 */
.history_data_list .item_name {
    font-weight: normal;
    color: #000000;
}


/*************************************************************/

/* 送り主、お届け先 */

/*************************************************************/

/* 住所 */
.recipient_data_list .user_address {
    font-weight: normal;
    color: #000000;
}


/*************************************************************/

/* お気に入り */

/*************************************************************/

/* 登録日、メモ */
.item_registration_date,
.item_memo {
    font-size: 93%;
}

/* 商品説明 */
.favorite_contents .item_desc {
    padding: 5px 0px;
    margin: 5px 0px;
    border-top: 1px solid #E7D7CD;
    border-bottom: 1px solid #E7D7CD;
}

/* メモ */
.item_memo_text {
    background-color: #F0E4D8;
    border: 1px solid #E7D7CD;
    color: #59493F;
}


/*************************************************************/

/* 複数選択 */

/*************************************************************/

/* 複数削除 */
.bulk_btn {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* 複数選択 */
.inner_bulk_check_box {
    background-color: #F5F5F5;
}

.layout_column_text .inner_bulk_check_box,
.layout_text .inner_bulk_check_box {
    background-color: #FFFFFF;
}

.bulk_mode .layout_column_text .list_item_box,
.bulk_mode .layout_column_text .not_link,
.bulk_mode .layout_text .not_link {
    border-bottom: none;
}

/* 一括削除時の下部ボタン枠 */
.bulk_mode .fixed_bottom {
    background-color: #F5F5F5;
    border-top: 1px solid #E0DFE3;
}

/* 数量表示バッジ */
.badge {
    background-color: #FF0000;
    font-family: Arial, Helvetica, sans-serif;
    color: #FFFFFF;
}


/*************************************************************/

/* 掲示板 */

/*************************************************************/

/* 記事枠 */
.post_box {
    margin: 10px 0px;
}

/* 記事枠レス */
.post_box_res {
    padding-left: 20px;
}

/* 記事ヘッダー */
.post_box .data_table .cell_header,
.post_box .data_table .cell_data {
    background-color: #F8F4EC;
    font-weight: normal;
    color: #59493F;
}

/* 記事ヘッダー下部余白 */
.post_box .data_table {
    margin-bottom: 5px;
}

/* 記事ヘッダー中央寄せ */
.post_box .res_cell,
.post_box .toggle_cell,
.post_box .replay_cell {
    text-align: center;
}

.post_title,
.post_user,
.post_day,
.post_number {
    padding: 2px 0px;
}

/* 記事タイトル */
.post_title {
    font-weight: bold;
    font-size: 14px;
}

/* 記事ユーザー */
.post_user {
    font-size: 11px;
}

/* 記事投稿日 */
.post_day {
    font-size: 11px;
}

/* 記事No */
.post_number {
    font-size: 13px;
}

/* URL */
.post_url {
    font-size: 13px;
}

/* 記事コメント */
.bbs_comments {
    background-color: #FFFFFF;
}

/* 記事検索 */
.bbs_search {
    text-align: left;
}

/* 検索文字強調 */
.result_emphasis {
    background-color: #FFFF73;
}

/* 検索前に戻る */
.bbs_search .global_link {
    margin-left: 10px;
}

/* 記事開閉 */
#bbs_toggle {
    border-top: 1px solid #59493F;
    border-bottom: 1px solid #59493F;
}

/* 記事投稿欄 */
.bbs_post_form {
    background-color: #F8F4EC;
    padding: 0px 10px;
}

#bbs_post, #bbs_edit {
    padding-top: 20px;
}

#bbs_post.upper_bbs_post_box {
    padding-top: 0px;
}

@media screen and (max-width: 840px) {
    #bbsedit_contents .search_label {
        min-width: 80px;
    }
    #bbsedit_contents .dispinlineblock {
        display: block;
    }
}


/*************************************************************/

/* 携帯サイトアドレス */

/*************************************************************/

.mobilesite_contents,
.mobilesite_contents .global_note {
    text-align: center;
}

.mobilesite_contents .global_note li {
    display: inline;
}

@media screen and (max-width: 500px) {
    .mobilesite_contents,
    .mobilesite_contents .global_note {
        text-align: left;
    }
    
    .mobilesite_contents .global_note li {
        display: block;
    }
}


/*************************************************************/

/* 関連ページ */

/*************************************************************/

/* 内容 */
.link_desc_box {
    border-top: 1px dotted #59493F;
}


/*************************************************************/

/* 私が店長です */

/*************************************************************/

/* スタッフ画像 */
.staff_photo,
.pstaff_photo {
    text-align: center;
    margin-top: 10px;
}

/* プロフィール項目 */
.staff_contents dt,
.pstaff_contents dt {
    border-top: 1px dotted #59493F;
    font-weight: bold;
}

/* プロフィール内容 */
.staff_contents dd,
.pstaff_contents dd {
    border-top: 1px dotted #59493F;
}

.staff_profile_desc {
    background-color: #F0E4D8;
}


/********************************************************************/

/* カレンダー */

/********************************************************************/

/* カレンダーヘッダー */
.calendar_data {
    padding: 15px 0px;
}

.calendar_data .data_table_box {
    padding-bottom: 15px;
}

.cal_month {
    padding: 0px;
    text-align: center;
}

.cal_month .prev_month,
.cal_month .next_month,
.cal_month .this_month {
    padding: 0px 10px;
}

.cal_month span.prev_month,
.cal_month span.next_month {
    padding: 0px 5px;
    font-weight: bold;
    cursor: pointer;
}

/* 今月 */
.this_month {
    font-size: 123.1%;
    font-weight: bold;
}

.side_col .this_month {
    font-size: 14px;
    padding: 0px;
}

.side_col .next_month,
.side_col .prev_month {
    font-size: 13px;
    padding: 0px;
}

/* カレンダー枠線 */
.calendar_data .data_table th.cell_header,
.calendar_data .data_table td.cell_data {
    border: 1px solid #796C5C;
}

/* カレンダー曜日セル */
.calendar_data .cal_day_header {
    font-size: 85%;
}

/* カレンダー各セル */
.calendar_data .data_table .cal_day_cell {
    width: 14%;
    height: 60px;
    vertical-align: top;
}

/* 日曜日 */
.sun .cal_day {
    color: #FF0000;
}

/* 土曜日 */
.sat .cal_day {
    color: #3399CC;
}

/* 今日 */
.calendar_data .today {
    font-weight: bold;
}

/* イベント一覧 */
.event_list {
    padding: 0px 15px;
}

.event_list li {
    border-bottom: 1px solid #E7D7CD;
}

/* イベント内容 */
.event_data {
    padding: 10px 0px;
}

/* イベント名 */
.event_name {
    font-weight: bold;
    line-height: normal;
}

/* アイコン画像 */
div.event_icon {
    text-align: center;
}

div.event_icon img {
    margin: 0px 1px;
}

span.event_icon {
    margin-right: 5px;
}

/* 定休日 */
.calendar_data .holiday,
.holiday_icon {
    background-color: #FBFAEA;
}

.holiday_icon {
    border: 1px solid #A6937C;
    display: inline-block;
    width: 15px;
    height: 15px;
}

/* イベント説明 */
.event_desc {
    font-size: 93%;
    padding: 5px;
}

/* 左右カラム */
.side_col .cal_day {
    font-size: 85%;
}

.side_col .data_table th.cell_header,
.side_col .data_table td.cell_data {
   padding: 2px;
}

.side_col .calendar_data .data_table .cal_day_cell {
    height: auto;
}


/********************************************************************/

/* facebook */

/********************************************************************/

#fb_comment {
    background-color: #F8F4EC;
}


/********************************************************************/

/* table */

/********************************************************************/

.help_data .data_table {
    display: inline-block;
}

.help_data .data_table tbody {
    padding: 0px 15px;
}

/* thタグ、tdタグ */
.data_table .cell_header,
.data_table_header,
.data_table .cell_data {
    padding: 5px;
    border: none;
}

/* thタグ */
.data_table .cell_header,
.data_table_header {
    background-color: #E8DED1;
    color: #796C5C;
    border: 1px solid #796C5C;
    text-align: center;
}

/* tdタグ */
.data_table .cell_data {
    background-color: #F8F4EC;
    border: 1px solid #796C5C;
}

.data_table .cell_data label {
    text-align: center;
}


/********************************************************************/

/* フォーム */

/********************************************************************/

/* フォーム上部説明 */
.global_note li {
    display: inline;
}

@media screen and (max-width: 500px) {
    .global_note li {
        display: block;
    }
}

.list_icon_circle {
    color: #000000;
}

/* フォーム項目 */
.form_element,
.form_inner_element {
    padding: 10px;
}

/* 必須項目 */
.require {
    color: #CC0000;
    font-weight: bold;
}

abbr.require {
    border: none;
    cursor: default;
}

/* 注意書き */
span.cell_note {
    font-size: 85%;
    font-weight: normal;
}

/* メールアドレス欄 */
.confirm_email {
    border-color: #E0DFE3;
    background-color: #FBF7EA;
}


/********************************************************************/

/* 入力エリア */

/********************************************************************/

/* 標準 */
.form_data .defaultsize {
    width: 170px;
}

/* 特小 */
.form_data .xsmallsize {
    width: 60px;
}

/* 小 */
.form_data .smallsize {
    width: 80px;
}

/* 大 */
.form_data .largesize {
    max-width: 500px;
    width: 97%;
}

.form_data {
    padding: 0px;
}


/********************************************************************/

/* フォームエラー */

/********************************************************************/

/* 個別エラー表示 */
.form_error {
    border: 3px solid #FF0000;
    border-radius: 5px;
    padding: 5px;
}

/* フォーム上部エラー表示 */
.error_box {
    border: 1px solid #FF0000;
    border-radius: 5px;
    background-color: #F8F4EC;
}

/* 商品詳細エラー表示 */
.detail_page_body .error_box {
    margin: 10px;
}

/* エラー表示　※赤枠内文字 */
.error_status {
    color: #FF0000;
    font-size: 93%;
    padding-left: 5px;
}

/* エラー時入力エリア背景色 */
.page_box .edit_form .error_row input,
.page_box .edit_form .error_row select,
.page_box .edit_form .error_row textarea {
    background-color: #FFF0F0;
}

/* エラーアイコン */
.error_icon .fa {
    background-color: #FF0000;
    border: 1px solid #FFFFFF;
    box-shadow: 0px 0px 0px 1px #FF0000;
    color: #FFFFFF;
}

/* フォーム上部OK表示 */
.ok_box {
    border: 1px solid #00B200;
    border-radius: 5px;
    background-color: #F8F4EC;
}

/* OK表示 ※緑枠内文字 */
.ok_status {
    color: #00B200;
    font-size: 93%;
    padding-left: 5px;
}

/* OK表示アイコン位置調整 */
.ok_status img {
    padding-right: 3px;
}

/* OK時入力エリア背景色 */
.page_box .edit_form .ok_row input,
.page_box .edit_form .ok_row select,
.page_box .edit_form .ok_row textarea,
.page_box .edit_form .error_row .ok_input {
    background-color: #EEFFEE;
}

/* OKアイコン */
.ok_icon .fa {
    background-color: #00B200;
    border: 1px solid #FFFFFF;
    box-shadow: 0px 0px 0px 1px #00B200;
    color: #FFFFFF;
}

/* 重要な注意書き色 */
.note_color {
    color: #CC0000;
}


/********************************************************************/

/* アイコン */

/********************************************************************/

/* ヘッダーナビボタン */
.inner_header_nav .header_nav_item .fa {
    color: #59493F;
}

/* グローバルナビ */
.inner_global_nav .fa {
    color: #FFFFFF;
}

.global_iconleft .fa {
    padding-right: 5px;
}

.global_iconright .fa {
    padding-left: 5px;
}

/* 閉じる、削除ボタン */
.close_btn_box .fa,
.delete_btn_box .fa {
    color: #000000;
}

.nav_close_btn .fa {
    color: #FFFFFF;
}

/* フッター下部ボタン */
.fixed_corner_button .fa {
    font-size: 40px;
    color: #555555;
}

.use_hover .fixed_corner_button:hover .fa {
    color: #333333;
}

/* +-開閉ボタン */
.open_icon .fa,
.close_icon .fa {
    color: #59493F;
}

.use_hover .rules_title_link:hover .open_icon .fa,
.use_hover .rules_title_link:hover .close_icon .fa,
.use_hover #bbs_disp_flag_button:hover .open_icon .fa,
.use_hover #bbs_disp_flag_button:hover .close_icon .fa,
.use_hover .bbs_open_close_btn:hover .open_icon .fa,
.use_hover .bbs_open_close_btn:hover .close_icon .fa,
.use_hover #review_rules_button:hover .open_icon .fa,
.use_hover #review_rules_button:hover .close_icon .fa {
    color: #FFFFFF;
}

/* 説明付き一覧表示調整 */
.right_side_list_icon {
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -11px;
    font-size: 22px;
}

/* 矢印アイコン */
#container .fa-chevron-right,
#container .fa-chevron-down,
#container .fa-chevron-up {
    color: #59493F;
}


/********************************************************************/

/* ボタン */

/********************************************************************/

/* アイコンボタン枠 */
.icon_btn {
    padding: 0px 3px;
    border: 1px solid #E7D7CD;
    background-color: #FFFFFF;
    border-radius: 5px;
}

.use_hover .icon_btn:hover {
    border: 1px solid #E0DFE3;
    background-color: #F5F5F5;
}

/* +-開閉ボタン枠 */
.open_icon,
.close_icon{
    background-color: #FFFFFF;
    color: #59493F;
}

.use_hover A:hover .open_icon,
.use_hover A:hover .close_icon,
.use_hover abbr:hover .open_icon,
.use_hover abbr:hover .close_icon {
    background-color: #59493F;
    color: #FFFFFF;
}

/* 汎用ボタン */
.general_btn {
    padding: 0px 3px;
    border: solid 1px #59493F;
    border-radius: 5px;
    display: inline-block;
    margin: 10px 0px;
    color: #59493F;
    font-weight: bold;
}

.use_hover .general_btn:hover {
    border: 1px solid #59493F;
}

.standard_btn {
    padding: 10px 20px;
    border: solid 1px #59493F;
    background-color: #FFFFFF;
    border-radius: 30px;
    display: inline-block;
}

.use_hover .standard_btn:hover {
    border: 1px solid #59493F;
    background-color: #F0E4D8;
}

/* 右端ボタン */
.page_title_right_edge .general_btn,
.section_title_right_edge .general_btn {
    background-color: #FFFFFF;
    border: 1px solid #FFFFFF;
    border-radius: 5px;
    color: #59493F;
}

.use_hover .page_title_right_edge .general_btn:hover,
.use_hover .section_title_right_edge .general_btn:hover {
    background-color: #FFFFFF;
    color: #59493F;
}

/* 画像リンク */
.use_hover .photo_link:hover {
    opacity: 0.7;
}


/*************************************************************/

/* フォームボタン */

/*************************************************************/

/* フォームボタンマウスオーバー */
.use_hover .global_btn input:hover,
.use_hover button:hover,
.use_hover .global_btn A:hover {
    opacity: 0.8;
}

/* ボタンサイズXXS */
.global_btn .btn_size_xxsmall {
    width: 30px;
    height: 30px;
}

/* ボタンサイズXS */
.global_btn .btn_size_xsmall {
    width: 50px;
    height: 30px;
}

/* ボタンサイズS */
.global_btn .btn_size_small {
    width: 70px;
    height: 30px;
}

/* ボタンサイズM */
.global_btn .btn_size_medium {
    width: 90px;
    height: 30px;
}

.global_btn A.btn_size_xxsmall,
.global_btn A.btn_size_xsmall,
.global_btn A.btn_size_small,
.global_btn A.btn_size_medium,
.global_btn A.btn_size_auto {
    line-height: 30px;
}

/* ボタンサイズL */
.global_btn .btn_size_large {
    width: 130px;
    height: 35px;
}

.global_btn A.btn_size_large {
    line-height: 35px;
}

/* ボタンサイズXL */
.global_btn .btn_size_xlarge {
    width: 180px;
    height: 40px;
    font-size: 116%;
}

.global_btn A.btn_size_xlarge {
    line-height: 40px;
}

/* ボタンサイズXXL */
.global_btn .btn_size_xxlarge {
    width: 281px;
    height: 50px;
    font-size: 123%;
}

.global_btn A.btn_size_xxlarge {
    line-height: 50px;
}

/* ボタンサイズ横幅auto */
.global_btn .btn_size_auto {
    height: 30px;
    width: auto;
    padding: 0px 20px;
}

/* ボタンサイズ小文字 */
.font_size_small {
    font-size: 77%;
}

/* 縦2段積みボタン */
.under_global_btn {
    display: block;
    margin-top: 30px;
}

/* 商品詳細 */
.detail_item_data .add_cart .global_btn {
    display: block;
    text-align: center;
    margin: 10px 0px;
}

/* 下部配置ボタン */
.form_btn {
    text-align: center;
    margin: auto;
    padding: 15px 0px;
}

/* ログインページ新規登録余白調整 */
#register_form .form_btn {
    padding: 0px;
}

/* Aタグボタン */
.global_btn A {
    font-weight: normal;
    border-radius: 30px;
}

/* 外部決済ボタン */
.outside_btn_box {
    background-color: #E8DED1;
    border: 1px solid #A6937C;
}

/* 楽天決済用 */
.payment_method_desc {
    margin-bottom: 10px;
}


/*--------------------------------------*/

/* ボタン色 */

/*--------------------------------------*/
/* 色通常 */
/* フォームボタン全般 */
.btn_color_common {
    background-color: #59493F;
    color: #FFFFFF;
    border-radius: 30px;
}

.btn_color_common,
A.btn_color_common:link,
A.btn_color_common:visited,
A.btn_color_common:hover,
A.btn_color_common:active {
    color: #FFFFFF;
}

.use_hover .btn_color_common:hover {
    color: #FFFFFF;
}

/* 色強調 */
.btn_color_emphasis {
    background-color: #90975F;
    color: #FFFFFF;
    border-radius: 30px;
}

.btn_color_emphasis,
A.btn_color_emphasis:link,
A.btn_color_emphasis:visited,
A.btn_color_emphasis:hover,
A.btn_color_emphasis:active {
    color: #FFFFFF;
}

.use_hover .btn_color_emphasis:hover {
    color: #FFFFFF;
}


/*************************************************************/

/* パンくずリスト */

/*************************************************************/

/* パンくずリスト */
.breadcrumb_list {
    font-size: 85%;
}


/********************************************************************/

/* ポップアップ */

/********************************************************************/

/* ポップアップの背景 */
.overlay_area .modal_skin {
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
}


/********************************************************************/

/* ロード、ページャー */

/********************************************************************/

/* 読み込み中アイコン画像 */
.loading,
.initial_loading {
    background-image: url(img/load_icon.gif);
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

.entry_box .loading {
    background-image: url(img/load_entry_icon.gif);
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}

/* 一覧ページャー */
.pager {
    margin: 5px 0px;
    text-align: center;
}

/* 現ページ */
.pager strong {
    min-width: 20px;
    min-height: 20px;
    padding: 3px;
    margin: 0px 1px;
    border: 1px solid #59493F;
    background-color: #59493F;
    color:#FFFFFF;
}

/* 各ページ */
.pager .pager_btn {
    min-width: 20px;
    min-height: 20px;
    margin: 0px 1px;
    padding: 3px;
    border: 1px solid #E7D7CD;
    background-color: #FFFFFF;
    text-decoration: none;
}

.use_hover .pager .pager_btn:hover {
    border: 1px solid #59493F;
    background-color: #59493F;
    color: #FFFFFF;
}


/********************************************************************/

/* グローバルサイトリンク */

/********************************************************************/

/* リンク一覧 */
.site_list_dropdown {
    background-color: #FFFFFF;
    box-shadow: 5px 5px 10px #323232, -5px 5px 10px #323232;
}

/* 各リンク先 */
.layout_dropdown .site_list_data {
    border-bottom: 1px solid #E0DFE3;
}

/* 各リンク文字 */
.global_site .site_list_dropdown .nav_btn,
#inner_footer .layout_dropdown .site_list_data .nav_btn {
    color: #000000;
}

.use_hover .global_site .site_list_dropdown .nav_btn:hover,
.use_hover #inner_footer .layout_dropdown .site_list_data .nav_btn:hover {
    color: #666666;
    background-color: #F5F5F5;
}

/* リスト表示タイトル */
#inner_footer .layout_dropdown .site_list_title .nav_btn {
    background-image: none;
    background-color: #FFFFFF;
    color: #000000;
}


/********************************************************************/

/* フッター */

/********************************************************************/

/* PCサイトボタン */
.footer_pc_site_box {
    height: 30px;
    padding: 15px 0px 15px 0px;
    position: relative;
    background-color: #F5F5F5;
    box-sizing: content-box;
    text-align: center;
}

.pc_site_btn .pc_site_link {
    width: 80px;
    margin: auto;
    padding: 8px 8px 8px 30px;
    display: inline-block;
    background-image: url(img/icon_pc.png);
    -webkit-background-size: 30px 30px;
    background-size: 30px 30px;
    background-repeat: no-repeat;
    background-position: 5px center;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    box-sizing: content-box;
    font-size: 12px;
    text-align: center;
    color: #000000;
}

.use_hover .pc_site_btn .pc_site_link:hover {
    color: #000000;
    opacity: 0.8;
}

/* フッター */
.footer_area {
    background-color: #59493F;
    color: #FFFFFF;
    position: relative;
    margin-top: 24px;
    padding-top: 5px 0;
}

.footer_area A{
    color: #FFFFFF;
    font-size: 0.9em;
}

.footer_area::before{
  content: none;     /* ← これで疑似要素自体を消す */
  background: none !important;
  height: 0;
}

@media screen and (max-width: 500px) {
    .footer_area::before{
        background-size: auto 100px;
    }
    .footer_area{
        margin-top: 16px;
    }
}

#footer {
    text-align: center;
}

.footer-icon img {
  width: 60px;                  /* アイコンサイズ調整 */
  height: 60px;
  object-fit: contain;          /* 画像が潰れないように */
  display: block;
  margin: 0 auto 10px;          /* 中央寄せ＋下に余白 */
}

.footer_upper_link_box .continued_link_box {
    border-left: 1px solid #666666;
}

/* ページトップへ戻るボタン */
.fixed_corner_button {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    background-color: #CCCCCC;
    text-align: center;
}

.move_to_add_cart .corner_covering_item,
.use_hover .move_to_add_cart:hover .corner_covering_item {
    color: #CCCCCC;
}

/* フッター下部バナー */
.footer_banner {
    text-align: center;
}

.footer_banner .banner_box {
    margin: 15px 5px 5px 5px;
}

.use_hover .footer_banner .banner_box A:hover {
    opacity: 0.8;
}


/********************************************************************/

/* Powered by おちゃのこネット
※上記の文言は共用ドメインコースをご利用の場合に表示されます。
必須項目ですので、下記の編集は許可されていません。
・文言の削除
・文字色を薄くする
・文字サイズを小さくする */

#ochanoko {
    padding: 5px;
    text-align: center;
    font-size: 12px;
}

#ochanoko A {
    font-size: 12px;
}

.accessory_color {
    background-color: #000000;
}

/**********　追加CSS　修正版 **********************************************/ 
/* ======= メインコンテナ幅調整 ======= */
.inner_main_container {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

/* ======= PC・タブレット（768px以上）用：2カラムレイアウト ======= */
@media screen and (min-width: 768px) {
  .product_info_wrapper {
    display: flex !important;

    /* 折り返しを禁止して常に横並びに */
    flex-wrap: nowrap !important;

    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 2rem !important;

    margin: 0 auto !important;
    padding: 2rem 1rem !important;
    box-sizing: border-box !important;
    max-width: 960px;
  }

  /* 商品画像スライダー部分 */
  .main_photo_slide {
    flex: 1 1 48% !important;
    max-width: 48% !important;
  }

  /* 商品情報・カート部分 */
  .product_info_box {
    flex: 1 1 48% !important;
    max-width: 48% !important;
  }
}

/* ======= スマホ（767px以下）：縦並び1カラム ======= */
@media screen and (max-width: 767px) {
  .product_info_wrapper {
    display: block !important;
    padding: 1rem !important;
  }

  .main_photo_slide,
  .product_info_box {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* PC表示では画像が潰れないように制限 */
@media screen and (min-width: 1024px) {
  .main_photo_slide {
    min-width: 400px;
  }
}

/* ======= 全体コンテンツ幅統一（PC・タブレット） ======= */
@media screen and (min-width: 768px) {
  #main_container {
    width: 85% !important;
    max-width: 1600px !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }

  #inner_main_container {
    width: auto !important;
  }
}

/* ======= 表示幅変更に伴う余白調整 ======= */
.custom_space {
  padding: 20px !important;   
}

  /* ======= 記事紹介バナーの整列　1段目2列・2段目3段目4列 ======= */ 
.ocnk_flex_banner_box {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 8px;
  background-color: #f8f6f2 !important;
}

/* 共通バナーのスタイル */
.flex_banner {
  background-color: #f8f6f2 !important;
  border: 1px solid #ccc;
  padding: 8px;
  box-sizing: border-box;
}

.flex_banner img {
  max-width: 100%;
  background-color: #f8f6f2 !important;
  background-image: none !important;
  height: auto;
  display: block;
}

.subtitle {
  font-style: bold;
  text-align: center;
}

/* バナー1段目用：2列表示 */
.banner-row-1 .flex_banner {
  width: calc(50% - 8px);
  margin: 0;  /* マージンをリセット */
}

/* バナー2・3段目用：4列表示 */
.banner-row-2 .flex_banner,
.banner-row-3 .flex_banner {
  width: calc(25% - 11px);
  margin: 0;  /* マージンをリセット */
}

/* レスポンシブ対応（タブレット以下） */
@media screen and (min-width: 481px) and (max-width: 1024px) {
  .banner-row-1 .flex_banner img,
  .banner-row-2 .flex_banner img,
  .banner-row-3 .flex_banner img {
    height: 200px;  /* 画像の高さを200pxに設定 */
    width: 100%;    /* 親要素の幅に合わせる */
    object-fit: cover;  /* 画像のアスペクト比を保ちながらトリミング */
  }

  .banner-row-1 .flex_banner,
  .banner-row-2 .flex_banner,
  .banner-row-3 .flex_banner {
    overflow: hidden;  /* 親要素からはみ出した部分を隠す */
  }
}

/* スマホ表示：1列 */
@media screen and (max-width: 480px) {
  .banner-row-1 .flex_banner,
  .banner-row-2 .flex_banner,
  .banner-row-3 .flex_banner {
    width: 100% !important;  /* 1列にするための強制設定 */
    margin: 0 !important;  /* マージンをリセット */
  }

  .banner-row-1 .flex_banner img,
  .banner-row-2 .flex_banner img,
  .banner-row-3 .flex_banner img {
    height: 150px;  /* 画像の高さを150pxに設定 */
    width: 100%;    /* 親要素の幅に合わせる */
    object-fit: cover;  /* 画像のアスペクト比を保ちながらトリミング */
  }

  .ocnk_flex_banner_box {
    display: flex;
    flex-wrap: wrap;  /* アイテムが折り返されるように */
    gap: 8px;  /* アイテム間のギャップ */
  }
}

/* 新着商品の「もっと見る」リンクを非表示 */
a.item_list_link.general_btn,
a[href*="mode=new"] {
  display: none !important;
}

/* 新着商品の背景色変更 */
.flex_banner,
.free_banner {
  background-color: #f8f6f2 !important;
}



/* =====記事ページのデザイン整理　最上部の写真非表示====== */
.ph_article {
    padding: 10px 20px;
}
.article-block {
    background-color: #f2ecde;
    border: 1px solid #d7c5a3;
    border-radius: 12px;
    padding: 1rem;
    box-sizing: border-box;
}
.article-block h2 {
    text-align: center !important;
    padding-bottom: 20px;
}

.page-login .toggle-drawer-btn:hover,
.page-entry .toggle-drawer-btn:hover,
.page-contact .toggle-drawer-btn:hover {
  background-color: #9f4c0c;
}

.page-login .toggle-drawer-btn::after,
.page-entry .toggle-drawer-btn::after,
.page-contact .toggle-drawer-btn::after {
  content: " メニュー";
  font-size: 16px;
  margin-left: 6px;
}

/* 記事詳細ページでサムネイル画像を非表示 */
.page_box.pdiary .global_photo.diary_photo {
  display: none;
}

/* === ファンタジー風診断チャート === */
/* ===========================
   タイトル部分
=========================== */
.page_title {
    text-align: center;
    margin: 20px 0 30px 0;
}

.page_title h1 {
    font-size: 1.8em;
    color: #3b2f2f;
    margin: 0;
}

/* ===========================
   診断コンテンツ全体
=========================== */
#inner_contents {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    padding: 0 15px;
}

/* ===========================
   問題・ボタン
=========================== */
#quiz {
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px;
    background-color: #f8f4ec;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

#quiz p {
    font-size: 1.1em;
    margin-bottom: 10px;
}

#quiz button {
    display: block;
    width: 100%;
    margin: 8px 0;
    padding: 10px;
    background-color: #6b4f3f;
    color: #fff;
    font-size: 1em;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

#quiz button:hover {
    background-color: #52392c;
}

/* ===========================
   診断結果カード
=========================== */
.result-card {
    max-width: 1000px;
    margin: 30px auto;
    padding: 20px;
    background-color: #f8f4ec;
    border: 2px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
}

/* タイプ名（中央寄せ） */
.result-card h2 {
    text-align: center;
    font-size: 1.8em;
    margin-bottom: 15px;
}

/* 画像（中央寄せ） */
.result-img {
    display: block;
    margin: 0 auto 15px auto;
    max-width: 60%;
    height: auto;
    border-radius: 6px;
}

/* タイプ説明（左寄せ） */
.result-card p.description {
    text-align: left;
    font-size: 1em;
    margin: 10px 0 20px 0;
}

/* おすすめ珈琲タイトル（左寄せ） */
.result-card h3 {
    text-align: left;
    margin: 12px 0 6px 0;
}

/* おすすめ珈琲の説明文（左寄せ） */
.result-card p.bean-desc {
    text-align: left;
    margin: 0 0 10px 5px;
}

/* 商品リンク（中央寄せ） */
.result-card .bean-link {
    display: block;
    text-align: center;
    margin: 6px 0 15px 0;
    font-weight: bold;
    color: #0066cc;
    text-decoration: none;
}
.result-card .bean-link:hover {
    text-decoration: underline;
}

/* 再診断ボタン（中央寄せ） */
.result-card .coffee-btn {
    display: block;
    margin: 20px auto 0 auto;
    padding: 10px 25px;
    background-color: #6b4f3f;
    color: #fff;
    font-weight: bold;
    border-radius: 5px;
    text-align: center;
    width: fit-content;
    text-decoration: none;
    transition: background-color 0.3s;
}
.result-card .coffee-btn:hover {
    background-color: #52392c;
}

/* ===========================
   レスポンシブ対応
=========================== */
@media screen and (max-width: 768px) {
    .page_title h1 {
        font-size: 1.5em;
    }
    #quiz, .result-card {
        padding: 15px;
    }
    #quiz button {
        font-size: 0.95em;
        padding: 8px;
    }
    .result-card h2 {
        font-size: 1.5em;
    }
}

/* === 珈琲歳時記CSS === */
.row {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px; /* 要素間に余白を追加 */
}

.recommend-link {
  display: block;
  width: 48%;   /* PC/タブレットで2カラム */
  margin: 10px 0;
  text-decoration: none;
  color: inherit;
  box-sizing: border-box;
}

.recommend {
  display: flex;
  border: 1px solid #ccc;
  transition: box-shadow 0.3s;
  min-height: 120px;
  box-sizing: border-box;
  overflow: hidden;
  color: #59493F;
}

.recommend:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
}

.image {
  width: 30%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f7f7f7;
  padding: 20px;
  font-size: 1.2em;
  flex-shrink: 0;
  white-space: nowrap;
}

.image img {
  width: 70px;
  height: auto;
  margin-left: 10px;
}

/* スマホ表示用: 幅が768px以下なら1カラム */
@media screen and (max-width: 768px) {
  .recommend-link {
    width: 100%;
  }
}

.coffee-jojisi-name {
  display: block;
  font-weight: bold;
  font-size: 0.8em;
  color: #59493f;
  text-align: center;
  margin-bottom: 8px;
}

.text {
  width: 80%;
  background-color: #e5e4e6;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 1.6;
  word-break: break-word;
  font-size: 1em;
}

.product-name {
  font-weight: bold;
  color: #59493f;
  font-size: 1.05em;
}

/* ✅ スマホ専用スタイル */
@media (max-width: 768px) {
  .recommend {
    flex-direction: column;
  }

  .image {
    flex-direction: column; /* 縦並びに変更 */
    width: 100%;
    padding: 16px 12px;
  }

  .image img {
    width: 40%;           /* 画像を大きく */
    max-width: 400px;
    margin: 8px auto 0 auto;
    display: block;
  }

  .coffee-jojisi-name {
    display: block;        /* スマホでは表示 */
    font-weight: bold;
    font-size: 0.8em;
    color: #59493f;
    text-align: center;
    margin-bottom: 8px;
  }

  .text {
    width: 100%;
    padding: 16px 12px;
    justify-content: center;
    text-align: left;
    font-size: 1em;
  }
}
/* ===== ページ全体のラッパーと背景 ===== */
.fantasy-wrapper {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  background-color: #f9f5ed;
  color: #3d2c1c;
  padding: 0;
  margin: 0;
}

/* ===== タイトル・見出し装飾 ===== */
.fantasy-header h1 {
  font-size: 2rem;
  text-align: center;
  background: url('title-bg-placeholder.jpg') center/contain no-repeat;
  background-color: #f3ead2;
  padding: 60px 20px;
  color: #4a3928;
  margin: 0;
  border-bottom: 2px solid #c2b490;
}

.fantasy-section {
  padding: 40px 20px;
  text-align: center;
}

.fantasy-time-icon img {
  width: 64px;
  height: auto;
  padding-right: 10px;
  margin-bottom: 10px;
}

.fantasy-section h2 {
  font-size: 1.5rem;
  color: #503b28;
  margin-bottom: 10px;
}

.fantasy-scene-description {
  font-size: 1em;
  max-width: 700px;
  margin: 0 auto 40px;
  line-height: 1.8;
  background-color: #fefaf0;
  padding: 20px;
  border: 1px dashed #c9b896;
  border-radius: 8px;
}

/* ===== クエストカード群（3列レイアウト） ===== */
.fantasy-card-container {
  padding-left: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

/* ===== クエストカード本体 ===== */
.fantasy-quest-card {
  position: relative;
  background-color: #fffdf7;
  width: 350px;
  padding: 55px 15px 20px 15px;
  text-align: left;
  box-sizing: border-box;
}

.fantasy-card-bg {
  background-image: url('https://nasu-coffee.ocnk.net/data/nasu-coffee/image/ss_fantasy-card-bg.png');
  padding-left: 60px;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 0;
}

.fantasy-quest-card h3,
.fantasy-quest-card ul,
.fantasy-quest-card li {
  position: relative;
  z-index: 1;
}

.fantasy-quest-card h3 {
  font-size: 1.1em;
  margin-bottom: 10px;
  color: #59472f;
  border-bottom: 1px dotted #bba579;
  padding-bottom: 5px;
}

.fantasy-quest-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.fantasy-quest-card li {
  margin: 8px 0;
  padding-left: 1.2em;
  position: relative;
}

.fantasy-quest-card li::before {
  content: none;
  position: absolute;
  left: 0;
  color: #a57939;
  font-size: 0.9em;
}

/* ===== スマホ対応（1列表示） ===== */
@media screen and (max-width: 768px) {
  .fantasy-card-container {
    flex-direction: column;
    align-items: center;
  }

  .fantasy-quest-card {
    width: 90%;
  }
}

/* ===== 世界観にあった装飾１ ===== */
.highlighted-phrase {
  font-weight: bold;
  color: #59493f; /* 焦げ茶色*/
}


/* ヘッダー全体の固定解除 */
.sticky_header_fixed {
    position: relative !important; /* 固定されているスタイルを解除 */
}

/* ナビゲーション部分の固定解除 */
.header_global_nav {
    position: relative !important;
}

/* 必要に応じてナビゲーションアイテムにも適用 */
.global_nav {
    position: relative !important;
}

/* 珈琲叙事詩カテゴリー一覧 */
:root{--nl-accent:#7aa36f;--nl-border:#e6e6e6;--nl-text:#333;--nl-muted:#6b7280}
.nl2{max-width:1100px;margin:0 auto;padding:24px 16px;color:var(--nl-text);display:grid;grid-template-columns:260px 1fr;gap:24px}
@media (max-width:900px){.nl2{grid-template-columns:1fr}}
.nl2-nav{position:sticky;top:12px;align-self:start;border:1px solid var(--nl-border);border-radius:12px;padding:12px;background:#fff}
.nl2-nav h4{margin:0 0 8px;font-size:1rem;border-left:6px solid var(--nl-accent);padding-left:8px}
.nl2-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.nl2-nav a{text-decoration:none;color:var(--nl-text)}
.nl2-content section{scroll-margin-top:80px;margin:0 0 24px;padding:16px;border:1px solid var(--nl-border);border-radius:12px;background:#fff}
.nl2-content h3{margin:0 0 10px;font-size:1.2rem}
.nl2-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:640px){.nl2-list{grid-template-columns:1fr}}
.nl2-item a{text-decoration:none}

/* ボックス自体の背景を“色だけ”に固定（画像/グラデーションを殺す） */
.ocnk_flex_banner_box {
  background-color: #f8f6f2 !important;
  background-image: none !important;
  background: #f8f6f2 !important; /* shorthandで念押し */
}

/* 疑似要素からの背景上書きを遮断 */
.ocnk_flex_banner_box::before,
.ocnk_flex_banner_box::after {
  content: none !important;
  background: none !important;
}

/* リンクを付けると灰色が出る問題への直当て（リンク面の背景を固定） */
.ocnk_flex_banner_box .flex_banner > a {
  display: block; /* もともとblockならそのままでOK */
  background-color: #f8f6f2 !important;
  background-image: none !important;
  background: #f8f6f2 !important;
  color: inherit;
}

/* 画像・テキストのラッパーが背景を持っている場合の保険 */
.ocnk_flex_banner_box .banner_image,
.ocnk_flex_banner_box .inner_banner_desc,
.ocnk_flex_banner_box .flex_banner p {
  background: transparent !important; /* ここは“透明化”が目的 */
}

/* バナー領域の疑似要素オーバーレイを完全に無効化 */
.ocnk_flex_banner_box .flex_banner > a::after,
.ocnk_flex_banner_box .free_banner > a::after {
  content: none !important;
  background: none !important;
  background-color: transparent !important;
  position: static !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

/* 念のため hover 時に出す仕組みも潰す */
.ocnk_flex_banner_box .flex_banner > a:hover::after,
.ocnk_flex_banner_box .free_banner > a:hover::after {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

.ocnk_flex_banner_box .flex_banner > a::after,
.ocnk_flex_banner_box .free_banner > a::after {
  content: "";
  position: absolute; /* 親a要素を覆う */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d0e6ff !import; /* ←好きな色に変更 */
  opacity: 1; /* 透過度を調整（1=不透明、0.5=半透明） */
  z-index: 0; /* テキストや画像より後ろに */
}

/* 画像やテキストを前面に出すための設定 */
.ocnk_flex_banner_box .flex_banner > a,
.ocnk_flex_banner_box .free_banner > a {
  position: relative;
  z-index: 1;
}

/* a 全体に下地色を敷く。余白も色が見えるようにする */
.ocnk_flex_banner_box .flex_banner > a,
.ocnk_flex_banner_box .free_banner > a {
  display: block !important;
  position: relative !important;
  background-color: #e5e4e6 !important;
  padding: 12px !important;            /* 余白を付けて色を見せる */
  box-sizing: border-box !important;
}

/* 画像が色を完全に覆ってしまわないようにラッパーを切るのも有効 */
.ocnk_flex_banner_box .flex_banner .banner_image {
  margin-bottom: 8px;                  /* 画像の下に余白＝背景色が見える */
}

/* フッターの装飾 */
.footer_title img{
    width: 64px;
}
.footer_subt {
    padding: 5px 5px 5px 15px;
    background-image: repeating-linear-gradient(45deg, var(--main-color) 0, var(--main-color) 2px, transparent 2px, transparent 4px);
    background-repeat: no-repeat;
    background-size: 10px 100%;
    background-position: left;
    color: var(--main-color);
}

/* 王立ギルドの文書館より */
    .board-image {
      float: left;        /* 右に配置 */
      margin: 20px 20px 10px 15px; /* テキストとの余白（上 右 下 左） */
      width: 120px;        /* 必要に応じて画像サイズ調整 */
    }

/* おひさま堂年代記 */
/* ===== ベース ===== */
:root{
  --ink:#24160b;
  --muted:#5a4a3a;
  --accent:#b3261e;
}
.guild-hero{
  padding:48px 16px 24px;
  background:#59493f; color:#e9eef6;
}
.guild-hero__inner{ max-width:1000px; margin:0 auto; }
.guild-hero h1{ font-size:clamp(1.4rem,3vw,2.2rem); margin:0 0 8px; font-weight:800 }
.guild-lead{ color:#c9d3e3; line-height:1.8 }

/* ===== 掲示板コンテナ ===== */
.quest-board{
  position:relative; padding:32px 16px 40px; background:#fffbe9;
}
.quest-board__wood{
  position:absolute; inset:16px;
  background-color:#fffbe9 ;

  border-radius:16px;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.25), 0 16px 48px rgba(0,0,0,.45);
}

/* ===== 依頼書（共通背景を使い回し） ===== */
.quest-list{
  list-style:none; margin:0; padding:0;
  max-width:1100px; margin-inline:auto; position:relative; z-index:1;
  display:grid; gap:18px; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}
.quest-card{ position:relative; padding:18px 14px 10px; }
.quest-link{ text-decoration:none; color:inherit; display:block }

/* ここで共通の背景画像を指定（1枚を使い回し） */
.quest-paper{
  background-image:url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/image/background-chronicle.jpg"); /* ← ここだけ差し替えれば全カードに反映 */
  background-size:cover; background-position:center; background-repeat:no-repeat;
  border-radius:12px; padding:18px 16px 16px; min-height:220px;
  color:var(--ink);
  box-shadow:0 22px 36px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.25);
}

/* 見出し等 */
.quest-title{ font-size:1.1rem; margin:0 0 .35rem; font-weight:800; line-height:1.5 }
.quest-sub{ display:block; font-size:.92rem; color:var(--muted); font-weight:700 }
.quest-excerpt{ margin:.3rem 0 1rem; line-height:1.75; color:#3a2c1a }
.quest-cta{
  display:inline-block; font-weight:800; padding:.5rem .7rem;
  background:linear-gradient(#fff,#f2efe9); border:1px solid rgba(0,0,0,.15);
  border-radius:10px; box-shadow:0 6px 18px rgba(0,0,0,.15);
  transition:transform .18s ease, box-shadow .18s ease;
}
.quest-link:hover .quest-cta{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.25) }

/* ピン（画鋲） */
.quest-pin{
  position:absolute; top:6px; left:12px; width:16px; height:16px; border-radius:50%;
  background:var(--accent);
  box-shadow:0 3px 0 #6c0f0a, 0 12px 18px rgba(0,0,0,.35);
}
.quest-pin::after{
  content:""; position:absolute; inset:0; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), transparent 55%);
}

/* NEWスタンプ／近日 */
.quest-stamp{
  position:absolute; top:-6px; right:10px; transform:rotate(-8deg);
  background:#ffd86b; color:#3a2c1a; font-weight:900; font-size:.85rem;
  padding:.25rem .45rem; border-radius:6px; box-shadow:0 4px 12px rgba(0,0,0,.25);
}
.quest-new .quest-stamp{ display:inline-block }
.quest-coming .quest-cta.is-disabled{
  background:#e6e0d8; color:#7a7266; border-style:dashed; cursor:default;
}

/* 下部リンク */
.board-footer{
  position:relative; z-index:1; max-width:1100px; margin:18px auto 0; text-align:right;
}
.more-link{
  color:#e9eef6; text-decoration:none; font-weight:800;
  border:1px solid rgba(255,255,255,.18); padding:.55rem .8rem; border-radius:10px;
  display:inline-block; background:#0f1720;
}
.more-link:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.35) }

/* レスポンシブ */
@media (max-width: 640px){
  .guild-lead{ font-size:.95rem }
  .quest-paper{ min-height:200px }
}

 /* ---- 基本トークン（サイトの色に合わせて調整可） ---- */
  .used-items {
    --ui-bg:           color-mix(in oklab, Canvas 92%, transparent);
    --ui-border:       color-mix(in oklab, CanvasText 20%, transparent);
    --ui-muted:        color-mix(in oklab, CanvasText 60%, transparent);
    --ui-hover:        color-mix(in oklab, CanvasText 6%, transparent);
    --radius:          14px;
    --gap:             10px;
    margin-block: 2.5rem 0;
    padding-block: 1.25rem 0;
    border-top: 1px solid var(--ui-border);
  }
  @media (prefers-color-scheme: dark) {
    .used-items {
      --ui-bg:     color-mix(in oklab, Canvas 94%, transparent);
      --ui-border: color-mix(in oklab, CanvasText 28%, transparent);
      --ui-muted:  color-mix(in oklab, CanvasText 70%, transparent);
      --ui-hover:  color-mix(in oklab, CanvasText 10%, transparent);
    }
  }

  /* ---- 見出し：小さく控えめ ---- */
  .used-items > h2 {
    font-size: clamp(0.94rem, 0.88rem + 0.2vw, 1rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--ui-muted);
    margin: 0 0 0.6rem 0;
  }

  /* ---- リストレイアウト ---- */
  .used-items__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--gap);
  }
  @media (min-width: 540px) {
    .used-items__list { grid-template-columns: repeat(2, 1fr); }
  }
  @media (min-width: 880px) {
    .used-items__list { grid-template-columns: repeat(3, 1fr); }
  }

  /* ---- カード（控えめ・全体クリック） ---- */
  .used-items__card {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    background: var(--ui-bg);
    border: 1px solid var(--ui-border);
    border-radius: var(--radius);
    text-decoration: none;
    color: inherit;
    transition: transform 120ms ease, background-color 120ms ease, border-color 120ms ease;
  }
  .used-items__card:hover,
  .used-items__card:focus-visible {
    background: color-mix(in oklab, var(--ui-bg), var(--ui-hover));
    border-color: color-mix(in oklab, var(--ui-border), var(--ui-hover));
    transform: translateY(-1px);
    outline: none;
  }
  @media (prefers-reduced-motion: reduce) {
    .used-items__card { transition: none; }
  }

  /* ---- サムネイル ---- */
  .used-items__thumb {
    border-radius: calc(var(--radius) - 6px);
    object-fit: cover;
    inline-size: 72px; block-size: 72px;
    background: #f8f4ec;
  }

  /* ---- テキスト ---- */
  .used-items__meta {
    display: grid;
    gap: 2px;
    min-width: 0; /* 省略記号の効き用 */
  }
  .used-items__name {
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .used-items__note {
    font-size: 0.88rem;
    color: var(--ui-muted);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .used-items__more {
    font-size: 0.86rem;
    line-height: 1.3;
    margin-top: 2px;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

 /* ---- 表（テーブル）作成用 ---- */
  .table-container {
    overflow-x: auto;
    margin: 1em 0;
  }

  table {
    width: 100%;
    border-collapse: collapse;
    min-width: 600px;
  }

  th, td {
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #ccc;
  }

  th {
    background-color: #f5f5f5;
  }

  @media (max-width: 600px) {
    th, td {
      padding: 10px 12px;
    }
  }

/* 珈琲叙事詩（目次用） */
/* 背景色（各章ごと） */
/* 背景色（各章ごとに .chapter-block に付ける） */
.chapter-block.shizuku-bg { background-color: #edf6f7; }
.chapter-block.mame-bg    { background-color: #f3f2e9; }
.chapter-block.baisen-bg  { background-color: #f7ebe1; }
.chapter-block.kagiri-bg  { background-color: #f1edf7; }
.chapter-block.kakusei-bg { background-color: #fff9e0; }
.chapter-block.iyashi-bg  { background-color: #e8f6ec; }
.chapter-block.ikai-bg    { background-color: #f2eef2; }
.chapter-block.fuuin-bg   { background-color: #eeeeee; }
.chapter-block.kioku-bg   { background-color: #f5f2e8; }
.chapter-block.tabiji-bg  { background-color: #eef5f3; }

/* 全体レイアウト */
.chapter-block {
  display: flex;
  flex-wrap: wrap;
  margin: 3em 0;
  border-radius: 12px;
  overflow: hidden;
  border: 2px solid rgba(169, 116, 66, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* 左側バナー画像 */
.chapter-image {
  flex: 1 1 35%;
  min-width: 200px;
  background-size: cover;
  background-position: center;
  aspect-ratio: 4 / 3;
  background-color: transparent;
}

/* 右側テキストエリア */
.chapter-content {
  flex: 1 1 65%;
  padding: 2em;
}

/* タイトル（章見出し） */
.chapter-title {
  font-size: 1.5em;
  color: #3e2b18;
  border-left: 4px solid #a97442;
  padding-left: 0.5em;
  margin-top: 0;
  margin-bottom: 0.5em;
}

/* 記事リスト */
.chapter-content ul {
  list-style: none;
  padding-left: 1em;
  margin: 0;
}
.chapter-content ul li::before {
  content: "➤ ";
  color: #a97442;
}
.chapter-content a {
  color: #443311;
  text-decoration: none;;
}
.chapter-content a:hover {
  color: #af2136; /* ホバー時に色を変更 */
}

.jojisi-nav a {
  color: #443311;
  text-decoration: none;;
}
.jojisi-nav a:hover {
  color: #af2136; /* ホバー時に色を変更 */
}

/* モバイル対応 */
@media (max-width: 768px) {
  .chapter-block {
    flex-direction: column;
    margin: 2em 0;
  }
}


/* 画像キャプション用 */
figure {
  margin: 0;
  text-align: center;
}

figcaption {
  font-size: 0.7rem; /* 小さめ */
  color: #666;
  margin-top: 4px;
}

/* 商品詳細ページ用 */
:root{
  --bg: #f4ecd8;
  --ink:#3b2f2a;
  --accent:#8b5a2b;         /* 真鍮・古金色 */
  --accent-2:#6c3f2a;       /* ワックス封蝋色 */
  --line:#cbb899;
  --paper-shadow: 0 10px 30px rgba(48,32,18,.15);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:#e9dfc8 url("images/bg-parchment-tile.jpg") repeat; /* 羊皮紙タイル */
  font-family: "Noto Serif JP","Shippori Mincho B1",serif;
  line-height:1.7;
  letter-spacing:.02em;
}

/* ページ枠（装飾） */
.page-wrap{
  min-height:100%;
  padding:20px 14px 60px;
  background-image:
    url("images/corner-nw.png"),
    url("images/corner-ne.png"),
    url("images/corner-sw.png"),
    url("images/corner-se.png");
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-position: left 6px top 6px, right 6px top 6px, left 6px bottom 6px, right 6px bottom 6px;
  background-size:48px 48px;
}

/* カード風の羊皮紙 */
.paper{
  background:linear-gradient(#f5edd9,#f0e6cd);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--paper-shadow);
  position:relative;
  overflow:hidden;
}

/* 細い装飾罫 */
.paper .inner{
  padding:18px 16px;
  border:1px dashed #d2c3a5;
  border-radius:calc(var(--radius) - 6px);
}

/* ヒーロー */
.hero{
  padding:18px 16px 6px;
  text-align:center;
}
.hero .badge{
  display:inline-flex; align-items:center; gap:10px;
  margin:.5rem auto 0;
}
.badge .seal{
  width:78px; height:94px; border:2px solid var(--line);
  border-radius:60% 60% 58% 58%/70% 70% 50% 50%;
  background:#fff8;
  box-shadow:inset 0 0 0 4px #f8f2e0;
  position:relative;
}
.badge .seal::after{/* 糸模様の紋章 */
  content:"";
  position:absolute; inset:16px;
  background:url("images/crest-small.svg") center/contain no-repeat;
  opacity:.6;
}
.badge .seal b{
  position:absolute; left:0; right:0; top:50%; transform:translateY(-32px);
  font-weight:700; font-size:.95rem; color:var(--accent-2);
}
.badge .seal span{
  position:absolute; left:0; right:0; bottom:14px;
  font-size:.8rem; color:#775;
}
.hero h1{
  font-family:"Shippori Mincho B1","Noto Serif JP",serif;
  font-size:1.4rem; margin:.2rem 0 .4rem;
  letter-spacing:.08em;
}
.hero p.lead{
  margin:.3rem auto 1rem;
  max-width:36em;
  font-size:.98rem;
}

/* グリッド（SP1→PC2） */
.grid{
  display:grid; gap:16px; margin:14px 0;
}
@media (min-width: 900px){
  .grid{ grid-template-columns: 1.2fr .8fr; gap:22px; }
}

/* 物語（香味の冒険記） */
.story h2, .panel h2{
  font-size:1.05rem; margin:0 0 .4rem; letter-spacing:.08em;
}
.story .inner{ background-image:url("https://hondaisuki55.ocnk.net/data/hondaisuki55/product/feather.jpg"); background-repeat:no-repeat; background-position: 96% 92%; background-size:86px auto; }
.story p{ text-indent:1em; margin:.2rem 0; }

/* レーダーチャート（簡易SVG） */
.radar{
  display:grid; grid-template-columns: 1fr; gap:10px;
}
.radar .chart{
  width:100%; max-width:320px; margin:0 auto;
}
.radar .legend{
  display:flex; justify-content:center; gap:10px; font-size:.85rem; opacity:.8;
}

/* 抽出レシピ */
.recipe ul{ list-style:none; padding:0; margin:.2rem 0 0; }
.recipe li{ display:flex; gap:.6rem; padding:.35rem 0; border-bottom:1px dotted #d7c8a6; }
.recipe li .icon{ width:1.4rem; text-align:center; font-weight:700; color:#7b5a3d; }

/* CTA */
.cta{
  display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap;
  padding:12px 14px; background:#f9f4e6; border-top:1px solid var(--line);
}
.price{ font-weight:700; letter-spacing:.06em; }
.btn{
  appearance:none; border:none; cursor:pointer;
  padding:10px 16px; border-radius:999px;
  background:linear-gradient(#9c6b3a,#7b4b24);
  color:#fff; font-weight:700; letter-spacing:.06em;
  box-shadow:0 6px 12px rgba(80,40,10,.25);
}
.btn:active{ transform:translateY(1px); }

/* 横並びカード群 */
.panels{ display:grid; gap:14px; }
@media (min-width: 700px){ .panels{ grid-template-columns: repeat(2,1fr); } }

.panel .subtitle{ font-size:.86rem; opacity:.8; }
.next .linklike{ color:var(--accent-2); text-decoration:underline; cursor:pointer; }

/* Q&A */
details{ border:1px solid var(--line); border-radius:12px; background:#fcf7e9; padding:.6rem .8rem; }
details+details{ margin-top:.6rem; }
summary{ cursor:pointer; font-weight:600; }

/* フッター飾り */
.footer-note{
  margin:18px auto 0; text-align:center; font-size:.85rem; opacity:.7;
}

/* 画像（商品ビジュアル） */
.hero-visual{
  border-radius:12px; overflow:hidden; margin:8px auto 0; max-width:900px;
  border:1px solid var(--line);
}
.hero-visual img{ width:100%; display:block;}

/* 小さめ端末の可読性 */
@media (max-width:360px){
  .hero h1{ font-size:1.2rem }
  .badge .seal{ transform:scale(.92); }
}

/* =========================================================
   商品詳細ページ専用レイアウト調整
   ========================================================= */

/* 写真 35% / カート 65% */
.product_info_wrapper {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.product_info_wrapper .main_photo_slide_wrap {
  flex: 0 0 35%;
  max-width: 35%;
}
.product_info_wrapper .detail_item_data.form_data {
  flex: 0 0 65%;
  max-width: 65%;
  text-align: left;
}

/* スマホ表示は縦並び */
@media (max-width: 768px) {
  .product_info_wrapper {
    display: block;
  }
  .product_info_wrapper .main_photo_slide_wrap,
  .product_info_wrapper .detail_item_data.form_data {
    max-width: 100%;
  }
}

/* =========================================================
   メイン画像（Swiperスライド）正方形化
   ========================================================= */
.main_photo_slide_wrap .swiper-slide {
  aspect-ratio: 1 / 1 !important;  /* 正方形に固定 */
  height: auto !important;
  max-height: none !important;
  overflow: hidden;
}
.main_photo_slide_wrap .swiper-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;  /* トリミングなしで収める */
  display: block;
}

/* =========================================================
   サムネイル部分 正方形化
   ========================================================= */
.thumbnail.narrow_thumbnail ul {
  display: flex;
  gap: 10px;
  justify-content: center;
  padding: 0;
  margin: 8px 0 0;
  list-style: none;
}
.thumbnail.narrow_thumbnail .thumbnail_listbox {
  aspect-ratio: 1 / 1;
  width: 80px;  /* サムネイルサイズ調整 */
  overflow: hidden;
}
.thumbnail.narrow_thumbnail .thumbnail_listbox img {
  width: 100%;
  height: 100% !important;
  object-fit: contain;
  display: block;
  border: 1px solid #ddd;
  border-radius: 6px;
}

/* =========================================================
   スライダー矢印（ダミー画像URLは差し替え可能）
   ========================================================= */
.main_photo_slide_wrap .swiper-button-prev,
.main_photo_slide_wrap .swiper-button-next {
  width: 30px;
  height: 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0.8;
}
.main_photo_slide_wrap .swiper-button-prev {
  background-image: url("https://dummyimage.com/30x30/cccccc/000000&text=%3C");
}
.main_photo_slide_wrap .swiper-button-next {
  background-image: url("https://dummyimage.com/30x30/cccccc/000000&text=%3E");
}

/* ====== 珈琲の紋章録ブロック ====== */
.coffee-crest-block {
  background-color: #e8e1d4;   /* 背景色 */
  border: 2px solid #cbb899;  /* ゴールド系の枠 */
  border-radius: 16px;        /* 角丸 */
  padding: 24px;
  margin: 30px 0;
  text-align: center;
}

/* タイトル */
.coffee-crest-block .crest-title {
  font-family: "Times New Roman", serif;
  font-size: 1.8rem;
  margin-bottom: 20px;
  color: #5c4630; /* 深めブラウン */
  letter-spacing: 0.05em;
}

/* 本文エリア：左右2カラム */
.coffee-crest-block .crest-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

/* 左側の説明文 */
.coffee-crest-block .crest-text {
  flex: 1 1 60%;
  text-align: left;
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}

/* 右側の紋章 */
.coffee-crest-block .crest-image {
  flex: 1 1 40%;
  text-align: center;
}
.coffee-crest-block .crest-image img {
  max-width: 200px;
  height: auto;
  display: inline-block;
}

/* スマホでは縦並び */
@media (max-width: 768px) {
  .coffee-crest-block .crest-content {
    flex-direction: column;
    align-items: center;
  }
  .coffee-crest-block .crest-text {
    text-align: center;
  }
}

.coffee-chart {
  max-width: 300px;
  margin: 20px auto;
}

/* ==========================
   商品詳細ページ：カード型レイアウト
   タイル型（masonry風）
   ========================== */

/* PCは2列、スマホは1列 */
.coffee-info-grid {
  column-count: 2;   /* PCでは2列 */
  column-gap: 20px;  /* 列の間隔 */
  margin: 30px 0;
}

@media (max-width: 768px) {
  .coffee-info-grid {
    column-count: 1; /* スマホは1列 */
  }
}

/* 各カードの基本デザイン */
.coffee-info-block {
  display: inline-block;
  width: 100%;
  margin: 0 0 20px;
  border: 2px solid #cbb899;
  border-radius: 12px;
  padding: 16px 16px 16px 48px;
  text-align: left;
  position: relative;
  overflow: hidden;
  font-family: "Times New Roman", serif;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.1);

  /* 背景共通設定 */
  background-size: cover;
  background-position: center;
}

/* タイトル */
.coffee-info-block .block-title {
  font-size: 1.2rem;
  margin-bottom: 8px;
  color: #5c4630;
  border-bottom: 1px solid #cbb899;
  padding-bottom: 4px;
}

/* サブタイトル */
.coffee-info-block .block-subtitle {
  font-weight: bold;
  color: #333;
  margin-bottom: 12px;
}

/* アイコン共通 */
.coffee-info-block::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.9;
}

/* --------------------
   各カード個別装飾
   -------------------- */

/* Aブロック：味わいチャート */
.block-a { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-a.jpg"); }
.block-a::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-a-monsho.png"); }

/* Bブロック：シチュエーション */
.block-b { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-b.jpg"); }
.block-b::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-b-sun.png"); }

/* Cブロック：焙煎度 */
.block-c { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-c.jpg"); }
.block-c::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-c-fire.png"); }

/* Dブロック：類似・対照の珈琲 */
.block-d { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-d.jpg"); }
.block-d::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-d-balance.png"); }

/* Eブロック：お供・飲み方提案 */
.block-e { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-e.jpg"); }
.block-e::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-e-cup.png"); }

/* Fブロック：フリースペース */
.block-f { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-f.jpg"); }
.block-f::before { background-image: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/product/block-f-freespace.png"); }

/* ====== 珈琲以外の商品用 ====== */
.other-products {
  width: 80%;
  background-color: #e8e1d4;   /* 背景色 */
  border: 2px solid #cbb899;  /* ゴールド系の枠 */
  border-radius: 16px;        /* 角丸 */
  padding: 24px;
  margin: 30px 0;
  text-align: left;
}

/* 珈琲占星術師の書板 */
.coffee-column {
  max-width: 1000px;
  margin: 0 20px 30px 20px;
  padding: 0 16px;
}

.column-inner {
  position: relative;
  background-color: #efd6ac;
  border: 1px solid #e0c68c;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  padding: 24px;
  overflow: hidden;
}

/* 背景装飾（魔法陣イメージ） */
.column-bg {
  position: absolute;
  inset: 0;
  background: url("https://www.coffee-ohisamadou.com/data/coffeeohisamadou/image/magic-circle-small.jpg") right/contain no-repeat;
  opacity: 0.3;
  z-index: 0;
}

/* 見出し */
.column-title {
  text-align: center;
  font-size: 1.3rem;
  color: #5c3a0b;
  margin-bottom: 16px;
  position: relative;
  z-index: 1;
}

/* アイコン＋本文 */
.column-content {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.column-icon {
  width: 64px;
  height: 64px;
  object-fit: contain;
  flex-shrink: 0;
}

.column-text p {
  margin-bottom: 12px;
  line-height: 1.6;
  color: #4a2e0b;
}

/* SNS誘導部分 */
.column-link {
  font-size: 0.8rem;
  color: #7a5a2b;
}

.column-link a {
  color: #5c3a0b;
  text-decoration: underline;
}

.column-link a:hover {
  color: #2d1c07;
}

/* モバイル対応 */
@media (max-width: 600px) {
  .coffee-column {
    padding:0 ;
    margin:0 ;
  }
  .column-inner {
    padding: 16px; /* スマホ用に余白を減らす */
    border-radius: 8px; /* 小さい画面では角丸も少し控えめに */
  }
  .column-content {
    flex-direction: column;
    align-items: flex-start; /* テキストは左揃えのまま */
  }

  .column-icon {
    margin: 0 auto 12px auto; /* アイコンだけ中央に */
    display: block;
  }
}

/* 商品詳細ページタイトルの変更 */
.title_text {
  display: none;
}

.fantasy-title {
  font-size: 1.8em;
  color: #3b2b18;
  text-align: center;
  letter-spacing: 2px;
  text-shadow: 1px 1px 0 #e0d5b8;
  border-bottom: 3px double #5a3e1b;
  margin-bottom: 1.2em;
  padding-bottom: 0.3em;
}

/* 記事コンテンツ飾り罫 */
#emblem img{
  display: block;
  margin: 0 auto;
}

/* フォントサイズを大きくする */
/* PC用のベースフォント */
html, body {
  font-size: 16px !important;   /* PC基準で読みやすいサイズ */

}

/* タブレット・スマホ用の調整 */
@media (max-width: 1024px) {
  html, body {
    font-size: 15px !important;
  }
}

@media (max-width: 768px) {
  html, body {
    font-size: 15px !important;  /* スマホでは少し小さめで収まり良く */
    line-height: 1.8;            /* モバイルは行間広めが見やすい */
  }
}

/* ====== トップページの年代記紹介ブロック共通レイアウト ====== */
.tv-section {
  display: flex;
  gap: 20px;          /* 画像とテキストの間の余白 */
  align-items: flex-start;
  margin: 24px 0;
}

.board-image {
  max-width: 280px;   /* PCでの画像幅 */
  height: auto;
  flex-shrink: 0;     /* 画像が潰れないように */
  border-radius: 8px;
}

.tv-text {
  flex: 1;            /* テキスト部分は残り幅を使う */
}

.tv-heading {
  font-size: 1.3rem;
  margin-bottom: 12px;
  color: #4a2e0b;
}

.tv-line {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #3b2a15;
  margin-bottom: 16px;
}

.tv-link {
  display: inline-block;
  margin-top: 8px;
  color: #5c3a0b;
  text-decoration: underline;
  font-weight: bold;
}

.tv-link:hover {
  color: #2d1c07;
}

/* ====== モバイル対応 ====== */
@media (max-width: 768px) {
  .tv-section {
    flex-direction: column;   /* 縦並びに切り替え */
    align-items: center;
    text-align: center;       /* タイトル・本文も中央寄せ */
  }

  .board-image {
    max-width: 100%;          /* 画面幅いっぱい */
    margin-bottom: 16px;
  }

  .tv-text {
    width: 100%;              /* テキストを全幅に */
    text-align: left;         /* ←ここをcenterにすれば全部中央寄せ */
  }
}

/* ====== youtube動画挿入用 ====== */
.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9比率を維持 */
  height: 0;
  overflow: hidden;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* --- GoogleMap適正表示用 共通スタイル（PC・タブレット） --- */
  .map-container {
    width: 600px;
    height: 450px;
    margin: 0 auto; /* 中央寄せ */
  }

  .map-container iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }

  /* --- スマホ向け調整 --- */
  @media screen and (max-width: 1024px) {
    .map-container {
      width: 90%;        /* 画面幅の90%に縮小 */
      height: 250px;     /* 高さも小さくする */
    }
  }