/*全体的なこと*/

body {
	position: relative;
	min-width: 980px;
	background: #fff;
	color: #000;
	margin: 0;
	word-wrap: break-word;
	letter-spacing: .1em;
	font-weight: 400;
	font-size: 1.4rem;
	font-family: "Lato", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
	line-height: 1.5;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

p {
	overflow: hidden;
	color: #303030;
	font-size: 15px;
	line-height: 2rem;
}

section {
	margin: 40px auto;
}

a {
	text-decoration: none;
}

ul,
li {
	list-style: none;
}

h2 {
	text-align: center;
}

.h2-img {
	width: 50%;
}

.sp_only {
	display: none;
}

@media screen and (max-width:767px) {
	.sp_only {
		display: block;
	}
}

/* 開始 */

.lp {
	max-width: 980px;
	margin: 0 auto;
	border: 1px solid #000;
	background: #fff;
}

.lp-bg {
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	background-image: url('/assets/img/lp/2026/opencampus/bg.jpg');
	margin-top: 80px;
}

@media screen and (max-width:767px) {
	body {
		min-width: 100%;
	}

	.main {
		width: 100%;
	}

	p {
		font-size: 14px;
		line-height: 1.1rem;
		letter-spacing: 0.05em;
	}

	section {
		margin: 20px auto;
	}

	.h2-img {
		width: 80%;
	}

	.lp {
		max-width: 100%;
		border: 0px solid #000;
	}
}


/*TOP画像*/
.lpimg {
	width: 100%;
	text-align: center;
	height: auto;
}

.lpimg img {
	width: 100%;
}

/*ボタン*/
.btn_bg {
	background-color: #fff;
}

.btn_bg h2 {
	margin-bottom: 1.2rem;
}

.lp_btn_anchor {
	display: flex;
	margin: 0 auto;
	justify-content: center;
	margin-top: -6rem;
}

.lp_btn_anchor a {
	width: 33%;
	padding: 8px;
}

.lp_btn_anchor img {
	width: 100%;
}

.lp_btn_anchor a:hover,
.lp_btn a:hover {
	transform: translate(0, 4px);
}

@media only screen and (min-width: 768px) {
	.lp_btn {
		display: flex;
		margin: 0 auto;
		justify-content: center;
		padding: 8px;
	}

	.lp_btn a {
		width: 33%;
		padding: 8px;
	}

	.lp_btn img {
		width: 100%;
		height: auto;
	}
}

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

	.lp_btn_anchor {
		margin-top: -3rem;
	}

	.lp_btn {
		text-align: center;
	}

	.lp_btn img {
		width: 90%;
		height: auto;
		margin-bottom: 1rem;
	}
}


/*学べる分野*/
.job {
	margin: 0 auto;
	width: 100%;
}

.job_bg {
	background: #c7f0f9;
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.3) 1px, transparent 0), linear-gradient(rgba(255, 255, 255, 0.3) 1px, transparent 0), linear-gradient(rgba(255, 255, 255, 0.3) 1px, transparent 0);
	background-size: 30px 30px;
	padding: 40px 0;
}

.job-box {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 100%;
}



.job-box-tit {
	display: block;
	margin: 10px;
	font-weight: bold;
	background: #FFF;
	border-radius: 40px;
	width: 31%;
	text-align: center;
	padding: 10px;
	border: 1px solid #000;
	text-decoration: none;
	color: #000;
}

.job-box-tit._game {
	box-shadow: 3px 5px 0px #43b2e7;
}

.job-box-tit._anime {
	box-shadow: 3px 5px 0px #fe8983;
}

.job-box-tit._voice {
	box-shadow: 3px 5px 0px #f8a9db;
}

.job-box-tit:hover {
	background-color: #0069d4;
	color: #fff;
}

.job-link {
	display: block;
	width: 100%;
	height: 100%;
	color: #000;
	text-decoration: none;
}

@media screen and (max-width:767px) {
	.job-box-tit {
		padding: 5px;
		margin: 8px 10px;
		width: 43.8%;
		letter-spacing: 0.05em;
	}

	.job-link {
		font-size: 13px;
	}
}


/* ===============================
   Modal Complete Stable Version
================================= */

.modal-wrapper {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.modal-wrapper.active {
	display: flex;
	opacity: 1;
}

.modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.85);
	cursor: pointer;
}

.modal-window {
	position: relative;
	width: 70%;
	max-width: 600px;
	z-index: 2;
	transform: scale(0.9);
	transition: transform 0.3s ease;
}

.modal-wrapper.active .modal-window {
	transform: scale(1);
}

.modal-content {
	max-height: 79vh;
	overflow-y: auto;
	text-align: center;
}

.modal-content img {
	width: 100%;
	display: block;
	border-radius: 10px;
}

.modal-close {
	position: absolute;
	top: -20px;
	right: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: 0.2s;
}

.modal-close:hover {
	background: #333;
}

.modal-close::before,
.modal-close::after {
	content: "";
	position: absolute;
	top: 9px;
	left: 17px;
	width: 4px;
	height: 20px;
	background: #000;
}

.modal-close::before {
	transform: rotate(45deg);
}

.modal-close::after {
	transform: rotate(-45deg);
}

@media (max-width:767px) {
	.modal-window {
		width: 90%;
	}

	.modal-close {
		top: -40px;
		right: 0;
	}
}

/*おすすめイベント*/
.event {
	width: 100%;
	margin: 0 auto;
}

.bnr_event {
	margin: 20px;
}

.bnr_event img {
	width: 100%;
	height: auto;
	text-align: center;
}

.bnr_event img:hover {
	opacity: .8;
}

@media screen and (max-width:767px) {
	.bnr_event {
		margin: 10px;
	}
}

/*オープンキャンパス*/
.oc_bg {
	background: linear-gradient(to top, #05dfeb 0%, #3fb4ff 50%, #0e73ff 100%);
	padding: 40px 0;
	position: relative;
}

.oc_bg:before {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	width: 100%;
	height: 100%;
	background-image: radial-gradient(rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0) 20%);
	background-size: 3px 3px;
	content: "";
	pointer-events: none;
}

.oc {
	width: 100%;
	margin: 0 auto;
}

.oc p {
	margin: 20px 0;
}

.oc-box {
	padding: 1em;
	margin: 1em;
	background: #fff;
}

.oc-time {
	position: relative;
	text-align: center;
	margin: 40px 0;
}

.oc_title img,
.oc-time-title img {
	width: 100%;
}

.oc-txt {
	font-size: 2.4rem;
	line-height: 1.4;
	text-align: center;
}

.oc-txt span {
	background: linear-gradient(to top,
			#fcff76 0%,
			#fcff76 30%,
			transparent 30%,
			transparent 100%);
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.tit-schedule-a img,
.tit-schedule-b img {
	width: 50%;
}

.fa-circle-check {
	content: "\f057";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.oc-btn {
	margin: 20px auto 45px;
}

.oc-btn a {
	display: block;
}

.oc-btn img {
	width: 100%;
}

.oc-btn:hover {
	transform: translate(0, 4px);
}

.oc-time-benefits {
	text-align: center;
}

.oc-time-benefits img {
	width: 275px;
}

@media only screen and (min-width: 768px) {
	.oc-time-title {
		margin: 1rem 0 0;
	}

	.oc-btn {
		width: 40%;
	}
}

@media screen and (max-width:767px) {
	.oc-box {
		padding: 0.7em;
		margin: 0.7em;
	}

	.oc-txt {
		font-size: 1.2rem;
		font-size: 1.6rem;
		line-height: 1.4;
	}

	.oc-time {
		margin: 20px auto;
	}

	.oc-btn {
		width: 70%;
	}

	.oc-time-benefits img {
		width: 80%;
	}
}

/*来校*/
.tit-schedule-a {
	background: linear-gradient(180deg, rgba(14, 156, 255, 0) 50% 50%, #0e9cff 50%);
	background-size: auto auto;
	margin: 0;
}

.scroll_content-a {
	display: flex;
	max-width: 100%;
	overflow-x: auto;
	background: linear-gradient(to top, #00dfeb 0%, #0e9cff 100%);
}

.point {
	position: sticky;
}

.point-box1 {
	padding: 1rem;
	margin: 2rem 0;
	background: #0d74ff;
}

.point-box1 h2 {
	font-size: 2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.point li {
	font-size: 1.8rem;
	line-height: 2.8rem;
}

.pop1 {
	width: 330px;
	position: absolute;
	top: 20px;
	left: -55px;
}

.support h2 {
	font-size: 3.5rem;
	margin: 20px 0;
	text-align: center;
}

.support p {
	font-size: 16px;
	line-height: 2rem;
	margin-bottom: 20px;
}

@media only screen and (min-width: 768px) {
	.point ul {
		max-width: 450px;
	}

	.point ul.txt_right {
		margin-left: 28rem;
	}

	.point ul.txt_left {
		margin-left: 25rem;
	}
}

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

	.point li {
		font-size: 1.6rem;
		line-height: 1.8;
	}

	.support h2 {
		font-size: 2.2rem;
		margin: 10px 0;
	}
}

/*テーブル*/
.table {
	border-collapse: collapse;
	border: 1px solid #000;
	width: 100%;
	font-size: 16px;
}

.th {
	border: 1px solid #000;
	background: #e3f5ff;
	padding: 12px 20px;
}

.td {
	border: 1px solid #000;
	padding: 12px 20px;
}

@media screen and (max-width:767px) {
	.table {
		font-size: 14px;
	}

	.th {
		padding: 12px 10px;
	}
}


/*オンライン*/
.tit-schedule-b {
	background: linear-gradient(180deg, rgba(244, 244, 244, 0) 50% 50%, #97dfee 50%);
	background-size: auto auto;
	margin: 0;
}

.scroll_content-b {
	display: flex;
	max-width: 100%;
	overflow-x: auto;
	background-color: #97dfee;
}

.point-box2 {
	padding: 1rem;
	margin: 2rem 0;
	background: #1dc3ed;
}

.point-box2 h2 {
	font-size: 2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.pop2 {
	width: 270px;
	position: absolute;
	top: -10px;
	right: -15px;
}

/*なんでも*/
.point-box3 {
	padding: 1rem;
	margin: 2rem 0;
	background: #65b2e2;
}

.point-box3 h2 {
	font-size: 2rem;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.pop3 {
	width: 280px;
	position: absolute;
	top: -10px;
	left: -10px;
}

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

	.point-box1 h2,
	.point-box2 h2,
	.point-box3 h2 {
		font-size: 1.8rem;
		line-height: 1.4;
	}
}

/*スケジュール*/
.scroll_content-a li,
.scroll_content-b li {
	width: 35%;
	padding: 10px;
	margin: 5px;
	flex-shrink: 0;
}

.scroll_content-a img,
.scroll_content-b img {
	width: 100%;
}

.scroll_content-a::-webkit-scrollbar {
	height: 12px;
}

.scroll_content-b::-webkit-scrollbar {
	height: 12px;
}

.scroll_content-a::-webkit-scrollbar-thumb {
	background: #aaa;
	border-radius: 6px;
}

.scroll_content-b::-webkit-scrollbar-thumb {
	background: #aaa;
	border-radius: 6px;
}

.scroll_content-a::-webkit-scrollbar-track {
	background: #ddd;
	border-radius: 6px;
}

.scroll_content-b::-webkit-scrollbar-track {
	background: #ddd;
	border-radius: 6px;
}

.icon_scroll_a {
	position: absolute;
	width: 140px;
	top: 40px;
	left: -85px;
	animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

.icon_scroll_b {
	position: absolute;
	width: 140px;
	top: 40px;
	left: -85px;
	animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
	0% {
		transform: translateY(-10%);
	}

	100% {
		transform: translateY(10%);
	}
}

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

	.oc_title img,
	.oc-time-title img {
		width: 100%;
	}

	.tit-schedule-a img,
	.tit-schedule-b img {
		width: 80%;
	}

	.scroll_content-a,
	.scroll_content-b {
		padding: 0px;
	}

	.scroll_content-a li,
	.scroll_content-b li {
		width: 300px;
		padding: 10px;
	}

	.icon_scroll_a {
		width: 80px;
		top: 55px;
		left: -15px;
	}

	.icon_scroll_b {
		width: 80px;
		top: 55px;
		left: -15px;
	}

	.pop1,
	.pop2,
	.pop3 {
		display: none;
	}
}

/*よくある質問*/
.faq_bg {
	background-color: #84ccce;
	padding: 40px 0;
	text-align: center;
}

.faq_top img {
	width: 100%;
}

.accordion {
	width: 90%;
	margin: 0 auto;
}

.accordion-item {
	margin-bottom: 1rem;
}

.accordion-check {
	display: none;
}

.accordion-label {
	position: relative;
	display: block;
	cursor: pointer;
	padding: 15px 25px;
	border-right: 40px solid #26798d;
	border-top: solid 3px #26798d;
	border-left: solid 3px #26798d;
	border-bottom: solid 3px #26798d;
	background-color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
}

.accordion-label::after {
	width: 20px;
	transform: translateY(-50%);
	color: #ffffff;
	font-size: 30px;
	content: '+';
	z-index: 2;
	position: absolute;
	right: -30px;
	top: 50%;
}

.accordion-box {
	height: 0;
	overflow: hidden;
	opacity: 0;
	background-color: #fff;
	transition: all .5s;
}

.accordion-check:checked~.accordion-box {
	height: auto;
	opacity: 1;
	padding: 2rem;
	text-align: left;
}

.accordion-check:checked+.accordion-label:after {
	content: '-';
}

.accordion-label span {
	color: #26798d;
	font-size: 2rem;
}

.accordion-box span {
	color: #ff5280;
	font-size: 2rem;
	font-weight: bold;
}

.accordion-box {
	font-size: 20px;
}

@media screen and (max-width:767px) {
	.accordion-label {
		padding: 15px;
		font-size: 15px;
		line-height: 1.5rem;
	}

	.accordion-label span,
	.accordion-box span {
		font-size: 1.5rem;
	}

	.accordion-box p {
		font-size: 14px;
		line-height: 1.5rem;
	}

	.accordion-check:checked~.accordion-box {
		padding: 1.5rem;
	}
}

/*フッター*/
footer {
	text-align: center;
	margin: 20px 0;
}


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
}

.scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
}

/*----------------------------
  scroll_left ｜左から出現
  ----------------------------*/
.scroll_left {
	-webkit-transition: 0.8s ease-in-out;
	-moz-transition: 0.8s ease-in-out;
	-o-transition: 0.8s ease-in-out;
	transition: 0.8s ease-in-out;
	transform: translateX(-30px);
	opacity: 0;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
}

.scroll_left.on {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	transform: translateX(0);
}

/*----------------------------
  scroll_right ｜右から出現
  ----------------------------*/
.scroll_right {
	-webkit-transition: 0.8s ease-in-out;
	-moz-transition: 0.8s ease-in-out;
	-o-transition: 0.8s ease-in-out;
	transition: 0.8s ease-in-out;
	transform: translateX(30px);
	opacity: 0;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
}

.scroll_right.on {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	transform: translateX(0);
}