/*
Theme Name: Yumenoshima Yacht Club
Theme URI: https://yumenoshima-yc.com
Author: Yumenoshima YC
Description: 夢の島ヨットクラブ公式WordPressテーマ — ミニマル＆ブルーアクセント
Version: 1.4.0
License: GNU General Public License v2 or later
Text Domain: yumenoshima
*/

/* ===== TOKENS ===== */
:root {
  color-scheme:light;
  --blue-900:#0b1d33;--blue-800:#0f2d4f;--blue-700:#15406d;--blue-600:#1d5a96;
  --blue-500:#2e7bc5;--blue-400:#4a9ae0;--blue-300:#7dbcf0;--blue-200:#b4d8f7;
  --blue-100:#ddeefb;--blue-50:#f0f7fd;
  --white:#fff;--gray-50:#f8f9fb;--gray-100:#f1f3f5;--gray-200:#e4e7eb;
  --gray-300:#ced3d9;--gray-400:#98a1ad;--gray-500:#6b7687;--gray-600:#4a5568;
  --gray-700:#333e4e;--gray-800:#1e2736;--gray-900:#0f141c;
  --r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;
  --font-ja:'Noto Sans JP',sans-serif;
  --font-en:'Plus Jakarta Sans',sans-serif;
}

/* ===== RESET ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
html,body{background-color:#fff!important;color:#333e4e!important;}
body{font-family:var(--font-ja);color:var(--gray-700);background:var(--white);line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
@media(prefers-color-scheme:dark){:root{color-scheme:light;}html,body{background-color:#fff!important;color:#333e4e!important;}}

/* ===== PC/SP TITLE ===== */
.for-sp{display:none;}
@media(max-width:768px){.for-pc{display:none;}.for-sp{display:inline;}}

/* ===== HEADER ===== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:transform 0.4s cubic-bezier(.23,1,.32,1), opacity 0.4s cubic-bezier(.23,1,.32,1), background 0.4s cubic-bezier(.23,1,.32,1);}
.site-header.is-hidden{transform:translateY(-100%);opacity:0;pointer-events:none;}
.site-header:not(.scrolled){background:transparent;}
.site-header.scrolled{background:rgba(255,255,255,0.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(0,0,0,0.05);}
/* Subpage header always white */
.site-header.is-subpage{background:rgba(255,255,255,0.96);backdrop-filter:blur(24px);box-shadow:0 1px 0 rgba(0,0,0,0.05);}

.header-inner{max-width:1280px;margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;height:72px;}

.logo{display:flex;align-items:center;gap:0.6rem;}
.logo-mark{width:30px;height:30px;background:var(--blue-500);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background 0.3s;}
.logo-mark svg{width:16px;height:16px;fill:var(--white);}
.logo-mark img{width:100%;height:100%;object-fit:contain;border-radius:6px;}
.logo-for-light,.logo-for-dark{position:absolute;inset:0;transition:opacity 0.3s;}
.logo-mark{position:relative;}
/* Custom logo uploaded: remove default background */
.logo-mark.has-custom-logo{background:none!important;backdrop-filter:none!important;}
/* Default (scrolled / white bg): show light version, hide dark */
.logo-for-light{opacity:1;}.logo-for-dark{opacity:0;}
/* On hero (not scrolled): show dark version, hide light */
.site-header:not(.scrolled):not(.is-subpage) .logo-for-light{opacity:0;}
.site-header:not(.scrolled):not(.is-subpage) .logo-for-dark{opacity:1;}
.site-header:not(.scrolled):not(.is-subpage) .logo-mark{background:rgba(255,255,255,0.18);backdrop-filter:blur(8px);}
.logo-text{display:flex;flex-direction:column;line-height:1.15;gap:2px;}
.logo-name{font-weight:700;font-size:0.85rem;color:var(--gray-900);transition:color 0.3s;}
.logo-tagline{font-family:var(--font-en);font-weight:400;font-size:0.58rem;letter-spacing:0.12em;color:var(--gray-400);transition:color 0.3s;}
.site-header:not(.scrolled):not(.is-subpage) .logo-name{color:var(--white);}
.site-header:not(.scrolled):not(.is-subpage) .logo-tagline{color:rgba(255,255,255,0.55);}

/* Nav — plain text anchor style */
.nav-desktop{display:flex;align-items:center;gap:0.15rem;}
.nav-desktop a{font-size:0.78rem;font-weight:500;color:var(--gray-500);padding:0.45rem 0.85rem;border-radius:6px;transition:all 0.25s;letter-spacing:0.01em;}
.nav-desktop a:hover{color:var(--gray-900);}
.nav-desktop a.active{color:var(--gray-900);font-weight:600;}
.site-header:not(.scrolled):not(.is-subpage) .nav-desktop a{color:rgba(255,255,255,0.7);}
.site-header:not(.scrolled):not(.is-subpage) .nav-desktop a:hover{color:var(--white);}
.nav-regatta{margin-left:0.6rem!important;padding:0.35rem 1.1rem!important;border:1.5px solid var(--gray-900)!important;border-radius:9999px!important;color:var(--gray-900)!important;font-weight:600!important;}
.nav-regatta:hover{background:var(--gray-900)!important;color:var(--white)!important;}
.site-header:not(.scrolled):not(.is-subpage) .nav-regatta{border-color:rgba(255,255,255,0.5)!important;color:var(--white)!important;}
.site-header:not(.scrolled):not(.is-subpage) .nav-regatta:hover{background:rgba(255,255,255,0.15)!important;border-color:rgba(255,255,255,0.5)!important;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:1100;}
.hamburger span{display:block;width:20px;height:1.5px;background:var(--gray-700);transition:all 0.3s;}
.site-header:not(.scrolled):not(.is-subpage) .hamburger span{background:var(--white);}
.hamburger.active span{background:var(--gray-700)!important;}
.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(4px,5px);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-5px);}
.nav-mobile{display:none;position:fixed;inset:0;background:var(--white);z-index:1050;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;}
.nav-mobile.active{display:flex;}
.nav-mobile a{font-size:1.05rem;font-weight:500;color:var(--gray-700);padding:0.5rem 1.2rem;border-radius:var(--r-sm);transition:all 0.2s;}
.nav-mobile a:hover{color:var(--gray-900);background:var(--gray-50);}
.mob-regatta{color:var(--gray-900)!important;font-weight:600!important;border:1.5px solid var(--gray-900);border-radius:9999px!important;padding:0.6rem 1.5rem!important;margin-top:0.5rem;}

/* ===== HERO (photo-forward, minimal text) ===== */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;}
.hero-image{position:absolute;inset:0;}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,29,51,0.25) 0%,rgba(11,29,51,0.05) 30%,rgba(11,29,51,0.2) 60%,rgba(11,29,51,0.65) 100%);z-index:1;}
.hero-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:0 2.5rem 5rem;}
.hero-inner{max-width:1280px;margin:0 auto;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}
.hero-text{max-width:580px;}
.hero-h1{font-weight:700;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--white);line-height:1.45;letter-spacing:-0.01em;margin-bottom:0.6rem;opacity:0;animation:fadeUp 0.7s 0.2s forwards;}
.hero-desc{font-size:0.88rem;font-weight:300;color:rgba(255,255,255,0.65);line-height:1.9;max-width:460px;opacity:0;animation:fadeUp 0.7s 0.4s forwards;}
.hero-scroll{opacity:0;animation:fadeUp 0.7s 0.6s forwards;display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.4);margin-bottom:0.5rem;}
.hero-scroll span{font-family:var(--font-en);font-size:0.55rem;letter-spacing:0.15em;text-transform:uppercase;writing-mode:vertical-rl;}
.hero-scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,rgba(255,255,255,0.4),transparent);animation:scrollPulse 2s ease-in-out infinite;}
@keyframes scrollPulse{0%,100%{opacity:0.3;}50%{opacity:0.8;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.7rem 1.7rem;font-family:var(--font-ja);font-size:0.8rem;font-weight:600;border-radius:9999px;transition:all 0.3s cubic-bezier(.23,1,.32,1);cursor:pointer;border:1.5px solid var(--gray-900);background:var(--white);color:var(--gray-900);}
.btn-white{background:var(--white);color:var(--gray-900);border-color:var(--white);}
.btn-white:hover{background:transparent;color:var(--white);border-color:var(--white);}
.btn-blue{background:var(--white);color:var(--gray-900);border-color:var(--gray-900);}
.btn-blue:hover{background:var(--gray-900);color:var(--white);}
.btn-outline{background:var(--white);color:var(--gray-900);border:1.5px solid var(--gray-900);}
.btn-outline:hover{background:var(--gray-900);color:var(--white);}
.btn-arrow::after{content:'→';font-family:var(--font-en);margin-left:0.2rem;transition:transform 0.3s;}
.btn-arrow:hover::after{transform:translateX(3px);}

/* ===== SECTIONS ===== */
section{padding:6rem 2.5rem;}
.section-inner{max-width:1280px;margin:0 auto;}
.section-header{margin-bottom:3rem;}
.section-label{font-family:var(--font-en);font-size:0.66rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue-500);margin-bottom:0.4rem;}
.section-title{font-weight:700;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--gray-900);line-height:1.45;letter-spacing:-0.01em;}
.section-subtitle{font-size:0.86rem;color:var(--gray-400);line-height:1.8;max-width:500px;margin-top:0.5rem;}


/* ===== ABOUT ===== */
#about{background:var(--white);}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.about-img-single{overflow:hidden;background:var(--gray-100);border-radius:4px;}
.about-img-single img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.about-body p{font-size:0.88rem;color:var(--gray-600);line-height:2;}
.about-body p+p{margin-top:1rem;}
.about-img:first-child{grid-column:1/-1;aspect-ratio:16/9;}
.about-img:not(:first-child){aspect-ratio:4/3;}
.about-body p{font-size:0.88rem;color:var(--gray-600);line-height:2;}
.about-body p+p{margin-top:1rem;}

/* ===== NEWS ===== */
#news{background:var(--gray-50);}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.news-card{background:var(--white);border-radius:4px;overflow:hidden;transition:all 0.4s cubic-bezier(.23,1,.32,1);border:1px solid var(--gray-200);display:block;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,0.07);border-color:transparent;}
.news-card-img{aspect-ratio:16/10;background:var(--gray-100);overflow:hidden;}
.news-card-body{padding:1.3rem 1.4rem 1.5rem;}
.news-tag{display:inline-block;padding:0.18rem 0.6rem;font-size:0.6rem;font-weight:600;background:var(--gray-100);color:var(--gray-600);border-radius:3px;}
.news-date{font-family:var(--font-en);font-size:0.68rem;color:var(--gray-400);margin-left:0.5rem;}
.news-card h3{font-size:0.9rem;font-weight:600;color:var(--gray-800);line-height:1.55;margin:0.5rem 0 0.35rem;}
.news-card p{font-size:0.78rem;color:var(--gray-400);line-height:1.7;}

/* ===== CTA ===== */
#contact-cta{background:var(--white);}
.cta-card{background:linear-gradient(135deg,var(--blue-800),var(--blue-900));border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1.2fr 0.8fr;grid-template-rows:1fr;}
.cta-body{padding:2.5rem 2.8rem;}
.cta-body h3{font-size:1.25rem;font-weight:700;color:var(--white);line-height:1.5;margin-bottom:0.6rem;}
.cta-body>p{font-size:0.82rem;font-weight:300;color:rgba(255,255,255,0.6);line-height:1.8;}
.cta-list{list-style:none;margin:0.8rem 0;}
.cta-list li{font-size:0.8rem;color:rgba(255,255,255,0.7);padding:0.3rem 0;display:flex;gap:0.6rem;}
.cta-list li strong{color:var(--blue-300);font-weight:600;font-size:0.7rem;min-width:3.5rem;flex-shrink:0;}
.cta-note{font-size:0.7rem;color:rgba(255,255,255,0.32);margin:0.4rem 0 1rem;}
.cta-img{overflow:hidden;position:relative;min-height:0;}.cta-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ===== INSTAGRAM ===== */
#instagram{background:var(--gray-50);}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;}
.ig-item{aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--gray-100);display:flex;align-items:center;justify-content:center;transition:transform 0.3s;cursor:pointer;}
.ig-item:hover{transform:scale(1.02);}
.ig-note{margin-top:1.5rem;text-align:center;font-size:0.76rem;color:var(--gray-400);}
.ig-note a{color:var(--gray-700);font-weight:600;}

/* ===== OB/OG VOICES ===== */
#voices{background:var(--white);padding-left:0;padding-right:0;overflow:visible;}
#voices .section-inner{padding:0 2.5rem;}
.voices-track{display:flex;gap:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 0 1rem;scrollbar-width:none;user-select:none;-webkit-user-select:none;overscroll-behavior-x:contain;}
.voices-track::before,.voices-track::after{content:'';flex:0 0 max(1rem, calc((100vw - 1280px) / 2 - 1.5rem));}
.voices-track::-webkit-scrollbar{display:none;}
.voice-card{flex:0 0 280px;background:var(--gray-50);border-radius:4px;padding:2rem;border:1px solid var(--gray-200);transition:all 0.3s;user-select:none;-webkit-user-select:none;}
.voice-card:hover{background:var(--white);border-color:var(--gray-300);box-shadow:0 4px 20px rgba(0,0,0,0.05);}
.voice-photo{width:64px;height:64px;border-radius:50%;background:var(--gray-200);margin-bottom:1.2rem;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:0.55rem;}
.voice-quote{font-size:0.84rem;color:var(--gray-600);line-height:1.85;margin-bottom:1.2rem;font-style:normal;}
.voice-quote::before{content:'"';font-family:var(--font-en);font-size:1.6rem;color:var(--gray-300);line-height:0;vertical-align:-0.35em;margin-right:0.15rem;}
.voice-name{font-size:0.78rem;font-weight:600;color:var(--gray-800);}
.voice-meta{font-size:0.68rem;color:var(--gray-400);margin-top:0.1rem;}
.voices-scroll-hint{display:flex;align-items:center;gap:0.5rem;margin-top:1.5rem;font-family:var(--font-en);font-size:0.65rem;color:var(--gray-400);letter-spacing:0.08em;}
.voices-scroll-hint::before{content:'';width:24px;height:1px;background:var(--gray-300);}

/* ===== HISTORY (timeline) ===== */
#history{background:var(--white);}
.timeline{margin-top:0;position:relative;padding-left:2.8rem;}
.timeline::before{content:'';position:absolute;left:0;top:4px;bottom:0;width:1px;background:var(--gray-300);}
.timeline-item{position:relative;padding-bottom:2.2rem;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{content:'';position:absolute;left:-2.8rem;top:0.4rem;width:9px;height:9px;border-radius:50%;background:var(--gray-700);transform:translateX(-4px);}
.timeline-year{font-family:var(--font-en);font-size:0.75rem;font-weight:700;color:var(--gray-800);letter-spacing:0.05em;margin-bottom:0.2rem;}
.timeline-text{font-size:0.86rem;color:var(--gray-600);line-height:1.8;}

/* ===== ACCESS ===== */
#access{background:var(--gray-50);}
.access-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start;}
.access-info h3{font-size:1.05rem;font-weight:700;color:var(--gray-900);margin-bottom:1.5rem;}
.access-item{margin-bottom:1.2rem;}
.access-lbl{font-size:0.68rem;font-weight:600;color:var(--gray-500);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.15rem;}
.access-val{font-size:0.86rem;color:var(--gray-600);line-height:1.7;}
.map-wrap{border-radius:4px;overflow:hidden;height:400px;box-shadow:0 4px 20px rgba(0,0,0,0.06);background:var(--gray-100);}
.map-wrap iframe{width:100%;height:100%;border:0;}

/* ===== CONTACT ===== */
#contact{background:#e8ecf0;padding:3rem 2.5rem;}
.contact-row{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.contact-main{display:flex;align-items:center;gap:3rem;}
.contact-info h2{font-size:1rem;font-weight:700;color:var(--gray-900);margin-bottom:0.2rem;}
.contact-info p{font-size:0.8rem;color:var(--gray-500);line-height:1.6;}
.contact-email-block .contact-email{font-family:var(--font-en);font-size:1rem;font-weight:600;color:var(--gray-900);}
.contact-email-block .contact-hint{font-size:0.68rem;color:var(--gray-400);margin-top:0.1rem;}
.contact-social{display:flex;gap:0.7rem;}
.soc-btn{width:38px;height:38px;border-radius:4px;border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;transition:all 0.3s;background:var(--white);}
.soc-btn:hover{background:var(--gray-50);}
.soc-btn svg{width:16px;height:16px;fill:var(--gray-500);}

/* ===== FOOTER ===== */
.site-footer{background:var(--gray-200);padding:0.8rem 2.5rem;}
.footer-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:center;}
.footer-copy{font-family:var(--font-en);font-size:0.58rem;color:var(--gray-400);}

/* ===== REGATTA PAGE ===== */
.page-hero{padding:10rem 2.5rem 4rem;background:var(--white);text-align:center;border-bottom:1px solid var(--gray-200);}
.page-hero-inner{max-width:700px;margin:0 auto;position:relative;z-index:2;}
.page-hero-tag{font-family:var(--font-en);font-size:0.66rem;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue-500);margin-bottom:0.5rem;}
.page-hero-title{font-weight:700;font-size:clamp(1.6rem,4vw,2.2rem);color:var(--gray-900);line-height:1.4;margin-bottom:0.8rem;}
.page-hero-desc{font-size:0.86rem;color:var(--gray-500);line-height:1.9;}

.regatta-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start;}
.regatta-card{background:var(--gray-50);border-radius:4px;padding:2.5rem;border:1px solid var(--gray-200);}
.regatta-date{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-en);font-size:0.78rem;font-weight:600;color:var(--gray-700);background:var(--white);padding:0.35rem 0.9rem;border-radius:4px;margin-bottom:1.2rem;}
.regatta-date svg{width:14px;height:14px;stroke:var(--gray-500);fill:none;stroke-width:2;}
.regatta-card h3{font-size:1.3rem;font-weight:700;color:var(--blue-900);margin-bottom:1.5rem;}
.r-details dt{font-size:0.7rem;font-weight:600;color:var(--gray-500);letter-spacing:0.05em;text-transform:uppercase;margin-top:0.9rem;}
.r-details dt:first-child{margin-top:0;}
.r-details dd{font-size:0.86rem;color:var(--gray-700);margin-left:0;line-height:1.7;}
.r-features{margin-top:1.8rem;padding-top:1.8rem;border-top:1px solid var(--gray-200);font-size:0.85rem;color:var(--gray-600);line-height:2;}
.r-actions{display:flex;gap:0.75rem;margin-top:2rem;flex-wrap:wrap;}
.regatta-img{border-radius:4px;overflow:hidden;background:var(--gray-100);aspect-ratio:4/3;}

.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;}
.doc-group{margin-bottom:2.5rem;}.doc-group:last-child{margin-bottom:0;}
.doc-group-title{font-size:0.82rem;font-weight:700;color:var(--gray-800);margin-bottom:0.8rem;padding-left:0.2rem;}
.doc-card{display:flex;align-items:center;gap:0.8rem;padding:0.9rem 1.2rem;background:var(--white);border:1px solid var(--gray-200);border-radius:3px;transition:all .3s;text-decoration:none;}
.doc-card:hover{border-color:var(--gray-400);box-shadow:0 2px 12px rgba(0,0,0,0.05);transform:translateY(-1px);}
.doc-icon{flex-shrink:0;}.doc-icon svg{width:20px;height:20px;color:var(--gray-500);}
.doc-label{font-size:0.82rem;font-weight:500;color:var(--gray-700);flex:1;}
.doc-ext{font-family:var(--font-en);font-size:0.6rem;color:var(--gray-400);}
.doc-arrow{font-family:var(--font-en);color:var(--gray-300);font-size:0.85rem;transition:all .3s;}
.doc-card:hover .doc-arrow{color:var(--gray-700);transform:translateX(2px);}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}
.gallery-item{aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--gray-100);transition:transform 0.3s;cursor:pointer;}
.gallery-item:first-child{grid-column:1/3;grid-row:1/3;aspect-ratio:auto;}
.gallery-item:hover{transform:scale(1.01);}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(22px);transition:all 0.7s cubic-bezier(.23,1,.32,1);}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ===== REGATTA SUBPAGE ===== */
.regatta-overview{padding:5rem 2.5rem;}
.regatta-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start;}
.regatta-details{margin-top:1.5rem;}
.regatta-detail-item{margin-bottom:1.2rem;}
.regatta-docs{padding:5rem 2.5rem;}
.regatta-archive{padding:5rem 2.5rem;background:var(--gray-50);}
.past-list{display:flex;flex-direction:column;}
.past-item{display:flex;align-items:center;gap:1.5rem;padding:1.2rem 1rem;border-bottom:1px solid var(--gray-200);transition:all .2s;border-radius:2px;text-decoration:none;}
.past-item:first-child{border-top:1px solid var(--gray-200);}
.past-item:hover{background:var(--white);padding-left:1.5rem;}
.past-item--latest{background:var(--gray-50);border-color:var(--gray-300);}
.past-year{font-family:var(--font-en);font-size:0.85rem;font-weight:800;color:var(--gray-800);min-width:3.5rem;}
.past-edition{font-family:var(--font-en);font-size:0.65rem;font-weight:600;color:var(--gray-400);min-width:4rem;}
.past-title{font-size:0.86rem;color:var(--gray-700);flex:1;font-weight:500;}
.past-badge{font-size:0.6rem;font-weight:600;color:var(--gray-600);background:var(--gray-200);padding:0.15rem 0.55rem;border-radius:3px;}
.past-arrow{font-family:var(--font-en);color:var(--gray-300);transition:all .3s;}
.past-item:hover .past-arrow{color:var(--gray-700);transform:translateX(3px);}

/* ===== BREADCRUMB ===== */
.breadcrumb{padding:6.5rem 2.5rem 0;font-size:0.72rem;color:var(--gray-400);}
.breadcrumb a{color:var(--gray-400);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--gray-700);}
.breadcrumb span:last-child{color:var(--gray-600);}
.bc-sep{margin:0 0.5rem;}

/* ===== NEWS ARCHIVE ===== */
.news-archive-list{display:flex;flex-direction:column;}
.news-archive-item{display:flex;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--gray-200);text-decoration:none;transition:all .2s;}
.news-archive-item:first-child{border-top:1px solid var(--gray-200);}
.news-archive-item:hover{padding-left:0.5rem;}
.news-archive-thumb{flex:0 0 160px;aspect-ratio:16/10;border-radius:4px;overflow:hidden;background:var(--gray-100);}
.news-archive-body{flex:1;min-width:0;}
.news-archive-meta{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.5rem;}
.news-archive-body h3{font-size:0.92rem;font-weight:600;color:var(--gray-800);margin-bottom:0.3rem;line-height:1.5;}
.news-archive-body p{font-size:0.8rem;color:var(--gray-500);line-height:1.7;}
.news-pagination{margin-top:3rem;text-align:center;}
.news-pagination .nav-links{display:flex;justify-content:center;gap:0.5rem;}
.news-pagination .page-numbers{font-family:var(--font-en);font-size:0.8rem;padding:0.4rem 0.8rem;border:1px solid var(--gray-200);border-radius:4px;color:var(--gray-600);transition:all .2s;}
.news-pagination .page-numbers.current{background:var(--gray-800);color:var(--white);border-color:var(--gray-800);}
.news-pagination .page-numbers:hover{border-color:var(--gray-400);}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .regatta-layout{grid-template-columns:1fr;gap:2rem;}
  .about-layout,.enrollment-layout{grid-template-columns:1fr;gap:2.5rem;}
  .about-text-col{order:-1;}
  .news-grid{grid-template-columns:1fr 1fr;}
  .cta-card{grid-template-columns:1fr;}
  .cta-img{height:200px;}.cta-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .access-layout{grid-template-columns:1fr;gap:2rem;}
  .contact-row{flex-direction:column;align-items:flex-start;}
  .contact-main{flex-direction:column;align-items:flex-start;gap:1.5rem;}
  .hero-inner{flex-direction:column;align-items:flex-start;}
  .hero-scroll{display:none;}
  .regatta-grid{grid-template-columns:1fr;}
  .voice-card{flex:0 0 270px;}
}
@media(max-width:768px){
  section{padding:4rem 1.5rem;}
  .voices-track::before,.voices-track::after{flex:0 0 0;}
  .header-inner{padding:0 1.5rem;}
  .nav-desktop{display:none;}
  .hamburger{display:flex;}
  .hero{min-height:0;}
  .hero-content{padding:0 1.5rem 3rem;}
  .news-grid{grid-template-columns:1fr;}
  .news-archive-thumb{flex:0 0 100px;}
  .news-archive-body h3{font-size:0.85rem;}
  .ig-grid{grid-template-columns:repeat(2,1fr);}
  .map-wrap{height:280px;}
  .footer-inner{flex-direction:column;gap:0.6rem;text-align:center;}
  .cta-body{padding:2rem 2rem;}
  #contact{padding:2.5rem 1.5rem;}
  .page-hero{padding:8rem 1.5rem 3rem;}
  .breadcrumb{padding:5.5rem 1.5rem 0;}
  .docs-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .gallery-item:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:16/9;}
  .past-links{padding-left:0;}
  .r-actions{flex-direction:column;}
  .btn{justify-content:center;}
  .voice-card{flex:0 0 250px;}
}
@media(max-width:480px){
  .hero-text{max-width:100%;}
  .gallery-grid{grid-template-columns:1fr;}
}

/* ===== v1.3.0 追加スタイル ===== */

/* 入会案内セクション（トップページ） */
#enrollment{background:var(--white);}
.enrollment-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.enrollment-visual{border-radius:4px;overflow:hidden;background:var(--gray-100);}
.enrollment-points{display:flex;flex-direction:column;gap:1.2rem;margin:2rem 0;}
.enrollment-point{display:flex;gap:1rem;align-items:flex-start;}
.enrollment-icon{width:36px;height:36px;border-radius:8px;background:var(--white);border:1.5px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:0.1rem;}
.enrollment-icon svg{width:18px;height:18px;color:var(--gray-600);}
.enrollment-point-text h4{font-size:0.86rem;font-weight:600;color:var(--gray-800);margin-bottom:0.15rem;}
.enrollment-point-text p{font-size:0.8rem;color:var(--gray-500);line-height:1.7;}

/* 入会案内ページ */
.enroll-photos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.6rem;margin-bottom:3rem;border-radius:var(--r-lg);overflow:hidden;}
.enroll-photos img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
.enroll-content{margin-bottom:2rem;}
.enroll-content h2{font-size:1.15rem;font-weight:700;color:var(--gray-900);margin:2.5rem 0 1rem;padding-bottom:0.6rem;border-bottom:1.5px solid var(--gray-200);}
.enroll-content p{font-size:0.88rem;color:var(--gray-600);line-height:2;margin-bottom:0.8rem;}
.enroll-content ul{list-style:none;margin:1rem 0;}
.enroll-content li{font-size:0.86rem;color:var(--gray-600);padding:0.5rem 0 0.5rem 1.2rem;position:relative;border-bottom:1px solid var(--gray-100);}
.enroll-content li::before{content:'';position:absolute;left:0;top:0.95rem;width:6px;height:6px;border-radius:50%;background:var(--gray-400);}
.enroll-block{margin-bottom:2.5rem;}
.enroll-block h2{font-size:1.15rem;font-weight:700;color:var(--gray-900);margin-bottom:1rem;padding-bottom:0.6rem;border-bottom:1.5px solid var(--gray-200);}
.enroll-block p{font-size:0.88rem;color:var(--gray-600);line-height:2;margin-bottom:0.8rem;}
.enroll-block ul{list-style:none;margin:1rem 0;}
.enroll-block li{font-size:0.86rem;color:var(--gray-600);padding:0.5rem 0 0.5rem 1.2rem;position:relative;border-bottom:1px solid var(--gray-100);}
.enroll-block li::before{content:'';position:absolute;left:0;top:0.95rem;width:6px;height:6px;border-radius:50%;background:var(--gray-400);}
.enroll-highlight{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:4px;padding:1.5rem 2rem;margin:1.5rem 0;}
.enroll-highlight p{color:var(--gray-800);font-weight:500;margin-bottom:0;}
.enroll-cta{background:var(--gray-50);padding:4rem 2.5rem;}

/* Facebookバナー */
#facebook-banner{background:var(--gray-50);padding:3.5rem 2.5rem;}
.fb-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;}
.fb-content{display:flex;align-items:center;gap:1.2rem;}
.fb-icon{width:48px;height:48px;border-radius:4px;background:var(--white);border:1px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.fb-icon svg{width:22px;height:22px;fill:var(--gray-600);}
.fb-text h3{font-size:0.92rem;font-weight:600;color:var(--gray-800);margin-bottom:0.1rem;}
.fb-text p{font-size:0.8rem;color:var(--gray-400);line-height:1.6;}
.fb-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1.4rem;font-size:0.78rem;font-weight:600;color:var(--gray-900);border:1.5px solid var(--gray-900);border-radius:9999px;transition:all .3s;white-space:nowrap;flex-shrink:0;}
.fb-btn:hover{background:var(--gray-900);color:var(--white);}

/* レガッタ: 最新セクション */
.regatta-latest{padding:5rem 2.5rem;background:var(--white);}
.regatta-latest-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:3.5rem;align-items:start;}
.regatta-latest-photo{border-radius:4px;overflow:hidden;aspect-ratio:16/10;background:var(--gray-100);}
.regatta-latest-photo img{width:100%;height:100%;object-fit:cover;}
.regatta-detail-item{margin-bottom:1.2rem;}

/* レガッタ: 資料 */
.regatta-docs{padding:5rem 2.5rem;background:var(--gray-50);}

/* レガッタ: スケジュール */
.regatta-schedule{padding:5rem 2.5rem;background:var(--white);}
.schedule-table{width:100%;border-collapse:collapse;margin-top:1rem;}
.schedule-table th{text-align:left;font-size:0.7rem;font-weight:600;color:var(--gray-500);letter-spacing:0.06em;text-transform:uppercase;padding:0.7rem 1rem;border-bottom:2px solid var(--gray-200);}
.schedule-table td{font-size:0.84rem;color:var(--gray-600);padding:0.7rem 1rem;border-bottom:1px solid var(--gray-100);}
.schedule-table tr:hover td{background:var(--gray-50);}

/* v1.3.0 レスポンシブ追加 */
@media(max-width:1024px){
  .enrollment-layout{grid-template-columns:1fr;gap:2.5rem;}
  .regatta-latest-layout{grid-template-columns:1fr;gap:2rem;}
}
@media(max-width:768px){
  .enroll-photos{grid-template-columns:1fr;}
  .fb-inner{flex-direction:column;align-items:flex-start;}
  .past-item{gap:0.8rem;}
  .regatta-latest{padding:3.5rem 1.5rem;}
  .regatta-docs{padding:3.5rem 1.5rem;}
  .regatta-schedule{padding:3.5rem 1.5rem;}
  .regatta-archive{padding:3.5rem 1.5rem;}
  .enroll-cta{padding:3rem 1.5rem;}
}
