@charset "UTF-8";
/* 既存PC gnavi.php / SP com/sp_gnavi.php の実HTMLに対応。 */
.asreet-legacy-header { position:relative; z-index:1100; background:var(--red,#ff0036); color:#fff; }
.asreet-legacy-header *, .asreet-legacy-header *::before, .asreet-legacy-header *::after { box-sizing:border-box; }
.asreet-legacy-header a { color:inherit; text-decoration:none; }
.asreet-legacy-header ul,.asreet-legacy-header p,.asreet-legacy-header dl,.asreet-legacy-header dd { margin:0; padding:0; list-style:none; }
.asreet-legacy-header img { display:block; max-width:100%; height:auto; }
.asreet-pc-header .inner-bk { width:calc(100% - 64px); max-width:1200px; margin:0 auto; }
.asreet-pc-header .h1-box-bk { padding:8px 0 4px; font-size:12px; line-height:1.4; }
.asreet-pc-header .header-detail-bk { display:flex; align-items:center; gap:8px; padding:10px 0 18px; }
.asreet-pc-header .header-detail-bk>.logo { width:185px; flex:0 0 185px; margin:0; }
.asreet-pc-header .logo img { width:185px; height:auto; }
.asreet-pc-header .header-detail { display:flex; align-items:center; gap:16px; flex:1; min-width:0; }
.asreet-pc-header .area { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.asreet-pc-header .area .name { font-size:26px; font-weight:700; }
.asreet-pc-header .area .link a { display:block; padding:10px; font-size:12px; background:#ffffff33; }
.asreet-pc-header .freeword-box-head,.asreet-pc-header .asreet-header-search { min-width:0; flex:1; }
.asreet-pc-header :is(#searchform-head,.asreet-header-search) { display:flex; width:100%; min-width:0; background:#fff; color:#303740; border-radius:3px; overflow:hidden; }
.asreet-pc-header :is(#searchform-head,.asreet-header-search) input:not([type=submit]):not([type=reset]) { min-width:0; width:100%; padding:12px; border:0; background:#fff; color:#303740; font-size:13px; }
.asreet-pc-header .resetsubmit { display:none; }
.asreet-pc-header :is(.searchsubmit,.asreet-header-search button) { width:50px; flex:0 0 50px; border:0; color:#fff; background:#252525; cursor:pointer; font-size:13px; }
.asreet-pc-header .head-menu { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.asreet-pc-header .head-menu a { display:block; border:1px solid #ffffff80; padding:10px 12px; font-size:12px; font-weight:700; }
.asreet-existing-pc-nav { background:#050505; }
.asreet-existing-pc-nav .gnavi-bk { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); position:relative; }
.asreet-existing-pc-nav .gnavi-bk>li { min-width:0; border-inline-start:1px solid #ffffff26; }
.asreet-existing-pc-nav .gnavi-bk>li:last-child { border-inline-end:1px solid #ffffff26; }
.asreet-existing-pc-nav .gnavi-btn { display:flex; align-items:center; justify-content:center; height:50px; padding:10px 8px; }
.asreet-existing-pc-nav .gnavi-btn img { max-width:100%; width:auto; height:auto; max-height:30px; }
.asreet-existing-pc-nav .gnavi-btn:hover,.asreet-existing-pc-nav .is-open>.gnavi-btn,.asreet-existing-pc-nav .is-open>div>.gnavi-btn { background:#333; }
.asreet-existing-pc-nav .gnavi-detail-bk { display:none; position:absolute; top:100%; left:0; width:100%; max-height:65vh; overflow:auto; background:white; color:#303740; box-shadow:0 8px 18px #0003; border:1px solid #ddd; padding:24px; z-index:2; }
.asreet-existing-pc-nav .gnavi-bk>li.is-open .gnavi-detail-bk { display:block; }
.asreet-existing-pc-nav .gnavi-detail .title { margin-bottom:16px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; }
.asreet-existing-pc-nav .gnavi-detail .title .link { font-size:12px; font-weight:400; }
.asreet-existing-pc-nav .gnavi-detail ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 20px; }
.asreet-existing-pc-nav .gnavi-detail a { display:block; padding:8px; color:#303740; font-size:14px; }
.asreet-existing-pc-nav .gnavi-detail a:hover { background:#f3f4f6; }
.asreet-existing-pc-nav .cate-list-bk { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.asreet-existing-pc-nav .cate-list-bk>.title { grid-column:1/-1; }
.asreet-existing-pc-nav .cate-list-bk>ul { display:block; }
.asreet-sp-header { display:none; }
.asreet-live-breadcrumb { background:#f1f3f5; color:#555; border-bottom:1px solid #e5e7eb; }
.asreet-live-breadcrumb ol { display:flex; gap:12px; list-style:none; margin:0 auto; width:calc(100% - 64px); max-width:1200px; padding:12px 0; overflow:auto; white-space:nowrap; font-size:12px; }
.asreet-live-breadcrumb a { color:inherit; }
.asreet-live-breadcrumb li+li::before { content:'›'; margin-right:12px; color:#888; }
.asreet-live-breadcrumb [aria-current=page] { color:#303740; font-weight:700; }
@media(max-width:1099px) {
    .asreet-pc-header { display:none; }
    .asreet-sp-header { display:block; }
    .asreet-sp-header .header_bk { display:flex; align-items:stretch; min-height:68px; position:relative; }
    .asreet-sp-header .logo_bk { flex:1; min-width:0; padding:10px 12px; }
    .asreet-sp-header .logo_title { font-size:10px; line-height:1.2; margin-bottom:5px; }
    .asreet-sp-header .logo img { width:145px; height:auto; }
    .asreet-sp-header .top_area_bk { display:flex; align-items:center; border-left:1px solid #ffffff55; padding:0 16px; font-size:24px; font-weight:700; }
    .asreet-sp-header .gnavi_btn { width:60px; flex:0 0 60px; border-left:1px solid #ffffff55; }
    .asreet-sp-header .menu-btn { display:block; position:relative; width:100%; height:68px; border:0; color:white; background:transparent; cursor:pointer; }
    .asreet-sp-header .menu-btn::before { content:''; position:absolute; left:17px; top:16px; width:26px; height:20px; background:linear-gradient(to bottom,#fff 0 2px,transparent 2px 9px,#fff 9px 11px,transparent 11px 18px,#fff 18px 20px); }
    .asreet-sp-header .menu-btn::after { content:'メニュー'; position:absolute; left:0; right:0; top:42px; text-align:center; color:#fff; font-size:10px; }
    .asreet-sp-header.is-open .menu-btn::before { background:linear-gradient(45deg,transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#fff 46% 54%,transparent 54%); }
    .asreet-sp-header.is-open .menu-btn::after { content:'閉じる'; }
    .asreet-sp-header #gnavi_box { display:none; position:absolute; top:100%; right:0; left:0; width:100%; background:#fff; color:#303740; max-height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 6px 15px #0003; z-index:2; }
    .asreet-sp-header.is-open #gnavi_box { display:block; }
    .asreet-sp-header #gnavi_modal_box { padding:20px 16px 32px; }
    .asreet-sp-header .freeword_bk { margin-bottom:20px; }
    .asreet-sp-header .freeword_box dl { display:flex; border:1px solid #ddd; background:#fff; }
    .asreet-sp-header .freeword_box dt { flex:1; min-width:0; }
    .asreet-sp-header .freeword_box input[type=text] { width:100%; min-width:0; padding:12px; border:0; color:#303740; }
    .asreet-sp-header .resetsubmit { display:none; }
    .asreet-sp-header .searchsubmit { min-width:48px; width:48px; height:100%; min-height:42px; background:#303740; color:#fff; border:0; cursor:pointer; }
    .asreet-sp-header .nav-title { padding:10px 0; border-bottom:2px solid var(--red,#ff0036); font-weight:700; }
    .asreet-sp-header .nav_box { margin-bottom:20px; }
    .asreet-sp-header .nav_box ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .asreet-sp-header .nav_box a { display:flex; align-items:center; padding:14px 8px; border-bottom:1px solid #eee; color:#303740; font-size:13px; }
    .asreet-sp-header .sns-bk { display:flex; gap:20px; }
    .asreet-live-breadcrumb ol { width:calc(100% - 24px); padding:8px 0; gap:6px; font-size:11px; }
    .asreet-live-breadcrumb li+li::before { margin-right:6px; }
}
.asreet-existing-pc-nav .gnavi-btn{display:flex;align-items:center;justify-content:center;gap:9px}
.asreet-existing-pc-nav .gnavi-btn svg{width:22px;height:22px;color:#aaa;flex:none}
.asreet-existing-pc-nav .gnavi-btn:hover{background:#292929;color:#fff}

/* サンプルと同じヘッダー寸法。既存の地域検索フォーム／メニュー内容は継承。 */
.asreet-pc-header .h1-box-bk{padding:6px 0 0;line-height:18px}
.asreet-pc-header .header-detail-bk{min-height:76px;padding:8px 0 12px}
.asreet-pc-header .header-detail-bk>.logo,.asreet-pc-header .logo img{width:180px;flex-basis:180px}
.asreet-pc-header .area .link a{background:#a760ac;padding:7px 8px}
.asreet-pc-header .head-menu{gap:10px}
.asreet-pc-header .head-menu a{border-color:#fff;padding:6px 9px;font-size:14px;min-height:36px}
.asreet-existing-pc-nav .gnavi-btn{height:48px;font-size:16px;font-weight:700}
.asreet-existing-pc-nav .gnavi-btn svg{width:23px;height:23px;color:#888}
.asreet-skip-link{position:fixed;left:12px;top:-100px;z-index:3000;background:white;color:#087ca6;padding:12px}
.asreet-skip-link:focus{top:8px}
#asreet-search-panel[hidden]{display:none!important}
@media(max-width:1099px){
 .asreet-sp-header .header_bk{height:72px;min-height:72px}
 .asreet-sp-header .logo_bk{display:flex;flex-direction:column;justify-content:center;padding:0 16px}
 .asreet-sp-header .logo_title{font-size:12px;line-height:1.4;margin-bottom:5px;white-space:nowrap}
 .asreet-sp-header .logo img{width:166px}
 .asreet-sp-header .top_area_bk{padding:0 18px}
 .asreet-sp-header .top_area_bk a{display:flex;align-items:center;gap:5px}
 .asreet-sp-header .top_area_bk svg{width:15px;height:15px}
 .asreet-sp-header .asreet-menu-trigger{display:flex;align-items:center;justify-content:center;position:relative;width:60px;height:72px;border:0;background:transparent;color:#fff;cursor:pointer}
 .asreet-menu-trigger::before{content:'';position:absolute;top:15px;left:17px;width:26px;height:20px;background:linear-gradient(#fff 0 2px,transparent 2px 9px,#fff 9px 11px,transparent 11px 18px,#fff 18px 20px)}
 .asreet-menu-trigger::after{content:'メニュー';position:absolute;top:41px;font-size:10px;line-height:1.4}
 .asreet-sp-header.is-open{position:fixed;inset:0 0 auto;z-index:2000}
 .asreet-sp-header.is-open .asreet-menu-trigger::before{background:linear-gradient(45deg,transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#fff 46% 54%,transparent 54%)}
 .asreet-sp-header.is-open .asreet-menu-trigger::after{content:'閉じる'}
 #asreet-search-panel{background:#25282d;color:#fff;height:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain;padding:16px 16px 32px}
 .asreet-sp-header #asreet-search-panel #gnavi_box,.asreet-sp-header #asreet-search-panel #gnavi_modal_box{display:block!important;position:static!important;width:100%!important;height:auto!important;max-height:none!important;transform:none!important;visibility:visible!important;opacity:1!important;background:transparent!important;color:#fff;padding:0;overflow:visible;box-shadow:none}
 #asreet-search-panel .nav-title{color:#ff6c8b;border:0;margin:24px 0 8px;padding:0;font-size:14px}
 #asreet-search-panel .nav_box ul{display:block}
 #asreet-search-panel .nav_box a{color:#fff;border-color:#ffffff26;font-size:16px;min-height:58px;padding:12px 0;justify-content:space-between}
 #asreet-search-panel .asreet-header-search{display:flex;background:white;color:#303740;border-radius:4px;overflow:hidden}
 #asreet-search-panel .asreet-header-search input{min-width:0;flex:1;padding:12px;border:0}
 #asreet-search-panel .asreet-header-search button,#asreet-search-panel .searchsubmit{background:var(--blue);color:#fff;border:0;padding:12px}
 #asreet-search-panel .asreet-menu-close{display:block;margin:24px auto 0;padding:12px 24px;border:1px solid #ffffff80;border-radius:4px;color:#fff;background:transparent}
 body.asreet-menu-open{overflow:hidden}
 body.asreet-menu-open #page{padding-top:72px}
}
@media(max-width:767px){
 .asreet-sp-header .header_bk{height:54px;min-height:54px}
 .asreet-sp-header .logo_title{font-size:10px;margin-bottom:2px}
 .asreet-sp-header .logo img{width:145px}
 .asreet-sp-header .asreet-menu-trigger{height:54px}
 .asreet-menu-trigger::before{top:7px;height:20px}
 .asreet-menu-trigger::after{top:32px}
 #asreet-search-panel{height:calc(100dvh - 54px)}
 body.asreet-menu-open #page{padding-top:54px}
}
@media(max-width:359px){.asreet-sp-header .top_area_bk{padding:0 10px;font-size:22px}.asreet-sp-header .logo_bk{padding-left:10px}}

/* サンプル①同期 2026-09-24。検索先・既存メニュー読み込みは維持。 */
.asreet-pc-header .header-detail-bk { gap:8px; }
.asreet-pc-header .header-detail-bk > .logo { margin-right:0; }
.asreet-pc-header .area { border-left:0;padding-left:0; }
.asreet-pc-header .head-menu a { display:flex;align-items:center;gap:4px; }
.asreet-pc-header .head-menu a svg { width:16px;height:16px;flex:none; }
@media(max-width:1099px) {
  .asreet-sp-header .logo_bk .logo { text-align:left;margin:0; }
  .asreet-sp-header .logo_bk .logo a { display:inline-block; }
  .asreet-sp-header .logo_bk .logo img { display:block;margin-inline:0; }
}

/* 検索動作・既存フォームを保ったまま、サンプルの虫眼鏡ボタンに統一。 */
.asreet-pc-header :is(.searchsubmit,.asreet-header-search button) {
  font-size:0;background:#252525 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") no-repeat center/22px 22px;
}

/* 2026-09-28 再確認：既存検索フォームの「classなしinput」にも適用する。 */
@media(min-width:1100px){
 .asreet-pc-header .h1-box-bk{height:24px;min-height:0;padding:4px 0 2px;line-height:18px}
 .asreet-pc-header .h1-box-bk p{font-size:12px;line-height:18px}
 .asreet-pc-header .inner-bk.header-detail-bk{height:68px;min-height:68px;padding:8px 0;display:flex;align-items:center}
 .asreet-pc-header .header-detail,.asreet-pc-header .area{display:flex;align-items:center}
 .asreet-pc-header .header-detail-bk>.logo,.asreet-pc-header .logo a{display:flex;align-items:center}
 .asreet-pc-header .logo img{display:block;width:180px;height:auto;margin:0}
 .asreet-pc-header .area .name{line-height:1;margin:0}
 .asreet-pc-header .head-menu .menu2{display:none}
 .asreet-pc-header :is(#searchform-head,.asreet-header-search){height:36px;min-height:0;margin:0;align-items:stretch}
 .asreet-pc-header :is(#searchform-head,.asreet-header-search) input:not([type=submit]):not([type=reset]){height:36px;min-height:0;max-height:36px;line-height:20px;padding:8px 12px;margin:0;box-sizing:border-box}
 .asreet-pc-header :is(.searchsubmit,.asreet-header-search button){height:36px;min-height:0;padding:0;margin:0;align-self:center;background-size:19px 19px}
 .asreet-existing-pc-nav .gnavi-btn{height:48px;min-height:0}
 .asreet-existing-pc-nav .gnavi-btn svg{width:19px;height:19px;flex:0 0 19px}
}
/* 開閉中も外部AIウィジェットより手前に置く。検索フォームの既存DOM/送信先は維持。 */
@media(max-width:1099px){
 .asreet-sp-header.is-open{z-index:2147483647}
 body.asreet-menu-open .aibot-bk{visibility:hidden!important;pointer-events:none!important}
 #asreet-search-panel :is(.freeword_box,.asreet-header-search){width:100%;margin:0;position:relative}
 #asreet-search-panel .freeword_box dl{display:flex;align-items:stretch;width:100%;margin:0;padding:0;border:0;border-radius:4px;background:#fff;overflow:hidden}
 #asreet-search-panel .freeword_box dt{flex:1;min-width:0;width:auto;margin:0;padding:0}
 #asreet-search-panel .freeword_box dd{flex:0 0 48px;width:48px;margin:0;padding:0}
 #asreet-search-panel :is(.freeword_box,.asreet-header-search) input:not([type=submit]):not([type=reset]){box-sizing:border-box;display:block;width:100%;height:44px;min-height:0;margin:0;padding:10px 12px;border:0;border-radius:0;background:#fff;color:#303740;font-size:16px;line-height:24px;box-shadow:none}
 #asreet-search-panel :is(.searchsubmit,.asreet-header-search button){display:block;box-sizing:border-box;flex:0 0 48px;width:48px;min-width:48px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:0;font-size:0;background:#00a1ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Ccircle cx='10.5' cy='10.5' r='7.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E") no-repeat center/22px 22px;cursor:pointer}
 #asreet-search-panel input[type=reset]{display:none}
}

/* 2026-09-28 最終調整：SVG内の余白を考慮したPCロゴの光学中央。 */
@media (min-width:1100px) {
  .asreet-pc-header .header-detail-bk > .logo > a { padding-bottom:6px; }
}
/* 外部の地域メニューにも矢印を付ける。既にSVG矢印があるリンクには重ねない。 */
@media (max-width:1099px) {
  #asreet-search-panel li > a { display:flex; align-items:center; gap:12px; }
  #asreet-search-panel li > a:not(.sns-bk a):not(:has(.lucide-chevron-right))::after {
    content:""; display:block; width:7px; height:7px; flex:0 0 7px;
    margin-left:auto; margin-right:3px;
    border:0; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor;
    transform:translateY(-1px) rotate(45deg);
  }
  #asreet-search-panel li > a > .lucide-chevron-right {
    width:16px; height:16px; flex:0 0 16px; margin-left:auto; transform:translateY(-1px);
  }
}

/* SNSのロゴリンクにはメニュー用の矢印を表示しない。 */
@media (max-width:1099px) {
  #asreet-search-panel .sns-bk li > a::after { content:none; display:none; }
}

/* 2026-09-30：SNSはロゴのみ。外部メニュー側の疑似要素も無効化。 */
#asreet-search-panel .sns-bk li > a::before,
#asreet-search-panel .sns-bk li > a::after {content:none!important;display:none!important;}
#asreet-search-panel .sns-bk li > a > .lucide-chevron-right {display:none!important;}

/* 更新日: 2026-10-16 (JST) — 都道府県は3文字分を確保し、2文字でも同じ幅で中央揃え。 */
@media (max-width:1099px) {
  .asreet-sp-header .top_area_bk {flex:none;}
  .asreet-sp-header .top_area_bk a {white-space:nowrap;}
  .asreet-sp-header .top_area_bk a > span {flex:0 0 3em;width:3em;text-align:center;}
  .asreet-sp-header .top_area_bk svg {flex-shrink:0;}
}
