.hero-creative[data-astro-cid-j7pv25f6]{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden;padding-right:80px}.hero-creative[data-astro-cid-j7pv25f6]:before{content:"";position:absolute;inset:0;background:#020d1a;z-index:-3}.aperture-reveal-wrapper[data-astro-cid-j7pv25f6]{position:absolute;inset:0;z-index:-2}.hero-aperture-mask[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;clip-path:circle(25% at 50% 50%);position:relative;overflow:hidden;transition:clip-path .1s linear;will-change:clip-path}@supports ((animation-timeline: scroll()) and (animation-range: entry)){@keyframes expand-aperture{0%{clip-path:circle(25% at 50% 50%)}to{clip-path:circle(100% at 50% 50%)}}.hero-aperture-mask[data-astro-cid-j7pv25f6]{animation:expand-aperture auto linear forwards;animation-timeline:scroll(root);animation-range:0vh 80vh}}.hero-full-bg[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover;object-position:center}.aperture-overlay[data-astro-cid-j7pv25f6]{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,#041a2b4d,#020d1ad1),linear-gradient(180deg,#020d1a8c,#020d1a4d 45%,#020d1ab3)}.hero-grid-layout[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center;z-index:10;position:relative;box-sizing:border-box}.hero-editorial-title[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:clamp(2.5rem,8vw,6.5rem);font-weight:800;line-height:.95;letter-spacing:-.05em;color:#f4f9ff;display:flex;flex-direction:column;pointer-events:none;text-shadow:0 2px 24px rgba(0,0,0,.45)}.hero-editorial-title[data-astro-cid-j7pv25f6] .word[data-astro-cid-j7pv25f6]{display:block}.text-outline[data-astro-cid-j7pv25f6]{color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.45)}.italic-text[data-astro-cid-j7pv25f6]{color:#5ee2ff;text-shadow:0 0 24px rgba(94,226,255,.55),0 2px 16px rgba(0,0,0,.5)}.hero-pre-title[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:.9rem;font-weight:700;letter-spacing:.35em;color:#ff8da3;display:block;margin-bottom:1rem;text-shadow:0 2px 12px rgba(0,0,0,.5)}.hero-editorial-jp-title[data-astro-cid-j7pv25f6]{font-family:var(--font-sans);font-size:clamp(1.1rem,2vw,1.6rem);font-weight:700;color:#f4f9ff;margin-top:1.5rem;letter-spacing:.05em;text-shadow:0 2px 16px rgba(0,0,0,.55)}.hero-right-side[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:2rem;align-items:flex-start}.hero-desc-para[data-astro-cid-j7pv25f6]{font-size:1.1rem;line-height:1.8;color:#dbe7f2;text-shadow:0 2px 16px rgba(0,0,0,.6)}.service-nav-grid[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:3rem}.service-nav-card[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;padding:1.5rem 1.75rem;text-decoration:none;border:1px solid rgba(0,0,0,.08);border-left:3px solid var(--color-cyan);transition:all .4s cubic-bezier(.16,1,.3,1)}.service-nav-card[data-astro-cid-j7pv25f6]:nth-child(2n){border-left-color:var(--color-coral)}.service-nav-card[data-astro-cid-j7pv25f6]:hover{transform:translateY(-4px);box-shadow:var(--shadow-cyan-glow)}.service-nav-icon[data-astro-cid-j7pv25f6]{font-size:1.6rem;margin-bottom:.6rem}.service-nav-card[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:1.2rem;font-weight:800;letter-spacing:.05em;color:var(--color-text-title);margin-bottom:.25rem}.service-nav-desc[data-astro-cid-j7pv25f6]{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.75rem}.service-nav-detail[data-astro-cid-j7pv25f6]{font-size:.9rem;line-height:1.7;color:var(--color-text-body);flex:1}.service-nav-link[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:.8rem;font-weight:700;letter-spacing:.1em;color:var(--color-cyan);margin-top:1rem;text-transform:uppercase}.service-nav-card[data-astro-cid-j7pv25f6]:nth-child(2n) .service-nav-link[data-astro-cid-j7pv25f6]{color:var(--color-coral)}.cert-cards[data-astro-cid-j7pv25f6]{display:flex;gap:1.5rem;margin-top:2rem}.cert-card-item[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.cert-thumb[data-astro-cid-j7pv25f6]{display:block;width:180px;height:120px;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface);cursor:pointer;transition:all .3s ease;padding:0}.cert-thumb[data-astro-cid-j7pv25f6]:hover{border-color:var(--color-cyan);box-shadow:var(--shadow-cyan-glow);transform:translateY(-3px)}.cert-thumb[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:100%;object-fit:cover}.cert-card-label[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:.7rem;font-weight:700;color:var(--color-text-muted);text-align:center;letter-spacing:.02em}.cert-modal[data-astro-cid-j7pv25f6]{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.cert-modal[data-astro-cid-j7pv25f6].is-open{opacity:1;visibility:visible}.cert-modal-backdrop[data-astro-cid-j7pv25f6]{position:absolute;inset:0;background:#000000b3;backdrop-filter:blur(4px)}.cert-modal-content[data-astro-cid-j7pv25f6]{position:relative;width:90vw;height:85vh;max-width:900px;background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 40px 80px #0000004d;transform:scale(.95);transition:transform .3s cubic-bezier(.16,1,.3,1)}.cert-modal[data-astro-cid-j7pv25f6].is-open .cert-modal-content[data-astro-cid-j7pv25f6]{transform:scale(1)}.cert-modal-close[data-astro-cid-j7pv25f6]{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;background:#000000b3;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;border:none;transition:background .2s ease}.cert-modal-close[data-astro-cid-j7pv25f6]:hover{background:var(--color-coral)}.cert-modal-content[data-astro-cid-j7pv25f6] iframe[data-astro-cid-j7pv25f6]{width:100%;height:100%;border:none}@media(max-width:768px){.hero-creative[data-astro-cid-j7pv25f6]{padding-right:0;min-height:calc(100vh - 60px)}.hero-aperture-mask[data-astro-cid-j7pv25f6]{clip-path:circle(70% at 50% 50%)!important}.hero-grid-layout[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:2rem;padding-top:60px;text-align:center}.hero-editorial-title[data-astro-cid-j7pv25f6]{align-items:center}.hero-right-side[data-astro-cid-j7pv25f6]{align-items:center;text-align:center}.editorial-section[data-astro-cid-j7pv25f6]{padding:4rem 0}.editorial-grid[data-astro-cid-j7pv25f6],.service-nav-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr}}


/* ==================== Izu Dive Field Map (full-bleed) ==================== */
.izu-map-section{position:relative;background:radial-gradient(120% 95% at 50% -5%,#0a2d49 0%,#06223a 48%,#03162a 100%);color:#dbe7f2;overflow:hidden}
.izu-map-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 12%,rgba(255,141,163,.10),transparent 45%),radial-gradient(circle at 12% 85%,rgba(94,226,255,.10),transparent 45%);pointer-events:none}
.izu-map-section .section-badge{color:#5ee2ff;border-bottom-color:rgba(94,226,255,.25)}
.izu-map-section .editorial-title{color:#f4f9ff}
.izu-map-section .editorial-title .text-gradient{background:linear-gradient(135deg,#5ee2ff,#ff8da3);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.izu-map-section .header-paragraph{color:#aebfce}
.izu-map-intro{position:relative;z-index:2}
.izu-map-stage{position:relative;z-index:2;width:100%}
.izu-leaflet{width:100%;aspect-ratio:3 / 4;background:#03152a;border:1px solid rgba(94,226,255,.12);border-radius:14px;overflow:hidden}
.izu-leaflet:focus{outline:none}

/* 2カラム・レイアウト（PC: 左に地図(3:4 縦長) / 右に情報パネル。スマホ: 縦積み。
   比率に関係なくJS側でスポット範囲をコンテナ比率に合わせて埋めるのでグレー帯は出ない） */
.izu-map-layout{margin-top:3.5rem}
@media(min-width:900px){
	.izu-map-layout{display:grid;grid-template-columns:minmax(340px,420px) 1fr;gap:2rem;align-items:start}
	.izu-map-layout .izu-info-panel{margin-top:0}
}

/* 情報パネル（右） */
.izu-info-panel{position:relative;z-index:2;margin-top:1.5rem;background:rgba(5,22,38,.55);border:1px solid rgba(94,226,255,.14);border-radius:14px;padding:1.7rem 1.6rem;backdrop-filter:blur(4px)}
.izu-info-kicker{font-family:var(--font-title);font-size:.66rem;font-weight:800;letter-spacing:.18em;color:#5ee2ff}
.izu-info-heading{font-family:var(--font-title);font-size:1.45rem;font-weight:800;line-height:1.3;color:#f4f9ff;margin:.55rem 0 .85rem}
.izu-info-lead{font-size:.85rem;line-height:1.75;color:#aebfce;margin:0 0 1.4rem}
.izu-info-panel .izu-map-legend{flex-direction:column;align-items:flex-start;gap:.7rem;margin:0 0 1.4rem;justify-content:flex-start}
.izu-info-windrow{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.8rem 1rem;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.izu-info-windrow-label{font-family:var(--font-title);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:#9fb3c6}
.izu-info-windrow-val{font-family:var(--font-title);font-size:.95rem;font-weight:800;color:#eaf4ff}
.izu-info-back{font-family:var(--font-title);font-size:.74rem;font-weight:700;color:#9fb3c6;background:none;border:none;cursor:pointer;padding:0 0 1rem;transition:color .2s ease}
.izu-info-back:hover{color:#5ee2ff}
.izu-info-spot{border-left:3px solid var(--c,#5ee2ff);padding-left:1rem}
.izu-info-spot-home{--c:#ffcf5e}
.izu-info-spot-west{--c:#5ee2ff}
.izu-info-spot-east{--c:#ff8da3}
.izu-info-spot-area{font-family:var(--font-title);font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--c)}
.izu-info-spot-name{font-family:var(--font-title);font-size:1.6rem;font-weight:800;color:#f4f9ff;margin:.3rem 0 1.1rem;display:flex;flex-direction:column;gap:.15rem;line-height:1.1}
.izu-info-spot-name span{font-size:.64rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}
.izu-info-spot-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.2rem}
.izu-info-stat{display:flex;flex-direction:column;gap:.25rem;padding:.7rem .8rem;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.izu-info-stat .k{font-family:var(--font-title);font-size:.64rem;font-weight:700;letter-spacing:.04em;color:#8fa6ba}
.izu-info-stat .v{font-family:var(--font-title);font-size:.92rem;font-weight:800;color:#eaf4ff}
.izu-info-stat-wind{grid-column:1 / -1}
.izu-info-spot-creature .k{display:block;font-family:var(--font-title);font-size:.64rem;font-weight:700;letter-spacing:.04em;color:#8fa6ba;margin-bottom:.4rem}
.izu-info-spot-creature p{margin:0;font-size:.92rem;line-height:1.7;color:#eaf4ff;font-weight:700}
/* 航空写真の海をより鮮やかな青に見せる映像補正(明るさは持ち上げず白飛びを防ぐ) */
.leaflet-pane.izu-sat-vivid{filter:saturate(1.22) contrast(1.02)}
/* 端数ズーム(zoomSnap:0)で出るタイル間の細い継ぎ目(グリッド線)を消す:
   各タイルを約1pxだけ大きく描画して隣と重ねる */
.izu-leaflet .leaflet-tile{width:257px!important;height:257px!important}

/* 風レイヤーのツールバー（チップ）— 地図右上にオーバーレイ表示し、上の余白を作らない */
.izu-map-tools{position:absolute;top:.8rem;right:.8rem;z-index:500;display:flex;align-items:center;gap:.6rem;margin:0}
.izu-chip{font-family:var(--font-title);font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#aebfce;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:.45rem 1.1rem;cursor:pointer;transition:all .25s ease}
.izu-chip:hover{color:#eaf4ff;border-color:rgba(94,226,255,.4)}
.izu-chip.is-on{background:linear-gradient(135deg,#0891b2,#22d3ee);color:#04121f;border-color:transparent;box-shadow:0 4px 14px rgba(8,145,178,.35)}
.izu-tools-hint{display:none}

/* 風パーティクル(白い流線)のキャンバス。地図ペイン(z-index:400)より上・コントロール(1000)より下 */
.izu-wind-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:450}

/* 風コンパス(WindDial) */
.lwind-wrap{background:none!important;border:none!important}
.lwind{position:relative}
.lwind-bg{position:absolute;inset:8%;border-radius:50%;background:rgba(4,18,30,.5);box-shadow:0 2px 8px rgba(0,0,0,.45)}
.lwind-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;pointer-events:none}
.lwind-num{font-family:var(--font-title);font-weight:700;color:#fff;line-height:1}
.lwind-unit,.lwind-top{color:rgba(255,255,255,.72);font-family:var(--font-title);font-weight:400;line-height:1}

/* 平均風ダイヤル(左上コントロール) */
.izu-avg-dial{position:relative;background:rgba(4,18,30,.55);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:.3rem;backdrop-filter:blur(4px);box-shadow:0 4px 14px rgba(0,0,0,.4)}

/* 風ON/OFFは地図上のパーティクルと平均ダイヤルのみ切替(スポットのアイコンは常時表示) */
.izu-leaflet:not(.wind-on) .izu-avg-dial{display:none}

/* Marker (Leaflet divIcon) */
.lpin-wrap{background:none!important;border:none!important}
.lpin{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.lpin-dot{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:1.15rem;line-height:1;background:rgba(6,24,40,.88);border:2px solid var(--pin-color);box-shadow:0 6px 16px rgba(0,0,0,.55),0 0 0 4px rgba(255,255,255,.04);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease}
.lpin-dot:after{content:"";position:absolute;bottom:-7px;left:50%;width:2px;height:7px;background:var(--pin-color);transform:translateX(-50%);opacity:.7}
.lpin-emoji{display:block}
.lpin-img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.lpin-name{font-family:var(--font-title);font-size:.7rem;font-weight:700;letter-spacing:.02em;color:#eaf4ff;text-shadow:0 1px 6px rgba(0,0,0,.9);white-space:nowrap;background:rgba(2,13,26,.6);padding:.05rem .4rem;border-radius:4px}

/* Place-name label at the true spot location（地名は重要なので大きく・背景なし・影で視認性確保） */
.lname-wrap{background:none!important;border:none!important}
.lname{display:flex;align-items:center;gap:6px;white-space:nowrap}
.lname-dot{width:10px;height:10px;border-radius:50%;background:var(--c);border:2px solid rgba(255,255,255,.95);box-shadow:0 0 8px var(--g),0 1px 3px rgba(0,0,0,.6);flex:none}
.lname-text{font-family:var(--font-title);font-size:.98rem;font-weight:800;letter-spacing:.02em;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.98),0 0 4px rgba(0,0,0,.95),0 0 10px rgba(0,0,0,.7)}
.lname-west{--c:#5ee2ff;--g:rgba(94,226,255,.7)}
.lname-east{--c:#ff8da3;--g:rgba(255,141,163,.7)}
.lname-home{--c:#ffcf5e;--g:rgba(255,207,94,.8)}
.lname-wrap:hover{z-index:1000}

/* 1スポット=1マーカー（おすすめ生物アイコン＋地名）。アイコン中心がダイビングエリア座標、地名はその下に大きく表示 */
.lspot-wrap{background:none!important;border:none!important}
.lspot{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center}
.lspot .lpin-dot:after{display:none} /* 下に出る小さなテイルは地名と重なるので非表示 */
.lspot .lname-text{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none}
.lspot.lpin-home .lname-text{top:calc(100% + 9px)} /* ホームは大きいピンぶん下げる */
.lspot-wrap:hover{z-index:1000}
.lspot-wrap:hover .lpin-dot{transform:scale(1.12)}

/* クラスタ（近接スポットの集約。知名度の大きい地名で表示、クリックで拡大→分裂） */
.lcluster-wrap{background:none!important;border:none!important}
.lcluster{position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:1px;padding:.42rem .9rem;border-radius:999px;background:rgba(4,18,30,.85);border:2px solid var(--pin-color,#5ee2ff);box-shadow:0 6px 18px rgba(0,0,0,.55),0 0 16px var(--pin-glow,rgba(94,226,255,.4));backdrop-filter:blur(3px);cursor:pointer;white-space:nowrap;transition:transform .2s ease}
.lcluster:hover{transform:translate(-50%,-50%) scale(1.06)}
.lcluster-name{font-family:var(--font-title);font-size:.95rem;font-weight:800;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.9)}
.lcluster-count{font-family:var(--font-title);font-size:.6rem;font-weight:700;color:var(--pin-color,#5ee2ff);letter-spacing:.05em}
.lcluster-west{--pin-color:#5ee2ff;--pin-glow:rgba(94,226,255,.45)}
.lcluster-east{--pin-color:#ff8da3;--pin-glow:rgba(255,141,163,.45)}
.lcluster-home{--pin-color:#ffcf5e;--pin-glow:rgba(255,207,94,.5)}
.lpin-west{--pin-color:#5ee2ff;--pin-glow:rgba(94,226,255,.65)}
.lpin-east{--pin-color:#ff8da3;--pin-glow:rgba(255,141,163,.65)}
.lpin-home{--pin-color:#ffcf5e;--pin-glow:rgba(255,207,94,.75)}
.lpin-wrap:hover{z-index:1000}
.lpin-wrap:hover .lpin-dot{transform:scale(1.15);box-shadow:0 10px 24px rgba(0,0,0,.6),0 0 20px var(--pin-glow)}
.lpin-home .lpin-dot{width:52px;height:52px;font-size:1.45rem;border-width:3px;animation:lpin-pulse 2.6s ease-in-out infinite}
.lpin-home .lpin-img{width:46px;height:46px}
.lpin-home .lpin-name{background:linear-gradient(135deg,#ffcf5e,#ff8da3);color:#06223a;font-weight:800}
.lpin-home .lpin-name:before{content:"★ "}
@keyframes lpin-pulse{0%,100%{box-shadow:0 6px 16px rgba(0,0,0,.55),0 0 0 0 rgba(255,207,94,.5)}50%{box-shadow:0 6px 16px rgba(0,0,0,.55),0 0 0 12px rgba(255,207,94,0)}}

/* Popup */
.izu-pop .leaflet-popup-content-wrapper{background:rgba(5,22,38,.97);color:#dbe7f2;border:1px solid rgba(94,226,255,.3);border-radius:12px;box-shadow:0 18px 44px rgba(0,0,0,.6)}
.izu-pop .leaflet-popup-content{margin:.9rem 1.05rem;line-height:1.5}
.izu-pop .leaflet-popup-tip{background:rgba(5,22,38,.97);border:1px solid rgba(94,226,255,.3)}
.izu-pop a.leaflet-popup-close-button{color:#8fa6ba;padding:8px 8px 0 0}
.izu-pop a.leaflet-popup-close-button:hover{color:#fff;background:transparent}
.lpop-west{--pin-color:#5ee2ff}
.lpop-east{--pin-color:#ff8da3}
.lpop-home{--pin-color:#ffcf5e}
.lpop h4{font-family:var(--font-title);font-size:1rem;font-weight:800;color:#f4f9ff;margin:0 0 .5rem;display:flex;flex-direction:column;gap:.1rem}
.lpop h4 span{font-family:var(--font-title);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pin-color)}
.lpop-stats{display:flex;gap:.4rem;margin-bottom:.5rem;flex-wrap:wrap}
.lpop-stats span{font-size:.68rem;color:#cdddec;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:.18rem .5rem;white-space:nowrap}
.lpop-creature{font-size:.78rem;line-height:1.55;color:#9fb3c6;margin:0}
.lpop-creature b{color:#eaf4ff;font-weight:700}

/* Leaflet controls (dark theme) */
.izu-leaflet .leaflet-bar{border:none;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.izu-leaflet .leaflet-control-zoom a{background:rgba(6,24,40,.92);color:#cfe6f2;border-color:rgba(94,226,255,.2)}
.izu-leaflet .leaflet-control-zoom a:hover{background:rgba(8,145,178,.9);color:#fff}
/* 最小ズーム時に無効化される「−」ボタンも暗色テーマに合わせる（白背景を防ぐ） */
.izu-leaflet .leaflet-control-zoom a.leaflet-disabled{background:rgba(6,24,40,.55);color:rgba(207,230,242,.3);cursor:default}
.izu-leaflet .leaflet-control-zoom a.leaflet-disabled:hover{background:rgba(6,24,40,.55);color:rgba(207,230,242,.3)}
.izu-leaflet .leaflet-control-attribution{background:rgba(2,13,26,.72);color:#8fa6ba}
.izu-leaflet .leaflet-control-attribution a{color:#5ee2ff}

/* Legend + note */
.izu-map-legend{display:flex;flex-wrap:wrap;gap:1.75rem;justify-content:center;margin-top:3rem;position:relative;z-index:2}
.legend-item{display:flex;align-items:center;gap:.55rem;font-family:var(--font-title);font-size:.78rem;font-weight:700;letter-spacing:.06em;color:#aebfce;text-transform:uppercase}
.legend-dot{width:15px;height:15px;border-radius:50%;border:2px solid}
.legend-dot.west{border-color:#5ee2ff;background:rgba(94,226,255,.22)}
.legend-dot.east{border-color:#ff8da3;background:rgba(255,141,163,.22)}
.legend-dot.home{border-color:#ffcf5e;background:rgba(255,207,94,.28)}
.izu-map-note{text-align:center;margin-top:1.5rem;font-size:.8rem;line-height:1.7;color:#7d93a8;position:relative;z-index:2;max-width:900px;margin-left:auto;margin-right:auto}

@media(max-width:768px){
	.izu-leaflet{max-height:82vh}
	.izu-info-panel{padding:1.4rem 1.3rem}
	.izu-info-spot-name{font-size:1.45rem}
	.lpin-dot{width:34px;height:34px;font-size:1rem}
	.lpin-home .lpin-dot{width:44px;height:44px;font-size:1.25rem}
	.lpin-name{font-size:.6rem}
	.lname-text{font-size:.6rem}
	.lname-dot{width:8px;height:8px}
	.izu-map-legend{gap:1rem}
	.legend-item{font-size:.7rem}
}

@media(min-width:769px) and (max-width:1024px){.service-nav-grid[data-astro-cid-j7pv25f6]{grid-template-columns:repeat(2,1fr)}}

/* --- Services: Fun Diving as featured (large) card, others compact --- */
.service-nav-card[data-astro-cid-j7pv25f6]:first-child{grid-column:span 2;grid-row:span 2;padding:2.5rem 3rem;border-left-width:4px;justify-content:space-between}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-icon[data-astro-cid-j7pv25f6]{font-size:2.6rem;margin-bottom:1rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child h3[data-astro-cid-j7pv25f6]{font-size:1.9rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-desc[data-astro-cid-j7pv25f6]{font-size:1rem;margin-bottom:1rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-detail[data-astro-cid-j7pv25f6]{font-size:1.05rem;line-height:1.8;max-width:640px}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-link[data-astro-cid-j7pv25f6]{font-size:.9rem;margin-top:1.5rem}
@media(min-width:769px) and (max-width:1024px){.service-nav-card[data-astro-cid-j7pv25f6]:first-child{grid-row:span 1}}
@media(max-width:768px){.service-nav-card[data-astro-cid-j7pv25f6]:first-child{grid-column:auto;grid-row:auto;padding:1.75rem}}

/* --- Services (mobile): strong hierarchy — Fun Diving hero + compact 2-col tiles --- */
@media(max-width:768px){
.service-nav-grid[data-astro-cid-j7pv25f6]{grid-template-columns:1fr 1fr;gap:.75rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child{grid-column:1 / -1;grid-row:auto;position:relative;padding:1.75rem 1.5rem;background:linear-gradient(135deg,rgba(8,145,178,.09),rgba(225,29,72,.05));border-left-width:4px}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child::before{content:"おすすめ / PICK UP";position:absolute;top:1rem;right:1rem;font-family:var(--font-title);font-size:.58rem;font-weight:800;letter-spacing:.12em;color:#fff;background:var(--color-cyan);padding:.25rem .7rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-icon[data-astro-cid-j7pv25f6]{font-size:2.2rem;margin-bottom:.75rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child h3[data-astro-cid-j7pv25f6]{font-size:1.5rem}
.service-nav-card[data-astro-cid-j7pv25f6]:first-child .service-nav-detail[data-astro-cid-j7pv25f6]{font-size:.95rem}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child){padding:1.1rem 1rem}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child) .service-nav-icon[data-astro-cid-j7pv25f6]{font-size:1.5rem;margin-bottom:.4rem}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child) h3[data-astro-cid-j7pv25f6]{font-size:.95rem}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child) .service-nav-desc[data-astro-cid-j7pv25f6]{font-size:.72rem;margin-bottom:0}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child) .service-nav-detail[data-astro-cid-j7pv25f6]{display:none}
.service-nav-card[data-astro-cid-j7pv25f6]:not(:first-child) .service-nav-link[data-astro-cid-j7pv25f6]{display:none}
.service-nav-card[data-astro-cid-j7pv25f6]:last-child{grid-column:1 / -1}
}

/* --- Cert tooltip on career list (PC hover / mobile tap) --- */
.cert-tip-li[data-astro-cid-j7pv25f6]{position:relative;cursor:pointer;outline:none}
.cert-tip-badge[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:.62rem;font-weight:800;letter-spacing:.05em;color:var(--color-cyan);border:1px solid rgba(8,145,178,.35);padding:.1rem .55rem;white-space:nowrap;transition:background .2s ease,color .2s ease}
.cert-tip-li[data-astro-cid-j7pv25f6]:hover .cert-tip-badge[data-astro-cid-j7pv25f6],.cert-tip-li[data-astro-cid-j7pv25f6]:focus-within .cert-tip-badge[data-astro-cid-j7pv25f6],.cert-tip-li[data-astro-cid-j7pv25f6].is-open .cert-tip-badge[data-astro-cid-j7pv25f6]{background:var(--color-cyan);color:#fff}
.cert-tooltip[data-astro-cid-j7pv25f6]{position:absolute;left:0;bottom:calc(100% + 12px);z-index:60;width:230px;padding:.75rem;background:var(--color-surface-solid);border:1px solid var(--color-cyan);box-shadow:var(--shadow-abyss);display:flex;flex-direction:column;gap:.5rem;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;pointer-events:none}
.cert-tooltip[data-astro-cid-j7pv25f6]:after{content:"";position:absolute;top:100%;left:26px;border:7px solid transparent;border-top-color:var(--color-cyan)}
.cert-tip-li[data-astro-cid-j7pv25f6]:hover .cert-tooltip[data-astro-cid-j7pv25f6],.cert-tip-li[data-astro-cid-j7pv25f6]:focus-within .cert-tooltip[data-astro-cid-j7pv25f6],.cert-tip-li[data-astro-cid-j7pv25f6].is-open .cert-tooltip[data-astro-cid-j7pv25f6]{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.cert-tooltip[data-astro-cid-j7pv25f6] .cert-thumb[data-astro-cid-j7pv25f6]{width:100%;height:150px}
.cert-tooltip-label[data-astro-cid-j7pv25f6]{font-family:var(--font-title);font-size:.68rem;font-weight:700;color:var(--color-text-muted);text-align:center;letter-spacing:.02em}
