
body {
	font-family: "Noto Sans 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 {
	font-size: min(1.4vw,16px);
	line-height: 1.8;
}

:root {
    --yellow: #fff100;
    --green: #37776e;
}
/*==================================================================================
ヘッダー
==================================================================================*/
header {
	width: 100%;
    box-sizing: border-box;
    padding: 20px 80px!important;
	z-index: 9999;
}
header .logo {
    display: block;
    width: 360px;
}
#side_fix {
    position: fixed;
    top: 15%;
    right: 0;
    padding-right: 10px;
    z-index: 999;
}
#side_fix a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 45px;
    height: 170px;
	padding-right: 3px;
    border-radius: 30px;
    background: var(--yellow);
    color: #000;
    margin-bottom: 5px;
    font-weight: 700;
    letter-spacing: 0.02em;
	line-height: 1;
    writing-mode: tb-rl;
}
#side_fix a.doc {
    background: #000;
    color: var(--yellow);
}

/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
main {
	overflow: hidden;
}
section {
    padding: 40px 0!important;
}
.container {
	width: calc(100% - 160px);
	max-width: 1200px;
	padding: 0 80px;
	margin: auto;
}
.max960 {
	max-width: 960px;
	margin: auto;
}
.max640 {
	max-width: 640px;
	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.just_center {
	justify-content: center;
}
.row.just_start {
	justify-content: flex-start;
}
.row.just_end {
	justify-content: flex-end;
}
.col2 {
    width: calc(50% - 15px);
}
.col3 {
    width: calc(100% / 3 - 15px);
}
.col3_2 {
    width: calc((100% / 3 - 15px) * 2);
}

.wrap {
	display: inline-block;
}

.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;
}
.mr_20 {
    margin-right: 20px;
}

/* フォント */
h2 {
	letter-spacing: 0.1em;
}
.font_16 {
	font-size: min(1.4vw,16px);
}
.font_18 {
	font-size: min(1.6vw,18px);
}
.font_20 {
	font-size: min(1.75vw,20px);
}
.font_24 {
	font-size: min(2.2vw,24px);
}
.font_30 {
	font-size: min(2.8vw,30px);
}
.font_40 {
	font-size: min(3.6vw,40px);
}
.font_50 {
	font-size: min(4.5vw,50px);
}
.font_60 {
	font-size: min(5.6vw,60px);
}
.font_70 {
	font-size: min(6.2vw,70px);
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.medium {
    font-weight: 500;
}
.bold {
	font-weight: 700;
}
.black {
    font-weight: 900;
}
.mincho {
    font-family: "Noto Serif JP", serif;
}
.num {
    font-family: "helvetica-neue-lt-pro-cond", sans-serif;
    font-weight: 700;
}
.num2 {
    font-family: "minion-pro", serif;
    font-weight: 400;
}
.line1 {
    line-height: 1;
}
.line1_2 {
    line-height: 1.2;
}
.line1_4 {
    line-height: 1.4;
}
.line1_6 {
    line-height: 1.6;
}
.white {
    color: #fff;
}
.green {
	color: var(--green);
}

/* ボタン -----------------*/
.btn {
    display: inline-block;
	width: 200px;
    padding: 20px;
    background: var(--yellow);
    border-radius: 50px;
    color: #000;
    font-weight: 700;
	text-align: center;
}
.btn.doc {
    background: #000;
    color: var(--yellow);
}
.btn.frame {
	background: none;
	border: 1px #000 solid;
}
.btn.size_s {
	width: auto;
    padding: 10px 30px;
}

/* アニメーション -----------*/
.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);}
}
.yay {
    opacity: 0;
    transform: translateY(2px);
    transition: all 1s;
}
.yay.fadeinup {
    transform: translateY(20px);
}
.yay.on {
    transform: translateY(0);
    opacity: 1;
}
.yay.fadeinup.second.on {
    animation: yay_up_2nd 1.2s;
}
@keyframes yay_up_2nd {
	0% {opacity: 0; transform: translateY(20px);}
	16.66% {opacity: 0; transform: translateY(20px);}
	100% {opacity: 1; transform: translateY(0);}
}

/*==================================================================================
メイン
==================================================================================*/
section#main {
    margin-bottom: 40px;
	padding: 0!important;
}
section#main .slides {
	width: 100%;
	height: calc(100vh - 78px - 40px);
	min-height: 640px;
	position: relative;
}
/* スライド */
section#main .slides .slide {
	display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
    width: 100%;
    height: 100%;
	overflow: hidden;
    box-sizing: border-box;
    padding: 0 80px 4vw;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
section#main .slides .slide.show {
	z-index: 2;
}
section#main .slides .slide::after {
	content: "";
    display: block;
    width: 100%;
    height: 40%;
    background: linear-gradient(to top, #231815 0%, transparent 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: all 1s;
    z-index: 2;
}
section#main .slides .slide.show::after {
    opacity: 1;
}
/* 画像 */
section#main .slides .slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
section#main .slides .slide.show img {
	animation: zoom_img 5s linear;
}
@keyframes zoom_img {
	0% {opacity: 0; transform: translate(-50%,-50%) scale(1.1);}
	25% {opacity: 1; transform: translate(-50%,-50%) scale(1.075);}
	100% {opacity: 1; transform: translate(-50%,-50%) scale(1.02);}
}
section#main .slides .slide.fadeout img {
	animation: fadeout 1s linear;
}
@keyframes fadeout {
	0% {opacity: 1; transform: translate(-50%,-50%) scale(1.02);}
	100% {opacity: 0; transform: translate(-50%,-50%) scale(1);}
}
/* テキスト */
section#main .slides .slide .txt {
    width: 100%;
    position: relative;
    z-index: 3;
    opacity: 0;
}
section#main .slides .slide.show .txt {
    animation: main_txt 6s;
}
@keyframes main_txt {
    0% {opacity: 0;}
    16.6% {opacity: 1;}
    83.3% {opacity: 1;}
    100% {opacity: 0;}
}
section#main .slides .slide h2 {
    margin-bottom: 3.8vw;
	font-size: min(8.5vw, 130px);
    letter-spacing: 0.02em;
    text-shadow: 0 0 15px rgba(0,0,0,0.8);
    line-height: 1.2;
}
section#main .slides .slide p {
    width: 100%;
    font-size: min(1.8vw,24px);
    line-height: 1.7;
}
section#main .slides .slide a {
    display: block;
    color: #fff;
    font-size: min(1.6vw,24px);
    text-align: right;
    position: absolute;
    bottom: 17%;
    right: 0;
    z-index: 2;
}
section#main .slides .slide a::before {
    content: "";
    display: block;
    width: calc(100vw - 60px);
    border-bottom: 1px #fff solid;
    position: absolute;
    top: -15px;
    right: 0;
    pointer-events: none;
    transform-origin: left center;
    transition: all .3s;
}
section#main .slides .slide.show a::before {
    animation: main_arrow 1s;
}
@keyframes main_arrow {
    0% {transform: scaleX(0);}
    100% {transform: scaleX(1);}
}
section#main .slides .slide a::after {
    content: "";
    display: block;
    width: 20px;
    border-bottom: 1px #fff solid;
    position: absolute;
    top: -15px;
    right: 0;
    transform-origin: right bottom;
    transform: rotate(45deg);
    transition: all .3s;
}
section#main .slides .slide.show a::after {
    animation: main_arrow02 1s;
}
@keyframes main_arrow02 {
    0% {opacity: 0; transform: rotate(45deg) scale(0);}
    90% {opacity: 0; transform: rotate(45deg) scale(0);}
    100% {opacity: 1; transform: rotate(45deg) scale(1);}
}
section#main .slides .slide a:hover {
    color: var(--yellow);
}
section#main .slides .slide a:hover::before {
    width: calc(100vw - 40px);
    border-color: var(--yellow);
    right: -20px;
}
section#main .slides .slide a:hover::after {
    width: 30px;
    border-color: var(--yellow);
    right: -20px;
}
/* スライドボタン */
section#main .slides .buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    position: absolute;
    bottom: -40px;
    left: 0;
}
section#main .slides .buttons span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    margin: 0 5px;
    background: #dcdddd;
    cursor: pointer;
}
section#main .slides .buttons span.active {
    background: #595757;
}

/*==================================================================================
スクールイベント
==================================================================================*/
section#event h2 {
    letter-spacing: 0;
}
section#event h2 span {
    letter-spacing: -0.05em;
}
section#event .col2 {
    box-sizing: border-box;
    padding: 30px 2% 20px;
    border: 1px #000 solid;
    letter-spacing: -0.02em;
	position: relative;
}
section#event h3 span {
    letter-spacing: 0.05em;
}
/*section#event .col2:nth-child(1)::after {
    content: "";
	display: block;
	width: 100%;
	height: 20%;
	background: url("../img/event01_01.png") center top / contain no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}
section#event .col2:nth-child(1) .day {
    width: 110px;
}*/
section#event .col2:nth-child(1),
section#event .col2:nth-child(2),
section#event .col2:nth-child(3),
section#event .col2:nth-child(4) {
    padding: 0 2% 20px;
}
section#event .col2:nth-child(2)::after {
    content: "";
	display: block;
	width: 16%;
	height: 12%;
	background: url("../img/event02_icon.png") right top / contain no-repeat;
	position: absolute;
	top: 22%;
	right: 10px;
}
section#event .col2:nth-child(2) .btn {
    position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
}
section#event .col2 .copy {
    max-width: 360px;
    box-sizing: border-box;
    margin: 0 auto 20px;
    padding: 15px 20px;
    background: var(--green);
    color: #fff;
    line-height: 1;
}
section#event .col2 ul.days {
    padding: 0 7%;
    border: 1px #000 solid;
}
section#event .col2 ul.days li {
    display: flex;
	flex-wrap: wrap;
    align-items: center;
    padding: 25px 0;
    border-bottom: 1px #000 solid;
}
section#event .col2 ul.days li:last-child {
    border-bottom: none;
}
section#event .col2 ul.days img {
    width: 140px;
}
section#event .col2 ul.days p {
    width: calc(100% - 140px - 20px);
}
section#event .col2 .icon {
    width: 120px;
}

/*==================================================================================
参加された人の声
==================================================================================*/
section#voice h2 img {
    width: 280px;
    margin: auto;
}
section#voice .col2 {
    background: var(--green);
}
section#voice .col2 h3 {
    display: inline-block;
    padding: 6px 10px;
    background: var(--yellow);
}
section#voice .col2 .inner {
    padding: 10px 20px;
}
section#voice .col2 .img {
    width: 110px;
}
section#voice .col2 .txt {
    width: calc(100% - 110px - 10px);
}

/*==================================================================================
合格実績
==================================================================================*/
section#achievement .col3 {
    box-sizing: border-box;
    padding: 40px 50px 80px;
    background: #6cada0;
}
section#achievement .col3:nth-child(even) {
    background: var(--green);
}
section#achievement ul li span {
    display: inline-block;
}
section#achievement .total {
    position: absolute;
    bottom: 20px;
    right: 40px;
}

/*==================================================================================
OB・OG
==================================================================================*/
section#obog .sp-mask {
	padding-bottom: 20px;
}
section#obog .boad {
    width: calc(100% - 20px);
    background: #fff;
    margin: auto;
    box-shadow: 5px 5px 6px rgba(0,0,0,0.4);
}
section#obog .boad .name {
    display: inline-block;
    padding: 8px 10px 8px 25px;
    margin-bottom: -70px;
    background: var(--green);
    position: relative;
    top: -50px;
}
section#obog .boad .inner {
    padding: 20px 30px;
}
section#obog .boad .inner ul li {
    padding-left: 1.6em;
    position: relative;
}
section#obog .boad .inner ul li::before {
    content: "\025a0";
    font-size: 20px;
    color: var(--green);
    position: absolute;
    top: 0;
    left: 0;
}
/* スライダー矢印 */
section#obog .sp-horizontal .sp-arrows {
    width: 140%;
    left: 50%;
    transform: translateX(-50%);
}
section#obog .sp-horizontal .sp-arrow {
    width: 40px;
    height: 40px;
    border-bottom: 2px #898989 solid;
    border-left: 2px #898989 solid;
    transform: rotate(45deg);
}
section#obog .sp-horizontal .sp-arrow.sp-next-arrow {
    transform: rotate(225deg);
}
section#obog .sp-horizontal .sp-arrow::before,
section#obog .sp-horizontal .sp-arrow::after {
    display: none;
}
/* スライダーボタン */
section#obog .sp-button {
    width: 7px;
    height: 7px;
    border: 0;
    margin: 0 6px;
    background: #dcdddd;
}
section#obog .sp-button.sp-selected-button {
    background: #000;
}

/*==================================================================================
学びの特色
==================================================================================*/
section#point h2 {
    letter-spacing: 0;
}
section#point .point_main {
    position: relative;
}
section#point .point_main img:nth-child(2) {
    width: 42%;
    position: absolute;
    top: 0;
    right: 0;
    transform-origin: center;
}
section#point .point_main.yay.on img:nth-child(2) {
    animation: point_main 1s;
}
@keyframes point_main {
    0% {opacity: 0; transform: scale(0);}
    30% {opacity: 0; transform: scale(0);}
    100% {opacity: 1; transform: scale(1);}
}
section#point h3.font_50.mincho {
    position: relative;
}
section#point h3.font_50.mincho::before {
    content: "";
    display: block;
    width: 0;
    height: 50%;
    background: var(--yellow);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all .6s;
}
section#point h3.yay.on::before {
    width: 100%;
}
section#point h3 span {
    position: relative;
    z-index: 2;
}
/* 暁の学びの特色 */
section#point .p_view {
    width: 100%;
    max-width: 2000px;
    height: 70vh;
    min-height: 500px;
    margin: auto;
    overflow: hidden;
    position: relative;
}
section#point .p_view img {
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
section#point .p_view .ttl {
    display: inline-block;
    padding: 15px 120px 10px 80px;
    position: relative;
    z-index: 2;
}
section#point .p_view .ttl::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    clip-path: polygon(0 0, 100% 0, calc(100% - 80px) 100%, 0 100%);
    background: linear-gradient(135deg, #231815 0%, rgba(255,255,255,0));
    position: absolute;
    top: 0;
    left: 0;
}
section#point .p_view .ttl p {
    padding-bottom: 5px;
    border-bottom: 1px #fff solid;
    letter-spacing: 0.15em;
    position: relative;
    z-index: 2;
}
section#point .p_view .ttl h3 {
    padding-left: 60px;
    position: relative;
    z-index: 2;
}
section#point .p_view .ttl h3 span.num {
    font-size: min(11vw,120px);
    line-height: .8;
    position: absolute;
    top: 0;
    left: 0;
	transform: scaleX(.8);
}
section#point .p_view h4 {
    position: absolute;
    bottom: 28%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}
section#point .p_view h4 span {
    display: inline-block;
    padding: 10px 20px;
    background: #fbc600;
    margin-bottom: 15px;
    white-space: nowrap;
}
/* アコーディオン ------------------------------*/
section#point .p_view .trigger {
    display: block;
    width: 70px;
    height: 70px;
    background: url("../img/icon_arrow.png") center center / contain no-repeat;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
	transition: all .3s;
	cursor: pointer;
    z-index: 2;
}
section#point .p_view .trigger.yay.on {
    animation: acc_trigger 1s;
}
@keyframes acc_trigger {
	0% {transform: translateX(-50%) translateY(0); opacity: 0;}
	40% {transform: translateX(-50%) translateY(0); opacity: 0;}
	70% {transform: translateX(-50%) translateY(20px); opacity: 1;}
	100% {transform: translateX(-50%) translateY(0); opacity: 1;}
}
section#point .p_view .trigger.open {
    transform: translateX(-50%) translateY(20px);
	opacity: 0;
}
section#point .accodion {
	display: none;
    padding: 40px 0;
}
/* 閉じるボタン */
section#point .accodion .close {
    display: block;
    width: 70px;
    height: 70px;
	border-radius: 50%;
	margin: auto;
    background: url("../img/icon_arrow.png") center center / contain no-repeat var(--green);
    transform: rotate(180deg);
	cursor: pointer;
}
/* 1 英語の暁 */
section#point .point.p01 .in {
	width: 35%;
	box-sizing: border-box;
	padding-right: 20px;
}
section#point .point.p01 .out {
	width: 65%;
	box-sizing: border-box;
	padding-left: 40px;
	border-left: 1px #000 solid;
	position: relative;
}
section#point .point.p01 .out::before {
	content: "";
	display: block;
	border: 15px transparent solid;
	border-left: 15px var(--green) solid;
	border-right: none;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
section#point .point.p01 .in .ttl,
section#point .point.p01 .out .ttl {
	display: inline-block;
	background: linear-gradient(to top, #a4c1be 5px, transparent 5px, transparent 100%);
	letter-spacing: 0.05em;
}
section#point .point.p01 .out p {
	width: 60%;
}
section#point .point.p01 .out .img {
	width: calc(40% - 20px);
}
section#point .bg_gray {
	padding: 50px 40px 20px;
	background: #efefef;
	position: relative;
}
section#point .bg_gray .ttl {
	padding: 6px 30px;
	background: #595757;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
}
section#point .bg_gray ul li p {
	padding-left: 1.3em;
	position: relative;
}
section#point .bg_gray ul li p::before {
	content: "\025a0";
	display: block;
	color: var(--green);
	position: absolute;
	top: 0;
	left: 0;
}
/* 2 異文化理解の推進 */
section#point .point.p02 .p_view .topics {
    padding: 8px 20px 8px 40px;
    background: linear-gradient(to right, rgba(0,45,40,0.7) 0%, rgba(0,45,40,0.9) 100%);
    color: #fff;
    text-align: right;
    clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
}
section#point .point.p02 .p_view .topics span {
    display: inline-block;
    margin-bottom: 3px;
    padding: 3px 10px;
    background: rgba(255,255,255,0.7);
    color: #03473E;
    line-height: 1;
}
section#point .point.p02 table {
	width: 100%;
	border-top: 1px #999 solid;
	line-height: 1.4;
}
section#point .point.p02 table tr {
	border-bottom: 1px #999 solid;
}
section#point .point.p02 table th {
	padding: 10px;
	background: var(--green);
	color: #fff;
	text-align: center;
	vertical-align: middle;
	font-weight: 400;
}
section#point .point.p02 table td {
	padding: 15px;
	text-align: center;
	position: relative;
}
section#point .point.p02 table td::before {
	content: "";
	display: block;
	height: calc(100% - 30px);
	border-left: 2px #ccc dotted;
	position: absolute;
	top: 15px;
	left: 0;
}
section#point .point.p02 table th + td::before {
	display: none;
}
section#point .frame_green {
	padding: 20px 40px;
	border: 2px var(--green) solid;
}
section#point .frame_green .ttl {
	display: inline-block;
	background: linear-gradient(to top, #a4c1be 5px, transparent 5px, transparent 100%);
	letter-spacing: 0.05em;
}
section#point .bg_green {
	padding: 20px 40px;
	background: #dfe9e7;
}
section#point .bg_green .ttl {
	display: inline-block;
	background: linear-gradient(to top, #fff 5px, transparent 5px, transparent 100%);
	letter-spacing: 0.05em;
}
section#point .point.p02 .bg_green .img {
	width: 30%;
}
section#point .point.p02 .bg_green .txt {
	width: calc(70% - 40px);
} 
section#point .point.p02 .bg_green img.float {
	width: 25%;
	margin-left: 20px;
	float: right;
}
/* 3 人間力の形成 */
section#point .point.p03 .bg_green ul li p {
	padding-left: 70px;
	position: relative;
}
section#point .point.p03 .bg_green ul li p span {
	display: inline-block;
	width: 60px;
	text-align-last: justify;
	position: absolute;
	top: 0;
	left: 0;
}
section#point .point.p03 .photos {
	width: 70%;
	margin: 0 auto 60px;
} 
section#point .point.p03 .int_ttl {
	border-bottom: 1px var(--green) solid;
} 
section#point .point.p03 .int_ttl span.font_70 {
	color: #dfe9e7;
}
section#point .point.p03 .int_ttl span.font_20 {
	letter-spacing: 0.05em;
}
section#point .point.p03 .int_p {
	width: 260px;
}
section#point .point.p03 .int_p img {
	width: 180px;
}
section#point .point.p03 .int_txt {
	width: calc(100% - 260px);
}

/*==================================================================================
Photo Gallery
==================================================================================*/
section#gallery {
	background: #efefef;
}
section#gallery h2 {
    letter-spacing: 0;
}
/* スライダーボタン */
section#gallery .sp-buttons {
    padding-top: 20px;
}
section#gallery .sp-button {
    width: 7px;
    height: 7px;
    border: 0;
    margin: 0 6px;
    background: #dcdddd;
}
section#gallery .sp-button.sp-selected-button {
    background: #000;
}
/* Instagram */
section#gallery .insta {
	display: block;
	width: 240px;
	margin: auto;
	color: #e4007f;
	text-align: center;
}
section#gallery .insta img {
	width: 40%;
	margin: 0 auto 20px;
}

/*==================================================================================
出願・入試日程
==================================================================================*/
section#schedule h3 {
	padding: 6px 10px;
	background: #2b618b;
	color: #fff;
}

/*==================================================================================
新しい暁の入試制度
==================================================================================*/
section#new_exam {
	background: #fff474;
}
section#new_exam .policy .ttl {
	width: 260px;
	box-sizing: border-box;
	padding: 15px;
	background: #000;
	border-radius: 10px 0 0 10px;
	color: #fff;
	text-align: center;
}
section#new_exam .policy .txt {
	width: calc(100% - 260px);
	box-sizing: border-box;
	padding: 15px 20px;
	background: #fff;
	border-radius: 0 10px 10px 0;
}
section#new_exam table {
	width: 100%;
	background: #fff;
	line-height: 1.2;
}
section#new_exam table tr {
	border-bottom: 1px #ccc solid;
}
section#new_exam table th {
	padding: 10px 20px;
	background: #e1e2e2;
	border-right: 1px #ccc solid;
	font-weight: 500;
	vertical-align: middle;
}
section#new_exam table tr:first-child th:last-child {
	border-right: none;
}
section#new_exam table td {
	padding: 10px;
	border-right: 1px #ccc solid;
	vertical-align: middle;
}
section#new_exam table td:last-child {
	border-right: none;
}
section#new_exam table td span {
	display: inline-block;
	width: 30px;
	border-top: 1px #ccc solid;
	margin-bottom: 8px;
}

/*==================================================================================
ACCESS
==================================================================================*/
section#access {
	overflow: hidden
}
section#access ul {
	padding-left: 40px;
	position: relative;
}
section#access ul.train li:last-child {
	padding-bottom: 15px;
	border-bottom: 1px #000 solid;
}
section#access ul::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: url("../img/access_icon01.png") center center / contain no-repeat;
	position: absolute;
	top: 5px;
	left: 0;
}
section#access ul.walk::before {
	background-image: url("../img/access_icon02.png");
}
section#access .position {
	position: relative;
}
section#access .img {
	width: calc(100vw / 2 - 40px);
	max-width: 960px;
	height: calc(100% / 2 - 5px);
	overflow: hidden;
	position: absolute;
	top: 0;
	left: calc(50% + 40px);
}
section#access .img:last-child {
	top: auto;
	bottom: 0;
}
section#access .img img {
	height: 100%;
	object-fit: cover;
}

/*==================================================================================
フッター
==================================================================================*/
footer {
	padding: 60px 0!important;
	background: #efefef;
}
footer .logo img {
	width: 400px;
	margin: auto;
}
footer .copy {
	font-size: 12px;
}

/* ページトップへ戻るボタン */
.btn_pagetop {
	display: block;
	width: calc(40px - 2px);
	height: calc(40px - 2px);
	border: 2px #000 solid;
	border-radius: 50%;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}
.btn_pagetop span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px #000 solid;
	border-right: 2px #000 solid;
	transform: translateX(-50%) rotate(-45deg);
	position: absolute;
	top: 45%;
	left: 50%;
}



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

@media screen and (max-width : 960px) {
	.pc {display: none;}
	.tb {display: inline;}
	
	p { font-size: 14px; }
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header {
	    padding: 15px 20px!important;
	}
	header .logo {
	    width: 300px;
	}
	#side_fix {
	    top: 15%;
	    padding-right: 5px;
	}
	#side_fix a {
	    width: 40px;
	    height: 150px;
		padding-right: 0;
	}
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	.container {
		width: calc(100% - 40px);
		max-width: 680px;
		padding: 0 20px;
	}
	.max640 {
		max-width: 460px;
	}
	.col2 {
	    width: calc(50% - 10px);
	}
	.col3 {
	    width: calc(100% / 3 - 10px);
	}
	.col3_2 {
	    width: calc((100% / 3 - 10px) * 2);
	}
	.tb100 {
		width: 100%!important;
		margin-bottom: 20px;
		box-sizing: border-box;
	}
	.mb_10 {
		margin-bottom: 8px;
	}
	.mb_20 {
		margin-bottom: 15px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_40 {
		margin-bottom: 30px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}
	.mr_10 {
	    margin-right: 8px;
	}
	.mr_20 {
	    margin-right: 15px;
	}
	/* フォント */
	h2 {
		letter-spacing: 0;
	}
	.font_16 {
		font-size: 14px;
	}
	.font_18 {
		font-size: 16px;
	}
	.font_20 {
		font-size: 18px;
	}
	.font_24 {
		font-size: 20px;
	}
	.font_30 {
		font-size: 24px;
	}
	.font_40 {
		font-size: 30px;
	}
	.font_50 {
		font-size: 34px;
	}
	.font_60 {
		font-size: 46px;
	}
	.font_70 {
		font-size: 54px;
	}
	/* ボタン -----------------*/
	.btn {
		width: 160px;
	    padding: 15px;
	}
	/* スクロール */
	.scroll {
		display: block;
	  	overflow-x: scroll;
	  	white-space: nowrap;
	  	-webkit-overflow-scrolling: touch;
		padding: 0 0 10px;
		margin-bottom: 20px;
	}
	.scroll::-webkit-scrollbar {
	  height: 8px;
	}
	.scroll::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #efefef;
	  border-radius: 5px;
	}
	.scroll::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #ccc;
	}

	/*==================================================================================
	メイン
	==================================================================================*/
	section#main .slides {
		height: calc(100vh - 62px - 40px);
		min-height: 460px;
	}
	/* スライド */
	section#main .slides .slide {
	    padding: 0 40px 40px;
	}
	/* テキスト */
	section#main .slides .slide h2 {
	    margin-bottom: 4.6vw;
		font-size: 8.2vw;
	}
	section#main .slides .slide p {
	    font-size: 2.2vw;
	}
	section#main .slides .slide a {
	    font-size: 2.2vw;
	    bottom: 27%;
	}
	section#main .slides .slide a::before {
	    width: calc(100vw - 40px);
	    top: -10px;
	}
	section#main .slides .slide a::after {
	    width: 15px;
	    top: -10px;
	}
	section#main .slides .slide a:hover::before {
	    width: calc(100vw - 15px);
	    right: -15px;
	}
	section#main .slides .slide a:hover::after {
	    width: 20px;
	    right: -15px;
	}
	/* スライドボタン */
	section#main .slides .buttons {
	    height: 40px;
	    bottom: -40px;
	}
	/*==================================================================================
	スクールイベント
	==================================================================================*/
	section#event .col2 {
		max-width: 540px;
		margin: 0 auto 30px;
	    padding: 30px 10px 20px;
	}
	section#event .col2:nth-child(1)::after {
		height: 24%;
	}
	section#event .col2:nth-child(1) .day {
	    width: 100px;
	}
	section#event .col2:nth-child(2),
	section#event .col2:nth-child(3),
	section#event .col2:nth-child(4) {
	    padding: 0 10px 20px;
	}
	section#event .col2:nth-child(2)::after {
		top: 20%;
	}
	section#event .col2:nth-child(2) .btn {
		position: relative;
		left: 0;
		bottom: 0;
		transform: none;
	}
	section#event .col2 .copy {
	    max-width: 280px;
	    margin: 0 auto 15px;
	    padding: 10px;
	}
	section#event .col2 ul.days {
	    padding: 0 10px;
	}
	section#event .col2 ul.days li {
		justify-content: center;
	    padding: 15px 0;
	}
	section#event .col2 ul.days img {
	    width: 120px;
	}
	section#event .col2 ul.days p {
	    width: auto;
	}
	section#event .col2 .icon {
	    width: 100px;
	}
	/*==================================================================================
	参加された人の声
	==================================================================================*/
	section#voice h2 img {
	    width: 240px;
	}
	section#voice .col2 h3 {
    	padding: 4px 10px;
	}
	section#voice .col2 .inner {
    	padding: 15px;
	}
	section#voice .col2 .img {
	    width: 80px;
	}
	section#voice .col2 .txt {
	    width: calc(100% - 80px - 10px);
	}
	/*==================================================================================
	合格実績
	==================================================================================*/
	section#achievement .container {
	}
	section#achievement .col3 {
	    padding: 20px 20px 80px;
	}
	section#achievement .col3 .total {
	    right: 20px;
	}
	/*==================================================================================
	OB・OG
	==================================================================================*/
	section#obog .boad .img {
	    height: 260px;
		overflow: hidden;
	}
	section#obog .boad .img img {
	    height: 100%;
		object-fit: cover;
	}
	section#obog .boad .name {
	    padding: 8px 10px 8px 20px;
	    margin-bottom: -50px;
	    top: -40px;
	}
	section#obog .boad .inner {
	    padding: 20px;
	}
	section#obog .boad .inner ul li::before {
	    font-size: 18px;
	}
	/* スライダー矢印 */
	section#obog .sp-horizontal .sp-arrows {
	    width: calc(100% + 20%);
	}
	section#obog .sp-horizontal .sp-arrow {
	    width: 20px;
	    height: 20px;
	}
	/*==================================================================================
	学びの特色
	==================================================================================*/
	/* 暁の学びの特色 */
	section#point .p_view {
	    height: 540px;
	    min-height: 0;
	}
	section#point .p_view .ttl {
	    padding: 15px 60px 10px 20px;
	}
	section#point .p_view .ttl::before {
	    clip-path: polygon(0 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
	}
	section#point .p_view .ttl h3 {
	    padding-left: 50px;
	}
	section#point .p_view .ttl h3 span.num {
	    font-size: 96px;
	}
	section#point .p_view h4 {
	    bottom: 160px;
	}
	section#point .p_view h4 span {
	    padding: 8px 15px;
	    margin-bottom: 8px;
	}
	/* アコーディオン ------------------------------*/
	section#point .p_view .trigger {
	    width: 50px;
	    height: 50px;
	    bottom: 60px;
	}
	/* 閉じるボタン */
	section#point .accodion .close {
	    width: 50px;
	    height: 50px;
	}
	section#point .bg_gray {
		padding: 40px 20px 20px;
	}
	section#point .bg_gray .ttl {
		padding: 6px 20px;
	}
	/* 1 英語の暁 */
	section#point .point.p01 .in {
		width: 100%;
		padding-right: 0;
	}
	section#point .point.p01 .out {
		width: 100%;
		padding-left: 0;
		border-left: none;
		padding-top: 30px;
		border-top: 1px #000 solid;
	}
	section#point .point.p01 .out::before {
		border: 15px transparent solid;
		border-left: 15px transparent solid;
		border-top: 15px var(--green) solid;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	/* 2 異文化理解の推進 */
    section#point .point.p02 .p_view .topics {
        padding: 10px 20px 10px 30px;
        clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%);
    }
    section#point .point.p02 .p_view .topics .font_16 {
        font-size: 12px;
    }
    section#point .point.p02 .p_view .topics .font_20 {
        font-size: 14px;
    }
	section#point .point.p02 table th {
		padding: 8px;
	}
	section#point .point.p02 table td {
		padding: 8px 10px;
	}
	section#point .point.p02 table td::before {
		height: calc(100% - 20px);
		top: 10px;
	}
    section#point .frame_green,
	section#point .bg_green {
		padding: 20px;
	}
	section#point .point.p02 .bg_green .img {
		width: 40%;
	} 
	section#point .point.p02 .bg_green .txt {
		display: flex;
		flex-wrap: wrap;
		width: calc(60% - 20px);
	} 
	section#point .point.p02 .bg_green .txt p {
		margin-bottom: 20px;
	}
	section#point .point.p02 .bg_green img.float {
		width: 50%;
		margin: 0 0 0 auto;
		float: none;
		order: 2;
	}
	/* 3 人間力の形成 */
	section#point .point.p03 {
		margin-bottom: 0;
	} 
	section#point .point.p03 .col3 img {
		max-width: 360px;
		margin: auto;
	}
	section#point .point.p03 .bg_green ul li p {
		padding-left: 60px;
	}
	section#point .point.p03 .bg_green ul li p span {
		width: 50px;
	}
	section#point .point.p03 .photos {
		margin: 0 auto 40px;
	} 
	section#point .point.p03 .int_p {
		width: 180px;
	}
	section#point .point.p03 .int_p img {
		width: 150px;
	}
	section#point .point.p03 .int_txt {
		width: calc(100% - 180px);
	}
	/*==================================================================================
	Photo Gallery
	==================================================================================*/
	/* Instagram */
	section#gallery .insta {
		width: 180px;
	}
	section#gallery .insta img {
		width: 30%;
		margin: 0 auto 15px;
	}
	/*==================================================================================
	新しい暁の入試制度
	==================================================================================*/
	section#new_exam .policy .ttl {
		width: 100%;
		padding: 10px;
		border-radius: 10px 10px 0 0;
	}
	section#new_exam .policy .txt {
		width: 100%;
		padding: 10px;
		border-radius: 0 0 10px 10px;
	}
	section#new_exam table th {
		padding: 8px 10px;
		font-size: 14px;
	}
	section#new_exam table td {
		padding: 8px 10px;
		font-size: 14px;
	}
	section#new_exam table td span {
		width: 20px;
	}
	/*==================================================================================
	フッター
	==================================================================================*/
	footer {
		padding: 40px 0 60px!important;
	}
	footer .logo img {
		width: 90%;
		max-width: 400px;
	}
	footer .copy {
		font-size: 10px;
	}
	/* ページトップへ戻るボタン */
	.btn_pagetop {
		display: none!important;
	}
}


@media screen and (max-width : 680px) {
	.tb100_2 {
		width: 100%!important;
		margin-bottom: 20px;
		box-sizing: border-box;
	}
	/*==================================================================================
	合格実績
	==================================================================================*/
	section#achievement .container {
		max-width: 400px;
	}
	section#achievement .col3 {
	    padding: 20px;
	}
	section#achievement .col3 .total {
	    position: relative;
	    bottom: 0;
	    right: 0;
	}
	/*==================================================================================
	学びの特色
	==================================================================================*/
	/* 暁の学びの特色 */
	section#point .p_view {
	    height: 460px;
	}
	section#point .p_view .ttl {
	    padding: 15px 60px 10px 20px;
	}
	section#point .p_view .ttl h3 {
	    padding-left: 40px;
		font-size: 16px;
	}
	section#point .p_view .ttl h3 span.num {
	    font-size: 77px;
	}
	section#point .p_view .ttl h3 span.font_60 {
	    font-size: 36px;
	}
	section#point .p_view h4 {
	    font-size: 20px;
	}
	/* アコーディオン ------------------------------*/
	/* 2 異文化理解の推進 */
	section#point .point.p02 table th,
	section#point .point.p02 table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	section#point .point.p02 table th {
		padding: 5px;
	}
	section#point .point.p02 table td::before {
		width: 100%;
		height: auto;
		border-left: none;
		border-bottom: 1px #ccc dotted;
		top: 0;
		left: 0;
	}
	/*==================================================================================
	ACCESS
	==================================================================================*/
	section#access ul::before {
		top: 0;
	}
	section#access .col2 img {
		max-width: 360px;
	}
	section#access .img {
		width: calc(100% + 20px);
		height: 300px;
		margin-bottom: 8px;
		position: relative;
		left: 0;
	}
}

@media screen and (max-width : 460px) {
	.tb {display: none;}
	.sp {display: inline;}
	p {font-size: 13px;}
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header {
	    padding: 10px 20px!important;
	}
	header .logo {
	    width: 260px;
	}
	#side_fix {
		display: flex;
		justify-content: space-between;
		width: 100%;
		box-sizing: border-box;
		padding: 0 10px;
	    top: auto;
		bottom: 10px;
	}
	#side_fix a {
	    width: calc(50% - 3px);
		height: 45px;
		margin-bottom: 0;
		writing-mode: inherit;
		font-size: 18px;
		box-shadow: 3px 3px 5px rgba(0,0,0,0.3);
	}
	/*==================================================================================
	共通
	==================================================================================*/
	section {
		padding: 20px 0!important;
	}
	.col2 {
		width: calc(50% - 5px);
	}
	.sp100 {
		width: 100%!important;
		box-sizing: border-box;
	}
	/* フォント */
	.font_16 {
		font-size: 13px;
	}
	.font_18 {
		font-size: 14px;
	}
	.font_20 {
		font-size: 16px;
	}
	.font_24 {
		font-size: 18px;
	}
	.font_30 {
		font-size: 20px;
	}
	.font_40 {
		font-size: 24px;
	}
	.font_50 {
		font-size: 30px;
	}
	.font_60 {
		font-size: 40px;
	}
	.font_70 {
		font-size: 40px;
	}
	/* ボタン */
	.btn {
		width: 100%;
		margin: 0 auto;
	}
	/*==================================================================================
	メイン
	==================================================================================*/
	section#main .slides {
		height: calc(100vh - 48px - 120px);
	}
	/* スライド */
	section#main .slides .slide {
	    padding: 0 20px 30px;
	}
	/* テキスト */
	section#main .slides .slide h2 {
	    margin-bottom: 20px;
		font-size: 8.8vw;
		line-height: 1.3;
	}
	section#main .slides .slide p {
	    font-size: 14px;
		margin-bottom: 30px;
	}
	section#main .slides .slide a {
	    font-size: 16px;
		position: relative;
	    bottom: 0;
	}
	/*==================================================================================
	スクールイベント
	==================================================================================*/
	section#event .col2:nth-child(2)::after {
		top: 15%;
	}
	section#event .col2:nth-child(2) ul.days img {
	    margin-bottom: 10px;
	}
	section#event .col2:nth-child(2) ul.days p {
	    width: 100%;
		max-width: 240px;
	}
	/*==================================================================================
	参加された人の声
	==================================================================================*/
	section#voice .col2 .img {
	    width: 60px;
	}
	section#voice .col2 .txt {
	    width: calc(100% - 60px - 10px);
	}
	/*==================================================================================
	OB・OG
	==================================================================================*/
	section#obog .boad .img {
	    height: 160px;
	}
	section#obog .boad .name {
	    padding: 8px 10px 8px 20px;
	    margin-bottom: -50px;
	    top: -40px;
		font-size: 14px;
	}
	section#obog .boad .name span.font_20 {
	    font-size: 14px;
	}
	section#obog .boad .inner{
	    padding: 20px 15px 15px 10px;
	}
	section#obog .boad .inner ul li {
	    padding-left: 1.4em;
	}
	section#obog .boad .inner ul li::before {
	    font-size: 16px;
	}
	/* スライダー矢印 */
	section#obog .sp-horizontal .sp-arrows {
        width: calc(100% + 60px);
    }
	section#obog .sp-horizontal .sp-arrow {
		width: 10px;
		height: 10px;
	}
	/*==================================================================================
	学びの特色
	==================================================================================*/
	/* 暁の学びの特色 */
    section#point h3.font_50 {
        font-size: 22px;
    }
    section#point h3.font_50 .font_40 {
        font-size: 18px;
    }
	section#point .p_view .ttl {
	    padding: 15px 40px 10px 20px;
	}
	section#point .p_view .ttl::before {
	    clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
	}
	section#point .p_view .ttl .font_18 {
	    font-size: 12px;
	}
	section#point .p_view .ttl h3 {
		padding-left: 35px;
	    font-size: 14px;
	}
	section#point .p_view .ttl h3 span.num {
	    font-size: 68px;
	}
	section#point .p_view .ttl h3 span.font_60 {
	    font-size: 30px;
	}
	section#point .p_view h4 {
	    font-size: 16px;
	}
	section#point .p_view h4 span {
	    padding: 6px 12px;
	}
	section#point .p_view h4 {
	    bottom: 140px;
	}
		/* アコーディオン ------------------------------*/
	section#point .p_view .trigger {
	    width: 40px;
	    height: 40px;
	    bottom: 70px;
	}
	/* 閉じるボタン */
	section#point .accodion .close {
	    width: 40px;
	    height: 40px;
	}
	section#point .accodion {
	    padding: 20px 0;
	}
	section#point .bg_gray {
		padding: 40px 10px 15px;
	}
	section#point .bg_gray ul li p {
		padding-left: 1.1em;
	}
	/* 1 英語の暁 */
	section#point .point.p01 .out p {
		width: 100%;
	}
	section#point .point.p01 .out .img {
		width: 100%;
	}
	/* 2 異文化理解の推進 */
    section#point .point.p02 .p_view .topics {
        width: 100%;
        box-sizing: border-box;
        padding: 0;
        background: none;
        text-align: left;
        clip-path: none;
    }
    section#point .point.p02 .p_view .topics span {
        margin-bottom: 0;
        padding: 3px 20px;
        border: 1px #03473E solid;
    }
    section#point .point.p02 .p_view .topics p {
        padding: 8px 20px;
        background: rgba(0,45,40,0.75);
    }
    section#point .frame_green,
	section#point .bg_green {
		padding: 15px 10px;
	}
	section#point .point.p02 .bg_green .img {
		width: 100%;
		margin-bottom: 20px;
	}
	section#point .point.p02 .bg_green .txt {
		width: 100%;
	} 
	section#point .point.p02 .bg_green img.float {
		width: 70%;
		margin: 0;
	}
	/* 3 人間力の形成 */
	section#point .point.p03 .photos {
		width: 100%;
		margin: 0 auto 30px;
	} 
	section#point .point.p03 .int_p {
		width: auto;
		margin: 0 auto 20px;
	}
	section#point .point.p03 .int_p img {
		width: 120px;
		margin: 0 auto 10px;
	}
	section#point .point.p03 .int_txt {
		width: 100%;
	}
	/*==================================================================================
	Photo Gallery
	==================================================================================*/
	/* Instagram */
	section#gallery .insta img {
		width: 25%;
	}
	/*==================================================================================
	新しい暁の入試制度
	==================================================================================*/
	section#new_exam h2.font_60 {
		font-size: 34px;
	}
	section#new_exam table th,
	section#new_exam table td {
		font-size: 13px;
	}
	/*==================================================================================
	ACCESS
	==================================================================================*/
	section#access {
		margin-bottom: 0;
	}
	section#access .btn {
		margin-bottom: 10px;
	}
}


