@charset "utf-8";
/* ======================================================================
 alpenrose.jp スマホ表示（2026-11 作成）
 元の WordPress テーマ（sweety_tcd029）は端末判定でスマホ専用ページ（mobile/）を
 出していた。静的化で PC 版しか残らなかったため、PC 版の HTML のまま
 mobile/style-mobile.css を手本にスマホ用の見た目を作る。
 html に .is-sp が付いた時だけ効く（付けるのは各ページ <head> のスクリプト）。
 タブレット・PC は従来どおり PC 版。
====================================================================== */

/* ---------- 基本 ---------- */
html.is-sp, .is-sp body { min-width:0 !important; width:100%; overflow-x:hidden; }
.is-sp body { background:#f2f2f2; -webkit-text-size-adjust:100%; box-sizing:border-box; }
.is-sp img { max-width:100%; height:auto; }
.is-sp iframe, .is-sp video, .is-sp embed, .is-sp object { max-width:100%; }

/* ページ全体（JS で #sp_container に包む）。メニューを開くと横にずれる */
.is-sp #sp_container {
  background:#fff; position:relative; right:0; z-index:10; min-height:100vh; padding-bottom:50px;
  box-shadow:0 0 10px 0; transition:right 300ms cubic-bezier(0.190,1.000,0.220,1.000);
}
.is-sp.open_left #sp_container { right:85%; }
.is-sp.open_right #sp_container { right:-85%; }

/* 左：メニュー */
#sp_navi { display:none; }
.is-sp #sp_navi {
  display:block; position:fixed; top:0; left:0; width:85%; height:100%; z-index:9; padding-top:55px; overflow:auto;
  box-sizing:border-box; background:#f2f2f2; -webkit-overflow-scrolling:touch;
}
.is-sp.open_left #sp_navi { display:none; }
.is-sp #sp_navi .side_headline { margin:0; padding:15px; border-bottom:1px solid #ccc; font-size:18px; font-weight:bold; }
.is-sp #sp_navi ul { margin:0; padding:0; list-style:none; }
.is-sp #sp_navi > ul { margin-bottom:100px; }
.is-sp #sp_navi a { display:block; border-bottom:1px solid #ccc; padding:15px; text-decoration:none; color:#333; font-size:14px; line-height:1.5; }
.is-sp #sp_navi li li a { padding-left:30px; }
.is-sp #sp_navi li li li a { padding-left:60px; }
.is-sp #sp_navi a:hover { color:#fff; background:#A18769; }

/* 右：サイドバー（PC 版の #side_col を JS で外に出す） */
.is-sp #side_col {
  float:none; position:fixed; top:0; right:0; width:85%; height:100%; z-index:9; padding:55px 15px; overflow:auto;
  box-sizing:border-box; background:#f2f2f2; -webkit-overflow-scrolling:touch;
}
.is-sp.open_right #side_col, .is-sp:not(.open_left) #side_col { display:none; }
.is-sp .side_headline { font-size:18px; }
.is-sp .side_widget:last-child { margin:0 0 80px 0; }
.is-sp .styled_post_list1 li { margin:0 0 15px 0; }
.is-sp .styled_post_list1 .image { width:80px; height:80px; }
.is-sp .styled_post_list1 .image img { width:100%; height:100%; display:block; }
.is-sp .tcdw_menu_category_list_widget li ul.list_outer, .is-sp .tcdw_category_list_widget li ul.list_outer { display:flex; width:100%; height:80px; }
.is-sp .tcdw_menu_category_list_widget li ul.list_outer li.list_image, .is-sp .tcdw_category_list_widget li ul.list_outer li.list_image { display:block; flex:0 0 80px; }
.is-sp .tcdw_menu_category_list_widget li ul.list_outer li.list_title, .is-sp .tcdw_category_list_widget li ul.list_outer li.list_title { display:flex; align-items:center; flex:1 1 auto; }
.is-sp .tcdw_menu_category_list_widget li ul.list_outer li.list_title, .is-sp .tcdw_category_list_widget li ul.list_outer li.list_title { width:auto; height:80px; padding:0 15px; }
.is-sp .tcdw_menu_category_list_widget .image, .is-sp .tcdw_category_list_widget .image,
.is-sp .tcdw_menu_category_list_widget .image img, .is-sp .tcdw_category_list_widget .image img { width:80px; height:80px; }
.is-sp .tcdw_menu_category_list_widget .title, .is-sp .tcdw_category_list_widget .title { width:auto; height:auto; font-size:14px; }

/* 下の固定ボタン */
#sp_menu_button { display:none; }
.is-sp #sp_menu_button {
  display:block; position:fixed; right:0; bottom:0; z-index:11; width:100%; height:50px; margin:0;
  background:rgba(255,255,255,0.9); border-top:1px solid #ccc; box-shadow:0 0 5px 0 rgba(0,0,0,0.2);
  transition:right 300ms cubic-bezier(0.190,1.000,0.220,1.000);
}
.is-sp.open_left #sp_menu_button { right:85%; }
.is-sp.open_right #sp_menu_button { right:-85%; }
.is-sp #sp_menu_button ol { margin:0; padding:0; list-style:none; display:flex; }
.is-sp #sp_menu_button li { flex:1 1 0; font-size:10px; }
.is-sp.open_left #sp_menu_button li, .is-sp.open_right #sp_menu_button li { flex:0 0 15%; }
.is-sp.open_left #sp_menu_button li.sp_btn_side { margin-left:auto; }
.is-sp #sp_menu_button li a { display:block; text-align:center; padding-top:14px; height:36px; line-height:50px; color:#333; text-decoration:none; background-repeat:no-repeat; background-position:center 9px; }
.is-sp #sp_menu_button .sp_btn_menu a { background-image:url(../img/footer/mobile_menu1.png); }
.is-sp #sp_menu_button .sp_btn_side a { background-image:url(../img/footer/mobile_menu2.png); }
.is-sp #sp_menu_button .sp_btn_top a { background-image:url(../img/footer/mobile_menu3.png); }
.is-sp #sp_menu_button .sp_btn_home a { background-image:url(../img/footer/mobile_menu4.png); background-position:center 8px; }
.is-sp.open_left #sp_menu_button .sp_btn_side a, .is-sp.open_right #sp_menu_button .sp_btn_menu a { background-image:url(../img/footer/mobile_menu5.png); }
.is-sp.open_left #sp_menu_button li:not(.sp_btn_side), .is-sp.open_right #sp_menu_button li:not(.sp_btn_menu) { visibility:hidden; }
.is-sp #sp_menu_button li a:hover { background-color:#ddd; }
.is-sp #return_top { display:none !important; }

/* ---------- ヘッダー ---------- */
.is-sp #header { width:auto; padding:0; }
.is-sp #header_inner { padding:20px 10px 10px; }
.is-sp #header .global_menu { display:none !important; }
.is-sp #logo_image { margin-bottom:0; }
.is-sp .branding-wrapper { display:flex; margin:0 auto 5px; }
.is-sp .logo-box img { max-height:none; max-width:200px; width:auto; margin:0 auto; display:block; }
.is-sp .header-right-badge { position:static; transform:none; text-align:center; margin:5px auto 0; }
.is-sp .header-right-badge img { height:auto; width:180px; max-width:80%; }

/* メイン画像 */
.is-sp #main_image2, .is-sp.blog #main_image, .is-sp .blog #main_image { width:auto; }
.is-sp #main_image img, .is-sp #main_image2 img { width:100%; height:auto; display:block; }
.is-sp #main_image3 { height:auto; padding:40px 15px; box-sizing:border-box; }
.is-sp #main_image3 h2 { height:auto; line-height:160%; font-size:21px; }

/* ---------- レイアウト ---------- */
.is-sp #main_cotents, .is-sp #noside_contents { width:auto; padding:40px 15px; }
.is-sp #main_col { width:auto; float:none; }

/* 見出しの大きさ（スマホ版に合わせる） */
.is-sp .archive_headline { font-size:21px; line-height:160%; }

/* ---------- トップページ ---------- */
.is-sp #top_slider .slick-dots { display:none !important; }

/* スライダー下・商品一覧下のコンテンツ（画像を上、文章を下） */
.is-sp #index_content1, .is-sp #index_content2 { min-width:0; background:#e6e3dc; }
.is-sp #index_content1_inner, .is-sp #index_content2_inner { width:auto; display:flex; flex-direction:column; padding:40px 15px; }
.is-sp #index_content1 .image, .is-sp #index_content2 .image { order:-1; float:none; display:block; width:90%; max-width:100%; height:auto; margin:0 auto 30px; }
.is-sp #index_content1 .left_content, .is-sp #index_content2 .right_content { width:auto; display:block; }
.is-sp #index_content1 .left_content_inner, .is-sp #index_content2 .right_content_inner { float:none; }
.is-sp #index_content1 .headline, .is-sp #index_content2 .headline { font-size:18px; line-height:160%; margin:0 0 10px 0; }
.is-sp #index_content1 .desc, .is-sp #index_content2 .desc { font-size:14px; line-height:200%; margin:0; }
.is-sp #index_content1 a.link_button, .is-sp #index_content2 a.link_button { display:flex; width:fit-content; margin:20px auto 0; }

/* リンクボタン */
.is-sp a.link_button, .is-sp #index_news_blog .link_button a { padding:0 20px; max-width:100%; box-sizing:border-box; height:auto; min-height:50px; line-height:1.5; display:inline-flex; align-items:center; justify-content:center; text-align:center; }
.is-sp #index_menu > a.link_button, .is-sp #index_news_blog a.link_button { display:flex; width:fit-content; margin:20px auto 0; }
.is-sp #index_news_blog div.link_button { text-align:center; }

/* パンの一覧（3 列） */
.is-sp #index_menu { width:auto; padding:40px 15px; }
.is-sp #index_menu .headline, .is-sp #index_menu .desc { width:auto; float:none; }
.is-sp #index_menu .headline { font-size:18px; line-height:160%; margin:0 0 10px 0; }
.is-sp #index_menu .desc { font-size:14px; line-height:200%; margin:0; }
.is-sp #index_menu .desc_area { margin:0 0 40px 0; }
.is-sp #index_menu ol { margin:0; background:#e6e3dc; padding:3px; display:flex; flex-wrap:wrap; }
.is-sp #index_menu li { float:none; width:33.3333%; height:auto; margin:0; border:3px solid #e6e3dc; box-sizing:border-box; aspect-ratio:1/1; }
.is-sp #index_menu li a { display:block; width:100%; height:100%; position:static; }
.is-sp #index_menu li a.title { display:none; }

/* NEWS・BLOG、FACEBOOK・INSTAGRAM（縦に並べる） */
.is-sp #index_news_blog { width:auto; padding:40px 15px; }
.is-sp #index_news_blog .left, .is-sp #index_news_blog .right { float:none; width:auto; }
.is-sp #index_news_blog .left { margin:0 0 30px 0; }
.is-sp #index_news_blog .headline { font-size:24px; font-weight:bold; line-height:160%; margin:0 0 10px 0; }
.is-sp #index_news_blog ol { margin:0 0 20px 0; }
.is-sp #index_news_blog li { margin:0; }
.is-sp #index_news_blog li a.image { width:100px; height:100px; margin:0 15px 15px 0; }
.is-sp #index_news_blog li .date { font-size:12px; line-height:200%; }
.is-sp #index_news_blog li .title { font-size:14px; font-weight:bold; line-height:200%; margin:0 0 10px 0; }
.is-sp #fb_manual img { width:90px; height:90px; flex-basis:90px; }

/* お店の情報 */
.is-sp #index_info_map #map-canvas { height:300px !important; }
.is-sp #index_info { width:auto; padding:40px 15px 10px; }
.is-sp #index_info .desc p { font-size:14px; line-height:200%; }
.is-sp #index_info .desc span { font-size:16px !important; }
.is-sp button.style-test, .is-sp button.style-2 { max-width:100%; white-space:normal; line-height:1.5; }

/* ---------- 固定ページ ---------- */
.is-sp #page_template1, .is-sp #page_template2, .is-sp #page_template3 { width:auto; padding:40px 15px 15px; }
.is-sp #page_template1 .row { margin:0 0 40px 0; }
.is-sp #page_template1 .desc_area, .is-sp #page_template2 .row3 .desc_area, .is-sp #page_template2 .row4 .desc_area,
.is-sp #page_template3 .row1 .desc_area, .is-sp #page_template3 .row4 .desc_area { width:auto; float:none; margin:0; }
.is-sp #page_template1 .headline, .is-sp #page_template2 .headline, .is-sp #page_template3 .headline { font-size:18px; line-height:160%; margin:0 0 20px 0; }
.is-sp #page_template1 .desc, .is-sp #page_template2 .desc, .is-sp #page_template3 .desc { font-size:14px; line-height:200%; margin:0 0 20px 0; }
.is-sp #page_template1 .image, .is-sp #page_template2 .row3 .image, .is-sp #page_template2 .row4 .image,
.is-sp #page_template3 .row1 .image, .is-sp #page_template3 .row4 .image { float:none; display:block; max-width:100%; height:auto; margin:0 auto; }
.is-sp #page_template2 .row1, .is-sp #page_template3 .row2, .is-sp body.page-id-145 #page_template3 .row2,
.is-sp body.page-id-145 #page_template3 .row2.right_col { float:none; width:auto; margin:0 0 40px 0; overflow:hidden; }
.is-sp #page_template2 .row1 img, .is-sp #page_template3 .row2 img { float:left; width:150px; max-width:45%; margin:0 15px 15px 0; }
.is-sp #page_template2 .row2, .is-sp #page_template2 .row3, .is-sp #page_template3 .row1, .is-sp #page_template3 .row3 { margin:0 0 40px 0; }

/* ---------- 記事ページ ---------- */
.is-sp #single_post .post_title { font-size:21px; font-weight:bold; }
.is-sp #single_post .post_meta { margin:0 0 30px 0; }
.is-sp #single_post .post_meta li { font-size:11px; }
.is-sp .post_content img { max-width:100%; height:auto; }
.is-sp .post_content table { max-width:100%; }
.is-sp .post_content .wp-caption { max-width:100%; }
.is-sp .bookmark { margin:0 0 40px 0; }
.is-sp #previous_post, .is-sp #next_post { float:none; margin:0; }
.is-sp #previous_next_post { margin:0 0 40px 0; }
.is-sp #previous_next_post a { width:100%; margin-bottom:1px; }
.is-sp #related_post ol { margin:0; }
.is-sp #related_post li { display:block; width:auto; margin:0 0 20px 0; overflow:hidden; }
.is-sp #related_post li .image, .is-sp #related_post li a.image img { width:100px; height:100px; }

/* ---------- ブログ・お知らせ一覧 ---------- */
.is-sp #archive_post_list li { padding:0 0 15px 0; margin:0 0 20px 0; overflow:hidden; }
.is-sp #archive_post_list li .image { width:80px; height:80px; margin:0 15px 0 0; }
.is-sp #archive_post_list li .image img { width:100%; height:100%; object-fit:cover; }
.is-sp #archive_post_list li .right_content { float:none; width:auto; }
.is-sp #archive_post_list li .title { font-size:14px; font-weight:bold; line-height:160%; margin:0 0 5px 0; }
.is-sp #archive_post_list li ul { margin:0 0 10px 0; overflow:hidden; }
.is-sp #archive_post_list li li { font-size:10px; margin:0 15px 0 0; }
.is-sp #archive_post_list li .excerpt { font-size:12px; line-height:200%; clear:both; }
.is-sp .page_navi { text-align:center; }

/* ---------- パンギャラリー ---------- */
.is-sp #menu_archive { width:auto; padding:40px 15px; }
.is-sp #menu_archive .headline, .is-sp #menu_archive .desc { width:auto; float:none; }
.is-sp #menu_archive .headline, .is-sp #menu_archive .headline2, .is-sp #menu_archive .headline2 span { font-size:21px; line-height:160%; }
.is-sp #menu_archive .desc { font-size:14px; line-height:200%; }
.is-sp #menu_archive .desc_area { margin:0 0 30px 0; }
.is-sp #menu_archive ol { margin:0; }
.is-sp #menu_archive li { display:block; width:auto; margin:0 0 20px 0; overflow:hidden; }
.is-sp #menu_archive li > a:first-child, .is-sp #menu_archive li a.lightbox { float:left; display:block; width:120px; height:120px; border:7px solid #e6e3dc; margin:0 15px 0 0; box-sizing:border-box; }
.is-sp #menu_archive li > a:first-child img, .is-sp #menu_archive li a.lightbox img { width:100%; height:100%; display:block; object-fit:cover; }
.is-sp #menu_archive li a.title { font-size:16px; }
.is-sp #menu_single { width:100%; }
.is-sp #menu_slider_wrap { padding:15px 15px 0; height:auto; }
.is-sp #menu_slider .slides { width:auto; height:auto; }
.is-sp #menu_slider .slides img { width:100%; height:auto; }
.is-sp #menu_slider_nav { position:relative; right:auto; top:auto; margin:15px 0 0 0; display:flex; }
.is-sp #menu_slider_nav li { flex:1 1 0; width:auto; height:auto; margin:0; }
.is-sp #menu_slider_nav li img { width:100%; height:auto; }
.is-sp #menu_main_image { padding:15px; margin:0 15px 25px; top:15px; }
.is-sp #menu_bottom_area { padding:10px 15px 40px; }
.is-sp #menu_bottom_area h2, .is-sp #menu_bottom_area .desc { float:none; width:auto; margin:0; text-align:center; }
.is-sp #menu_bottom_area .desc { text-align:left; }
.is-sp #menu_archive_wrap #menu_archive { padding:40px 15px; }
.is-sp #menu_archive_wrap .archive_button { margin:0 0 10px 0; }

/* ギャラリー */
.is-sp #gallery_archive, .is-sp #gallery_single { width:auto; padding:40px 15px; }
.is-sp #gallery_archive .headline, .is-sp #gallery_archive .desc { width:auto; float:none; }
.is-sp #gallery_archive li { width:33.3333%; height:auto; margin:0; border-width:3px; box-sizing:border-box; }
.is-sp #gallery_archive li a img { width:100%; height:auto; }

/* ---------- フッター ---------- */
.is-sp #footer_top { min-width:0; background:#e6e3dc; }
.is-sp #footer_top_inner { width:auto; padding:40px 20px; }
.is-sp #footer_logo_image { padding-top:0; }
.is-sp #footer_logo_image img { display:block; margin:0 auto; max-width:200px; }
.is-sp .global_menu.footer_menu { display:block; }
.is-sp .global_menu.footer_menu > ul { height:auto; display:block !important; }
.is-sp .global_menu.footer_menu > ul > li { float:none !important; border:none; border-bottom:1px dotted #ccc; padding:0 !important; }
.is-sp .global_menu.footer_menu > ul > li:first-child { border-top:1px dotted #ccc; }
.is-sp .global_menu.footer_menu > ul > li a { height:auto; line-height:1.5; padding:15px; text-align:left; color:#333; }
.is-sp #footer_bottom { width:auto; height:auto; padding:30px 0 40px; position:relative; text-align:center; }
.is-sp #footer_social_link { position:static; text-align:center; margin:0 0 20px 0; }
.is-sp #footer_social_link li { float:none; display:inline-block; margin:0 10px; }
.is-sp #copyright { position:static; width:auto; line-height:1.8; padding:0 15px; font-size:12px; white-space:normal; overflow-wrap:anywhere; }

/* ---------- フォーム（お問い合わせ等） ---------- */
.is-sp #main_col form table { width:100%; table-layout:fixed; }
.is-sp #main_col form input[type=text], .is-sp #main_col form input[type=email], .is-sp #main_col form input[type=tel],
.is-sp #main_col form input[type=number], .is-sp #main_col form input[type=date], .is-sp #main_col form textarea, .is-sp #main_col form select
  { width:100%; max-width:100%; box-sizing:border-box; font-size:16px; }
