@charset "utf-8";
@import url("table.css");
/*仮掲載用*/
@font-face {font-family: 'AR CHRISTY Regular'; font-style: normal; font-weight: normal; src: local('AR CHRISTY Regular'), url('archristy.woff') format('woff'); }

/*TAG初期設定*/
* { box-sizing:border-box; outline:none; }
html { width:100%; height:100%; scroll-behavior: smooth; scroll-padding-top: 80px;}
body {
	font-family:"Noto Sans JP", sans-serif;
	font-feature-settings:"palt";
	-webkit-font-feature-settings:"palt";
	-webkit-text-size-adjust:100%;
	line-height:1.8;
	letter-spacing:.1em;
	color:#333;
	font-size:max(1.4vw,14px);
	background-color:#FFF;
	margin:0;
	padding:80px 0 0;
	border:none 0;
	width:100%;
	min-width:1160px;
	height:100%;
}
header, footer, nav, article, section, aside { display:block; }
h1,h2,h3,h4 {font-size:max(1.4vw,14px); line-height:normal; padding:0; margin:0;}
p,address,cite { margin:0; padding:0; font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; }
ul,ol,menu { list-style:none; padding:0; margin:0; }
li { padding:0; margin:0; }
dl,dt,dd { margin:0; padding:0; font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; }
form { margin:0; padding:0; }
video { margin:0; padding:0; vertical-align:bottom; filter: drop-shadow(0px 0px rgba(0,0,0,0)); outline: none; border: none; }
img { height:auto; max-width:100%; margin:0; padding:0; border:none 0; text-align:center; vertical-align:bottom; -webkit-backface-visibility:hidden; }
iframe { vertical-align:bottom; outline:none; border:none; }

/*TAGカスタム*/
p.p { margin-bottom:1em; }
ul.ul { list-style-type:disc; list-style-position:outside; margin-left:1.5em;}
ol.ol { list-style:decimal; list-style-position:outside; margin-left:1.75em; }
ul.ul li:not(:last-child), ol.ol li:not(:last-child) { margin-bottom:1em;}

/*Link*/
a { color:rgba(84,143,242,1); text-decoration:none; }
a.bt-txt {
	display:block;
	max-width:500px;
	min-width:240px;
	color:#333;
	text-align:center;
	background-color:rgba(218,132,166,0);
	padding:.5em 2em .5em 1em;
	margin:auto;
	border:solid 1px #333;
	border-radius:.5em;
	background-image:url(../images/icon_next-bk.svg);
	background-repeat:no-repeat;
	background-position: right 1rem center;
	background-size: 1rem;
	transition:color ease .2s,background-image ease .2s,background-color ease .4s;
	
}
a.bt-txt:hover {
	color:rgba(255,255,255,1);
	background-image:url(../images/icon_next-w.svg);
	background-color:rgba(84,143,242,1);
}

/*外部サービス埋め込み*/
#fb-root, .fb-page { font-family:sans-serif; }
#twitter iframe{ width: 100% !important; }


/*Icon*/
.icon_instagram,.icon_facebook,.icon_line,.icon_twitter,.icon_phone-mobil {}
.icon_instagram {}
.icon_facebook {}
.icon_line {}
.icon_twitter {}
/*Icon+Text*/


/*スマートフォンコンテンツ*/
.sp { display:none !important; }


/* --------Font-------- */

/*Font Size*/
.font_xxxxl { font-size:max(4.0vw,40px); }
.font_xxxl { font-size:max(3.2vw,32px); }
.font_xxl { font-size:max(2.4vw,24px); }
.font_xl { font-size:max(1.8vw,18px); }
.font_l { font-size:max(1.6vw,16px); }
.font_m { font-size:max(1.4vw,14px); }
.font_s { font-size:max(1.2vw,12px); }
.font_xs { font-size:max(1vw,10px); }

/*Text Color*/
.fcolor_r {color: #F00;}
.fcolor_bl {color: #00F;}
.fcolor_gray {color: #999;}
/*Marker Color*/
.marker_p {background: linear-gradient(transparent 60%, rgba(255,136,220,.4) 40%);}
.marker_v {background: linear-gradient(transparent 60%, rgba(197,97,248,.4) 40%);}
.marker_bl {background: linear-gradient(transparent 60%, rgba(59,110,255,.4) 40%);}
.marker_sbl {background: linear-gradient(transparent 60%, rgba(58,209,255,.4) 40%);}
.marker_gr {background: linear-gradient(transparent 60%, rgba(0,204,0,.4) 40%);}
.marker_ygr {background: linear-gradient(transparent 60%, rgba(125,204,0,.4) 40%);}
.marker_y {background: linear-gradient(transparent 60%, rgba(255,234,0,.4) 40%);}
.marker_or {background: linear-gradient(transparent 60%, rgba(255,144,0,.4) 40%);}
.marker_r {background: linear-gradient(transparent 60%, rgba(255,0,0,.4) 40%);}
/*Text Outline*/
.txt-outline { text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff; }


/* ---HEADER--- */
#header {
	width:100%;
	min-width:1160px;
	margin:auto;
	position:fixed;
	top:0;
	z-index:12;
	background-color:rgba(255,255,255,1);
	display:flex;
	flex-flow: row wrap;
	justify-content:flex-start;
	align-items:center;
}
#header .container {
	width:100%;
	padding-left:80px;
	display:flex;
	flex-flow: row nowrap;
	justify-content:space-between;
	align-items:center;
}
#header .site-title {
	display:flex;
	flex-flow: row nowrap;
	justify-content:flex-start;
	align-items:center;
	gap:0px 20px;
}
#header h1.logo {
	font-size:40px;
	line-height:40px;
	color:rgba(0,117,143,1);
}
#header h1.logo img {
	width:auto;
	height:60px;
}
#header .catchphrase {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:16px;
	letter-spacing:.1em;
	color:#333;
}
#header .company-name {
	display:block;
	font-size:12px;
	color:#CCC;
}

/* ---MAIN--- */
/*Bloc Box*/
main { display:flex; flex-direction:column; }
main .container { padding:80px; }
/*Title*/
main h1 .en { display:block; font-family: "Acme", sans-serif; font-size:max(3.2vw,32px); }
main h1 .ja { display:block; font-family: 'Noto Serif JP', serif; font-size:max(1.6vw,16px); font-weight:600; letter-spacing:.1em; }
main h1.title { font-size:max(3.2vw,32px); margin-bottom:1em;}
main h1.title .en:first-letter { color:rgba(0,173,201,1); }
main h1 img[src*="title.svg"] { width:auto; height:4.2em; min-height:72px;}
main h2.title { font-size:max(2.4vw,24px); margin-bottom:1em;}
main .line-on { display:flex; align-items: center; justify-content: center; gap:1em; }
main .line-on::before, main .line-on::after { content: ""; flex-grow:1; border-top:1px solid #999; }
main .line-on-r { display:flex; align-items: center; justify-content: center; gap:1em; }
main .line-on-r::after { content: ""; flex-grow:1; border-top:1px solid #999; }

section .contents-body:not(:last-child) {
	padding-bottom:60px;
}

/* ---FOOTER--- */
footer {
	color:#333;
	background-color: rgba(255,255,255,1);
}
footer #signature {
	display:flex;
	flex-flow: row wrap;
	justify-content:flex-end;
	align-items:center;
	width:100%;
	border-top:solid 1px #999;
}
footer #signature .profile {
	text-align:center;
	width:calc(100% / 2);
	padding:0 60px;
}
footer #signature .profile h1 {
	padding-bottom:1rem;
}
footer #signature .profile h1 img {
	width:20vw;
	min-width:240px;
}
footer #signature .maps {
	width:calc(100% / 2);
	background-color:#FFF;
	/*border-left:solid 1px #999;*/
}
footer #signature .maps > iframe {
	width:100%;
	height:420px;
}
footer #signature .group {
	width:calc(100%);
	padding:60px;
	background-color:rgba(1,175,212,.5);
}
footer #signature .group h2.title {
	display:flex;
	flex-flow:column-reverse wrap;
	justify-content:center;
	align-items:center;
	gap:0 0;
	margin-bottom:20px;
}
footer #signature .group h2.title .en {
	display:block;
	font-size:max(2.4vw,24px);
	letter-spacing:.1em;
}
footer #signature .group h2.title .ja {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:max(1.4vw,14px);
	letter-spacing:.2em;
}
footer #signature .group h2.title .en:first-letter {
	color: rgba(0,55,194,1);
}
footer #signature .group ul.group-list {
	display:flex;
	flex-flow:row nowrap;
	justify-content:center;
	align-items:center;
	gap:20px;
	width:100%;
}
footer #signature .group ul.group-list li {
	flex: 1;
	max-width:240px;
}
footer #signature .group ul.group-list li a {
	display:block;
	opacity:1;
	transition:opacity ease .5s;
}
footer #signature .group ul.group-list li a:hover {
	opacity:.8;
}
footer #signature .group  ul.group-list li a img {
	border-radius:6px;
}

footer #signature .partner {
	width:calc(100%);
	padding:60px;
	background-color:rgba(1,175,212,.2);
}
footer #signature .partner h2.title {
	display:flex;
	flex-flow:column-reverse wrap;
	justify-content:center;
	align-items:center;
	gap:0 0;
	margin-bottom:20px;
}
footer #signature .partner h2.title .en {
	display:block;
	font-size:max(2.4vw,24px);
	letter-spacing:.1em;
}
footer #signature .partner h2.title .ja {
	display:block;
	font-family: 'Noto Serif JP', serif;
	font-size:max(1.4vw,14px);
	letter-spacing:.2em;
}
footer #signature .partner h2.title .en:first-letter {
	color: rgba(0,55,194,1);
}
footer #signature .partner ul.partner-list {
	display:flex;
	flex-flow:row nowrap;
	justify-content:center;
	align-items:center;
	gap:20px;
	width:100%;
}
footer #signature .partner ul.partner-list li {
	flex: 1;
	text-align:center;
}
footer #signature .partner ul.partner-list li a {
	display:block;
	max-width:240px;
	margin:auto;
	opacity:1;
	transition:opacity ease .5s;
}
footer #signature .partner ul.partner-list li a:hover {
	opacity:.8;
}
footer #signature .partner  ul.partner-list li a img {
	border-radius:6px;
}
footer #signature .partner ul.partner-list li p {
	margin-top:.5em;
}

footer .copyright {
	display:block;
	text-align:center;
	color:#FFF;
	background-color: rgba(0,55,194,1);
	width:100%;
	padding:1rem 0;
}


/* ---CIBTENTS--- */

/*Key Visual*/
.keyvisual {
	width:100%;
	min-width:1160px;
	aspect-ratio:1920 / 460;
	position:relative;
	overflow:hidden;
}
.keyvisual > .frame  {
	display:block;
	width:100%;
	position:absolute;
	bottom:-4px;
	left:0;
	pointer-events:none;
}
.keyvisual > .frame img {
	display:block;
	width:100%;
	aspect-ratio:1920 / 400;
	pointer-events:none;
}
.keyvisual .title-box {
	width:100%;
	position:absolute;
	bottom:0;
	left:80px;
	z-index:1;
}
.keyvisual h1 {
	display:flex;
	flex-direction:column-reverse;
	flex-wrap:nowrap;
	align-items:flex-start;
	justify-content:flex-end;
	gap:.5em 1em;
	letter-spacing:normal;
}
.keyvisual .title-box h1 .en,
.keyvisual .title-box h1 .ja {
	display:block;
	line-height:1;
}
.keyvisual .title-box h1 .en {
	font-family: "Quicksand", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size:max(5.6vw,56px);
}
.keyvisual .title-box h1 .ja {
	font-family:"Kosugi Maru", sans-serif;
	font-weight:400;
}
.keyvisual .title-box p {
	font-size:max(1.6vw,16px);
	letter-spacing:.05em;
	padding:1em 0 0;
}

/*Flex Layout*/
.content-box-flex-half {
	display:flex;
	flex-wrap:nowrap;
	justify-content:center /*space-between*/;
	align-items:stretch;
}
.content-box-flex-half:nth-of-type(odd) {
	flex-direction:row;
}
.content-box-flex-half:nth-of-type(even) {
	flex-direction:row-reverse;
}
.content-box-flex-half .img-box, .content-box-flex-half .txt-box {
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	align-items:flex-start;
	width:calc(100% / 2);
}
.content-box-flex-half:nth-of-type(odd) .txt-box {
	padding:40px 0 40px 40px;
}
.content-box-flex-half:nth-of-type(even) .txt-box {
	padding:40px 40px 40px 0;
}

/*Grid Layout*/
.container-grid-half {
	display:grid;
	grid-template-columns:1fr 1fr;
	place-items: stretch stretch;
	gap:1px 1px;
	background-color:#CCC;
	max-width:1081px;
	margin-left:auto;
	margin-right:auto;
}
.container-grid-half >  li {
	background-color:#FFF;
	padding:40px;
}
.container-grid-half > li:nth-child(odd) {
	padding-left:0;
}
.container-grid-half > li:nth-child(even) {
	padding-right:0;
}

/* ---Navigation--- */

/*Global*/
#header a .ja {
	display:block;
	font-size:14px;
	color:rgba(51,51,51,1);
	transition:color ease .4s;
}
#header a .en {
	display:block;
	font-size:10px;
	color:#999;
	transition:color ease .4s;
}
#header a:hover .ja {
	color:rgba(51,51,51,1);
}
#header .container menu.pc {
	display:flex;
	flex-flow:row nowrap;
	justify-content:flex-end;
	align-items:stretch;
	gap:0 0;
}
#header .container menu.pc li {
	display:flex;
	flex-flow:row nowrap;
	justify-content:center;
	align-items:stretch;
}
#header .container menu.pc li:not(.contact-mail, .contact-instagram, .contact-line) {
	margin-right:2rem;
}
#header .container menu.pc li a {
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	align-items:center;
}
#header menu.pc li.about a:hover .en {
	color:rgba(1,175,212,1);
}
#header menu.pc li.curriculum a:hover .en {
	color:rgba(255,168,0,1);
}
#header menu.pc li.event a:hover .en {
	color:rgba(1,181,56,1);
}
#header menu.pc li.enrollment a:hover .en {
	color:rgba(224,90,212,1);
}
#header menu.pc li.recruit a:hover .en {
	color:rgba(8,66,183,1);
}
#header menu.pc li.partner a:hover .en {
	color:rgba(60,91,135,1);
}

#header .container menu.pc li.contact a:hover {
	color:rgba(255,255,255,1);
	background-color:rgba(84,143,242,1);
}
#header .container menu.pc li.contact-tel {
	display:flex;
	flex-flow:row nowrap;
	justify-content:center;
	align-items:center;
	padding:0 1rem;
}
#header .container menu.pc li.contact-tel img {
	width:auto;
	height:40px;
}
#header .container menu.pc li.contact-line {
	background-color:rgba(6,199,85,1);
}
#header .container menu.pc li.contact-instagram {
	background-color:rgba(224,169,203,1);
}
#header .container menu.pc li.contact-mail {
	background-color:rgba(84,143,242,.7);
}
#header .container menu.pc li.contact-line a,
#header .container menu.pc li.contact-mail a {
	padding:10px;
}
#header .container menu.pc li.contact-line img,
#header .container menu.pc li.contact-mail img {
	width:60px;
	height:auto;
}
#header .container menu.pc li.contact-instagram a {
	padding:20px;
}
#header .container menu.pc li.contact-instagram img {
	width:40px;
	height:auto;
}
#header .container menu.pc li a img {
	opacity:1;
	transition:opacity ease .4s;
}
#header .container menu.pc li a:hover img {
	opacity:.5;
}

/*Footer*/

/*Content*/
menu.content-nav {
	display:flex;
	flex-flow:row nowrap;
	justify-content:center;
	align-items:center;
	gap:4em;
	padding:80px;
}
menu.content-nav li {
	flex-grow:1;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	overflow:hidden;
	border-radius:50%;
}
menu.content-nav li > a {
	display:flex;
	flex-flow:column nowrap;
	justify-content:center;
	align-items:center;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	background-color:#FFF;
}

/*etc*/
.insta_list li{
    position: relative;
	overflow:hidden;
	margin:20px;
}
@media screen and (max-width: 750px){
    .insta_list li{
        width: calc((100% - 20px)/2);
    }
}
.insta_list li::before{
	content: "";
	display: block;
	padding-top: 100%;
}

.insta_list a{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
}

.insta_list a::before{
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url(../images/filter_bk080.png);
	background-color:rgba(0,0,0,.8);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}

.insta_list img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.insta_list li p.caption {
	display:block;
	color:rgba(255,255,255,1);
	text-align:justify;
	width:100%;
	padding:1rem;
	position:absolute;
	top:0;
    left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}
.insta_list li:hover a::before,
.insta_list li:hover p.caption {
	opacity:1;
}
.insta_list li p.like {
	display:block;
	color:rgba(229,76,166,1);
	background-color:rgba(255,255,255,1);
	text-align:right;
	padding:.5em;
	position:absolute;
	bottom:1rem;
	right:1rem;
	z-index:1;
	border-radius:50%;
	transition:opacity ease .4s;
	opacity:1;
}
.insta_list li:hover p.like {
	opacity:0;
}


.insta_btn{
    background-color: #000;
    padding: .5em 1em;
    width: fit-content;
    margin: 0 auto;
    cursor: pointer;
    transition: .3s
}
.insta_btn a{
    color: #fff;
    text-decoration: none;
}
.insta_btn:hover{
    background-color: #999;
}