@charset "utf-8";

body {
	width: 100%;
	min-width: 100%;
	webkit-text-size-adjust: none;
	position: relative;
}

section {}

p,
td,
th,
li,
dt,
dd,
input,
textarea,
.entryBody,
.entryMore {
	font-size: 14px;
}

.mainBlock {
	margin-top: 0;
	padding: 40px 0;
}

.spNone {
	display: none;
}

.pcNone {
	display: block;
}


/*header*/

.header_inner {
	height: 55px;
	padding: 0 18px;
}

.header_logo img {
	width: 35px;
}

.header_logo_txt img {
	height: 40px;
}

.menu {
	width: 24px;
	height: 28px;
	border: 0;
	background: none;
	padding: 0;
	position: relative;
	z-index: 10001;
}

.menu span {
	display: block;
	height: 2px;
	margin: 5px 0;
	background: #fff;
	border-radius: 2px;
}

.gnav {
	position: fixed;
	top: 55px;
	left: 0;
	width: 100%;
	height: auto;
    aspect-ratio:1/1;
	z-index: 9998;
	opacity: 0;
	pointer-events: none;
	transition: 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gnav.is-open {
	opacity: 1;
	pointer-events: auto;
}

.gnav_bg {
	position: absolute;
	inset: 0;
	background: rgba(219, 232, 255, 0.72);
	backdrop-filter: blur(6px);
}

.gnav_inner {
	position: relative;
	z-index: 2;
	text-align: center;
}

.gnav_inner ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.gnav_inner li {
	margin-bottom: 18px;
}

.gnav_inner a {
	color: #00308f;
	font-size: 20px;
	letter-spacing: 0.06em;
	text-decoration: none;
    font-family: "Bai Jamjuree", sans-serif;
}

.gnav_trial {
	margin-top: 8px;
	display: flex;
	justify-content: center;
}

.gnav_trial a {
	min-width: 176px;
	height: 50px;
	border-radius: 16px;
	font-size: 20px;
}

.header_under_fixed{
position: fixed;
width: 100%;
z-index: 9999;
}

.header_under_fixed .faq_cta{
border-radius:0;
margin-top:55px;
padding:12px 16px;
flex-direction: row;
align-items: center;
gap:12px;
background:#050b30;
}

.header_under_fixed .faq_cta_btn{
width:auto;
flex:1;
min-width:0;
}

.header_under_fixed .faq_cta_btn a{
width:100%;
height:auto;
padding:0;
background:none;
box-shadow:none;
border-radius:0;
min-width:0;
}

.header_under_fixed .faq_cta_btn a img{
width:100%;
height:auto;
display:block;
}

.header_under_fixed .cta_icon{
width:16px;
height:16px;
flex-shrink:0;
}


/*FV*/

.fv {
	padding-top: 115px;
}

.fv_points {
	padding: 26px 22px 30px;
}

.fv_points_inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
}

.fv_point {
	min-height: 92px;
	border-radius: 8px;
}

.fv_point p {
	font-size: 21px;
}

.fv_point strong {
	font-size: 28px;
	font-weight:900;
	letter-spacing: 1px;
}

.fv_point span {
	font-size: 20px;
}

/*training*/

.training {
	padding: 70px 20px;
}

.training_heading {
	margin-bottom: 40px;
}

.training_heading h2 {
	font-size: 32px;
}

.training_heading p {
	font-size: 18px;
}

.training_grid {
	grid-template-columns: 1fr;
	gap: 24px;
}

.training_card {
	padding: 24px;
}

.training_card h3 {
	font-size: 22px;
}

.training_card p {
	font-size: 16px;
}

/*pricing*/

.pricing {
	padding: 55px 26px 65px;
}

.pricing_heading {
	margin-bottom: 58px;
}

.pricing_heading h2 {
	font-size: var(--title_sp);
	margin-bottom: 24px;
}

.pricing_heading p {
	font-size: 15px;
	line-height: 1.45;
}

.pricing_list {
	grid-template-columns: 1fr;
	gap: 72px;
}

.pricing_card {
	min-height: 250px;
	padding: 70px 24px 24px;
	border-radius: 14px;
}

.pricing_badge {
	top: -34px;
	width: 240px;
	height: 68px;
	font-size: 20px;
}

.pricing_badge.popular {
	width: 240px;
}

.pricing_card h3 {
	font-size: 28px;
}

.pricing_line {
	margin: 32px 0 44px;
}

.price {
	font-size: 28px;
}

.price span {
	font-size: 22px;
}

.tax {
	font-size: 24px;
}

.pricing_card .tax {
	font-size: 14px;
}

.hours {
	margin-top: 24px;
	font-size: 20px;
}

.pricing_note {
	margin-top: 50px;
	font-size: 15px;
}

/*FAQ*/

.faq {
	padding: 55px 18px 60px;
}

.faq_inner {
	max-width: none;
}

.faq_title {
	font-size: var(--title_sp);
	line-height: 1.08;
	margin-bottom: 36px;
	text-align: center;
}

.faq_list {
	gap: 14px;
}

.faq_item {
	border-radius: 8px;
}

.faq_question {
	padding: 18px 18px;
	align-items: center;
	gap: 16px;
}

.faq_question span {
	font-size: 1.8rem;
	line-height: 1.35;
}

.faq_question i {
	width: 12px;
	height: 12px;
	border-right-width: 4px;
	border-bottom-width: 4px;
	flex-shrink: 0;
}

.faq_answer {
	padding: 0 18px 22px;
}

.faq_answer p {
	padding-top: 18px;
	font-size: 1.6rem;
	line-height: 1.45;
}

.faq_cta {
	margin-top: 36px;
	padding: 22px 16px;
	border-radius: 8px;
	flex-direction: column;
	gap: 16px;
}

.faq_cta_text {
	font-size: 1.9rem;
	line-height: 1.35;
	text-align: center;
}

.faq_cta_btn {
	width: 100%;
	display: flex;
	justify-content: center;
}

.faq_cta_btn a {
	width: 250px;
	max-width: 100%;
	height: 58px;
	font-size: 2.0rem;
}


/* ==================== Inside the School ==================== */

.school {
padding: var(--section_padding_sp) 20px;
}

.school_title {
margin-bottom: 36px;
font-size: var(--title_sp);
}

.school_grid {
grid-template-columns: 1fr;
gap: 22px;
}

/* ==================== Experience It Yourself ==================== */

.experience {
padding: var(--section_padding_sp) 20px;
}

.experience_title {
margin-bottom: 36px;
font-size: var(--title_sp);
}

.experience_list {
gap: 32px;
}

/* ========== footer ========== */

.footer {
	padding: 34px 20px 30px;
}

.footer_logo img {
	width: 150px;
}

.footer_copy {
	margin-top: 16px;
	font-size: 13px;
}


/* ========== �ɓ��ǉ� ========== */

.training_icon{
margin-bottom:24px;
}



@media screen and (max-width:480px) {

	.pcNone480 {
		display: block;
	}

}