@charset 'UTF-8';

.header {
    min-height: 140px;
    padding: 25px 0 15px;
    background-color: transparent;
}
.header::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
    backdrop-filter: blur(10px);
}
.header__logo {
	margin-top: -20px;
}
.header__nav {
	justify-content: space-between;
}
.header__navArea {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    justify-content: center;
    gap: 15px;	
}
.header__btnArea {
	display: flex;
	gap: 10px;
}
.header__btnArea02 {
	display: flex;
	gap: 10px;
}
.header__list a {
	display: flex;
	align-items: center;
}
.header__list:nth-of-type(n + 2) {
    margin-left: 29px;
}
.header__btn {
	max-width: 100%;
	margin-right: 0;
}
.header__btn-span {
	font-weight: bold;
    background-color: #ffde69;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 50px 9px;
    position: relative;
    border: 3px solid #000000;
    border-radius: 3px;
}
.header__btn-span small {
	font-size: 13px;
	font-family: "Noto Sans JP", sans-serif;
}
.header__btn-span::before {
	content: '';
    position: absolute;
    right: 10px;
    top: 51%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #000;
    border-bottom: 3px solid #000;
    transform: translateY(-50%) rotate(-45deg);
    transition: 0.5s;
}
.header__btn-span2 {
	position: absolute;
    top: -17.5px;
    font-weight: bold;
    background-color: #26a69a;
    color: #fff;
    width: auto;
    height: 30px;
    font-size: 13px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #000000;
    border-radius: 15px;
}
.header__btn-span3 {
	padding-right: 5px;
}
.header__btn-span4 {
    font-size: 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-top: -3px;
    padding-right: 5px;
}

.c-drawer__list a {
    display: flex;
    align-items: center;
}

.mv {
	height: 100vh;
	min-height: 760px;
}
.l-main {
	margin-top: 140px;
}
.campaign__message {
	display: none;
}

@media screen and (max-width: 1300px) {
	.header {
	    min-height: 75px;
	    padding: 15px 0 15px;
	}
	.header__logo {
		margin-top: 0px;
	}
	.header__list:nth-of-type(n + 2) {
	    margin-left: 20px;
	}
	.header__btnArea {
        position: fixed;
        bottom: 5px;
        left: 5px;
        width: calc(100% - 10px);
        max-width: 100%;
		gap: 5px;
		flex-direction: column;
	}
	.header__btnArea > .header__btn {
		width: 100%;
	}
	.header__btn {
		display: block !important;
        width: calc((100% - 5px) / 2);	
	}
	.header__btn-span {
		width: 100%;
        padding: 10px 0;	
        text-align: center;
	}
	.l-main {
		margin-top: 0;
	}

}
@media screen and (max-width: 1023px) {
	.header {
	    min-height: 0;
	}
	.header::before {
		display: none;
	}
	.mv {
		height: 165.8vw;
		min-height: 620px;
	}
	.l-main {
		margin-top: 0;
	}
}
@media (max-width: 767px) {
	.header__btn-span {
	    border: 2px solid #000000;
	    height: 50px;
	}
	.header__btn-span2 {
	    border: 2px solid #000000;
	}
	.header__btn-span::before {
		display: none;
	}
	.header__btn-span2 {
		font-size: 10px;
		top: -10px;
		height: 20px;
		padding: 0 6px 1px;
	}
	.header__btn-span3 {
		font-size: 12px;
		line-height: 1.2;
		margin-bottom: -3px;
		padding-right: 0;
	}
	.header__btn-span4 {
		font-size: 16px;
		line-height: 1.2;
	    margin-top: 4px;
		padding-right: 0;
	}
	.header__btn-span small {
	    font-size: 10px;
	}
	.banner {
		margin: 0 auto;
	}
	.campaign__message {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-bottom: 8px;
	}
	.header__btnArea::before {
		content: "";
		position: absolute;
		bottom: -5px;
		width: calc(100% + 10px);
		left: -5px;
		height: calc(100% + 5px);
		background: #ffde69;
		box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	}
	.header__btnArea02 {
		gap: 5px;
	}
	.footer {
    	padding: 40px 0 140px;
    }
	.campaign__message-span01 {
		position: relative;
		display: flex;
		align-items: flex-end;
		justify-content: space-between;
		padding: 0 1.2em;
		letter-spacing: .05em;
		font-weight: bold;
	}
	.campaign__message-span01::before,
	.campaign__message-span01::after {
		content: "／";
		position: absolute;
	}
	.campaign__message-span01::before {
		left: 0;
		transform: scale(-1, 1);
	}
	.campaign__message-span01::after {
		right: 0;
	}
	.campaign__message-span02 {
		font-size: 32px;
	    line-height: normal;
	    margin-bottom: -4px;
	    padding: 0 2px;
	    font-family: "DINAlternate", sans-serif;
	    color: #26a69a;
	}
}
.mv__container {
	justify-content: center;
}
.mv__img {
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
}



/* フローティングバナースタイル */
.floating-banner {
	position: fixed; /* バナーを画面の特定位置に固定し、スクロールに追従させる */
	flex-direction: column;
	right: 20px; /* バナーの右端からの距離を設定 */
	bottom: 20px; /* バナーの下端からの距離を設定 */
    background-color: #ffde69;
    border: 3px solid #000000;
	border-radius: 3px; /* 角を8pxの半径で丸くする */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 軽い影を追加して浮き上がる効果を与える */
	
	width: 300px; /* バナーの幅を300pxに設定 */
	transition: opacity 0.3s ease, visibility 0.3s ease; /* バナーが非表示になる時のトランジション効果を設定 */
	z-index: 100;
}
@media screen and (max-width: 1300px) {
	.floating-banner {
		right: 10px; /* モバイルサイズでの右端からの距離を設定 */
		bottom: 84px; /* モバイルサイズでの下端からの距離を設定 */
	}
}
@media (max-width: 767px) {
	.floating-banner {
		width: 200px; /* モバイルサイズでのバナーの幅を200pxに設定 */
		border: 2px solid #000000;
		display: none !important;
	}
	.floating-banner > .floating-banner__link {
		padding-top: 8px;
	}
}
.floating-banner > .floating-banner__link {
	display: flex; /* フレックスボックスで内部コンテンツを配置 */
	align-items: center; /* 垂直方向に中央揃え */
	justify-content: space-between; /* 水平方向に均等に配置 */
	color: #fff; /* テキストの色を白に設定 */
}
/* バナー内のコンテンツスタイル */
.floating-banner-content {
	display: flex; /* フレックスボックスでレイアウト */
	align-items: center; /* 垂直方向に中央揃え */
	justify-content: space-between; /* 水平方向に均等に配置 */
	flex-direction: column;
	width: 100%; /* コンテンツ全体の幅を100%に設定 */
	position: relative; /* 閉じるボタンの位置調整のために相対位置を設定 */
}

/* バナー内のテキスト */
.floating-banner p {
	margin: 0; /* テキストの上下の余白を削除して、コンテンツを詰める */
	font-size: 20px; /* テキストサイズを20pxに設定 */
}
@media (max-width: 767px) {
	.floating-banner p {
		font-size: 14px; /* モバイルサイズでのテキストサイズを14pxに設定 */
	}
}

/* 閉じるボタン */
.close-banner {
	position: absolute; /* 閉じるボタンをバナー内の特定位置に絶対配置 */
	top: -17.5px; /* バナーの上から-10pxの位置に配置 */
	right: -10px; /* バナーの右から-10pxの位置に配置 */
	background-color: #fff; /* ボタンの背景色を白に設定 */
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* 軽い影を追加してボタンに浮き上がる効果を与える */
	width: 25px; /* ボタンの幅を20pxに設定 */
	height: 25px; /* ボタンの高さを20pxに設定 */
	border-radius: 17.5px; /* ボタンを丸くするために角を半径10pxで丸める */
	border: none; /* ボタンの境界線を削除 */
	color: #333; /* ボタン内のテキスト色をダークグレーに設定 */
	cursor: pointer; /* マウスオーバー時にポインターカーソルを表示 */
	padding: 0; /* ボタン内の余白を削除 */
	transition: color 0.3s ease; /* ホバー時のテキスト色変更にトランジション効果を追加 */
	z-index: 2;
}
.close-banner:hover {
	color: #ff5722; /* ホバー時にボタンのテキスト色をオレンジに変更 */
}


.banner__p01 {
	position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    top: -40px;
    width: 100%;
    color: #000;
    font-weight: bold;
}
.banner__p01 > span {
	color: #f94142;
}
.banner__p01::before,
.banner__p01::after {
	content: "";
    position: absolute;
    width: 3px;
    height: 25px;
    border-radius: 3px;
    background-color: #000;
}
.banner__p01::before {
	left: 20px;
    bottom: 2px;
    transform: rotate(-25deg);
}
.banner__p01::after {
	right: 20px;
    bottom: 2px;
    transform: rotate(25deg);
}

.banner__p02 {
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 20px 15px 10px;
}

.banner__p02-span01 {
	position: absolute;
    top: 0px;
    left: 0px;
    font-weight: bold;
    background-color: #f94142;
    color: #fff;
    width: auto;
    height: 35px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #000000;
    border-radius: 20px;
    letter-spacing: 0;
    line-height: 1;
    transform: rotate(-20deg);
}
.banner__p02-span02 {
	letter-spacing: -0.2em;
    width: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    aspect-ratio: 1 / 1;
    border-radius: 100vh;
    position: relative;
}
.banner__p02-span02::before {
	content: "";
	position: absolute;
    width: 160px;
    background-color: #fff;
    aspect-ratio: 1 / 1;
    border-radius: 100vh;
    border: 4px solid #ffde69;
}
.banner__p02-span02-en {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    z-index: 1;
    padding-left: 10px;
    margin-bottom: -7px;
}
.banner__p02-span02-en01 {
	font-size: 110px;
    font-weight: 600;
    color: #f94142;
    line-height: .7;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: black;
    font-family: "DINAlternate", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.banner__p02-span02-en02 {
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: end;
    letter-spacing: .1em;
	color: #000;
	font-weight: bold;
}
.banner__p02-span03 {
	color: #000;
	font-weight: bold;
	position: relative;
	z-index: 1;
}
.banner__btn {
	padding: 12px 16px 14px;
	width: 100%;
	border-top: 3px solid #000;
	background-color: #26a69a;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	position: relative;
}
.banner__btn02 {
	padding: 12px 16px 14px;
	width: 100%;
	border-top: 3px solid #000;
	background-color: #f94142;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	position: relative;
}
.banner__btn::before {
	content: '';
    position: absolute;
    right: 20px;
    top: 51%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(-45deg);
    transition: 0.5s;
}

.banner__btn02::before {
	content: '';
    position: absolute;
    right: 15px;
    top: 48%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.5s;
}

@media (max-width: 767px) {
	.banner__p01 {
	    top: auto;
	    position: relative;
	}
	.banner__p01::before,
	.banner__p01::after {
	    width: 2px;
	    height: 15px;
	}
	.banner__p01::before {
		left: 10px;
	    transform: rotate(-25deg);
	}
	.banner__p01::after {
		right: 10px;
	    transform: rotate(25deg);
	}
	.banner__p02-span01 {
		top: 5px;
		left: 5px;
		height: 26px;
	}
	.banner__p02-span02 {
		width: 130px;
		margin-bottom: -20px;
	}
	.banner__p02-span02::before {
		width: 120px;
	}
	.banner__p02-span02-en01 {
		font-size: 80px;
		-webkit-text-stroke-width: 2px;
	}
	.banner__p02 {
		padding: 8px 10px;
	}
	.banner__btn,
	.banner__btn02 {
		padding: 5px 2px 6px;
		font-size: 14px;
		border-top: 2px solid #000;
	}

	
}


/* 校舎について */
.school {
	position: relative;
    margin: clamp(40px, 6.94vw, 100px) 0 0;
    padding: clamp(40px, 6.94vw, 100px) 0;
    background-color: #f4f4f4;
}
.school__wrap {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.school__item {
	width: calc(50% - 30px);
}
.school__item-left {}
.school__item-right {}
.school__photoList {}
.school__photoItem {
	aspect-ratio: 6 / 5;
    background-color: #fff;
}
.school iframe {
	width: 100%;
	aspect-ratio: 8 / 3;
	margin-top: 60px;
}
@media screen and (max-width: 1023px) {
	.school .l-main__inner {
		max-width: 767px;
	}
	.school__wrap {
		gap: 30px;
	}
	.school__item {
		width: 100%;
	}
	.school__item .heading__h3 {
		text-align: center;
		margin-bottom: 30px;
	}
	.school iframe {
		margin-top: 40px;
	}
}
@media screen and (max-width: 767px) {
	.school__photoItem {
		aspect-ratio: 6 / 4;
	}
	.school iframe {
		aspect-ratio: 1 / 1;
	}
}




/* 担当講師 */
.teacher {
	position: relative;
    padding: clamp(40px, 6.94vw, 100px) 0;
}
.teacher__area {
	display: flex;
	flex-direction: column;
}
.teacher__wrap {
	display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
}
.teacher__wrap:nth-child(2n) {
	flex-direction: row-reverse;
	margin-top: clamp(40px, 6.94vw, 80px);
	padding-top: clamp(40px, 6.94vw, 100px);
	border-top: 1px solid #ddd;
	
}
.teacher__item-left {
	width: calc(70% - 30px);
}
.teacher__item-right {
	width: calc(30% - 30px);
	display: flex;
    flex-wrap: wrap;
    gap: 1.8rem;
}
.teacher__message {}
.teacher__textArea {
	display: flex;
    flex-wrap: wrap;
    gap: 1.8rem;
}
.teacher__textP {
	line-height: 2;
}
.teacher__photo {
	aspect-ratio: 1 / 1;
}
.teacher__nameArea {}
.teacher__nameArea01 {
	display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px dashed #ddd;
}
.teacher__nameArea01 > * {
	width: 100%;
}
.teacher__nameArea01-sub {
	font-size: 1.2rem;
    letter-spacing: .05em;
    line-height: 2rem;
}
.teacher__nameArea01-main {
	font-size: 2rem;
    font-weight: bold;
    letter-spacing: .1em;
    color: #26a69a;
}
.teacher__nameArea02 {}
.teacher__nameArea02-p {
	font-size: 1.2rem;
    letter-spacing: .05em;
    line-height: 2rem;
}
.teacher__snsArea {
	margin-top: 15px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
}
.teacher__snsArea-link {
	width: 35px;
	height: auto;
}
.teacher__snsArea-icon {
	aspect-ratio: 1 / 1;
}

@media screen and (max-width: 1023px) {
	.teacher .l-main__inner {
		max-width: 767px;
	}
	.teacher__wrap {
		gap: 40px;
	}
	.teacher__item-left,
	.teacher__item-right {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.teacher__textP {
		line-height: 1.8;
	}
	.teacher__photo {
		aspect-ratio: 6 / 5;
	}
}




/* オフライン説明会 */
.offline {
	position: relative;
    padding: clamp(40px, 6.94vw, 100px) 0;
    background-color: #ffde69;
}
.offline .c-heading__en {
    color: #f94142;
}
.offline .c-heading__jp {
    color: #000;
}
.offline #timerex_calendar {}
.offline #timerex_calendar > div {
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}
.offline #timerex_calendar > div::before {
	content: "";
	position: absolute;
	top: 0px;
    right: 0px;
    width: 140px;
    height: 60px;
	background-color: #fff;
	z-index: 1;
}
.offline__message {
	color: #f94142;
	text-align: center;
	font-size: 2.2rem;
	line-height: 2;
	font-weight: bold;
	margin-bottom: 82px;
}
.offline__iframe {
	height: 100vh;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
	.offline__message {
		font-size: 1.8rem;
	}
	.offline__message {
		margin-bottom: 40px;
	}
}
.offline__message span {
	color: #000;
}

/* 見出し */
.heading__h3 {
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 2.6rem;
}



/* ツール */
.t-font__DINA {
	font-family: "DINAlternate", sans-serif;
}
.t-wbr {
	word-break: keep-all;
    overflow-wrap: break-word;
}
.t-ofi {
	height: 100%;
    overflow: hidden;
}
.t-ofi img {
	max-width: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.t-animeBurun {
	animation: anime 2s linear infinite;
}
.t-line .header__btn-span {
	background-color: #00B900;
	color: #fff;
}
.t-line .header__btn-span2 {
	background-color: #fff;
	color: #00B900;
}
.t-main .header__btn-span {
	background-color: #26a69a;
	color: #fff;
}
.t-main .header__btn-span2 {
	background-color: #ffde69;
	color: #000;
}
.t-offline .header__btn-span {
	background-color: #f94142;
	color: #fff;
}
.t-offline .header__btn-span2 {
	background-color: #ffde69;
	color: #000;
}
.t-line .header__btn-span::before,
.t-main .header__btn-span::before {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
}
.t-offline .header__btn-span::before {
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

.contact__right-box .contact__top-lead-box,
.contact__right-box .contact__bottom-lead-box {
	padding-right: 0;
}

.t-btn__listArea {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.t-btn__online {
	font-weight: bold;
    background-color: #26a69a;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 25px 9px;
    position: relative;
    border: 3px solid #000;
    border-radius: 3px;
    color: #fff;
    width: 100%;
    position: relative;
    font-size: 20px;
}
.t-btn__online02 {
	font-weight: bold;
    background-color: #26a69a;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 25px 9px;
    position: relative;
    border: 3px solid #000;
    border-radius: 3px;
    color: #fff;
    width: 100%;
    position: relative;
    font-size: 20px;
}

.t-btn__offline {
	font-weight: bold;
    background-color: #ffde69;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 25px 9px;
    position: relative;
    border: 3px solid #000;
    border-radius: 3px;
    color: #f94142;
    width: 100%;
    position: relative;
    font-size: 20px;
}

.t-btn__offline02 {
	font-weight: bold;
    background-color: #f94142;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 25px 9px;
    position: relative;
    border: 3px solid #000;
    border-radius: 3px;
    color: #fff;
    width: 100%;
    position: relative;
    font-size: 20px;
}


.t-btn__online::before {
	content: '';
    position: absolute;
    right: 20px;
    top: 51%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(-45deg);
    transition: 0.5s;
}
.t-btn__online02::before {
	content: '';
    position: absolute;
    right: 20px;
    top: 51%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(-45deg);
    transition: 0.5s;
}

.t-btn__offline::before {
	content: '';
    position: absolute;
    right: 15px;
    top: 48%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #f94142;
    border-bottom: 3px solid #f94142;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.5s;
}

.t-btn__offline02::before {
	content: '';
    position: absolute;
    right: 15px;
    top: 48%;
    width: 10px;
    height: 10px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    transition: 0.5s;
}

.t-newPoint {
	color: #f94142;
    font-weight: bold;
    font-size: 12px;
    margin-top: 3px;
    margin-right: 6px;
    padding: 2px 2px 4px 2px;
    border-top: 1px solid #f94142;
    border-bottom: 1px solid #f94142;
    line-height: 1;
    display: inline-block;
}

.t-newPoint02 {
	color: #fff;
    font-weight: bold;
    font-size: 12px;
    margin-right: 6px;
    padding: 2px 2px 4px 2px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    line-height: 1;
    display: inline-block;
}
.t-newPoint03 {
	color: #f94142;
}

.t-small__textArea {}
.t-small__text {
	font-size: 85%;
}

.t-pc {
	display: block !important;
}
.t-sp {
	display: none !important;
}
@media (max-width: 767px) {
	.t-pc {
		display: none !important;
	}
	.t-sp {
		display: block !important;
	}
}


/* レイアウト */
.l-list__dl {
	display: flex;
	border-top: 1px solid #ddd;
    padding: 30px 0;
}
.l-list__dl:last-child {
	border-bottom: 1px solid #ddd;
}
.l-list__dt {
	width: 120px;
	font-weight: bold;
}
.l-list__dd {
	width: calc(100% - 120px);
}
.l-list__dd a {
    text-decoration: underline;
    word-break: break-all;
}
.l-list__dd a svg {
	margin-left: 5px;
}
