/* GPDPS front page only. Luxeritas uses a 62.5% root size, so text uses px rather than rem. */
.gpdps-home{--home-navy:#164b73;--home-blue:#247aa4;--home-teal:#238a83;--home-orange:#ed6b2c;--home-ink:#273944;--home-muted:#6c7d86;--home-line:#dce6ea;width:100%;color:var(--home-ink);font-size:18px;line-height:1.9}
.gpdps-home img{max-width:100%;height:auto}
.gpdps-home-intro{padding:36px 44px 48px;background:#fff}
.gpdps-home-kicker{margin:0 0 7px;color:var(--home-blue);font-size:13px;font-weight:700;letter-spacing:.14em}
.gpdps-home-intro h1{margin:2px 0 20px;color:var(--home-navy);font-size:clamp(30px,3.2vw,42px);line-height:1.45}
.gpdps-home-intro-copy{max-width:1000px;font-size:18px;line-height:2}
.gpdps-home-intro-copy p{margin-bottom:22px;font-size:18px}
.gpdps-home-primary{display:grid;grid-template-columns:1.12fr .88fr;margin:32px 0;overflow:hidden;color:#fff;background:var(--home-navy)}
.gpdps-home-primary-copy{padding:42px}
.gpdps-home-label{display:inline-block;margin-bottom:10px;padding:3px 9px;color:#fff;background:var(--home-teal);font-size:12px;font-weight:700;letter-spacing:.08em}
.gpdps-home-primary h2{margin:0 0 16px;color:#fff;font-size:clamp(28px,3.4vw,38px);line-height:1.45}
.gpdps-home-primary p{color:rgba(255,255,255,.92);font-size:18px;line-height:1.9}
.gpdps-home-button{display:inline-block;margin-top:13px;padding:12px 22px;color:var(--home-navy)!important;background:#fff;border-radius:3px;font-size:17px;font-weight:700;text-decoration:none}
.gpdps-home-course-list{display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;background:rgba(255,255,255,.12)}
.gpdps-home-course-list li{display:flex;flex-direction:column;justify-content:center;min-height:130px;padding:24px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
.gpdps-home-course-list strong{font-size:18px}.gpdps-home-course-list span{color:#c9e7e5;font-size:13px}
.gpdps-home-osc{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center;margin:40px 0;padding:32px;background:#fff;border:1px solid var(--home-line)}
.gpdps-home-osc-image{display:block;border:1px solid #efddd5}.gpdps-home-osc-image img{display:block;width:100%}
.gpdps-home-label-orange{background:var(--home-orange)}.gpdps-home-osc h2{margin:3px 0 11px;color:var(--home-navy);font-size:32px}
.gpdps-home-osc-copy p{font-size:18px;line-height:1.9}.gpdps-home-text-link{color:var(--home-blue);font-size:17px;font-weight:700}
.gpdps-home-archive{margin:40px 0;padding:32px 38px;background:#fff;border:1px solid var(--home-line)}
.gpdps-home-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:21px}
.gpdps-home-archive-card{overflow:hidden;background:#fff;border:1px solid var(--home-line)}
.gpdps-home-archive-image{display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;color:#fff!important;background:linear-gradient(135deg,#ed6b2c,#d65327);text-align:center;text-decoration:none!important}
.gpdps-home-archive-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.gpdps-home-archive-image:hover img{transform:scale(1.025)}
.gpdps-home-archive-image span{font-size:16px;font-weight:700;letter-spacing:.06em}.gpdps-home-archive-image small{display:block;margin-bottom:3px;font-size:10px;letter-spacing:.13em}
.gpdps-home-archive-body{padding:16px}.gpdps-home-archive-body time{color:var(--home-muted);font-size:13px}.gpdps-home-archive-body h3{margin:6px 0 0;font-size:17px;line-height:1.55}.gpdps-home-archive-body h3 a{color:var(--home-ink);font-size:17px;text-decoration:none}
.gpdps-home-news{margin:40px 0;padding:32px 38px;background:#fff;border:1px solid var(--home-line)}
.gpdps-home-section-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--home-navy)}
.gpdps-home-section-head h2{margin:0 0 10px;color:var(--home-navy);font-size:25px}.gpdps-home-section-head a{font-size:14px}
.gpdps-home-news ul{margin:0;padding:0;list-style:none}.gpdps-home-news li{display:grid;grid-template-columns:100px 110px 1fr;gap:16px;padding:16px 0;border-bottom:1px dotted #cbd8de;font-size:16px}
.gpdps-home-news time{color:var(--home-muted);font-size:14px}.gpdps-home-news li span{color:var(--home-teal);font-size:14px}.gpdps-home-news li a{color:var(--home-ink);font-size:16px;text-decoration:none}
.gpdps-home-sponsors{margin:40px 0;padding:24px;background:#fff;border-top:1px solid var(--home-line)}.gpdps-home-sponsors-heading{color:var(--home-muted);font-size:12px;letter-spacing:.14em;text-align:center}
.gpdps-home-sponsors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gpdps-home-sponsor{min-height:80px;padding:16px;border:1px solid var(--home-line);text-align:center}
@media(max-width:767px){
	.gpdps-home{font-size:16px}.gpdps-home-intro,.gpdps-home-primary-copy,.gpdps-home-news{padding:24px}.gpdps-home-intro h1{font-size:28px}.gpdps-home-intro-copy,.gpdps-home-intro-copy p{font-size:16px}
	.gpdps-home-primary,.gpdps-home-osc{grid-template-columns:1fr}.gpdps-home-osc{gap:20px;padding:20px}.gpdps-home-primary p,.gpdps-home-osc-copy p{font-size:16px}
	.gpdps-home-archive{padding:24px}.gpdps-home-archive-grid{grid-template-columns:1fr}.gpdps-home-news li{grid-template-columns:88px 1fr;gap:5px 13px}.gpdps-home-news li a{grid-column:1/-1}.gpdps-home-sponsors-grid{grid-template-columns:1fr}
}

/* OralScienceCafe トップページブロック 見た目調整（ホバー演出） */
.gpdps-home-archive-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gpdps-home-archive-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(22,75,115,.14);border-color:#ed6b2c}
.gpdps-home-archive-card:hover .gpdps-home-archive-image img{transform:scale(1.06)}
.gpdps-home-archive-body h3 a{transition:color .2s ease}
.gpdps-home-archive-card:hover .gpdps-home-archive-body h3 a{color:#ed6b2c}
.gpdps-home-osc-image{transition:box-shadow .25s ease,transform .25s ease}
.gpdps-home-osc-image:hover{box-shadow:0 12px 28px rgba(22,75,115,.18);transform:translateY(-2px)}
.gpdps-home-text-link{position:relative;transition:color .2s ease}
.gpdps-home-text-link::after{content:'';position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.gpdps-home-text-link:hover::after{transform:scaleX(1)}
