/*
Theme Name: Colibri WP Child
Template: colibri-wp
Version: 2026
*/

:root{
	--px:20px;
	--py:80px;
	--color-black:black;
	--color-navy:#0B2845;
	--color-navy-rgb:11,40,69;
	--color-navy-light:#2b3d56;
	--color-navy-light-rgb:43,61,86;
	--color-orange:#E8612A;

	--txt-gray:#666;

	--color-bg-gray:#F5F7FA;

	--bs-body-color:var(--color-black);
	--border-color:#dee2e6;
}

html{scrollbar-gutter:stable;}

.container{max-width:1232px; padding-left:var(--px); padding-right:var(--px);}
.py-content{padding-top:var(--py); padding-bottom:var(--py);}
.py-content-sm{padding-top:calc(var(--py) / 2); padding-bottom:calc(var(--py) / 2);}

.gx-lg{margin-left:calc(var(--px) * -1); margin-right:calc(var(--px) * -1);}
.gx-lg>*{padding-left:var(--px); padding-right:var(--px);}
.gy-px{row-gap:var(--px);}
.gy-py{row-gap:var(--py);}

@media (max-width:767.98px){
	:root{
		--py:50px;
	}
}

/*
----------------------------------------------- */
#cover *::before, #cover *::after,
.scroll-container::before, .scroll-container::after,
.voice::before, .voice::after,
.voice *::before, .voice *::after{content:none;}

/*
----------------------------------------------- */
ul,ol{padding-left:0;}
ul:not([class]),
ol:not([class]){padding-left:1.5rem;}

.h1,h2,h3{font-weight:700 !important; line-height:1.4;}

.h1{font-size:min(8vw, 60px); margin-bottom:.5em;}
article h2:not(#cover h2){font-size:min(6vw, 32px); color:var(--color-navy); text-align:center; margin-bottom:3rem;}
article h2:not(#cover h2):not(.modal h2)::after{
	content:'';
	display:block;
	margin:1rem auto 0;
	width:40px;
	height:2px;
	background-color:var(--color-navy);
}
article h2:not(#cover h2) span{display:block; font-size:1rem; color:var(--color-orange); margin-bottom:.75rem;}
article h3{font-size:20px; color:var(--color-navy); margin-bottom:1rem;}
article h4{font-size:20px; font-weight:700;}
article p{color:var(--color-black); margin-bottom:1.8em; line-height:1.8;}

p.small{line-height:1.6; }
.small p{font-size:.875em;}

.c-orange{color:var(--color-orange);}
.c-gray{color:var(--txt-gray);}

.bg-gray{background-color:var(--color-bg-gray);}
.bg-grid{
	--grid-line-color:rgba(0, 0, 0, .05);
	background-color: var(--color-gray);
	background-image:
		linear-gradient(0deg, transparent calc(100% - 1px), var(--grid-line-color) calc(100% - 1px)),
		linear-gradient(90deg, transparent calc(100% - 1px), var(--grid-line-color) calc(100% - 1px));
	background-size:40px 40px;
	background-repeat:repeat;
	background-position:center top;
}

.l{text-align:left !important;}
.c{text-align:center !important;}

.flex-x-c{display:flex; justify-content:center;}

.nav-link{color:var(--color-navy); transition:.3s;}

.nav-tab{justify-content:center; gap:10px; padding:1rem 0; margin-left:calc(var(--px) / -1); margin-right:calc(var(--px) / -1);}
.nav-tab .nav-link{border-radius:10em; font-weight:700;}
.nav-tab .nav-link:hover{color:white; background-color:var(--color-navy); opacity:.8;}
.nav-tab .nav-link.active,
.nav-tab .show>.nav-link{color:white; background-color:var(--color-navy);}

@media (max-width:419.98px){
	.nav-tab{gap:5px;}
	.nav-tab .nav-link{font-size:15px;}
}

.btn{
	--bs-btn-padding-x:1.5rem;
	--bs-btn-padding-y:.75rem;
	--bs-btn-border-radius:10em;
}
.btn-sm{
	--bs-btn-padding-x:1rem;
	--bs-btn-padding-y:.5rem;
}
.btn-main{
	--bs-btn-color:white;
	--bs-btn-bg:var(--color-navy);
	
	--bs-btn-hover-color:var(--color-navy);
	--bs-btn-hover-bg:transparent;
	--bs-btn-hover-border-color:var(--color-navy);

	/* disabled */
	--bs-btn-disabled-color:white;
	--bs-btn-disabled-bg:var(--color-navy);
}
.btn-ol-main{
	--bs-btn-color:var(--color-navy);
	--bs-btn-bg:transparent;
	--bs-btn-border-color:var(--color-navy);
	
	--bs-btn-hover-color:white;
	--bs-btn-hover-bg:var(--color-navy);
	--bs-btn-hover-border-color:var(--color-navy);
}
.btn-orange{
	--bs-btn-color:white;
	--bs-btn-bg:var(--color-orange);
	
	--bs-btn-hover-color:var(--color-orange);
	--bs-btn-hover-bg:transparent;
	--bs-btn-hover-border-color:var(--color-orange);
}

.btns-pdf{gap:10px;}
.btns-pdf li{width:calc(50% - 10px / 2);}
.btns-pdf li .btn{width:100%; justify-content:center;}

[class*="btn-pdf"]{
	display:inline-flex;
	align-items:center;
	gap:.5rem;
}
[class*="btn-pdf"]::after{
	content:'';
	width:1.5em;
	aspect-ratio:1/1;
	background-color:white;
	-webkit-mask:url(assets/img/ic-pdf.svg) no-repeat center center/contain;
	mask:url(assets/img/ic-pdf.svg) no-repeat center center/contain;
}

.btn-orange[class*="btn-pdf"]:hover::after{
	background-color:var(--color-orange);
}

.card{
	--bs-border-radius:20px;
}

/* modal
----------------------------------------------- */
body.modal-open{padding-right:0 !important}
.modal{
	--bs-modal-width:900px;
	overscroll-behavior: contain !important;
	padding-right:0 !important;
}

/* cover
----------------------------------------------- */
#cover{
	color:white;
	background-color:var(--color-navy);
	--grid-line-color:rgba(255, 255, 255, .05);
	background-image:
		linear-gradient(0deg, transparent calc(100% - 1px), var(--grid-line-color) calc(100% - 1px)),
		linear-gradient(90deg, transparent calc(100% - 1px), var(--grid-line-color) calc(100% - 1px));
	background-size:40px 40px;
	background-repeat:repeat;
	background-position:center top;

	position:relative;
	z-index:1;
}
#cover-carousel{
	display:flex;
	width:55%;
	height:100%;
	clip-path:polygon(
		0 0,
		100% 0,
		100% 100%,
		20% 100%
	);
	position:absolute;
	top:0;
	right:0;
	z-index:-1;
}
#cover-carousel .carousel-inner{
	display:flex;
}
#cover-carousel .carousel-item img{
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	object-fit:cover;
}

/*
#cover::after{
	content:'';
	width:55%;
	height:100%;
	clip-path:polygon(
		0 0,
		100% 0,
		100% 100%,
		20% 100%
	);
	background:url(assets/img/cover.jpg) no-repeat center center/cover;
	position:absolute;
	top:0;
	right:0;
	z-index:-1;
}
*/

#cover .h1 span:not([class]){
	display:block;
	font-size:22px;
	color:rgba(255,255,255,.4);
	margin-bottom:1em;
}
#cover .h1 span.num{
	font-size:1.4em;
	display:inline-block;
	margin:0 .5rem;
	vertical-align:text-bottom;
	line-height:1;
}
#cover p{color:white;}

#cover ul.nav{gap:.75em 1em; font-size:14px; max-width:480px;}
#cover ul.nav li{padding:.5em 1em; background-color:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.4); border-radius:10em;}

@media (max-width:767.98px){
	#cover .py-content{padding-bottom:0;}

#cover-carousel{
	width:100%;
	height:auto;
	aspect-ratio:16/9;
	clip-path:polygon(
		0 20%,
		100% 0,
		100% 100%,
		0 100%
	);
	position:relative;
}
/*
	#cover::after{
		width:100%;
		height:auto;
		aspect-ratio:16/9;
		clip-path:polygon(
			0 20%,
			100% 0,
			100% 100%,
			0 100%
		);
		position:relative;
	}
*/
	#cover ul.nav{font-size:13px;}
}

/*
----------------------------------------------- */
#school-carousel .carousel-item img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px;}
.carousel-control-next,
.carousel-control-prev{width:3rem; opacity:1;}

@media (max-width:991.98px){
	#school-carousel .carousel-item img{aspect-ratio:16/9;}
}

/* reasons
----------------------------------------------- */
#pos-reasons h3{text-align:center;/*  color:var(--color-orange); */}
#pos-reasons .row>*{display:flex;}
#pos-reasons .card{border:none; box-shadow:2px 2px 8px rgba(0,0,0,.1);}
#pos-reasons h3::before{
	content:'';
	display:block;
	height:80px;
	margin-bottom:1em;
}
.reason-1 h3::before{background:url(assets/img/ic-01.svg) no-repeat center center/contain;}
.reason-2 h3::before{background:url(assets/img/ic-02.svg) no-repeat center center/contain;;}
.reason-3 h3::before{background:url(assets/img/ic-03.svg) no-repeat center center/contain;;}
.reason-4 h3::before{background:url(assets/img/ic-04.svg) no-repeat center center/contain;;}


/* subsidy
----------------------------------------------- */
#pos-subsidy .container{max-width:970px;}

#pos-subsidy h3{display:flex; justify-content:center; align-items:center; gap:1rem;}
#pos-subsidy h3::before,
#pos-subsidy h3::after{
	content:'';
	display:inline-block;
	width:1rem;
	height:4rem;
	border:2px solid var(--color-navy);
}
#pos-subsidy h3::before{border-width:2px 0 2px 2px;}
#pos-subsidy h3::after{border-width:2px 2px 2px 0;}

#pos-subsidy .table>:not(caption)>*>*{vertical-align:middle;}
.discount{font-size:1.4em; color:var(--color-orange);}


/* posts
----------------------------------------------- */
#pos-posts .row>*{display:flex;}
#pos-posts .row>*>*{width:100%;}
.card-post .card-img-top{
	width:100%;
	aspect-ratio:16/9;
	background-color:#f4f4f4;
	background:no-repeat center center/cover;
}
.card-post .card-body{padding-right:calc(var(--bs-card-spacer-x) + 2rem); position:relative;}
.card-post .card-body::after{
	content:'';
	display:inline-block;
	width:1rem;
	aspect-ratio:1/1;
	border:2px solid var(--color-navy);
	border-width:2px 2px 0 0;
	position:absolute;
	top:50%;
	right:var(--bs-card-spacer-x);
	transform:translateY(-50%) rotate(45deg);
}

.card-post time{display:block; margin-bottom:.25rem;}
.card-post h3{font-size:1rem;}

@media (max-width:767.98px){
	.card-post .card-img-top{
		aspect-ratio:2/1;
	}
}

/* course
----------------------------------------------- */
table th{white-space:nowrap;}
table.price td{text-align:right;}
table.price td .num{font-size:1.2em;}

@media (max-width:575.98px){
	table.price td .num{font-size:1rem;}
}

table.c-all tr>*{text-align:center;}
.table{--bs-table-bg:transparent;}
.table caption{padding:0;}
.table tr.border-none >*{border:none;}

.tab-pane .row{row-gap:2rem;}
.tab-pane .row>*{display:flex;}
.tab-pane .row>*>*{width:100%;}

.card-course .card-header{
	--bs-card-cap-padding-y:1em;
	color:white;
	background-color:var(--color-navy);
}
.card-course .card-header h3{color:white;}
.card-course .card-header p{color:white; font-size:14px;}

.card-class{display:flex; flex-direction:column; padding-top:0;}
.card-class.*{border:1px solid green;}
.card-class .btn-row{margin-top:auto;}

.card-class h4{
	margin:0 calc(var(--bs-card-spacer-x) * -1);
	padding:.5rem var(--bs-card-spacer-x);
	background-color:#eee;
}

.meta{display:flex; flex-direction:column; gap.5rem; padding:.5rem 0;}
.meta>*{margin:0; line-height:1.6;}
.meta .requirements{display:flex; flex-wrap:wrap; gap:.25em; align-items:center;}
.meta .requirements .badge{border-radius:10em;}
.meta .duration-price{display:flex; gap:.5rem; align-items:center; font-size:20px; font-weight:700;}
.meta .num{font-size:26px;}

.modal-body{--bs-modal-padding:2rem;}
.modal-body .meta{padding:.75rem; background-color:rgb(220, 243, 254); border-radius:.375rem; margin-bottom:1rem;}
.modal-body h2{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; font-size:20px;}
.modal-body h2 span{font-size:14px; padding:.5em 1em; color:white !important; background-color:var(--color-navy); border-radius:10em;}
.modal-body .name{color:white; background-color:var(--color-navy); border-radius:10em;}
.modal-body h3,
.modal-body h4{font-size:1rem;}
.modal-body h3{text-align:center; padding:.5em; color:white; background-color:var(--color-navy); border-radius:10em; margin:1em 0;}
.modal-body h4{color:var(--color-orange); border-left:4px solid var(--color-orange); padding-left:.5em; margin-top:1.5em;}

.modal-footer{justify-content:center;}

.alert.small{padding:.75rem;}

.potion{padding:.75rem; background-color:#f4f4f4; border-radius:6px; margin-bottom:1rem;}
.potion .table{margin:.5em 0 0;}
.potion .table tr>*{border-width:1px 0 0 0;}
.potion h5{font-size:1rem; margin-bottom:0; color:var(--color-navy);}
.potion h5::before{content:"\25cf "; color:var(--color-navy);}
.potion h5 + p{font-size:14px;}

.calendar .target{display:flex; align-items:center; font-weight:700;}
.calendar .target .badge{color:white; background-color:var(--color-navy); margin:0 .25em;}
ul.meta-calendar{gap:.25em .5em; margin:1rem 0;}
ul.meta-calendar li{display:inline-flex; align-items:center;}
ul.meta-calendar .badge{background-color: rgb(3, 155, 229); margin-right:.5em;}

.google-calendar{padding-bottom:.5rem;}
.google-calendar iframe{
	width: 100%;
	aspect-ratio:16/9;
	height: auto;
	border: 0;
	display: block;
}

@media (max-width:575.98px){
	.modal-body{--bs-modal-padding:2rem var(--px);}
}

/* staff
----------------------------------------------- */
#pos-staff h3{text-align:center;}
#pos-staff p:not(.small){font-size:15px;}

.scroll-container{
	display:flex;
	overflow-x:auto;
	gap:1rem;
	padding:1rem;
	justify-content:safe center;
	-webkit-overflow-scrolling:touch;
}
.scroll-container>*{
	flex-shrink:0;
	width:300px;
	background-color:var(--color-bg-gray);
	padding:1rem;
}

@media (max-width:767.98px){
	#pos-staff img{width:70%; display:block; margin:0 auto;}

}

/* voice
----------------------------------------------- */
.v-meta{display:flex; justify-content:space-between; align-items:center;}

.stars{display:flex; gap:2px; align-items:center;}
.stars>*:not(.num){
	min-width:1em;
	aspect-ratio:1/1;
	background-color:#eee;
	-webkit-mask:url(assets/img/ic-star-fill.svg) no-repeat center center/contain;
	mask:url(assets/img/ic-star-fill.svg) no-repeat center center/contain;
}
.stars .fill{background-color:#ffcc01;}
.stars .half{background-image:linear-gradient(90deg, #ffcc01 50%, #eee 50%);}
.stars .num{padding-left:.25em; font-size:1.2em; font-weight:700;}

@media (max-width:767.98px){
	.voice{border-top:1px solid var(--color-navy); padding-top:1.5rem;}
}
@media (max-width:575.98px){
	.v-meta{flex-direction:column; align-items:flex-start; margin-bottom:.5rem;}
}

/* faq
----------------------------------------------- */
.accordion-faq .card{border:none; margin-bottom:1.5rem;}
.accordion-faq .btn-accordion,
.accordion-faq .inner{padding-left:2rem; text-align:left; position:relative;}
.accordion-faq .btn-accordion::before,
.accordion-faq .inner::before{
	content:'Q';
	font-size:1.5em;
	font-weight:700;
	color:var(--color-navy);
	line-height:1;
	position:absolute;
	left:0;
}
.accordion-faq .inner::before{
	content:'A';
	color:var(--color-orange);
	left:.1em;
}
.accordion-faq .inner p:last-child{margin-bottom:0;}

/* flow
----------------------------------------------- */
#pos-flow .card{
	--bs-card-border-width:2px;
	--bs-card-border-color:var(--color-navy);
}
#pos-flow .card p:last-child{margin-bottom:0;}

#pos-flow ol{flex-direction:column; gap:3rem 1rem;}
#pos-flow ol li{display:flex; gap:1rem; counter-increment:i; position:relative; width:100%;}
#pos-flow ol li::before{
	content:"0"counter(i);
	display:flex;
	justify-content:center;
	align-items:center;
	height:56px;
	aspect-ratio:1/1;
	font-size:18px;
	font-weight:700;
	line-height:1;
	color:white;
	background-color:var(--color-navy);
	border-radius:10em;
}

#pos-flow table{table-layout:fixed;}
#pos-flow th,
#pos-flow td{text-align:center; white-space:nowrap;}

@media (max-width:767.98px){
	#pos-flow table{width:620px;}
}
@media (max-width:575.98px){
	#pos-flow ol li::before{
		position:absolute;
		top:0;
		left:50%;
		z-index:1;
		transform:translate(-50%, -50%);
	}
	#pos-flow ol li .card{padding-top:2.5rem;}
}

/* form
--------------------------------------------------------------*/
.form-select{border-radius:0; border-color:black;/*  --bs-form-select-bg-img:var(--icon-arrow-down); */}
[type=checkbox]{width:1.2em; height:1.2em;}
/*
.form-check-input[type=checkbox],
.form-select{border-radius:0; border-color:black; --bs-form-select-bg-img:var(--icon-arrow-down);}

.form-check{display:inline-flex; align-items:center; gap:.5em;}
.form-check-input[type=checkbox]{width:1.5em; height:1.5em; margin-top:0;}

.form-check-input:checked{
	background-color:var(--color-main);
}
*/
/* contact / thanks
--------------------------------------------------------------*/
.page-product .form-contact,
.single-parts .form-contact{padding-top:0;}

/* .wpcf7-form .col-form-label{max-width:16em;} */
.thanks-box{display:flex; flex-direction:column; align-items:center;}

/* plug-in contact form 7
----------------------------------------------- */
form .form-group{margin-bottom:1.25rem;}
form .form-group>label{font-weight:700; padding-top:.6em;}
form .form-group>label.req::after{
	content:'\5FC5\9808';/* 必須 */
	font-size:12px;
	font-weight:normal;
	padding:.25em .5em;
	color:white;
	margin-left:.5rem;
	background-color:#bb2d3b;
/* 	border-color:var(--color-main); */
	border-radius:4px;
}

.form-control{
	height:auto;
	padding:1rem 2rem;
	border-radius:0;
	border-color:var(--border-color);
}
.form-select{
	padding:1rem 2rem;
	border-color:var(--border-color);
}
.wpcf7-radio>*{padding:.25rem .5rem;}
.wpcf7-radio>*:first-child{padding-left:0;}

.wpcf7-acceptance{display:inline-block; font-weight:700; margin-bottom:.5rem;}

.form-control::placeholder{color:#BEBEBE;}
.form-control::-ms-input-placeholder{color:#BEBEBE;}/* 旧Edge対応 */

/*
.checkbox-group{padding-top:1em;}
.wpcf7-checkbox{display:flex; gap:1rem 2rem; flex-wrap:wrap;}
.checkbox-group.align-column .wpcf7-checkbox{flex-direction:column;}
*/

.wpcf7-list-item{margin:0;}

.submit-bar{margin:3rem 0;}

.wpcf7-not-valid-tip{font-size:14px;}
.wpcf7-response-output{
	color:#dc3232;
	border-color:#dc3232 !important;
}

@media (max-width:575px){
	.checkbox-group.align-column .wpcf7-checkbox{flex-direction:row;}
	.checkbox-group.align-column .wpcf7-checkbox>*{width:calc(50% - 1rem);}
}

/* recaptcha
--------------------------------------------------------------*/
/* .grecaptcha-badge{visibility:hidden;} */
