
@charset "UTF-8";
/* Subpages aligned to the completed TOP page */
:root{
 --sp-ink:#23342b;--sp-green:#123d2a;--sp-green2:#315846;
 --sp-gold:#a9823d;--sp-gold2:#d8c28e;
 --sp-paper:#fffdf8;--sp-cream:#f7f2e9;--sp-line:#e7dfd1;
}
body{
 background:linear-gradient(180deg,#fffdf9 0%,#faf6ef 100%)!important;
 color:var(--sp-ink)!important;
 -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.site-header{
 background:rgba(255,253,248,.98)!important;color:var(--sp-green)!important;
 border-top:3px solid #d7c28f!important;border-bottom:1px solid var(--sp-line)!important;
 box-shadow:0 2px 12px rgba(42,45,36,.025)!important
}
.header-inner{height:88px!important}
.brand-kicker{color:#806f51!important}
.brand-title,.brand-title span{color:var(--sp-green)!important;font-weight:600!important}
.header-note{color:#5f665f!important}
.global-nav{background:#fffdf9!important;border-color:var(--sp-line)!important}
.nav-inner a{color:#173f2d!important;border-color:#eee7da!important}
.nav-inner a:hover,.nav-inner a.is-current{background:#f5efe5!important;color:#123d2a!important}
.nav-inner a.is-current:after{background:var(--sp-gold)!important}

/* Hero: brighter photographic banner, matching TOP */
.sub-hero{
 height:clamp(390px,42vw,500px)!important;min-height:390px!important;
 background:#e9eee9!important;color:var(--sp-green)!important
}
.sub-hero-image{
 filter:saturate(.91) brightness(1.10) contrast(.98)!important;
 transform:none!important;background-position:center 48%!important
}
.sub-hero-overlay{
 background:linear-gradient(90deg,
   rgba(255,253,248,.97) 0%,rgba(255,253,248,.90) 27%,
   rgba(255,253,248,.56) 45%,rgba(255,253,248,.12) 67%,
   rgba(255,255,255,0) 100%)!important
}
.sub-hero-inner{color:var(--sp-green)!important}
.sub-hero-inner:before{height:54px!important;background:var(--sp-gold)!important}
.sub-eyebrow{color:#80632f!important;font-weight:600!important}
.sub-hero h1{
 color:#103826!important;text-shadow:none!important;font-weight:600!important;
 letter-spacing:.075em!important
}
.sub-lead{color:#294337!important;font-weight:500!important;letter-spacing:.045em!important}
.breadcrumb{
 padding-top:19px!important;padding-bottom:19px!important;
 border-bottom:1px solid rgba(231,223,209,.7)!important;color:#69736c!important
}
.breadcrumb a{color:#3c5c4c!important}.breadcrumb strong{color:#263b30!important}

/* Main reading field */
.sub-content{padding-top:46px!important;padding-bottom:82px!important}
.legacy-content{
 width:min(900px,100%)!important;color:#2e3d35!important;
 font-size:16px!important;line-height:2.08!important
}
.legacy-content>div,.legacy-content #contact,.legacy-content #access,.legacy-content #concept{
 max-width:900px!important;margin-left:auto!important;margin-right:auto!important
}
.legacy-content h2,.legacy-content h3,.legacy-content h4{color:var(--sp-green)!important}
.legacy-content h3{
 margin-top:54px!important;margin-bottom:24px!important;padding-bottom:14px!important;
 border-bottom:1px solid var(--sp-line)!important;font-weight:600!important
}
.legacy-content h3:after{background:var(--sp-gold)!important}
.legacy-content h4{font-weight:600!important}
.legacy-content p{color:#33443a!important}
.legacy-content p.large{font-size:16px!important}
.legacy-content b{color:#173f2d!important}
.legacy-content a{color:#315d49!important;text-decoration-color:#bca36f!important}
.legacy-content hr{border-top-color:var(--sp-line)!important}
.legacy-content img{
 max-width:min(100%,780px)!important;border-radius:3px!important;
 border:1px solid #eee5d8!important;
 box-shadow:0 12px 30px rgba(58,50,37,.085)!important
}
.legacy-content iframe{
 max-width:780px!important;border-radius:3px!important;
 box-shadow:0 10px 28px rgba(58,50,37,.08)!important
}
.page-return a{color:#365746!important;border-color:#b79a60!important}
.site-footer{
 background:linear-gradient(180deg,#f1eadf,#e7ded0)!important;
 color:#66675f!important;border-top:1px solid #d3bd91!important
}
.footer-brand span{color:#8e784e!important}.footer-brand strong{color:var(--sp-green)!important}
.site-footer nav{border-color:#d8cfbf!important}.site-footer nav a{color:#51675b!important}
.footer-note{color:#706d65!important}.copyright{color:#8d887f!important}

/* Course page */
.course-intro{padding-top:62px!important;padding-bottom:72px!important}
.course-intro-kicker,.course-section-head>p,.course-closing>div>p{color:#8d6c35!important}
.course-intro h2,.course-section-head h2{color:var(--sp-green)!important;font-weight:600!important}
.course-intro>p:not(.course-intro-kicker){color:#34483d!important}
.course-guide-points{background:#e5ddce!important;border-color:#e5ddce!important}
.course-guide-points>div{background:#fffdf9!important}
.course-guide-points span{color:#8d6c35!important}
.course-guide-points strong{color:#173f2d!important}
.course-card{
 background:#fffefb!important;border-color:#e6ddce!important;
 box-shadow:0 10px 30px rgba(58,50,37,.06)!important
}
.course-card-featured{border-top-color:#b08c49!important}
.course-card-head{border-bottom-color:#ece5d9!important}
.course-no{color:#8d6c35!important;border-color:#cdb98c!important}
.course-card-head h3,.course-copy h4 a{color:#173f2d!important}
.course-thumb img{filter:saturate(.92) brightness(1.05)!important}
.course-tags span{background:#f7f2e9!important;border-color:#e8dfd1!important;color:#506359!important}
.course-note{background:#faf6ee!important;border-left-color:#b6914b!important}

/* Smartphone: separate visual composition */
@media(max-width:760px){
 .header-inner{height:76px!important}.header-note{display:none!important}
 .brand-title{font-size:24px!important}
 .global-nav{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}
 .global-nav::-webkit-scrollbar{display:none!important}
 .nav-inner{width:max-content!important;min-width:100%!important}
 .nav-inner a{min-width:92px!important;padding:12px 12px 11px!important;font-size:12px!important}
 .sub-hero{height:360px!important;min-height:360px!important}
 .sub-hero-image{background-position:center center!important;filter:saturate(.94) brightness(1.08) contrast(1)!important}
 .sub-hero-overlay{
   background:linear-gradient(90deg,
    rgba(255,253,248,.96) 0%,rgba(255,253,248,.89) 49%,
    rgba(255,253,248,.55) 75%,rgba(255,253,248,.16) 100%)!important
 }
 .sub-hero-inner:before{height:35px!important;margin-bottom:12px!important}
 .sub-eyebrow{font-size:9px!important;margin-bottom:9px!important}
 .sub-hero h1{font-size:31px!important;line-height:1.42!important;letter-spacing:.05em!important;max-width:88%!important}
 .sub-lead{font-size:13px!important;line-height:1.8!important;max-width:84%!important;color:#203d30!important}
 .breadcrumb{font-size:10px!important;padding-top:13px!important;padding-bottom:13px!important}
 .sub-content{padding-top:28px!important;padding-bottom:54px!important}
 .legacy-content{font-size:14px!important;line-height:1.95!important}
 .legacy-content h3{font-size:22px!important;margin-top:40px!important;margin-bottom:18px!important}
 .legacy-content h4{font-size:17px!important}
 .legacy-content img{margin:14px auto 22px!important;border-radius:2px!important}
 .legacy-content iframe{height:300px!important}
 .course-intro{padding-top:42px!important;padding-bottom:52px!important}
 .course-intro h2{font-size:27px!important}
 .course-guide-points{grid-template-columns:1fr!important}
 .course-grid{grid-template-columns:1fr!important}
 .course-card,.course-card-wide{grid-column:auto!important;padding:22px 18px!important}
 .course-main,.course-pair{grid-template-columns:112px minmax(0,1fr)!important;gap:15px!important}
 .course-thumb,.course-thumb img{width:112px!important;height:84px!important}
 .course-section-head{grid-template-columns:1fr!important}
 .course-section-head>p,.course-section-head h2,.course-section-head span{grid-column:1!important}
}
@media(max-width:480px){
 .sub-hero{height:335px!important;min-height:335px!important}
 .sub-hero h1{font-size:29px!important}
 .sub-lead{max-width:88%!important}
 .course-main,.course-pair{grid-template-columns:1fr!important}
 .course-thumb,.course-thumb img{width:100%!important;height:180px!important}
}

@media(max-width:760px){
 body.page-naiguu .sub-hero-image,
 body.page-course .sub-hero-image,
 body.page-access .sub-hero-image{
   background-image:url('../../images/external-top/ujibashi-mobile.jpg')!important;
   background-position:center 44%!important;
 }
}


/* Requested external hero photographs — page-specific composition */
body.page-concept .sub-hero-image{background-position:center 56%!important}
body.page-course .sub-hero-image{background-position:center 49%!important}
body.page-news .sub-hero-image{background-position:center 50%!important}
body.page-access .sub-hero-image{background-position:center 47%!important}
body.page-saiguu .sub-hero-image{background-position:center 51%!important}

@media(max-width:760px){
 body.page-concept .sub-hero-image{background-position:center 54%!important}
 body.page-course .sub-hero-image{
   background-image:url('../../images/external-subpages/course-hero.jpg')!important;
   background-position:54% 48%!important
 }
 body.page-news .sub-hero-image{background-position:57% 50%!important}
 body.page-access .sub-hero-image{
   background-image:url('../../images/external-subpages/access-hero.jpg')!important;
   background-position:61% 48%!important
 }
 body.page-saiguu .sub-hero-image{background-position:54% 50%!important}
}

/* Access area guide map */
.access-area-map{margin:26px auto 42px;max-width:900px}
.access-area-map img{display:block;width:100%;max-width:900px!important;height:auto;border:1px solid #e1d6c3!important;box-shadow:0 14px 34px rgba(58,50,37,.09)!important}
.access-area-map figcaption{margin-top:10px;text-align:center;color:#666b65;font-size:12px;line-height:1.7}
@media(max-width:760px){
 .access-area-map{margin:18px auto 30px}
 .access-area-map figcaption{font-size:10px}
}


/* 2026-08-22 revised hero images */
body.page-concept .sub-hero-image{
  background-position:center 57%!important;
}
body.page-course .sub-hero-image{
  background-position:center 52%!important;
}
body.page-news .sub-hero-image{
  background-position:center 54%!important;
}

@media(max-width:760px){
  body.page-concept .sub-hero-image{
    background-image:url('../../images/external-subpages/concept-hero-v2.jpg')!important;
    background-position:center 58%!important;
  }
  body.page-course .sub-hero-image{
    background-image:url('../../images/external-subpages/course-hero-v2.jpg')!important;
    background-position:center 52%!important;
  }
  body.page-news .sub-hero-image{
    background-image:url('../../images/external-subpages/news-hero-v2.jpg')!important;
    background-position:center 54%!important;
  }
}


/* 2026-08-22 page-specific hero image composition */
body.page-oominato .sub-hero-image{background-position:center 52%!important}
body.page-tobaisobe .sub-hero-image{background-position:center 49%!important}
body.page-isuzugawa .sub-hero-image{background-position:center 52%!important}
body.page-obata .sub-hero-image{background-position:center 52%!important}
body.page-hatadono .sub-hero-image{background-position:center 50%!important}
body.page-futami .sub-hero-image{background-position:center 48%!important}
body.page-tokida .sub-hero-image{background-position:center 51%!important}
body.page-tamaru .sub-hero-image{background-position:center 52%!important}
body.page-takihara .sub-hero-image{background-position:center 50%!important}
body.page-miyagawa .sub-hero-image{background-position:center 52%!important}
body.page-naiguu .sub-hero-image{background-position:center 48%!important}

@media(max-width:760px){
 body.page-oominato .sub-hero-image{background-position:58% 52%!important}
 body.page-tobaisobe .sub-hero-image{background-position:58% 50%!important}
 body.page-isuzugawa .sub-hero-image{background-position:57% 52%!important}
 body.page-obata .sub-hero-image{background-position:57% 51%!important}
 body.page-hatadono .sub-hero-image{background-position:57% 50%!important}
 body.page-futami .sub-hero-image{background-position:59% 49%!important}
 body.page-tokida .sub-hero-image{background-position:59% 51%!important}
 body.page-tamaru .sub-hero-image{background-position:59% 52%!important}
 body.page-takihara .sub-hero-image{background-position:58% 50%!important}
 body.page-miyagawa .sub-hero-image{background-position:59% 52%!important}
 body.page-naiguu .sub-hero-image{background-position:60% 48%!important}
}

/* 小俣めぐり周辺地図 */
.obata-map-panel{margin:18px auto 40px;padding:24px;max-width:900px;background:#fffdf9;border:1px solid #e6ddce;box-shadow:0 12px 32px rgba(58,50,37,.07)}
.obata-map-heading span{display:block;margin-bottom:5px;font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:#96743a}
.obata-map-heading strong{display:block;color:#153e2d!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;font-weight:600;letter-spacing:.06em}
.obata-map-heading p{margin:8px 0 17px!important;color:#526159!important;font-size:13px!important;line-height:1.8!important}
.obata-map-frame{position:relative;overflow:hidden;width:100%;height:470px;background:#eee9df;border:1px solid #e3dacb}
.obata-map-frame iframe{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}
.obata-map-spots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.obata-map-spots a{display:inline-block;padding:7px 13px;border:1px solid #d9c9aa;background:#faf6ed;color:#244c3a!important;text-decoration:none!important;font-size:12px}
.obata-map-spots a:hover{background:#f2eadc}
@media(max-width:760px){.obata-map-panel{padding:15px;margin:12px auto 30px}.obata-map-heading strong{font-size:21px}.obata-map-heading p{font-size:12px!important}.obata-map-frame{height:360px}.obata-map-spots{display:grid;grid-template-columns:1fr}.obata-map-spots a{text-align:center;padding:10px}}

.obata-route-guide{margin:18px auto 28px;max-width:900px;padding:24px;background:#fffdf9;border:1px solid #e6ddce;box-shadow:0 12px 32px rgba(58,50,37,.07)}
.obata-route-title span{display:block;margin-bottom:5px;font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:#96743a}
.obata-route-title strong{display:block;color:#153e2d!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;font-weight:600;letter-spacing:.06em}
.obata-route-title p{margin:8px 0 17px!important;color:#526159!important;font-size:13px!important;line-height:1.8!important}
.obata-route-guide img{display:block;width:100%;max-width:100%!important;height:auto;margin:0!important;border:1px solid #e3dacb!important;box-shadow:none!important}
@media(max-width:760px){.obata-route-guide{padding:15px;margin:12px auto 22px}.obata-route-title strong{font-size:21px}.obata-route-title p{font-size:12px!important}}

/* 全めぐりページ共通：歩行順路 */
.walking-route-guide{margin:18px auto 28px;max-width:900px;padding:24px;background:#fffdf9;border:1px solid #e6ddce;box-shadow:0 12px 32px rgba(58,50,37,.07)}
.walking-route-title span{display:block;margin-bottom:5px;font-family:Georgia,serif;font-size:10px;letter-spacing:.24em;color:#96743a}
.walking-route-title strong{display:block;color:#153e2d!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px;font-weight:600;letter-spacing:.06em}
.walking-route-title p{margin:8px 0 17px!important;color:#526159!important;font-size:13px!important;line-height:1.8!important}
.walking-route-guide img{display:block;width:100%;max-width:100%!important;height:auto;margin:0!important;border:1px solid #e3dacb!important;box-shadow:none!important}
@media(max-width:760px){.walking-route-guide{padding:15px;margin:12px auto 22px}.walking-route-title strong{font-size:21px}.walking-route-title p{font-size:12px!important}}

.obata-real-route{margin:18px auto 30px;max-width:900px;padding:24px;background:#fffdf9;border:1px solid #e6ddce;box-shadow:0 12px 32px rgba(58,50,37,.07)}
.obata-real-head span{display:block;font:10px Georgia,serif;letter-spacing:.24em;color:#96743a;margin-bottom:5px}.obata-real-head strong{display:block;color:#153e2d!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:24px}.obata-real-head p{font-size:13px!important;color:#526159!important;line-height:1.8!important}
#obata-real-map{width:100%;height:520px;border:1px solid #ddd3c1;background:#eee9df;z-index:1}.obata-map-caution{font-size:11px!important;line-height:1.7!important;color:#77756d!important;margin-top:10px!important}.obata-num{width:34px;height:34px;border-radius:50%;background:#174a33;color:white;border:2px solid white;box-shadow:0 2px 7px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font:700 13px Arial}.obata-num.end{background:#a27c37}
@media(max-width:760px){.obata-real-route{padding:15px}.obata-real-head strong{font-size:21px}#obata-real-map{height:420px}}
.all-real-map{width:100%;height:520px;border:1px solid #ddd3c1;background:#eee9df;z-index:1}@media(max-width:760px){.all-real-map{height:420px}}

/* コース共通：現地利用向け基本情報 */
.course-quick-info{margin:20px auto 18px;max-width:900px;padding:22px 24px;background:linear-gradient(180deg,#fffefa,#faf6ed);border:1px solid #e4d9c5;box-shadow:0 8px 24px rgba(58,50,37,.055)}
.course-quick-title span{display:block;font:10px Georgia,serif;letter-spacing:.24em;color:#96743a;margin-bottom:4px}
.course-quick-title strong{display:block;color:#173f2d;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;font-weight:600}
.course-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:17px 0 12px}
.course-quick-grid div{min-height:68px;padding:11px 13px;background:#fff;border:1px solid #e9e0d1}
.course-quick-grid small{display:block;margin-bottom:5px;color:#9a7b45;font:10px Georgia,serif;letter-spacing:.12em}
.course-quick-grid b{display:block;color:#294b3b;font-size:13px;line-height:1.5}
.course-quick-info>p{margin:0!important;color:#667068!important;font-size:12px!important;line-height:1.75!important}
@media(max-width:760px){.course-quick-info{padding:17px 15px}.course-quick-grid{grid-template-columns:1fr}.course-quick-grid div{min-height:auto}.course-quick-title strong{font-size:20px}}

.course-page-nav{max-width:900px;margin:42px auto 12px;padding-top:22px;border-top:1px solid #e4d9c5;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.course-page-nav a{display:block;padding:11px 12px;border:1px solid #dfd4c1;background:#fffdf8;color:#28513d!important;text-decoration:none!important;font-size:12px;line-height:1.5}
.course-page-nav .course-prev{text-align:left}.course-page-nav .course-list{text-align:center;font-weight:600}.course-page-nav .course-next{text-align:right}
@media(max-width:760px){.course-page-nav{grid-template-columns:1fr}.course-page-nav a,.course-page-nav .course-prev,.course-page-nav .course-next{text-align:center}}

/* Phase 2: 地図の役割・公式情報の明確化 */
.map-purpose-badge{display:inline-block;margin:0 0 10px;padding:5px 10px;border-radius:999px;background:#1f553c;color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}
.map-purpose-badge.map-purpose-overview{background:#9a783e}
.official-map-reference{max-width:900px;margin:-10px auto 30px;padding:14px 17px;background:#f7f3e9;border-left:3px solid #a58448}
.official-map-reference span{display:block;margin-bottom:4px;font:9px Georgia,serif;letter-spacing:.18em;color:#8d6e38}
.official-map-reference p{margin:0!important;color:#59645d!important;font-size:12px!important;line-height:1.7!important}
.official-map-reference a{color:#285b42!important;text-decoration:underline;text-underline-offset:3px}

/* Phase 3: 地図精度・現地利用の補助表示 */
.route-map-legend{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:10px 0 12px;padding:9px 11px;background:#f6f3eb;border:1px solid #e4dccd;color:#59645d;font-size:11px}
.route-map-legend span{display:inline-flex;align-items:center;gap:5px}.route-map-legend b{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#174a33;color:#fff;font:700 10px Arial}.route-map-legend span:nth-child(3) b{background:#a27c37}.route-line-key:before{content:"";display:inline-block;width:28px;border-top:3px dashed #245c41;margin-right:3px}
.route-accuracy-notice{max-width:900px;margin:18px auto;padding:16px 18px;background:#fffaf0;border:1px solid #e5d5b5;border-left:4px solid #9a783e}.route-accuracy-notice strong{display:block;color:#684f28;font-size:13px}.route-accuracy-notice p{margin:5px 0 7px!important;color:#5d625d!important;font-size:12px!important;line-height:1.7!important}.route-accuracy-notice a{color:#285b42!important;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.location-verification-note{margin:9px 0 0!important;padding-top:8px;border-top:1px dotted #d9d0c1;color:#77756d!important;font-size:10.5px!important;line-height:1.7!important}
@media(max-width:760px){.route-map-legend{gap:7px 10px}.route-accuracy-notice{margin:14px auto;padding:14px}}

/* Phase 4: スマートフォン現地利用・表示速度 */
.field-map-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px}
.field-map-actions button{appearance:none;border:0;border-radius:4px;padding:10px 15px;background:#1f553c;color:#fff;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(31,85,60,.18)}
.field-map-actions button:active{transform:translateY(1px)}
.field-map-actions span{color:#77756d;font-size:10.5px}
@media(max-width:760px){
 .field-map-actions{align-items:stretch;flex-direction:column}
 .field-map-actions button{width:100%;min-height:44px;font-size:13px}
 .field-map-actions span{text-align:center}
 .real-walking-map,.all-real-map,#obata-real-map{min-height:430px}
 .leaflet-control-zoom a{width:38px!important;height:38px!important;line-height:38px!important;font-size:22px!important}
}

.field-locate-btn:disabled{opacity:.62;cursor:wait}
@media(max-width:760px){.leaflet-popup-content{font-size:13px;line-height:1.55}}
