/*
Theme Name: Schoolcms
Author: Innermedia
Author URI: https://www.innermedia.co.uk
Description: 
Version: 5.1.0

*/
:root {
	--body_colour : #000;
	--title_colour : #000;
	--link_colour : #ec3822;
	--link_colour_hover : #ec3822;	
	--button_bg: #ec3822;
	--button_colour: #fff;
	--button_bg_hover: #000;
	--button_colour_hover: #fff;
}

/*Content Wrapper*/


.well {
	padding:10px 15px;
	background:#eaeaea;
	border:solid 1px #ddd;
	margin:20px 0;
}
.scms-carousel .owl-dots span {
	width:10px;
	height:10px;
	display:inline-block;
	background:currentColor;
	border-radius:50%;
}
.scms-carousel .owl-nav {
	position:relative;
}
.scms-carousel .owl-nav .owl-prev{
	position:absolute;
	left:0;
	top:0;
}
.scms-carousel .owl-nav .owl-next{
	position:absolute;
	right:0;
	top:0
}
.scms-carousel .owl-dots {
	padding-left:10px;
	padding-right:10px;
	text-align:center;
}
.scms-carousel .owl-dots .owl-dot {
	display:inline-block;
	margin:0 2px;
	opacity:0.8;
}
.scms-carousel .owl-dots .owl-dot.active {
	opacity:1;
}
.breadcrumbs {
	font-size:0.875rem;
	padding-bottom:1.25rem;
	position:relative;
	border-bottom:solid 1px #d7d9d9;
	margin-bottom:1.25rem;
}
.searchform label{
	display:none;
}
.searchform {
	padding-right:40px;
	padding-left:0px;
	position:relative;
	overflow:hidden;
	font-size:14px;
}
.searchform input.searchInput {
	border: 0;
	height:30px;
	width:100%;
	background:transparent;
	padding: 4px 10px;
    outline: 0;
}
.searchform .searchSubmit{
    background: transparent;
    border: 0;
    text-transform: uppercase;
    padding: 0;
    font-size: 16px;
	position:absolute;
	background-repeat:no-repeat;
	background-position:center;
	right:5px;
	top:0px;
	width:30px;
	height: 28px;
    outline: 0;
}
.body-text iframe{
	max-width:100%;
}

/*news*/
.list-item{
    overflow: hidden;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ddd;
}
.list-item-image{
	text-align:center;
}
.list-item-image a{
	display:block;
	padding:10px 0;
}
.list-item-text{

}
.list-item-text p.date{
	font-size:0.8em;
	margin:0;
}

.postThumb {
	margin-bottom:20px;
	text-align:center;
}

/*------------------------------------*\
    Header
\*------------------------------------*/
header.mainHeader {
	height:120px;
	position:relative;
}
.headGroup {
	background:#fff;
	transition:300ms;
	padding-top:15px;
	padding-bottom:15px;
	z-index:220;
	position:fixed;
	height:120px;
	width:100%;
	top:0;
	left:0;
}
.fixedHeader .headGroup {
	
}
.socialDesktop {
	justify-content: end;
    display: flex;
}
/*------------------------------------*\ 
    Navigation
\*------------------------------------*/

.menu-toggle{
    position:relative;
	padding-right:40px;	
	display:inline-block;
	cursor:pointer;
	height:30px;	
    color: #ec3822;
}
.menu-toggle .toggleText{
	display:none;
	vertical-align:middle;
	font-size:14px;
}
.menu-toggle .toggleIcon {
	position:absolute;
	width:30px;
	height:30px;
	right:0;
	top:0px;
	transition:300ms;
}
@media (min-width:992px){
	.menu-toggle .toggleText{
		display:inline-block;
	}
}
.menu-toggle .toggleIcon span:before,
.menu-toggle .toggleIcon span:after {
	content:'';
}
.menu-toggle .toggleIcon span,
.menu-toggle .toggleIcon span:before,
.menu-toggle .toggleIcon span:after {
    width: 26px;
    height: 1px;
    background-color: var(--link_colour);
    display: block;
    transition:all 300ms;
	position:absolute;
}

.menu-toggle:hover .toggleIcon span,
.menu-toggle:hover .toggleIcon span:before,
.menu-toggle:hover .toggleIcon span:after{
    background-color: var(--link_colour_hover);
}
.menu-toggle .toggleIcon span {
	top:50%;
	left:2px;
	margin-top:-.5px;	
}
.menu-toggle .toggleIcon span:before {
    top: -8px;
}
.menu-toggle .toggleIcon span:after {
    top: 8px;
}
body.menuopen .menu-toggle .toggleIcon span {
    background-color: transparent!important;
}
body.menuopen .menu-toggle .toggleIcon span:before {
    transform: rotate(135deg);
    top: 0px;
}
body.menuopen .menu-toggle .toggleIcon span:after {
    transform: rotate(-135deg);
    top: 0px;
}
#navbar{
	position: fixed;
	right: 0;
	transition: transform 500ms;
	background-color: #fff;		
	z-index: 9999;
	top: 119px;
	bottom:0;
	width: 480px;
	max-width:100%;
	transform:translateX(100%);
	border-left:1px solid #676767;
	display:flex;
	flex-direction:column;
}

#navbar .menu-main-container{
	padding:20px 20px;	
	overflow-x: hidden;	
}
#navbar .navbarExtra {
	padding:10px 20px;
}
body.menuopen .headGroup{ 
	border-bottom-color:#676767;	
}
body.menuopen  #navbar{ 
	transform:translateX(0%);
	z-index: 9999;
}	
#menu-main{
	margin-bottom:30px;
	margin-top:20px;
	clear:both;
}
#menu-main li{
	position:relative;
}	
#menu-main li a{
	display: block;
	text-decoration:none;
	line-height:1.35;
	position:relative;
	border-bottom:solid 1px #676767;
	padding:10px 10px;
}
#menu-main li a:hover{
	text-decoration:none;
	color:#000;
}
#menu-main .sub-menu {
	padding-left:40px;
	position:relative;
	display:none;
	border-bottom:solid 1px #676767;
}
#menu-main .sub-menu li:last-child > a{		
	border-bottom:none;
}
#menu-main li.open > .sub-menu {
	display:block;
}
#menu-main li.menu-item-has-children > a {
	padding-right:35px;
}	
#menu-main li.menu-item-has-children > .arrow {
	position:absolute;
	right:0;
	top:5px;
	width:30px;
	height:30px;
}	
#menu-main li.menu-item-has-children > .arrow:after{
	position:absolute;
	content: '\f054';
	display: block;
	width: 11px;
	height: 25px;
    left: 10px;
    top: 3px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}
#menu-main li.open.menu-item-has-children > .arrow:after{
	transform:rotate(90deg);
}

/*------------------------------------*\ 
    Banner
\*------------------------------------*/
#pageBanner,
.bannerWrap {
	position: relative;
	overflow:hidden;
	min-height:300px;
	max-height:680px;
}
#homeBanner {	
	position: relative;
	overflow:hidden;
	min-height:480px;
	max-height:100vh;
}
#pageBanner:before,
.bannerWrap:before {
	content:'';
	display:block;
	width:100%;
	padding-top:35.897%;
}
#homeBanner:before {
	content:'';
	display:block;
	padding-top:56.08%;
}
@media(min-width:768px){
	#homeBanner {
		max-height:880px;
	}
	#homeBanner:before {
		content:'';
		display:block;
		padding-top:56.08%;
	}
}

/*------------------------------------*\ 
    FOOTER
\*------------------------------------*/

#footer{
	margin-top:2rem;
}
#menu-useful {
	list-style:none;
	padding:0;
}
.footerLower {
	background:#000;
	color:#dddedf;
	--link_colour:#dddedf;
	padding:20px 0;
	font-size:14px;
	text-align:center;
}
.footerLower p,
.footerLower ul{
	margin:10px 0;
}
.footerLower a{
	text-decoration:none;
}
.footerInfo {
	text-align:center;
	line-height:1.87;
	margin-bottom:20px;
}
.footerInfo h3{
	font-size:1.5em;
	margin:30px 0 20px;
}
.footerInfo a:before {
	content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0px;
    height: 1px;
    background-color: #000;
    transition: all 300ms;
    margin-right: 0px;
}
.footerInfo a:hover:before {
    width: 5px;
    margin-right: 5px;
}
.footer-links{
	margin:0;
	list-style:none;
	padding:0;
	margin-bottom:15px;
}
.footer-links li{
	display: inline;
}
.footer-links li:after{
	content:" | ";
	margin: 0 1px 0 1px;
	display: inline;
}
.footer-links li:last-child:after{
	content:"";
}
.footer-links li a{
	display: inline;
	white-space:nowrap;
}
@media (min-width:768px){
	.footerLower {
		text-align:initial;
		padding:50px 0;
	}
}
@media (min-width:1200px){
	.footerInfo {
		margin-bottom:70px;
	}
}

/*------------------------------------*\
    Dynamic Content
\*------------------------------------*/

.dynamicContent {
	margin-top:30px;
	margin-bottom:00px;
}
@media (min-width:992px){
	.dynamicContent {
		margin-top:50px;
		margin-bottom:00px;
	}
}
/*******Dividers******/
.dividera{
	clear: both;
    width: 100%;
    height: 100px;
   position:relative;
}
.dividera:before{
	content:'';
	width:90%;
	height:1px;
	border-bottom:solid 1px #ccc;
	position:absolute;
	top:50%;
	left:5%;
}

.dividera:after{
	content:'';
	display:block;
	 background-image: url(images/icon.png);
    background-position: center center;
	background-size:contain;
	height:76px;
	width:76px;
	top:50%;
	left:50%;
	margin-top:-38px;
	margin-left:-38px;
    background-repeat: no-repeat;
	position:absolute;
	background-color:#fff;
}
.dividerb{
    clear: both;
    width: 100%;
    height: 130px;
    background-image: url(images/icon.png);
    background-position: center center;
    background-repeat: no-repeat;
	background-size:90px;
}



/*******FAQS*****/
.faqs{

}
.faqs .faq{
	border-bottom:solid 2px #fff;
}

.faq-question{
	position:relative;
	margin:0;
	padding:0.625rem 1.5rem;
    padding-right: 2em;
	background: #a2a6a9;
	color:#fff;
	cursor:pointer;
}
.faq.open .faq-question{
	background:#969696;
}
.faq-question:hover{
	background: #000;
}
.faq-question:after {
    content: '\f054';
    display: block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5em;
	text-align:center;
    position: absolute;
    right: 5px;
    top:0.625rem;
	font-size:0.8em;
	font-weight:700;
	font-family: "Font Awesome 6 Free";   
    transform: rotate(0deg);
	transition:300ms;
}
.faq.open .faq-question:after {
  transform:rotate(90deg);
}

.faqs .faq:last-child .faq-answer{
	border-bottom:solid 1px #a2a6a9;
}
.faqs .faq.open:last-child .faq-answer{
	border-color:#969696;	
}


/******Staff********/
.staffMember {
	padding-bottom:15px;
	margin-bottom:20px;
	border-bottom:solid 1px #eee;
}
.staff-meta {
	margin-bottom:5px;
}
.staff-meta .meta-label {
	font-weight:700;
}
.staff-meta.featured-staff-metas .staff-meta > *{
	display:inline-block;
}
.staff-meta a.email-value{
	font-size: 0;
    color: transparent;
	display: inline-block;
    vertical-align: middle;
}
.staff-meta a.email-value:before {
    content: "send";
    font-size: 12px;
    padding: 5px 10px;
    color: #000;
    display: block;
    text-align: center;
    background-color: #eee;
    border-radius: 5px;
    text-transform: uppercase;
    pointer-events: none;
	transition:300ms;
}
.staff-meta a.email-value:hover:before{
	background-color:#ccc;
}
/*****Quotes******/
.quoteContainer .quotesTitle{ 
	margin:10px 0 0;
	text-align:center;
	padding:0 15px;
}
.quoteContainer {
	background:#e0e0e0;	
	color:#000;
	padding-top:1.5em;
	padding-bottom:1.5em;
}
.quoteContainer .cycle-pager {
	width:100%;
	margin:0;
	padding:0 15px;
	text-align:center;
}
.quoteContainer .cycle-pager span{
	cursor:pointer;
	display:inline-block;
	margin:0 2px;
	width:15px;
	text-align:center;
	opacity:0.8;
	font-size:20px;
}
.quoteContainer .cycle-pager span.cycle-pager-active{
	opacity:1;
}
.quoteContainer blockquote.quote-text{
	padding-top:1em;
	padding-bottom:0.1em;
	margin-bottom:0;
	
}
.quoteContainer .quote-cite{
	text-align:center;
	font-weight:700;
	padding:0 15px 15px;
}
/****Documents******/
a.button.document-link {
	padding-right:50px;
	width:100%;
}
a.button.document-link:after {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f56d";
	display:block;
	position:absolute;
	top:50%;	
    right: 10px;
    transform: translateY(-50%);
}

/*Callout*/
.callout {
	display:block;
	position:relative;
	transition:300ms;
	color: #fff;
	--body_colour: #fff;
	--title_colour: #fff;
    background: #969696;
	font-size:1em;
	overflow:hidden;
}
.callout .calloutContent {
	position:relative;
	text-align:center;
}
.callout .calloutTitle {
	font-size:1em;
	margin:0.5em 0;
}
.callout.hasbg .coimg {
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
}
.callout.hasbg .coimg:after {
	content: '';
    display: block;
    width: 100%;
    bottom: 0;
    position: absolute;
    left: 0;
    height: 100%;
    background: rgba(0,0,0,0.3);
}
.callout .coimg img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;	
}

.callout.hasbg .calloutContent {
	padding-bottom:75px;
	padding-top:150px;
}
.callout.hastext.hasbg .calloutContent {
	padding-bottom:35px;
	padding-top:100px;
}

/***POIS****/
.row.pois {
    --bs-gutter-y: 1.5rem;
}

.poi {
	position: relative;
	display: block;
	transition:all 300ms;
    overflow: hidden;
	background:#676767;
	color:#fff;
	font-family: 'Crimson Pro', serif;
	margin-bottom:30px;
}
.poi:hover  {
	color:#fff;
	text-decoration:none;
}
.poiImage .poiImageBG {
	position:absolute;
	width:100%;
	height:100%;
	top:0;
	left:0;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	transition:300ms;
	opacity:1;
}

.poiImage .poiImageBG:after {
	content:'';
	display:block;
	width:100%;
	bottom:0;
	position:absolute;
	left:0;
	height:100%;
	background:rgba(0,0,0,0.3);
}
.poiImage .poiImageBG img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;	
}


.poiImage {
	background:inherit;
}
.poi:hover .poiImage .poiImageBG {

}
.poiImage:before {
	content:'';
	display:block;
	width:100%;
	padding-top:100%;
}
.textOnlyBlock .poiText {
	position:relative;
	padding:25px 15px;
}
.poi .poiTitle {	
	display:inline-block;
	line-height:1.3;
	text-align:center;

}
.poi .textOnlyBlock{
	
}
.poi .poiTitle {
	display:block;
	font-size:20px;
	font-weight:400;
	position:relative;
	padding:10px 15px;
	text-transform:uppercase;
}

.poi .textOnlyBlock .poiTitle{
	margin:5px;
}
.textOnlyBlock {
	padding:10px 30px;
	transition:300ms;
}

.textOnlyBlock .poiText{
	display:block;	
	text-align:center;
}

.poi:hover .textOnlyBlock {
	background-color:rgba(0,0,0,0.2);
	color:#fff;
	text-decoration:none;
}

.poiImage .poiText {
	padding:10px 20px;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;	
	bottom:15%;
	transform:translateY(50%);
	text-align:center;
	width:100%;
	transition:300ms;
}
.poiImage .poiText {
}
.poiImage .poiText .poiEx {
	max-height:0;
	overflow:hidden;
	font-size:18px;
	transition:300ms;
}
.poi:hover .poiImage .poiText {
	bottom:50%;
}
.poi:hover .poiImage .poiImageBG {
	opacity:0;
}
.poi:hover .poiImage .poiEx {
	max-height:460px;	
}
.pois.homePOIs .col-xs-6 {
	padding-left:15px;
	padding-right:15px;
}

/*------------------------------------*\
    HOME DYNAMIC
\*------------------------------------*/
.welcomeBlock {
	margin-bottom:40px;
}
/*------------------------------------*\
    END DYNAMIC CONTENT
\*------------------------------------*/

/*------------------------------------*\
    Sidebar
\*------------------------------------*/
.sidebar {
	margin-top:0px;
}
#menu-side li{
	position:relative;
	margin:5px 0;
}
#menu-side a {
	display:inline-block;
	text-decoration:none;
	padding:0.5rem 1rem;
}
#menu-side a:hover {
	text-decoration:none;
}
/*Top level item*/
#menu-side > li > .sub-menu{
	margin:10px 0;
}
/*main Sub menu items*/
#menu-side .sub-menu li.current-menu-ancestor a,
#menu-side .sub-menu li.current-menu-item a{	
}
#menu-side .sub-menu li.current-menu-item > a{
	
}
#menu-side .sub-menu li.menu-item-has-children > .arrow {
	display:block;
	width:45px;
	height:45px;
	position:absolute;
	top:0;
	right:0;
}
#menu-side .sub-menu li.menu-item-has-children > .arrow:before {
	position:absolute;
	content: '\f054';
	display: block;
	width: 11px;
	height: 27px;
	position: absolute;
	left: 12px;
	top: 10px;
	font-weight: 700;
	font-family: "Font Awesome 6 Free";
	transform: rotate(0deg);
	transition: 300ms;
}

#menu-side .sub-menu li.menu-item-has-children.open > .arrow:before {
	transform:rotate(90deg);
}
#menu-side .sub-menu li a:hover{
	color:#676767;
}
#menu-side .sub-menu .sub-menu {
	background:rgba(0,0,0,0.1);
	padding-bottom:10px;
	display:none;
}
#menu-side .sub-menu .sub-menu li{
	margin:0;
}
#menu-side .sub-menu li.open > .sub-menu {
	display:block;
}
@media (max-width:991.99px){
	.side-menu-container {
		display:none;
	}
}

/*Blog sidebar*/
#blognav ul {
	list-style:none;
}
.sidebarSec {	
    padding:0px 15px 15px;
	margin:0 auto 10px;
}
@media (min-width:1200px){

}
/*Animation*/


.hideme {
	opacity:0;
	top:30px;
	position:relative;
	transition:500ms;
}
.hideme.active {
	opacity:1;
	top:0;
}

/*==========================================================================
  RIKKYO — Figma "Inner Template" restyle (node 10001-390)
  Appended last so it overrides the base rules above without !important.
  Figma layers → theme classes: header.mainHeader, headerIcon>img.mainLogo,
  header-right, head-link.style1, searchToggle, menu-toggle,
  #pageBanner.page-banner, .breadcrumbs, .bodyContent.
==========================================================================*/

/* --- Fonts: Noto Sans JP self-hosted (Latin + Latin-ext). Variable font, so
   one file per subset serves weight 300–400. Quiche Sans loads via Adobe kit. */
@font-face {
	font-family:"Noto Sans JP";
	font-style:normal;
	font-weight:300 400;
	font-display:swap;
	src:url("fonts/noto-sans-jp/noto-sans-jp-latin.woff2") format("woff2");
	unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
	font-family:"Noto Sans JP";
	font-style:normal;
	font-weight:300 400;
	font-display:swap;
	src:url("fonts/noto-sans-jp/noto-sans-jp-latin-ext.woff2") format("woff2");
	unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* --- Design tokens (Figma palette, overriding the :root at the top) --- */
:root {
	--body_colour:#111622;      /* Dark  */
	--title_colour:#00345c;     /* Blue  — H1 */
	--link_colour:#ab2723;      /* Red   */
	--link_colour_hover:#ab2723;
	--button_bg:#ab2723;        /* Red → Blue on hover ("red to blue button") */
	--button_colour:#dad1cd;    /* Cream */
	--button_bg_hover:#00345c;  /* Blue  */
	--button_colour_hover:#dad1cd;

	--rk-dark:#111622;
	--rk-cream:#dad1cd;
	--rk-red:#ab2723;
	--rk-blue:#00345c;
	--rk-page:#fbfafa;
}

/* --- Base type: Body Noto Sans JP Light · Headings Quiche Sans --- */
body {
	font-family:"Noto Sans JP",-apple-system,"Segoe UI",sans-serif;
	font-weight:300;
	background:var(--rk-page);
	color:var(--body_colour);
}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
	font-family:"quiche-sans","Quiche Sans",Georgia,serif;
	font-weight:400;
}

/* --- Header (header.mainHeader → .headGroup is the fixed bar) --- */
header.mainHeader { height:80px; }
.headGroup {
	background:var(--rk-dark);
	border-bottom:1px solid #000;
	height:80px;
	padding:0;
}
.mainHeader .headGroup > .container { max-width:100%; padding-inline:49px; height:100%; }
.mainHeader .headRow {
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:100%;
}
.mainHeader .headerIcon { display:flex; align-items:center; }
.mainHeader .mainLogo { width:78px; height:58px; display:block; }
.mainHeader .header-right { display:flex; align-items:center; gap:49px; }

/* head-link.style1 → Apply Now ("red to outline button") */
.mainHeader .head-link.style1 > a {
	display:inline-flex; align-items:center; justify-content:center;
	padding:2px 24px 5px; min-height:46px;
	background:var(--rk-red); color:var(--rk-cream); border:1px solid var(--rk-red);
	font-family:"Noto Sans JP",sans-serif; font-weight:300; font-size:16px; line-height:36px;
	text-decoration:none; white-space:nowrap;
	transition:background-color .2s ease,color .2s ease;
}
.mainHeader .head-link.style1 > a:hover,
.mainHeader .head-link.style1 > a:focus-visible { background:transparent; color:var(--rk-cream); }

/* searchToggle */
.mainHeader .searchToggle {
	display:inline-flex; align-items:center; justify-content:center;
	background:none; border:0; padding:0; color:var(--rk-cream);
	font-size:20px; line-height:1; cursor:pointer;
}
.mainHeader .searchToggle:hover { color:#fff; }

/* menu-toggle (red diamond) — reset theme's padding/height + hide CSS hamburger */
.mainHeader .menu-toggle { display:inline-flex; width:61px; height:61px; padding:0; }
.mainHeader .menu-toggle img { width:61px; height:61px; display:block; }
.mainHeader .menu-toggle .toggleIcon { display:none; }

/* Search reveal (body.searchopen — toggled by js/figma-header.js) */
.headerSearch { background:var(--rk-dark); overflow:hidden; max-height:0; transition:max-height .3s ease; }
body.searchopen .headerSearch { max-height:140px; }
.headerSearch > .container { padding-block:18px; max-width:100%; padding-inline:49px; }
.headerSearch .searchform { padding:0; overflow:visible; display:flex; gap:12px; align-items:center; }
.headerSearch .searchform input.searchInput {
	flex:1; height:44px; padding:0 14px; border:1px solid var(--rk-cream);
	background:transparent; color:var(--rk-cream);
}
.headerSearch .searchform .searchSubmit { position:static; width:44px; height:44px; color:var(--rk-cream); }

/* --- Off-canvas navigation (#navbar — override the theme's id rules) --- */
#navbar {
	top:0;
	width:min(360px,85vw);
	background:var(--rk-dark);
	color:var(--rk-cream);
	border-left:0;
	padding-top:88px;
}
#navbar .menu-main-container { padding:0 32px; }
#navbar .navbarExtra { padding:24px 32px; }
#menu-main { margin:0; padding:0; list-style:none; }
#menu-main li a { color:var(--rk-cream); border-bottom:1px solid rgba(218,209,205,.18); padding:14px 0; }
#menu-main li a:hover { color:#fff; }
/* dimmer behind the panel */
body.menuopen::before {
	content:""; position:fixed; inset:0;
	background:rgba(17,22,34,.5); z-index:9990;
}

/* --- Page banner (#pageBanner.page-banner) — Figma is 1560×827 (53% ratio) --- */
#pageBanner { min-height:340px; max-height:827px; }
#pageBanner:before { padding-top:53.01%; }

/* --- Content column (.breadcrumbs · .bodyContent = dynamic-text) --- */
.body-container { max-width:1296px; padding-top:40px; } /* space above breadcrumbs */
.breadcrumbs {
	font-family:"Noto Sans JP",sans-serif; font-weight:300;
	font-size:18px; line-height:36px; color:var(--rk-dark);
	border-bottom:none; margin-bottom:0; padding-bottom:0; /* Figma has no rule under breadcrumbs */
}
.breadcrumbs a { color:var(--rk-dark); text-decoration:none; }
.breadcrumbs a:hover { text-decoration:underline; }
/* space around the "|" separator (pads each Breadcrumb NavXT crumb) */
.breadcrumbs span[property="itemListElement"],
.breadcrumbs .breadcrumb { padding:0 8px; }
.breadcrumbs span[property="itemListElement"]:first-child,
.breadcrumbs .breadcrumb:first-child { padding-left:0; }

.bodyContent { padding-top:80px; } /* space above the H1 block (≈100px incl. breadcrumb gap, per Figma) */
.bodyContent h1 {
	margin:0 0 25px;
	font-family:"quiche-sans","Quiche Sans",Georgia,serif; font-weight:400;
	font-size:50px; line-height:1; color:var(--rk-blue);
}
.bodyContent .body-text {
	font-family:"Noto Sans JP",sans-serif; font-weight:300;
	font-size:18px; line-height:36px; color:var(--rk-dark);
}
.bodyContent .body-text a { color:var(--rk-red); text-decoration:none; }
.bodyContent .body-text a:hover { text-decoration:underline; }

/* --- Buttons ("red to blue button") — theme button system, squared + cream --- */
.blockButton > a, a.button, button.button, .bodyContent .body-text .wp-block-button__link {
	border-radius:0; padding:7px 29px;
	font-family:"Noto Sans JP",sans-serif; font-weight:300; font-size:16px; line-height:36px;
}
/* keep button labels cream (the red in-copy link rule must not tint them) */
.bodyContent .body-text a.button,
.bodyContent .body-text .blockButton > a,
.bodyContent .body-text .wp-block-button__link { color:var(--button_colour); }
.bodyContent .body-text a.button:hover,
.bodyContent .body-text .blockButton > a:hover,
.bodyContent .body-text .wp-block-button__link:hover { color:var(--button_colour_hover); text-decoration:none; }

/* --- Responsive --- */
@media (max-width:991px){
	.mainHeader .headGroup > .container,
	.headerSearch > .container { padding-inline:24px; }
	.mainHeader .header-right { gap:24px; }
}
@media (max-width:640px){
	.bodyContent h1 { font-size:34px; }
	.body-container { padding-top:24px; }
	.bodyContent { padding-top:40px; }
	.mainHeader .header-right .head-link.style1 { display:none; } /* Apply Now folds into menu */
}
@media (prefers-reduced-motion:reduce){
	.headerSearch, #navbar { transition:none; }
}
