
body {
	font-family: "noto-sans-cjk-jp", sans-serif;
	font-weight: 400;
	position: relative;
    left: 0;
    overflow-x: hidden;
	-webkit-text-size-adjust: 100%; /* iphone横向き 文字拡大防止 */
}
img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000;
	transition: all .3s;
}
a:hover {
	filter: brightness(1.1);
}
p {
	line-height: 1.8;
}

:root {
    --grad_pink: linear-gradient(to right, #DF8DA7 0%, #DF8DA7 60%, #BC003B 100%);
    --grad_yellow: linear-gradient(to right, #FDDD78 0%, #FDDD78 60%, #DEB01D 100%);
	--pink: #DF8DA7;
	--yellow: #FDDD78;
}

/*==================================================================================
ヘッダー
==================================================================================*/
header {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 0!important;
	position: relative;
	z-index: 9999;
}
header .logo {
	display: block;
	width: 320px;
}
nav.gnav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
nav.gnav ul li {
	margin-left: 15px;
	padding-left: 1em;
	position: relative;
}
nav.gnav ul li:first-child {
	margin-left: 0;
}
nav.gnav ul li::before {
	content: "\030fb";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
/* サイド固定ボタン */
.side_fix {
    padding: 0 0 20px 20px;
    position: fixed;
    top: 20%;
    right: 0;
    overflow: hidden;
    z-index: 999;
}
.side_fix a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 180px;
    border-radius: 10px 0 0 10px;
    transform: translateX(110%);
    box-shadow: -2px 2px 5px rgba(0,0,0,0.2);
}
.side_fix a:nth-child(1) {
    background: linear-gradient(to bottom, #DF8DA7 0%, #DF8DA7 60%, #BC003B 100%);
    color: #fff;
}
.side_fix a:nth-child(2) {
    background: linear-gradient(to bottom, #FDDD78 0%, #FDDD78 60%, #DEB01D 100%);
	color: #707070;
}
.side_fix a.show {
    transform: translateX(0);
}
.side_fix a span {
    display: inline-block;
    writing-mode: vertical-rl;
    letter-spacing: 0.1em;
}

/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
main {
	overflow: hidden;
}
.container {
	width: calc(100% - 80px);
	padding: 0 40px;
	margin: auto;
}
.max1600 {
	max-width: 1600px;
	margin: auto;
}
.max1400 {
	max-width: 1400px;
	margin: auto;
}
.max1200 {
	max-width: 1200px;
	margin: auto;
}
.max960 {
	max-width: 960px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.row.align_center {
	align-items: center;
}
.row.align_end {
	align-items: flex-end;
}
.row.align_start{
	align-items: flex-start;
}
.row.just_center {
	justify-content: center;
}
.row.just_start {
	justify-content: flex-start;
}
.row.just_end {
	justify-content: flex-end;
}
.col3 {
	width: 31%;
}
.col2 {
	width: calc(50% - 15px);
}
.z2 {
	position: relative;
}
.border {
	border-bottom: 1px #000 solid;
}
.border.dashed {
	border-bottom: 1px #303030 dashed;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_120 {
	margin-bottom: 120px;
}
.mr_10 {
	margin-right: 10px;
}

/* フォント */
h2 {
	font-size: 16px;
	font-weight: 400;
}
h2 span.eng {
	display: inline-block;
	margin-bottom: 20px;
	font-size: 50px;
	line-height: 1;
}
h3 {
	font-weight: 400;
}
h3 span {
	display: inline-block;
	padding: 6px 25px;
	border-radius: 50px;
	color: #fff;
}
h3.pink span {
	background: var(--pink);
}
h3.yellow span {
	background: #DEB01D;
}
.font_12 {
	font-size: 12px;
}
.font_14 {
	font-size: 14px;
}
.font_20 {
	font-size: 20px;
}
.font_24 {
	font-size: 24px;
}
.font_30 {
	font-size: 30px;
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.bold {
	font-weight: 700;
}
.eng {
	font-family: "quicksand", sans-serif;
	font-weight: 400;
	letter-spacing: 0.08em;
}
.light {
	font-weight: 300;
}
.line1 {
	line-height: 1;
}
.line1_4 {
	line-height: 1.4;
}
.line1_6 {
	line-height: 1.6;
}
.pink {
	color: var(--pink);
}
.yellow {
	color: var(--yellow);
}
.indent {
    padding-left: 1em;
    text-indent: -1em;
}

/* ボタン */
.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 360px;
	height: 100px;
	box-sizing: border-box;
	border-radius: 20px;
	text-align: center;
	position: relative;
}
.btn::after {
	content: "";
	display: block;
	border: 10px transparent solid;
	border-right: none;
	border-left: 12px #fff solid;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}
.btn.pink {
	background: var(--grad_pink);
	color: #fff;
}
.btn.yellow {
	background: var(--grad_yellow);
	color: #707070;
}
.btn.yellow::after {
	border-left-color: #707070;
}
.btn.pink2 {
	background: linear-gradient(to right, #EFCAD4 0%, #EFCAD4 60%, #DF8DA7 100%);
	color: #707070;
}
.btn.pink2::after {
	border-left-color: #707070;
}
.btn.polygon {
	width: auto;
	height: auto;
	padding: 15px 60px;
	background: none;
	border-radius: 0;
}
.btn.polygon::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 20px 100%, 0 50%);
	position: absolute;
	top: 0;
	left: 0;
}
.btn.polygon.pink::before {
	background: var(--grad_pink);
}
.btn.polygon.yellow::before {
	background: var(--grad_yellow);
}
.btn.polygon::after {
	display: none;
}
.btn span {
	display: inline-block;
	letter-spacing: 0.05em;
	position: relative;
	z-index: 2;
}

.anker {
    margin-top: -120px;
    padding-top: 120px;
}

/* アニメーション -----------*/
.animated.fadeinup {
	animation: fadeinup .6s;
}
@keyframes fadeinup {
	0% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.second {
	animation: fadeinup_2nd 1.2s;
}
@keyframes fadeinup_2nd {
	0% {opacity: 0; transform: translateY(30px);}
	50% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinright {
	animation: fadeinright .6s;
}
@keyframes fadeinright {
	0% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.animated.fadeinright.second {
	animation: fadeinright_2nd 1.2s;
}
@keyframes fadeinright_2nd {
	0% {opacity: 0; transform: translateX(30px);}
	50% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}

/*==================================================================================
メイン
==================================================================================*/
section#main {
	padding: 0 0 60px!important;
}
section#main .mov {
	width: 100%;
	max-width: 1600px;
	height: 900px;
	margin: 0 auto 140px;
	position: relative;
}
@media screen and (max-width: 1600px) {
	section#main .mov {
		max-width: 1200px;
		height: 675px;
	}
}
@media screen and (max-width: 1280px) {
	section#main .mov {
		max-width: 960px;
		height: 540px;
	}
}
section#main .mov::after {
	content: "";
	display: block;
	width: 60%;
	height: 20%;
	background: url("../img/main_eng.png") center bottom / contain no-repeat;
	position: absolute;
	left: -40px;
	bottom: -20px;
	z-index: 2;
}
section#main .mov video {
	width: 100%;
}
section#main .mov .btn_mute {
	display: block;
	width: 40px;
	position: absolute;
	bottom: -45px;
	right: 0;
	cursor: pointer;
}
section#main .mov .btn_mute::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/speaker_on.jpg") center center / contain no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
section#main .mov .btn_mute.on::after {
	opacity: 1;
}
section#main .mov p {
	position: absolute;
	left: 0;
	bottom: -60px;
}
.btn.panf {
	justify-content: flex-start;
	width: 600px;
	padding: 10px 60px;
	text-align: left;
}
.btn.panf img {
	width: 25%;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translateY(-50%);
	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3));
}
.btn.panf.disa {
	pointer-events: none;
}
.btn.panf.disa::before {
	filter: grayscale(100%);
	opacity: 0.5;
}
.btn.panf.disa img {
	filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.3)) grayscale(100%);
}
.btn.panf.disa::after {
	content: "\043\04f\04d\049\04e\047\020\053\04f\04f\04e";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	border: none;
	color: #000;
	font-size: 30px;
	font-family: "quicksand", sans-serif;
	font-weight: 500;
	letter-spacing: 0.08em;
	position: absolute;
	top: 0;
	left: 0;
	transform: none;
	z-index: 3;
}
section#main .max960 .btn {
	width: calc(50% - 30px);
}
/* イベントスケジュール --------------------------------------------------------------*/
section#schedule {
	padding: 60px 0 120px!important;
}
section#schedule h2 span.eng {
	font-size: 70px;
}
section#schedule .col3 {
	box-sizing: border-box;
	padding-top: 20px;
	border: 2px var(--pink) solid;
	position: relative;
}
section#schedule .col3::after {
	content: "";
	display: block;
	border: 15px transparent solid;
	border-top-color: var(--pink);
	border-right-color: var(--pink);
	position: absolute;
	top: 0;
	right: 0;
}
section#schedule .col3.dummy {
	padding: 0;
	border: none;
}
section#schedule .col3.dummy::after {
	display: none;
}
section#schedule .col3 .bg {
	padding: 10px;
	background: #FDEEED;
}
/* オープンスクール -----------------------------------------------------------------*/
section#open_school {
	padding: 120px 0 60px!important;
	background: #FDEEED;
	position: relative;
}
section#open_school h2 {
	display: inline-block;
	clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 20px 100%, 0 50%);
	padding: 10px 40px 20px;
	background: var(--pink);
	color: #fff;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}
section#open_school h2 span.eng {
	margin-bottom: 10px;
}
section#open_school .note {
	position: absolute;
	top: -60px;
	right: 0;
}
section#open_school .row {
	align-items: flex-start;
}
section#open_school .img img {
	height: 100%;
	object-fit: cover;
}
section#open_school .os01,
section#open_school .os02,
section#open_school .os03,
section#open_school .os04,
section#open_school .os05,
section#open_school .os06 {
    position: relative;
}
section#open_school p[class^="cmnt0"],
section#introduction p[class^="cmnt0"] {
	padding: 10px 14px;
    border: 2px #c93f6a solid;
    border-radius: 15px;
    background: #df8da7;
    color: #fff;
    position: absolute;
    z-index: 2;
}
section#open_school p[class^="cmnt0"]::after,
section#introduction p[class^="cmnt0"]::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url("../img/os_fuki.png") center top / contain no-repeat;
    position: absolute;
}
section#open_school p[class^="cmnt0"].yellow,
section#introduction p[class^="cmnt0"].yellow {
    border-color: #deb01d;
    background: #fddd78;
    color: #000;
}
section#open_school p[class^="cmnt0"].yellow::after,
section#introduction p[class^="cmnt0"].yellow::after {
    background-image: url("../img/os_fuki_y.png");
    position: absolute;
}
section#open_school .os01 .img {
	width: 40%;
	height: 390px;
}
section#open_school .os01 .txt {
	width: calc(60% - 60px);
}
section#open_school .os01 .cmnt01 {
    width: 16%;
    max-width: 182px;
	top: -20px;
    left: -20px;
}
section#open_school .os01 .cmnt01::after {
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
}
section#open_school .os01 .cmnt02 {
    width: 15%;
    max-width: 154px;
	top: -10px;
    left: 30%;
}
section#open_school .os01 .cmnt02::after {
    top: 50%;
    left: -18px;
    transform: translateY(-50%) rotate(90deg);
}
section#open_school .os01 .cmnt03 {
    width: 20%;
    max-width: 196px;
	top: 80%;
    left: -20px;
}
section#open_school .os01 .cmnt03::after {
    top: -18px;
    left: 50%;
    transform: rotate(180deg) translateX(50%);
}
section#open_school .os01 .cmnt04 {
    width: 13.4%;
    max-width: 140px;
	top: 25%;
    left: 35%;
}
section#open_school .os01 .cmnt04::after {
    top: 50%;
    left: -18px;
    transform: translateY(-50%) rotate(90deg);
}
section#open_school .txt:not(.flat) {
	width: 300px;
	box-sizing: border-box;
	padding: 10px 20px;
	background: #fff;
}
section#open_school .os02 {
	margin-top: -240px;
}
section#open_school .os02 .img {
	width: 30%;
	height: 295px;
	order: 2;
}
section#open_school .os02 .txt {
	position: relative;
	top: -100px;
	right: -15%;
	z-index: 2;
}
section#open_school .os02 .cmnt01 {
    width: 16%;
    max-width: 182px;
	bottom: -20px;
    right: 10px;
}
section#open_school .os02 .cmnt01::after {
    top: -18px;
    left: 50%;
    transform: rotate(180deg) translateX(50%);
}
section#open_school .os03 .img {
	width: 40%;
	height: 360px;
}
section#open_school .os03 .txt {
	position: relative;
	top: -20px;
	left: -40px;
	z-index: 2;
}
section#open_school .os03 .cmnt01 {
    width: 16%;
    max-width: 182px;
	bottom: -20px;
    left: -30px;
}
section#open_school .os03 .cmnt01::after {
    top: -18px;
    left: 50%;
    transform: rotate(180deg) translateX(50%);
}
section#open_school .os04 {
	margin: -230px 0 80px;
}
section#open_school .os04 .img {
	width: 25%;
	height: 210px;
    margin-right: 40px;
	order: 2;
}
section#open_school .os04 .txt {
	position: relative;
	bottom: -60px;
	right: -40px;
	z-index: 2;
}
section#open_school .os04 .cmnt01 {
    width: 16%;
    max-width: 154px;
	top: -50px;
    right: 20px;
}
section#open_school .os04 .cmnt01::after {
    bottom: -18px;
    left: 50%;
    transform: translateX(-50%);
}
section#open_school .os05 {
	margin-top: 0;
}
section#open_school .os05 .img {
	width: 30%;
	height: 295px;
}
section#open_school .os05 .txt {
	position: relative;
	bottom: -210px;
	left: -100px;
	z-index: 2;
}
section#open_school .os05 .cmnt01 {
    width: 15%;
    max-width: 170px;
	top: 5%;
    left: 22%;
}
section#open_school .os05 .cmnt01::after {
    top: 50%;
    left: -18px;
    transform: translateY(-50%) rotate(90deg);
}
section#open_school .os06 {
	margin-top: -275px;
}
section#open_school .os06 .img {
	width: 34%;
	height: 335px;
	position: relative;
	right: -40px;
}
section#open_school .os06 .txt {
	position: relative;
	top: -20px;
}
section#open_school .os06 .cmnt01 {
    width: 15%;
    max-width: 170px;
	top: 45%;
    right: 10%;
}
section#open_school .os06 .cmnt01::after {
    top: 50%;
    left: -18px;
    transform: translateY(-50%) rotate(90deg);
}
/* 暁高校のイベントを一部紹介します！ --------------------------------------------------*/
section#introduction {
	padding: 100px 0!important;
}
section#introduction .col3 .icon_new {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: var(--pink);
	color: #fff;
	position: absolute;
	top: -40px;
	right: 0;
	z-index: 2;
}
section#introduction p[class^="cmnt0"] {
	width: 90%;
	position: relative;
}
section#introduction .cmnt01,
section#introduction .cmnt03,
section#introduction .cmnt05 {
	margin-bottom: -20px;
}
section#introduction .cmnt02,
section#introduction .cmnt04,
section#introduction .cmnt06 {
	margin: -10px 0 0 auto;
	top: -10px;
}
section#introduction .cmnt01::after,
section#introduction .cmnt03::after,
section#introduction .cmnt05::after {
	bottom: -18px;
	left: 50%;
	transform: translateX(-50%);
}
section#introduction .cmnt02::after,
section#introduction .cmnt04::after,
section#introduction .cmnt06::after {
    top: -18px;
    left: 50%;
    transform: rotate(180deg) translateX(50%);
}
section#introduction .cmnt01 {
	max-width: 182px;
}
section#introduction .cmnt02 {
	max-width: 210px;
}
section#introduction .cmnt03 {
	max-width: 238px;
}
section#introduction .cmnt04 {
	max-width: 200px;
}
section#introduction .cmnt05 {
	max-width: 240px;
}
section#introduction .cmnt06 {
	max-width: 251px;
}
/* 参加者の声 ---------------------------------------------------------------------*/
section#voice {
	padding: 60px 0!important;
	position: relative;
}
section#voice::before {
	content: "";
	display: block;
	width: 100%;
	height: 60%;
	background: var(--pink);
	position: absolute;
	top: 0;
	left: 0;
}
section#voice .swiper {
	/*width: calc(100% + (50vw - 50%));*/
	width: calc(100% - 310px - 120px);
	margin: 0;
	position: absolute;
	top: 0;
	left: 120px;
	/*top: 0;
	left: calc(-50vw + 50%);*/
	overflow: inherit;
	opacity: 0;
	visibility: hidden;
}
/*section#voice .swiper::after {
	content: "";
	display: block;
	width: calc(310px + 120px);
	height: 460px;
	background: var(--pink);
	position: absolute;
	top: -60px;
	right: 0;
	z-index: 2;
}*/
.swiper-slide.boad {
	box-sizing: border-box;
	padding: 50px 60px 40px;
	background: #fff;
	position: relative;
	opacity: 0;
}
section#voice .swiper-slide.boad {
	width: 88%;
	padding: 40px;
	transition: opacity .3s .5s;
}
section#voice .swiper-slide.swiper-slide-active,
section#voice .swiper-slide.swiper-slide-prev {
	opacity: 1;
}
.swiper-slide.boad .img {
	width: 130px;
	position: absolute;
	top: 0;
	right: 60px;
}
.swiper-slide.boad .tag {
	display: inline-block;
	padding: 5px 30px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 60px;
}
section#voice .swiper-slide.boad .tag {
	background: #BC003B;
}
section#voice .swiper-slide.boad .cmnt {
	padding: 10px 20px;
    border-radius: 20px;
    background: #efcad4;
    position: relative;
}
section#voice .swiper-slide.boad .cmnt::after {
	content: "";
    display: block;
    width: 25px;
    height: 25px;
    background: url("../img/voice_fuki.png") center top / contain no-repeat;
    position: absolute;
    bottom: -25px;
    left: 10%;
}
section#voice .swiper-slide.boad .cmnt:nth-child(odd)::after {
    background-image: url("../img/voice_fuki_r.png");
    left: auto;
    right: 10%;
}
/*section#voice .swiper-slide .ttl {
	width: calc(100% - 130px - 20px);
}*/
/* スライダーページネーション */
.swiper .swiper-pagination {
	padding: 0 20px;
	font-family: "quicksand", sans-serif;
	font-weight: 400;
}
section#voice .swiper .swiper-pagination {
	color: #fff;
	position: absolute;
	top: 280px;
	right: -86px;
}
.swiper .swiper-pagination span.swiper-pagination-current {
	font-size: 20px;
	font-weight: 700;
}
/* スライダーページ送り */
.swiper .swiper-button-prev,
.swiper .swiper-button-next {
	display: block;
	width: 10px;
	height: 10px;
	border-left: 2px #000 solid;
	border-bottom: 2px #000 solid;
	position: absolute;
	transform: rotate(45deg);
	z-index: 10;
	cursor: pointer;
}
.swiper .swiper-button-next {
	transform: rotate(225deg);
}
section#voice .swiper .swiper-button-prev,
section#voice .swiper .swiper-button-next {
	border-color: #fff;
	top: 286px;
	right: -20px;
}
section#voice .swiper .swiper-button-next {
	right: -88px;
}
/* 右カラム タイトル ボタン */
section#voice .txt {
	width: 310px;
	position: relative;
    z-index: 2;
	/*position: absolute;
	top: 0;
	right: 0;
	*/
}
section#voice .txt h2 img {
	width: 80%;
	position: relative;
	left: -30px;
}
/* 表示切り替えたぶ */
ul.slide_tab li {
	width: calc(100% / 3 - 7px);
}
ul.slide_tab li .switching {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 24px;
	border-radius: 30px;
	background: #EFCAD4;
	color: #707070;
	cursor: pointer;
}
ul.slide_tab li .switching.on {
	background: #BC003B;
	color: #fff;
}
input.tab_check {
	display: none;
}
input.tab_check:checked + .swiper {
	position: relative!important;
	opacity: 1!important;
	visibility: visible!important;
	transition: all .3s;
}
/* 学びの特長 ---------------------------------------------------------------------*/
section#learning {
	padding: 60px 0 80px!important;
	background: #F5F1E4;
}
section#learning h2 {
	margin-top: -140px;
}
section#learning h2 img {
	width: 60%;
	position: relative;
	left: -100px;
}
section#learning .swiper {
	overflow: inherit;
	position: relative;
}
section#learning .txt {
	width: calc(37% - 30px);
}
section#learning .txt .ttl span {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 1px #000 solid;
}
section#learning .img {
	width: 63%;
	overflow: hidden;
}
section#learning .img img {
	height: 100%;
	object-fit: cover;
}
/* スライダーページネーション */
section#learning .swiper .swiper-pagination {
	position: absolute;
	bottom: -50px;
	left: 5px;
	z-index: 2;
}
/* スライダーページ送り */
section#learning .swiper .swiper-button-prev,
section#learning .swiper .swiper-button-next {
	bottom: -48px;
	left: 0;
}
section#learning .swiper .swiper-button-next {
	left: 78px;
}
/* 合格実績の一例 ------------------------------------------------------------------*/
section#achievements {
	padding: 60px 0!important;
}
section#achievements a.other {
	display: inline-block;
	padding: 5px 30px;
	border: 2px #DEB01D solid;
	color: #DEB01D;
	text-align: center;
	line-height: 1.4;
	position: absolute;
	top: 0;
	right: 40px;
}
section#achievements a.other::after {
	content: "";
	display: block;
	border: 10px transparent solid;
	border-top-color: #DEB01D;
	border-right-color: #DEB01D;
	position: absolute;
	top: 0;
	right: 0;
}
section#achievements .col3 {
	box-sizing: border-box;
	border: 3px var(--yellow) solid;
	background: var(--yellow);
	position: relative;
}
section#achievements .col3 .ttl {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
}
section#achievements .col3 .ttl span {
	display: inline-block;
	padding: 6px 25px;
	border-radius: 50px;
	background: #DEB01D;
	color: #fff;
	white-space: nowrap;
}
section#achievements .col3 .inner {
	min-height: 160px;
	box-sizing: border-box;
	padding: 40px 20px 30px;
	background: #fff;
}
section#achievements .col3 .inner_bg {
	padding: 20px;
}
/* 暁高校出身者の声 ----------------------------------------------------------------*/
section#interview {
	padding: 60px 0!important;
	position: relative;
}
section#interview::before {
	content: "";
	display: block;
	width: 100%;
	height: 80%;
	background: #F5F1E4;
	position: absolute;
	top: 0;
	left: 0;
}
section#interview .txt {
	width: 310px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
section#interview .txt h2 img {
	width: 120%;
	position: relative;
	left: -30px;
}
section#interview ul.slide_tab li .switching {
	background: var(--yellow);
	color: #DEB01D;
}
section#interview ul.slide_tab li .switching.on {
	background: #DEB01D;
	color: #fff;
}
/* スライダー */
section#interview .swiper {
	width: calc((100% - 310px - 120px) + (50vw - 50%));
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	left: calc(310px + 120px);
	overflow: inherit;
	opacity: 0;
	visibility: hidden;
}
section#interview .swiper-slide.boad {
	width: 72%;
	padding-top: 70px;
}
section#interview .swiper-slide.swiper-slide-active,
section#interview .swiper-slide.swiper-slide-next {
	opacity: 1;
}
section#interview .swiper-slide.boad .tag {
	background: #DEB01D;
}
/* スライダーページネーション */
section#interview .swiper .swiper-pagination {
	position: absolute;
	top: 280px;
	left: -208px;
	z-index: 2;
}
/* スライダーページ送り */
section#interview .swiper .swiper-button-prev,
section#interview .swiper .swiper-button-next {
	top: 286px;
	left: -212px;
}
section#interview .swiper .swiper-button-next {
	left: -136px;
}
/* よくあるご質問 ------------------------------------------------------------------*/
section#faq {
	padding: 60px 0 120px!important;
}
dl.accordion {
	width: 100%;
}
dl.accordion dt {
	padding: 15px 60px 15px 20px;
	border-radius: 15px;
	background: #EFCAD4;
	color: #C34D72;
	cursor: pointer;
	position: relative;
	z-index: 2;
}
dl.accordion dt::before,
dl.accordion dt::after {
	content: "";
	display: block;
	width: 24px;
	border-bottom: 2px #fff solid;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	transition: all .3s;
}
dl.accordion dt::after {
	transform: translateY(-50%) rotate(90deg);
}
dl.accordion dt p {
	padding-left: 70px;
	position: relative;
}
dl.accordion dt p::before {
	content: "Q";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 55px;
	height: 55px;
	border-radius: 50%;
	box-sizing: border-box;
	padding-bottom: 8px;
	background: #fff;
	color: var(--pink);
	font-family: "quicksand", sans-serif;
	font-size: 34px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
dl.accordion dt.open {
	background: var(--pink);
	color: #fff;
}
dl.accordion dt.open::before {
	transform: translateY(-50%) rotate(315deg);
}
dl.accordion dt.open::after {
	transform: translateY(-50%) rotate(225deg);
}
dl.accordion dd {
	display: none;
	padding: 30px 20px 20px 120px;
	border-radius: 15px;
	background: #FDEEED;
	color: #BC003B;
	position: relative;
	top: -10px;
}
dl.accordion dd::before {
	content: "A";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70px;
	height: calc(100% - 50px);
	box-sizing: border-box;
	padding-bottom: 8px;
	border-right: 2px #BC003B solid;
	color: #BC003B;
	font-family: "quicksand", sans-serif;
	font-size: 34px;
	position: absolute;
	top: 30px;
	left: 20px;
}
section#faq .btn {
	width: calc(100% / 3 - 20px);
}

/*==================================================================================
フッター
==================================================================================*/
footer {
	height: 600px;
	box-sizing: border-box;
	padding: 120px 0 0!important;
	background: url("../img/foot_bg.jpg") center center / cover no-repeat;
}
footer .logo img {
	width: 320px;
}
footer a.contact {
	display: inline-block;
	padding: 10px 30px;
	background: var(--pink);
	color: #fff;
}
footer a.contact span {
	display: inline-block;
	padding-left: 30px;
	color: #fff;
	position: relative;
}
footer a.contact span::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: url("../img/icon_mail.png") center center / contain no-repeat;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}


.tb {display: none;}
.pc {display: inline;}
.sp {display: none;}


@media screen and (max-width: 1280px) {
	/* 参加者の声 ---------------------------------------------------------------------*/
	section#voice .swiper {
		left: 60px;
	}
	section#voice .swiper-slide.boad {
		width: 100%;
	}
	section#voice .swiper .swiper-pagination {
		right: -135px;
	}
	/* スライダーページ送り */
	section#voice .swiper .swiper-button-prev,
	section#voice .swiper .swiper-button-next {
		right: -76px;
	}
	section#voice .swiper .swiper-button-next {
		right: -130px;
	}
	/* 暁高校出身者の声 ----------------------------------------------------------------*/
	section#interview .swiper-slide.boad {
		width: 88%;
	}
    /* 暁高校のイベントを一部紹介します！ --------------------------------------------------*/
    section#introduction .col3 .icon_new {
    	top: -70px;
        right: -10px;
    }
}


@media screen and (max-width : 960px) {
	.pc {display: none;}
	.tb {display: inline;}
	
	p { font-size: 14px; }	
	/*==================================================================================
	ヘッダー
	==================================================================================*/
    header {
    	padding: 15px 0!important;
        position: fixed;
        top: 0;
        left: 0;
    }
    header .container {
        max-width: 100%;
    }
    header .logo {
    	width: 240px;
        position: relative;
        z-index: 10;
    }
	/* スマホ版 メニュー -----------------------*/
    nav.gnav {
        z-index: 2;
        width: 100%;
    	height: 100%;
    	background: rgba(0,0,0,0.8);
    	opacity: 0;
    	visibility: hidden;
    	transition: all 0.3s;
        position: fixed;
        top: 0;
        left: 0;
    }
    nav.gnav.active {
        opacity: 1;
    	visibility: visible;
    }
    nav.gnav ul {
        display: block;
        width: calc(100% - 76px);
        max-width: 360px;
        height: 100vh;
        box-sizing: border-box;
        padding: 80px 20px 20px;
        background: #fff;
    }
    nav.gnav ul li {
    	margin: 0;
        padding: 20px 0 20px 1em;
        border-bottom: 1px #ccc dashed;
    }
    nav.gnav ul li::before {
        font-size: 14px;
        top: 50%;
        transform: translateY(-50%);
    }
    nav.gnav ul li a {
        display: block;
        font-size: 14px;
    }
    .gnavToggle {
        z-index: 9999;
        display: flex;
    	flex-wrap: wrap;
    	flex-direction: column;
    	justify-content: center;
    	align-items: center;
        width: 36px;
        height: 36px;
        text-align: center;
        cursor: pointer;
        position: fixed;
        right: 20px;
        top: 14px;
    }
    .gnavToggle span {
        display: block;
        width: 100%;
    	margin-bottom: 4px;
        border-bottom: 2px #5f5e5e solid;
        transition: .35s ease-in-out;
    }
    .gnavToggle span:last-child {
    	margin-bottom: 0;
    }
    .gnavToggle.active span {
        border-color: #fff;
    }
    .gnavToggle.active span:nth-child(1) {
        transform: translateY(6px) rotate(-45deg);
    }
    .gnavToggle.active span:nth-child(2) {
    	opacity: 0;
    }
    .gnavToggle.active span:nth-child(3) {
        transform: translateY(-6px) rotate(45deg);
    }
    /* サイド固定ボタン */
    .side_fix {
        top: 15%;
    }
    .side_fix a {
        width: 35px;
        height: 140px;
        border-radius: 5px 0 0 5px;
        font-size: 14px;
    }
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
    main {
        margin-top: 65px!important;
    }
	.container {
        width: calc(100% - 40px);
		max-width: 680px;
        padding: 0 20px;
	}
    .col3 {
        width: calc(100% / 2 - 10px);
    }
    .col3.tb100 {
        width: 100%;
    }
    .col2 {
        width: calc(50% - 10px);
    }
    .col2.tb100 {
        width: 100%;
    }
	.mb_10 {
		margin-bottom: 8px;
	}
	.mb_20 {
		margin-bottom: 15px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}
    .mr_10 {
        margin-right: 8px;
    }
    /* フォント */
    h2 {
    	font-size: 14px;
    }
    h2 span.eng {
    	margin-bottom: 15px;
    	font-size: 34px;
        white-space: nowrap;
    }
    h3 span {
    	padding: 5px 20px;
    }
    .font_12 {
    	font-size: 10px;
    }
    .font_14 {
    	font-size: 12px;
    }
    .font_20 {
    	font-size: 16px;
    }
    .font_24 {
    	font-size: 20px;
    }
    .font_30 {
    	font-size: 24px;
    }
    /* ボタン */
    .btn {
    	width: 260px;
    	height: 70px;
    	border-radius: 15px;
    }
    .btn::after {
    	border: 6px transparent solid;
    	border-left: 8px #fff solid;
        right: 15px;
    }
    .btn.polygon {
    	padding: 12px 20px;
    }
    .btn.polygon::before {
    	clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%);
    }
    /*==================================================================================
    メイン
    ==================================================================================*/
    section#main {
        padding: 0 0 40px!important;
    }
    section#main .mov {
		height: 380px;
    	margin: 0 auto 120px;
    }
    section#main .mov::after {
    	left: -20px;
    	bottom: -15px;
    }
	section#main .mov .btn_mute {
		width: 30px;
		bottom: -35px;
	}
    section#main .mov p {
        font-size: 14px;
    	bottom: -40px;
    }
    .btn.panf {
    	width: 460px;
    	padding: 8px 70px 8px 20px;
    }
    .btn.panf img {
    	width: 20%;
    	right: 15px;
    }
    .btn.panf span {
    	line-height: 1.2;
    }
    .btn.panf.disa::after {
    	font-size: 24px;
    	letter-spacing: 0.05em;
    }
    section#main .max960 .btn {
    	width: calc(50% - 10px);
    }
    /* イベントスケジュール --------------------------------------------------------------*/
    section#schedule {
    	padding: 40px 0 80px!important;
    }
    section#schedule h2 span.eng {
    	font-size: 40px;
    }
    section#schedule .col3 {
    	padding-top: 15px;
    }
    section#schedule .col3::after {
    	border-width: 10px;
    }
    section#schedule .col3 .bg {
    	padding: 8px 5px;
    }
    /* オープンスクール -----------------------------------------------------------------*/
    section#open_school {
    	padding: 60px 0 40px!important;
    }
    section#open_school h2 {
    	clip-path: polygon(15px 0, calc(100% - 15px) 0, 100% 50%, calc(100% - 15px) 100%, 15px 100%, 0 50%);
    	padding: 8px 30px 10px;
    	top: -30px;
    }
    section#open_school .container {
    	max-width: 460px;
    }
    section#open_school .note {
        position: relative;
    	top: 0;
    }
    section#open_school p[class^="cmnt0"],
    section#introduction p[class^="cmnt0"] {
        border-radius: 15px;
        position: relative;
    }
    section#open_school p[class^="cmnt0"]::after,
    section#introduction p[class^="cmnt0"]::after {
        width: 16px;
        height: 16px;
    }
    section#open_school .os01 {
    	margin-bottom: 40px;
    }
    section#open_school .os01 .img {
    	width: 100%;
        height: auto;
    }
    section#open_school .os01 .txt {
    	width: 100%;
    }
    section#open_school .txt:not(.flat) {
    	width: 80%;
        order: 3;
    }
    section#open_school .os01 .cmnt01 {
        width: 132px;
    	top: 0;
        left: 14%;
    }
    section#open_school .os01 .cmnt01::after {
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
    }
    section#open_school .os01 .cmnt02 {
        width: 120px;
    	top: 0;
        left: 48%;
        margin: -20px 0;
    }
    section#open_school .os01 .cmnt02::after {
        top: auto;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
    }
    section#open_school .os01 .cmnt03 {
        width: 168px;
        max-width: 100%;
    	top: 0;
        left: 15%;
        margin-top: -40px;
    }
    section#open_school .os01 .cmnt03::after {
        top: -14px;
    }
    section#open_school .os01 .cmnt04 {
        width: 156px;
        max-width: 100%;
    	top: 0;
        left: 45%;
        margin-top: -10px;
    }
    section#open_school .os01 .cmnt04::after {
        top: -14px;
        left: 50%;
        transform: translateX(-50%) rotate(180deg);
    }
    section#open_school .os02 {
    	justify-content: space-between;
        margin: 0 0 20px;
    }
    section#open_school .os02 .img {
    	width: 80%;
        height: auto;
        margin: 0 20px 0 auto;
    }
    section#open_school .os02 .txt {
    	top: -20px;
        right: auto;
        left: 20px;
    }
	section#open_school .os02 .cmnt01 {
        width: 156px;
        max-width: 100%;
        top: 0;
    	bottom: auto;
        left: 5%;
        margin: 0 0 -20px;
	}
	section#open_school .os02 .cmnt01::after {
        top: auto;
        bottom: -14px;
        left: 50%;
        transform: translateX(50%);
	}
    section#open_school .os03 {
    	margin: 0 0 20px;
    }
    section#open_school .os03 .img {
    	width: 80%;
        height: auto;
        margin: auto;
    }
    section#open_school .os03 .txt {
    	margin: 0 0 0 auto;
        left: 0;
    }
    section#open_school .os03 .cmnt01 {
        width: 156px;
        max-width: 100%;
        top: 0;
    	bottom: auto;
        left: auto;
        margin: 0 0 -20px auto;
    }
    section#open_school .os03 .cmnt01::after {
        top: auto;
        bottom: -14px;
        left: 50%;
        transform: translateX(50%);
    }
    section#open_school .os04 {
    	justify-content: space-between;
    	margin: 0;
    }
    section#open_school .os04 .img {
    	width: 80%;
        height: auto;
        margin: 0 0 0 auto;
        order: 4;
    }
    section#open_school .os04 .txt {
    	bottom: auto;
        right: auto;
        margin: 0 0 -20px;
    }
    section#open_school .os04 .cmnt01 {
        width: 132px;
        max-width: 100%;
    	top: -40px;
        right: auto;
        left: 10%;
        order: 5;
    }
    section#open_school .os04 .cmnt01::after {
        bottom: auto;
        top: -14px;
        left: 50%;
        transform: translateX(-50%) rotate(180deg);
    }
    section#open_school .os05 {
    	margin-bottom: 40px;
    }
    section#open_school .os05 .img {
    	width: 80%;
        height: auto;
        order: 4;
    }
    section#open_school .os05 .txt {
        bottom: auto;
    	left: 0;
        margin: 0 0 -20px auto;
    }
    section#open_school .os05 .cmnt01 {
        width: 144px;
        max-width: 100%;
    	top: 0;
        left: auto;
        margin: -20px 10% 0 auto;
        order: 5;
    }
    section#open_school .os05 .cmnt01::after {
        top: -6px;
        left: 50%;
        transform: translateY(-50%) rotate(180deg);
    }
    section#open_school .os06 {
    	justify-content: space-between;
    	margin-top: 0;
    }
    section#open_school .os06 .img {
    	width: 80%;
        height: auto;
    }
    section#open_school .os06 .txt {
    	right: auto;
        left: auto;
        margin: 0 0 0 auto;
    }
    section#open_school .os06 .cmnt01 {
        width: 145px;
        max-width: 100%;
    	top: 0;
        right: auto;
        left: 5%;
        margin: 0 0 -20px;
    }
    section#open_school .os06 .cmnt01::after {
        top: auto;
        bottom: -14px;
        left: 50%;
        transform: translateX(-50%);
    }
    /* 暁高校のイベントを一部紹介します！ --------------------------------------------------*/
    section#introduction {
    	padding: 60px 0!important;
    }
    section#introduction .col3 {
    	margin-bottom: 20px;
    }
    section#introduction .col3:last-child {
    	margin-bottom: 0;
    }
    section#introduction .col3 .icon_new {
    	width: 55px;
    	height: 55px;
    	top: -50px;
    	right: -10px;
    }
	section#introduction .cmnt01::after,
	section#introduction .cmnt03::after,
	section#introduction .cmnt05::after {
		bottom: -14px;
	}
	section#introduction .cmnt02::after,
	section#introduction .cmnt04::after,
	section#introduction .cmnt06::after {
	    top: -14px;
	}
	section#introduction .cmnt01 {
		max-width: 168px;
	}
	section#introduction .cmnt02 {
		max-width: 180px;
	}
	section#introduction .cmnt03 {
		max-width: 205px;
	}
	section#introduction .cmnt04 {
		max-width: 168px;
	}
	section#introduction .cmnt05 {
		max-width: 210px;
	}
	section#introduction .cmnt06 {
		max-width: 215px;
	}
    /* 参加者の声 ---------------------------------------------------------------------*/
    section#voice {
    	padding: 20px 0 40px!important;
    }
    section#voice::before {
    	height: 80%;
    }
    section#voice .swiper {
    	width: 100%;
        left: 0;
        order: 2;
    }
    .swiper-slide.boad {
    	padding: 40px 30px 20px;
    }
    section#voice .swiper-slide.boad {
    	width: 100%;
		padding: 20px;
        opacity: 1;
    }
    .swiper-slide.boad .img {
    	width: 100px;
    	right: 30px;
    }
    .swiper-slide.boad .tag {
    	padding: 4px 20px;
    	left: 30px;
    }
    /*section#voice .swiper-slide .ttl {
    	width: calc(100% - 100px - 20px);
    }*/
	section#voice .swiper-slide.boad .cmnt {
		padding: 10px 15px;
	    border-radius: 10px;
	}
	section#voice .swiper-slide.boad .cmnt::after {
	    width: 20px;
	    height: 20px;
	    bottom: -20px;
	}
    /* スライダーページネーション */
    .swiper .swiper-pagination {
        font-size: 14px;
    }
    section#voice .swiper .swiper-pagination {
    	top: -30px;
    	right: 0;
    }
    .swiper .swiper-pagination::before,
    .swiper .swiper-pagination::after {
    	width: 6px;
    	height: 6px;
    	bottom: 1px;
    }
    .swiper .swiper-pagination span {
    	font-size: 12px;
    }
    .swiper .swiper-pagination span.swiper-pagination-current {
    	font-size: 16px;
    }
	/* スライダーページ送り */
	.swiper .swiper-button-prev,
	.swiper .swiper-button-next {
		width: 8px;
		height: 8px;
		border-width: 1px;
	}
	section#voice .swiper .swiper-button-prev,
	section#voice .swiper .swiper-button-next {
		top: -25px;
		right: 60px;
	}
	section#voice .swiper .swiper-button-next {
		right: 0;
	}
    /* 右カラム タイトル ボタン */
    section#voice .txt {
    	width: 100%;
        margin-bottom: 40px;
    }
    section#voice .txt h2 img {
    	width: 50%;
        max-width: 200px;
    	left: -10px;
    }
    /* 表示切り替えたぶ */
    ul.slide_tab li {
    	width: calc(100% / 3 - 6px);
        max-width: 120px;
    }
    ul.slide_tab li .switching {
    	height: 22px;
    }
    /* 学びの特長 ---------------------------------------------------------------------*/
    section#learning {
    	padding: 40px 0!important;
    }
    section#learning h2 {
    	margin-top: -80px;
    }
    section#learning h2 img {
    	width: calc(100% + 20px);
        max-width: 400px;
    	left: -20px;
    }
    section#learning .txt {
    	width: 100%;
        order: 2;
    }
    section#learning .img {
    	width: 100%;
        margin-bottom: 20px;
    }
    /* スライダーページネーション */
    section#learning .swiper .swiper-pagination {
    	bottom: auto;
    	left: auto;
        top: -30px;
        right: 0;
    }
	/* スライダーページ送り */
	section#learning .swiper .swiper-button-prev,
	section#learning .swiper .swiper-button-next {
		top: -25px;
		left: auto;
		right: 60px;
	}
	section#learning .swiper .swiper-button-next {
		right: 0;
	}
    /* 合格実績の一例 ------------------------------------------------------------------*/
    section#achievements {
    	padding: 40px 0 0!important;
    }
    section#achievements h3 + p {
    	margin-bottom: 20px;
    }
    section#achievements a.other {
    	display: block;
        margin-bottom: 30px;
    	padding: 2px 10px 5px;
    	line-height: 1.2;
    	position: relative;
    	top: 0;
    	right: 0;
    }
    section#achievements a.other::after {
    	border-width: 6px;
    }
    section#achievements .col3 {
        margin-bottom: 30px;
    	border-width: 2px;
    }
    section#achievements .col3:last-child {
        margin-bottom: 0;
    }
    section#achievements .col3 .ttl {
    	top: -12px;
    }
    section#achievements .col3 .ttl span {
    	padding: 4px 20px;
    }
    section#achievements .col3 .inner {
    	min-height: 0;
    	padding: 30px 20px 20px;
    }
    section#achievements .col3 .inner_bg ul li {
    	width: calc(50% - 2px);
    }
    /* 暁高校出身者の声 ----------------------------------------------------------------*/
    section#interview {
    	padding: 40px 0!important;
    }
    section#interview .txt {
    	width: 100%;
        margin-bottom: 50px;
    	position: relative;
    }
    section#interview .txt h2 img {
    	width: 60%;
        max-width: 300px;
    	left: -10px;
    }
    /* スライダー */
    section#interview .swiper {
    	width: 100%;
    	left: 0;
    }
    section#interview .swiper-slide.boad {
    	width: 100%;
    	padding-top: 50px;
    }
    /* スライダーページネーション */
    section#interview .swiper .swiper-pagination {
    	top: -30px;
    	left: auto;
        right: 0;
    }
	/* スライダーページ送り */
	section#interview .swiper .swiper-button-prev,
	section#interview .swiper .swiper-button-next {
		top: -25px;
		left: auto;
		right: 60px;
	}
	section#interview .swiper .swiper-button-next {
		right: 0;
	}
    /* よくあるご質問 ------------------------------------------------------------------*/
    section#faq {
    	padding: 40px 0 80px!important;
    }
    dl.accordion dt {
    	padding: 10px 40px 10px 15px;
    	border-radius: 10px;
    }
    dl.accordion dt::before,
    dl.accordion dt::after {
    	width: 15px;
    	right: 15px;
    }
    dl.accordion dt p {
    	padding-left: 50px;
    }
    dl.accordion dt p::before {
    	width: 36px;
    	height: 36px;
    	padding-bottom: 5px;
    	font-size: 24px;
    }
    dl.accordion dd {
    	padding: 20px 15px 10px 70px;
    	border-radius: 10px;
    }
    dl.accordion dd::before {
    	width: 45px;
    	height: calc(100% - 35px);
    	padding-bottom: 5px;
        border-right-width: 1px;
    	font-size: 24px;
    	left: 10px;
    }
    section#faq .btn {
    	width: calc(100% / 3 - 13px);
    }
    section#faq .btn span {
    	font-size: 16px;
    }
    /*==================================================================================
    フッター
    ==================================================================================*/
    footer {
    	height: auto;
    	padding: 40px 0!important;
        background-position: left center;
    }
    footer .container {
        max-width: 100%;
    }
    footer {
    	margin-bottom: 20px;
    }
    footer .logo img {
    	width: 240px;
    }
    footer a.contact {
    	font-size: 14px;
    }
    footer ul li a {
        font-size: 12px;
    }
}


@media screen and (max-width : 680px) {
    /*==================================================================================
    メイン
    ==================================================================================*/
    section#main .mov {
        max-width: 460px;
		height: 258px;
    }
    /* オープンスクール -----------------------------------------------------------------*/
    section#open_school .txt:not(.flat) {
    	width: 60%;
    }
    section#open_school .os04 {
    	margin: 0 0 60px;
    }
    /* よくあるご質問 ------------------------------------------------------------------*/
    section#faq .btn {
    	width: 100%;
        max-width: 300px;
        margin: 0 auto 15px;
    }
    section#faq .btn span {
    	font-size: 16px;
    }
}


@media screen and (max-width : 460px) {
	.tb {display: none;}
	.sp {display: inline;}
    p {font-size: 12px;}
	/*==================================================================================
	ヘッダー
	==================================================================================*/
    header .logo {
    	width: 200px;
    }
    .gnavToggle {
        top: 12px;
    }
	/*==================================================================================
	共通
	==================================================================================*/
    .col3 {
        width: calc(50% - 5px);
    }
    .col3.sp100 {
        width: 100%;
    }
    .col2 {
        width: calc(50% - 5px);
    }
    .col2.sp100 {
        width: 100%;
    }
    /* フォント */
    h2 {
    	font-size: 12px;
    }
    h2 span.eng {
    	margin-bottom: 8px;
    	font-size: 24px;
    }
    .font_14 {
    	font-size: 10px;
    }
    .font_20 {
    	font-size: 14px;
    }
    .font_24 {
    	font-size: 18px;
    }
    .font_30 {
    	font-size: 22px;
    }
    /*==================================================================================
    メイン
    ==================================================================================*/
    section#main {
        padding: 0!important;
    }
    section#main .mov {
        max-width: 320px;
		height: 180px;
    	margin: 0 auto 100px;
    }
    section#main .mov::after {
        width: 80%;
    }
    section#main .mov p {
        font-size: 12px;
    	bottom: -35px;
    }
    section#main .mov + .mb_120 {
    	margin-bottom: 40px;
    }
    .btn.panf span {
    	font-size: 18px;
    }
    section#main .max960 .btn {
    	width: 100%;
        margin-bottom: 8px;
    }
    /* イベントスケジュール --------------------------------------------------------------*/
    section#schedule h2 span.eng {
    	font-size: 34px;
    }
    section#schedule .col3 {
    	margin-bottom: 10px;
        padding-top: 10px;
    }
    section#schedule .col3::after {
    	border-width: 6px;
    }
    section#schedule .col3 .font_20.pink {
    	font-size: 12px;
        font-weight: 700;
    }
    section#schedule .col3 .bg p {
    	font-size: 10px;
    }
    /* オープンスクール -----------------------------------------------------------------*/
    section#open_school {
    	padding: 50px 0 20px!important;
    }
    section#open_school h2 span.eng {
        margin-bottom: 8px;
    }
    section#open_school p[class^="cmnt0"],
    section#introduction p[class^="cmnt0"] {
        font-size: 12px;
    }
    section#open_school .os01 {
    	margin-bottom: 20px;
    }
    section#open_school .os01 .img {
    	width: calc(100% + 40px);
        margin-left: -20px;
    }
    section#open_school .os01 .cmnt01 {
        left: 5%;
    }
    section#open_school .os01 .cmnt02 {
        left: 50%;
    }
    section#open_school .os01 .cmnt03 {
        left: 10%;
    }
    section#open_school .os02 {
        margin: 0;
    }
    section#open_school .os02 .img {
    	width: 100%;
        margin: 0 -20px 0 auto;
    }
    section#open_school .os02 .txt {
        left: 0;
    }
	section#open_school .os02 .cmnt01 {
        left: 0;
	}
    section#open_school .os03 {
    	margin: 0;
    }
    section#open_school .os03 .img {
    	width: 100%;
        margin: 0 0 0 -20px;
    }
    section#open_school .os04 {
    	margin: 0 0 -20px;
    }
    section#open_school .os04 .img {
    	width: calc(100% - 20px);
    }
    section#open_school .os04 .cmnt01 {
        left: 0;
    }
    section#open_school .os05 {
    	margin-bottom: 20px;
    }
    section#open_school .os05 .img {
    	width: 100%;
        margin: 0 0 0 -20px;
    }
    section#open_school .os05 .cmnt01 {
        margin: -20px 0 0 auto;
    }
    section#open_school .os06 .img {
    	width: calc(100% - 20px);
        right: -20px;
    }
    section#open_school .os06 .txt {
        margin: 0 -20px 0 auto;
    }
    section#open_school .os06 .cmnt01 {
        width: 132px;
        left: 0;
    }
    /* 合格実績の一例 ------------------------------------------------------------------*/
    section#achievements a.other .font_14 {
    	font-size: 12px;
    }
    section#achievements .col3 .ttl span {
    	font-size: 14px;
    }
    section#achievements .col3 .inner {
    	padding: 20px 10px 10px;
    }
    section#achievements .col3 .inner_bg {
    	padding: 10px;
    }
    /* 暁高校のイベントを一部紹介します！ --------------------------------------------------*/
    section#introduction .col3 {
    	margin-bottom: 40px;
    }
    /* 参加者の声 ---------------------------------------------------------------------*/
    .swiper-slide.boad {
    	padding: 30px 15px 20px;
    }
    .swiper-slide.boad .img {
    	width: 80px;
    	right: 20px;
    }
    .swiper-slide.boad .tag {
    	left: 20px;
    }
    /*section#voice .swiper-slide .ttl {
    	width: calc(100% - 80px - 20px);
    }*/
    /* 表示切り替えたぶ */
    ul.slide_tab li .switching {
    	height: 20px;
    }
    /* 暁高校出身者の声 ----------------------------------------------------------------*/
    /* スライダー */
    section#interview .swiper-slide.boad {
    	padding-top: 40px;
    }
   /* よくあるご質問 ------------------------------------------------------------------*/
    dl.accordion dt {
    	padding: 10px 40px 10px 10px;
    }
    dl.accordion dt::before,
    dl.accordion dt::after {
        width: 10px;
    }
    dl.accordion dt p {
    	padding-left: 40px;
        font-size: 12px;
        line-height: 1.4;
    }
    dl.accordion dt p::before {
    	width: 30px;
    	height: 30px;
    	padding-bottom: 3px;
    	font-size: 20px;
        top: 0;
        transform: none;
    }
    dl.accordion dd {
    	padding: 20px 15px 10px 55px;
    }
    dl.accordion dd::before {
    	width: 40px;
    	padding-bottom: 3px;
    	font-size: 20px;
    	top: 25px;
    	left: 4px;
    }
    section#faq .btn {
        max-width: 240px;
    }
    /*==================================================================================
    フッター
    ==================================================================================*/
    footer {
    	padding: 20px 0!important;
        background-position: left -50px center;
    }
    footer .logo img {
    	width: 200px;
    }
    footer a.contact {
        padding: 10px 20px;
    	font-size: 12px;
    }
    footer a.contact span {
    	padding-left: 25px;
    }
    footer a.contact span::before {
    	width: 15px;
    	height: 15px;
    }
	footer ul li {
        margin-bottom: 10px!important;
    }
    footer ul li a {
        font-size: 10px;
    }
}

