@charset "UTF-8";
:root {
/* Color Palette: Light & Clean */
--jcpf-bg-base: #ffffff; /* 白 */
--jcpf-bg-surface: #f8f9fa; /* 薄いグレー */
--jcpf-bg-surface-light: #f1f3f5;

--jcpf-accent-gold: #c5a059; /* 上品なゴールド */
--jcpf-accent-red: #c92a2a; /* ポーカーの赤 */

--jcpf-text-main: #333333; /* メインテキスト */
--jcpf-text-muted: #666666; /* 補助テキスト */
--jcpf-text-strong: #111111; /* 見出しなどの強いテキスト */

--jcpf-border: rgba(0, 0, 0, 0.08);

/* Typography */
--jcpf-font-en: 'Jost', sans-serif;
--jcpf-font-serif: 'Cinzel', serif;
--jcpf-font-ja: 'Noto Sans JP', sans-serif;
}

* {
box-sizing: border-box;
margin: 0;
padding: 0;
}

body.jcpf-body {
font-family: var(--jcpf-font-ja);
color: var(--jcpf-text-main);
background-color: var(--jcpf-bg-base);
line-height: 1.8;
letter-spacing: 0.05em;
-webkit-font-smoothing: antialiased;
}

img {
max-width: 100%;
height: auto;
display: block;
}

a {
color: inherit;
text-decoration: none;
transition: all 0.3s ease;
}

ul { list-style: none; }

/* =========================================
 Global Components
 ========================================= */
.jcpf-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
}

.jcpf-section {
padding: 120px 0;
position: relative;
}

/* セクションタイトル: スタイリッシュで迫力のある見出し */
.jcpf-sec-header {
margin-bottom: 80px;
position: relative;
padding-left: 20px;
}

.jcpf-sec-header::before {
content: '';
position: absolute;
left: 0;
top: 10px;
bottom: 10px;
width: 4px;
background: var(--jcpf-accent-gold);
}

.jcpf-sec-title-en {
font-family: var(--jcpf-font-serif);
font-size: 3.5rem;
font-weight: 800;
color: var(--jcpf-text-strong);
line-height: 1;
letter-spacing: 0.05em;
text-transform: uppercase;
}

.jcpf-sec-title-ja {
font-family: var(--jcpf-font-ja);
font-size: 0.9rem;
font-weight: 700;
color: var(--jcpf-accent-gold);
letter-spacing: 0.2em;
margin-top: 10px;
display: block;
}

/* バックグラウンドテキスト（巨大な透かし文字） */
.jcpf-bg-text {
position: absolute;
font-family: var(--jcpf-font-serif);
font-size: 15vw;
font-weight: 800;
color: rgba(0, 0, 0, 0.03);
line-height: 1;
pointer-events: none;
z-index: 0;
user-select: none;
}

/* =========================================
 Header
 ========================================= */
.jcpf-header {
position: fixed;
top: 0;
left: 0;
width: 100%;
background-color: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(8px);
z-index: 1000;
border-bottom: 1px solid var(--jcpf-border);
transition: background-color 0.3s;
}

.jcpf-header-inner {
display: flex;
justify-content: space-between;
align-items: center;
height: 80px;
max-width: 1400px;
margin: 0 auto;
padding: 0 40px;
}

.jcpf-logo {
font-family: var(--jcpf-font-serif);
font-size: 2rem;
font-weight: 800;
color: var(--jcpf-text-strong);
display: flex;
align-items: center;
gap: 8px;
letter-spacing: 0.1em;
}

.jcpf-logo span {
color: var(--jcpf-accent-gold);
font-size: 1.8rem;
}

.jcpf-gnav-list {
display: flex;
gap: 40px;
}

.jcpf-gnav-link {
font-family: var(--jcpf-font-en);
font-size: 0.9rem;
font-weight: 500;
color: var(--jcpf-text-strong);
text-transform: uppercase;
letter-spacing: 0.15em;
position: relative;
}

.jcpf-gnav-link::after {
content: '';
position: absolute;
bottom: -5px;
left: 0;
width: 0;
height: 2px;
background-color: var(--jcpf-accent-gold);
transition: width 0.3s ease;
}

.jcpf-gnav-link:hover::after {
width: 100%;
}

/* =========================================
 Hero Section
 ========================================= */
.jcpf-hero {
height: 100vh;
min-height: 700px;
position: relative;
display: flex;
align-items: center;
padding-top: 80px;
overflow: hidden;
}

/* 背景画像とオーバーレイグラデーション */
.jcpf-hero-bg {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
background-image: url('https://japansportspoker.com/wp-content/uploads/2026/04/fv-poker.png');
background-size: cover;
background-position: center;
z-index: 1;
}

.jcpf-hero-overlay {
position: absolute;
top: 0; left: 0; width: 100%; height: 100%;
background: linear-gradient(90deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.7) 50%, rgba(255,255,255,0.2) 100%);
z-index: 2;
}

.jcpf-hero-content {
position: relative;
z-index: 3;
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 40px;
}

.jcpf-hero-sub {
font-family: var(--jcpf-font-en);
color: var(--jcpf-accent-gold);
font-size: 1.1rem;
letter-spacing: 0.3em;
text-transform: uppercase;
margin-bottom: 20px;
display: block;
font-weight: 500;
}

.jcpf-hero-title {
font-family: serif;
font-size: 6rem;
font-weight: 800;
line-height: 1.1;
color: var(--jcpf-text-strong);
margin-bottom: 20px;
letter-spacing: 0.05em;
}

.jcpf-hero-title span {
color: var(--jcpf-accent-red);
}

.jcpf-hero-desc {
font-size: 1.2rem;
font-weight: 500;
color: var(--jcpf-text-main);
letter-spacing: 0.15em;
border-left: 2px solid var(--jcpf-accent-gold);
padding-left: 20px;
margin-top: 30px;
}

/* スクロールダウンインジケーター */
.jcpf-scroll-down {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
z-index: 3;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
font-family: var(--jcpf-font-en);
font-size: 0.7rem;
letter-spacing: 0.2em;
color: var(--jcpf-text-strong);
animation: jcpf-float 3s infinite ease-in-out;
}

@keyframes jcpf-float {
0%, 100% { transform: translate(-50%, 0); }
50% { transform: translate(-50%, 8px); }
}

.jcpf-scroll-line {
width: 1px;
height: 60px;
background-color: rgba(0,0,0,0.2);
position: relative;
overflow: hidden;
}

.jcpf-scroll-line::after {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 100%;
background-color: var(--jcpf-accent-gold);
animation: jcpf-scrollAnim 2s infinite ease-in-out;
}

@keyframes jcpf-scrollAnim {
0% { transform: scaleY(0); transform-origin: top; }
45% { transform: scaleY(1); transform-origin: top; }
55% { transform: scaleY(1); transform-origin: bottom; }
100% { transform: scaleY(0); transform-origin: bottom; }
}

/* =========================================
 Philosophy Section (理念)
 ========================================= */
.jcpf-philosophy {
background-color: var(--jcpf-bg-surface);
border-top: 1px solid var(--jcpf-border);
}

.jcpf-phil-content {
position: relative;
z-index: 1;
padding-left: 40px;
}

.jcpf-phil-lead {
font-size: 2rem;
font-weight: 700;
color: var(--jcpf-text-strong);
line-height: 1.6;
margin-bottom: 40px;
letter-spacing: 0.05em;
}

.jcpf-phil-highlight {
display: inline-block;
font-size: 1.2rem;
font-weight: 700;
color: var(--jcpf-accent-gold);
border: 1px solid var(--jcpf-accent-gold);
padding: 10px 20px;
margin-bottom: 30px;
letter-spacing: 0.1em;
}

.jcpf-phil-text {
font-size: 1.1rem;
color: var(--jcpf-text-muted);
max-width: 800px;
line-height: 2;
}

/* =========================================
 Activities Section (取り組み) - ダイナミックレイアウト
 ========================================= */
.jcpf-activity-item {
display: flex;
align-items: center;
margin-bottom: 120px;
position: relative;
}

.jcpf-activity-item:last-child {
margin-bottom: 0;
}

/* 偶数番目は左右反転 */
.jcpf-activity-item:nth-child(even) {
flex-direction: row-reverse;
}

.jcpf-act-image-col {
width: 55%;
position: relative;
}

.jcpf-act-image-wrap {
position: relative;
z-index: 2;
overflow: hidden;
}

.jcpf-act-image-wrap::after {
content: '';
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
border: 1px solid rgba(0,0,0,0.05);
z-index: 3;
pointer-events: none;
}

.jcpf-act-img {
width: 100%;
height: 400px;
object-fit: cover;
transition: filter 0.5s, transform 0.5s;
}

.jcpf-activity-item:hover .jcpf-act-img {
transform: scale(1.03);
}

/* 画像の後ろの装飾ボックス */
.jcpf-act-bg-box {
position: absolute;
top: -20px;
bottom: -20px;
background: var(--jcpf-bg-surface-light);
z-index: 1;
}
.jcpf-activity-item:nth-child(odd) .jcpf-act-bg-box {
left: -20px; right: 20px;
}
.jcpf-activity-item:nth-child(even) .jcpf-act-bg-box {
right: -20px; left: 20px;
}

.jcpf-act-text-col {
width: 45%;
padding: 0 60px;
position: relative;
z-index: 3;
}

.jcpf-act-num {
font-family: var(--jcpf-font-serif);
font-size: 5rem;
font-weight: 800;
color: transparent;
-webkit-text-stroke: 1px rgba(0,0,0,0.1);
line-height: 1;
margin-bottom: 10px;
display: block;
}

.jcpf-activity-item:hover .jcpf-act-num {
color: var(--jcpf-accent-red);
-webkit-text-stroke: 0;
transition: color 0.3s;
}

.jcpf-act-title {
font-size: 1.8rem;
font-weight: 700;
color: var(--jcpf-text-strong);
margin-bottom: 20px;
line-height: 1.4;
}

.jcpf-act-desc {
color: var(--jcpf-text-muted);
font-size: 1rem;
}

/* =========================================
 News Section (お知らせ) - ソリッドなリスト
 ========================================= */
.jcpf-news {
background-color: var(--jcpf-bg-surface);
}

.jcpf-news-list {
border-top: 1px solid var(--jcpf-border);
}

.jcpf-news-item {
border-bottom: 1px solid var(--jcpf-border);
padding: 40px 0;
display: flex;
flex-direction: column;
gap: 20px;
transition: background-color 0.3s;
}

.jcpf-news-item:hover {
background-color: rgba(0,0,0,0.02);
}

.jcpf-news-header {
display: flex;
align-items: baseline;
gap: 30px;
}

.jcpf-news-date {
font-family: var(--jcpf-font-en);
font-weight: 400;
font-size: 1.1rem;
color: var(--jcpf-accent-gold);
letter-spacing: 0.1em;
flex-shrink: 0;
width: 140px;
}

.jcpf-news-title {
font-size: 1.4rem;
font-weight: 700;
color: var(--jcpf-text-strong);
}

.jcpf-news-body {
padding-left: 170px; /* date width + gap */
color: var(--jcpf-text-muted);
font-size: 0.95rem;
}

.jcpf-news-body p { margin-bottom: 10px; }

.jcpf-news-link {
color: var(--jcpf-text-strong);
text-decoration: none;
border-bottom: 1px solid var(--jcpf-accent-gold);
padding-bottom: 2px;
}
.jcpf-news-link:hover { color: var(--jcpf-accent-gold); }

.jcpf-news-link-wrap {
display: block;
text-decoration: none;
color: inherit;
}
.jcpf-news-link-wrap:hover .jcpf-news-title {
color: var(--jcpf-accent-gold);
}

.jcpf-news-cat {
display: inline-block;
font-size: 0.75rem;
font-family: var(--jcpf-font-en);
letter-spacing: 0.08em;
color: var(--jcpf-accent-gold);
border: 1px solid var(--jcpf-accent-gold);
padding: 2px 10px;
border-radius: 2px;
flex-shrink: 0;
line-height: 1.6;
}

.jcpf-news-partners {
margin-top: 20px;
padding: 20px;
background: #ffffff;
border: 1px solid var(--jcpf-border);
border-left: 3px solid var(--jcpf-accent-red);
display: inline-block;
}

.jcpf-partners-title {
font-size: 0.8rem;
color: var(--jcpf-text-muted);
margin-bottom: 10px;
letter-spacing: 0.1em;
}

.jcpf-partners-logos {
display: flex;
gap: 20px;
align-items: center;
}

.jcpf-partner-item {
display: flex;
align-items: center;
gap: 8px;
font-weight: 700;
color: var(--jcpf-text-main);
font-size: 0.9rem;
}

/* =========================================
 Directors Section (理事紹介) - タイムライン風
 ========================================= */
.jcpf-directors-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 30px;
}

.jcpf-director-card {
background: var(--jcpf-bg-surface-light);
border: 1px solid var(--jcpf-border);
padding: 40px;
position: relative;
min-width:540px;
max-width: 550px;
margin: 20px;
}

.jcpf-director-card::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 100%; height: 3px;
background: linear-gradient(90deg, var(--jcpf-accent-gold), transparent);
}

.jcpf-director-head {
margin-bottom: 30px;
}

.jcpf-director-role {
font-family: var(--jcpf-font-en);
font-size: 0.8rem;
color: var(--jcpf-accent-gold);
letter-spacing: 0.2em;
text-transform: uppercase;
margin-bottom: 5px;
display: block;
}

.jcpf-director-name {
font-size: 1.8rem;
font-weight: 700;
color: var(--jcpf-text-strong);
letter-spacing: 0.1em;
}

/* 理事写真 */
.jcpf-director-img-wrap {
margin-bottom: 25px;
overflow: hidden;
position: relative;
}

.jcpf-director-img {
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
filter: grayscale(40%) contrast(110%);
transition: filter 0.4s, transform 0.6s;
min-height: 290px;
}

.jcpf-director-card:hover .jcpf-director-img {
filter: grayscale(0%) contrast(100%);
transform: scale(1.03);
}

/* 経歴タイムライン */
.jcpf-career-list {
position: relative;
padding-left: 15px;
margin-bottom: 30px;
}

.jcpf-career-list::before {
content: '';
position: absolute;
top: 5px; bottom: 5px; left: 0;
width: 1px;
background-color: var(--jcpf-border);
}

.jcpf-career-item {
position: relative;
margin-bottom: 15px;
font-size: 0.85rem;
}

.jcpf-career-item::before {
content: '';
position: absolute;
top: 8px; left: -17px;
width: 5px; height: 5px;
background-color: var(--jcpf-text-muted);
border-radius: 50%;
}

.jcpf-career-item.jcpf-current::before {
background-color: var(--jcpf-accent-gold);
box-shadow: 0 0 8px var(--jcpf-accent-gold);
}

.jcpf-career-term {
font-family: var(--jcpf-font-en);
color: var(--jcpf-text-muted);
display: block;
margin-bottom: 2px;
letter-spacing: 0.05em;
}

.jcpf-career-item.jcpf-current .jcpf-career-term {
color: var(--jcpf-accent-gold);
}

.jcpf-career-desc {
color: var(--jcpf-text-main);
}

.jcpf-career-item.jcpf-current .jcpf-career-desc {
color: var(--jcpf-text-strong);
font-weight: 700;
}

.jcpf-director-msg {
font-size: 0.9rem;
color: var(--jcpf-text-muted);
line-height: 1.8;
border-top: 1px solid var(--jcpf-border);
padding-top: 20px;
}

/* =========================================
 Contact Section (お問い合わせ)
 ========================================= */
.jcpf-contact {
background-color: var(--jcpf-bg-base);
border-top: 1px solid var(--jcpf-border);
}

.jcpf-contact-form-wrap {
max-width: 800px;
margin: 0 auto;
background: var(--jcpf-bg-surface);
padding: 60px;
border: 1px solid var(--jcpf-border);
position: relative;
z-index: 1;
}

.jcpf-contact-lead {
text-align: center;
margin-bottom: 40px;
font-size: 1.05rem;
color: var(--jcpf-text-main);
line-height: 1.8;
}

.jcpf-form-group {
margin-bottom: 30px;
}

.jcpf-form-label {
display: flex;
align-items: center;
font-weight: 700;
color: var(--jcpf-text-strong);
margin-bottom: 10px;
font-size: 0.95rem;
}

.jcpf-req {
background-color: var(--jcpf-accent-red);
color: #fff;
font-size: 0.7rem;
padding: 3px 8px;
margin-left: 10px;
font-weight: normal;
letter-spacing: 0.1em;
}

.jcpf-form-control {
width: 100%;
padding: 15px;
border: 1px solid var(--jcpf-border);
background-color: #fff;
font-family: inherit;
font-size: 1rem;
color: var(--jcpf-text-strong);
transition: border-color 0.3s;
}

.jcpf-form-control:focus {
outline: none;
border-color: var(--jcpf-accent-gold);
}

.jcpf-form-control::placeholder {
color: #aaa;
}

.jcpf-select-wrap {
position: relative;
}

/* セレクトボックスの矢印アイコン */
.jcpf-select-wrap::after {
content: '▼';
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
font-size: 0.8rem;
color: var(--jcpf-text-muted);
pointer-events: none;
}

select.jcpf-form-control {
appearance: none;
-webkit-appearance: none;
cursor: pointer;
}

.jcpf-textarea {
resize: vertical;
}

.jcpf-form-submit {
text-align: center;
margin-top: 50px;
}

.jcpf-btn-submit {
display: inline-block;
background-color: var(--jcpf-text-strong);
color: #fff;
border: none;
padding: 18px 60px;
font-size: 1rem;
font-weight: 700;
letter-spacing: 0.1em;
cursor: pointer;
transition: background-color 0.3s;
font-family: inherit;
}

.jcpf-btn-submit:hover {
background-color: var(--jcpf-accent-gold);
}

@media (min-width: 769px) {
.jcpf-sp-only { display: none; }
}

/* =========================================
 Footer
 ========================================= */
.jcpf-footer {
background-color: var(--jcpf-bg-surface-light);
border-top: 1px solid var(--jcpf-border);
padding: 60px 40px 30px;
text-align: center;
}

.jcpf-footer-logo {
font-family: var(--jcpf-font-serif);
font-size: 1.8rem;
font-weight: 800;
color: var(--jcpf-text-muted);
margin-bottom: 20px;
letter-spacing: 0.1em;
}

.jcpf-copyright {
font-family: var(--jcpf-font-en);
font-size: 0.8rem;
color: #555;
letter-spacing: 0.1em;
}

/* =========================================
 Events Section (イベント開催情報)
 ========================================= */
.jcpf-events {
background-color: var(--jcpf-bg-surface);
}

.jcpf-events-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 36px;
}

.jcpf-event-card {
background: var(--jcpf-bg-base);
border: 1px solid var(--jcpf-border);
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.jcpf-event-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.jcpf-event-card-link {
display: block;
text-decoration: none;
color: inherit;
}

.jcpf-event-thumb {
aspect-ratio: 16 / 9;
overflow: hidden;
background: var(--jcpf-bg-surface-light);
}

.jcpf-event-thumb .jcpf-event-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
display: block;
}

.jcpf-event-card:hover .jcpf-event-img {
transform: scale(1.06);
}

.jcpf-event-img-placeholder {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, var(--jcpf-bg-surface-light), #e8e4dc);
}

.jcpf-event-placeholder-icon {
font-size: 3rem;
color: var(--jcpf-accent-gold);
opacity: 0.4;
}

.jcpf-event-body {
padding: 24px 28px 30px;
}

.jcpf-event-cat {
display: inline-block;
font-size: 0.72rem;
font-family: var(--jcpf-font-en);
letter-spacing: 0.1em;
color: #fff;
background: var(--jcpf-accent-gold);
padding: 3px 10px;
margin-bottom: 10px;
text-transform: uppercase;
}

.jcpf-event-date {
display: block;
font-size: 0.82rem;
color: var(--jcpf-text-muted);
letter-spacing: 0.05em;
margin-bottom: 8px;
}

.jcpf-event-date span {
color: var(--jcpf-text-strong);
font-weight: 700;
}

.jcpf-event-title {
font-size: 1.1rem;
font-weight: 700;
color: var(--jcpf-text-strong);
line-height: 1.55;
margin-bottom: 10px;
transition: color 0.3s;
}

.jcpf-event-card:hover .jcpf-event-title {
color: var(--jcpf-accent-gold);
}

.jcpf-event-excerpt {
font-size: 0.875rem;
color: var(--jcpf-text-muted);
line-height: 1.75;
}

.jcpf-events-more {
text-align: center;
margin-top: 60px;
}

.jcpf-btn-more {
display: inline-flex;
align-items: center;
gap: 14px;
font-family: var(--jcpf-font-en);
font-size: 0.85rem;
font-weight: 500;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--jcpf-text-strong);
border: 1px solid var(--jcpf-text-strong);
padding: 16px 48px;
transition: background 0.3s, border-color 0.3s, color 0.3s;
}

.jcpf-btn-more:hover {
background: var(--jcpf-accent-gold);
border-color: var(--jcpf-accent-gold);
color: #fff;
}

.jcpf-btn-arrow {
display: inline-block;
transition: transform 0.3s;
}

.jcpf-btn-more:hover .jcpf-btn-arrow {
transform: translateX(6px);
}

.jcpf-events-empty {
color: var(--jcpf-text-muted);
grid-column: 1 / -1;
}

/* =========================================
 Inner Page Hero (共通ヘッダー)
 ========================================= */
.jcpf-page-hero {
padding: 100px 0 60px;
border-bottom: 1px solid var(--jcpf-border);
background: var(--jcpf-bg-surface);
position: relative;
overflow: hidden;
}

.jcpf-page-hero .jcpf-sec-header {
margin-bottom: 0;
}

.jcpf-directors-page-body {
background: var(--jcpf-bg-base);
}

.jcpf-directors-intro {
font-size: 1.05rem;
color: var(--jcpf-text-muted);
margin-bottom: 60px;
line-height: 1.8;
}

/* =========================================
 Events Archive Page
 ========================================= */
.jcpf-events-archive-hero {
padding: 100px 0 60px;
border-bottom: 1px solid var(--jcpf-border);
background: var(--jcpf-bg-surface);
}

.jcpf-events-archive-hero .jcpf-sec-header {
margin-bottom: 0;
}

.jcpf-events-archive-body {
padding: 80px 0 120px;
}

.jcpf-pagination {
margin-top: 60px;
display: flex;
justify-content: center;
gap: 8px;
}

.jcpf-pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
font-family: var(--jcpf-font-en);
font-size: 0.9rem;
color: var(--jcpf-text-main);
border: 1px solid var(--jcpf-border);
transition: all 0.3s;
}

.jcpf-pagination .page-numbers.current,
.jcpf-pagination .page-numbers:hover {
background: var(--jcpf-accent-gold);
border-color: var(--jcpf-accent-gold);
color: #fff;
}

.jcpf-pagination .page-numbers.dots {
border-color: transparent;
}

/* =========================================
 Responsive
 ========================================= */
@media (max-width: 992px) {
.jcpf-activity-item,
.jcpf-activity-item:nth-child(even) {
flex-direction: column;
margin-bottom: 80px;
}
.jcpf-act-image-col,
.jcpf-act-text-col {
width: 100%;
padding: 0;
}
.jcpf-act-bg-box { display: none; }
.jcpf-act-text-col {
margin-top: -30px;
background: var(--jcpf-bg-surface-light);
padding: 30px;
}
.jcpf-news-header { flex-direction: column; gap: 5px; }
.jcpf-news-body { padding-left: 0; margin-top: 15px; }
.jcpf-events-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

@media (max-width: 768px) {
.jcpf-container { padding: 0 20px; }
.jcpf-header-inner { padding: 0 20px; }
.jcpf-gnav-list { display: none; /* スマホ用メニューは別途実装想定 */ }

.jcpf-hero-title {        font-size: 35px;
        line-height: 1.4;}
.jcpf-hero-desc { font-size: 1rem; }
.jcpf-sec-title-en { font-size: 2.5rem; }
.jcpf-phil-lead { font-size: 1.5rem; }

.jcpf-events-grid { grid-template-columns: 1fr; }
.jcpf-btn-more { width: 100%; justify-content: center; }
.jcpf-hero-content {
    position: relative;
    z-index: 3;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    margin-top: -140px;
}
.jcpf-contact-form-wrap {
padding: 40px 20px;
}
	.jcpf-hero{
	min-height:200px;
	height: 420px;
	}
.jcpf-btn-submit {
width: 100%;
}
.jcpf-sp-only {
display: block;
}
	.jcpf-phil-content{
		padding-left:0;
	}	
.jcpf-director-card {
min-width:100%;
max-width: 100%;
margin: 0px;
margin-bottom:20px;
}

.jcpf-scroll-down {
    position: absolute;
    bottom: 10px;
	}
	.jcpf-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.95) 0%, rgb(255 255 255 / 70%) 50%, rgb(255 255 255 / 68%) 100%);
    z-index: 2;
}
}