@charset "utf-8";



/********************** 共通 *******************************/

/* main */
main{ padding-top: 50px;}
main.lower{margin-top: 66px;}
main img{ width:100%;}

main.in{ padding-top: calc(50px + 5vw);}

/* container */
.container{ max-width:1400px; width:90%; margin:0 auto;}
.container.large{ max-width: 1200px;}
.lower .container{background-color: #fffffff2;padding: 2%;}

/* font siza */
.small{font-size: 0.8em;padding-left: 0.3em;}

/* color */
.yellow{color: #FFD800;}

/* margin */
.no_margin{margin: 0 !important;}

.intit{font-size: 4.5em;font-weight: bold;line-height: 1.2em;margin-bottom: 3vw; color: #B1000C;}
.intit span{display: block;font-size: 0.4em; line-height: 2em;}
.intit.jp{ font-size: 3.5em; margin: 1vw 0 5vw;}

.contents{ text-align: left;}
.anker{padding-top: 100px; margin-top: -100px; }

.info_block{ text-align: left; border: 1px solid var(--keyred);margin-bottom: 50px;}
.info_block .block_wrap{ padding: 2.5% 5% 5%;}
.info_block .p_block{ padding: 1% 0;}

.info_block_in{text-align: left; border: 6px solid var(--keyred); margin-bottom:1em; padding: 2% 3%;}
.info_block_in .in_tit{ color: var(--keyred);  font-weight: bold;  text-align: center; font-size: 24px; line-height: 1.7em; margin-bottom: 0.5em;}

.info_leadstit{ color: var(--keyred);  font-weight: bold; font-size: min(4vw,40px); line-height: 1em; text-align: center; margin-bottom: 1em; border: 1px solid var(--keyred); padding: 1em 0;}
.info_stit{background-color: var(--keyred); color: #fff; padding: 0.75em 0; font-weight: bold; font-size: min(3vw,30px); line-height: 1em; text-align: center; margin-bottom: 0.5em; }
.info_stit2{ border-bottom: 1px solid var(--keyred);color: var(--keyred);padding-bottom: 0.5em;font-weight: bold;font-size: 24px; margin: 1.5em 0 1em; }
.info_stit3{border-left: 5px solid var(--keyred);color: var(--keyred);padding: 0.5em 1em; line-height: 1em; margin-bottom: 0.5em;font-weight: bold;font-size: 18px;}

.liststyle{ list-style: disc; margin-left: 1.5em;}
.liststyle li{ margin-bottom: .5em;}

.tred{ font-weight: bold; color: var(--keyred);}

@media only screen and (max-width: 768px){
	/* main */
	main{ height:100%; padding-top: 45px;}
	main.in{ padding-top: 95px;}
	
	.intit{ font-size:9vw;}
    .intit.jp{ font-size:7vw; margin-bottom: 7vw;}
    
    .info_stit{ font-size: 17px; padding: 0.75em 3%; line-height: 1.5em;}
    .info_stit2{ font-size: 17px; line-height: 1.5em; margin: 1em 0;}
    .info_stit3{ font-size: 16px; line-height: 1.5em;}
    
	/* container */
	.container{ width:92%;}
    
    .info_block{ margin-bottom: 20px;}
    .info_block_in{border: 5px solid var(--keyred);  padding: 4%;}
    .info_block_in .in_tit{ color: var(--keyred);   font-size: 18px; line-height: 1.5em; }
}

/******* top *******/

/* kv */
.kv{width: 100%; /*height: calc(106svh - 50px);*/ position: relative;overflow: hidden;}
.kv .top_box{width: 100%; /*height: calc(100svh - 50px);*/ position: relative;}
.kv .top_box .tit_box{width: 100%;height: 100%;position: absolute;top: 0;left: 0;z-index: 10;}
.kv .top_box .tit_box .tit_container{width:65%;height: 100%;max-width: 1040px;margin: 0 auto;display: flex;align-items: center;flex-wrap: wrap; align-content: center;}
.kv .top_box .tit_box .main_tit{width: 50%;}
.kv .top_box .tit_box .main_tit img{width: 94%;}
.kv .top_box .tit_box .catch{margin: 0;width: 50%;}
.kv .top_box .tit_box .catch img{width: 94%;}
.kv .top_box .tit_box .oc_bnr{ margin: 1.5vw 0 0;}

.kv .top_box .bg_box{width: 100%; /*height: 100%;*/position: relative; top: 0; pointer-events: none;z-index: 1;}
.kv .top_box .bg_box .top{width: 100%;height: min(167px,15vw);position: absolute;top: 0;left: 0;display: flex;align-items: start;}
.kv .top_box .bg_box .top div{line-height: 0;-webkit-animation: left_move 30s linear infinite;animation: left_move 30s linear infinite;}
.kv .top_box .bg_box .top div img{width: auto;max-width: 70vw;max-height: 100%;}
.kv .top_box .bg_box .bottom{width: 100%; /*height: min(167px,10vw); */position: relative;bottom: 0;left: 0;display: flex;align-items: end;}
.kv .top_box .bg_box .bottom div{line-height: 0;-webkit-animation: right_move 30s linear infinite;animation: right_move 30s linear infinite;}
.kv .top_box .bg_box .bottom div img{width: auto;max-width: 70vw;max-height: 100%;}

.kv .bottom_box{width: 100%;height: 6svh;background-color: #CB010A;color: #fff;display: flex;align-items: center;position: relative;z-index: 10;}
.kv .bottom_box p{margin: 0; -webkit-animation: left_move 60s linear infinite;animation: left_move 60s linear infinite;width: 100%;white-space: nowrap;font-weight: bold;}
.kv .bottom_box p span{margin: 0 1em;}
.kv .bottom_box p span:before{ content: "俳優、声優、演出、アクション、ダンス、歌手、アナウンサー、映像、脚本、漫画、アニメ、ゲーム、写真、舞台監督、照明、音響、衣装、メイク、舞台美術、小道具、デザイン、製作、プロデューサー";}

.kv .kv_movie{width: 100%;height: 106svh;position: absolute;top: 0;left: 0;background-color: #000;}
.kv .kv_movie video{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);opacity: 0.3;}

@keyframes left_move{
	0% {transform: translateX(0%);}
	100% {transform: translateX(-100%);}
}
@keyframes right_move{
	0% {transform: translateX(-100%);}
	100% {transform: translateX(0%);}
}

@media only screen and (min-width: 1921px){
	.kv .top_box .bg_box .top div img{max-width: 40vw;}
	.kv .top_box .bg_box .bottom div img{max-width: 40vw;}
}
@media only screen and (max-width: 900px){
	.kv{/*height: calc(106svh - 45px);*/}
	.kv .top_box{/*height: calc(100svh - 45px);*/}
	.kv .top_box .tit_box .tit_container{flex-direction: column;justify-content: center;}
	.kv .top_box .tit_box .main_tit{width: 90%;margin-bottom: 3vw;}
	.kv .top_box .tit_box .catch{width: 70%;}
}

@media only screen and (max-width: 768px){
	
	/* kv */
	.kv{}
	.kv .top_box .tit_box .main_tit{width: 100%;}
	.kv .top_box .tit_box .main_tit img{width: 100%;}
	.kv .top_box .tit_box .catch{width: 80%;}
	.kv .top_box .tit_box .catch img{width: 100%;}
	.kv .top_box .bg_box .top div img{max-width: 140vw;}
	.kv .top_box .bg_box .bottom div img{max-width: 140vw;}
	.kv .bottom_box{font-size: 0.8em;}
    
    .kv .top_box .tit_box .oc_bnr{ width: 140%; margin-top: 5vw;}
}

.top_bnr { line-height: 0; padding: 1vw 0 1vw; position: relative; z-index: 2;}
.top_bnr img{ width: 100%; transition: 0.3s;}

.top_bnr .swiper-slide{ padding: 2%;}
.top_bnr .swiper-slide a{background-color: #fff; display: block;}
.top_bnr .swiper-slide a:hover{ opacity: 1;}
.top_bnr .swiper-slide a:hover img{ opacity: 0.8;}

/* swiper調整 */
.swiper-top{ position: relative;}
.swiper-top .swiper-button-prev, 
.swiper-top .swiper-button-next{ width: 3vw; height: 3vw; transition: 0.15s ease-out; top:50%; outline: none;}

.swiper-top .swiper-button-prev:hover, 
.swiper-top .swiper-button-next:hover{ transform: scale(1.2);}

.swiper-top .swiper-button-prev{ left: 1.5vw;}
.swiper-top .swiper-button-next{ right:1.5vw;}
.swiper-top .swiper-button-prev:after, 
.swiper-top .swiper-button-next:after{ content: ""; background-repeat: no-repeat; background-size: contain; width: 3vw; height: 3vw;}
.swiper-top .swiper-button-prev:after{ background-image: url("../images/arrow_prev.png");} 
.swiper-top .swiper-button-next:after{ background-image: url("../images/arrow_next.png");}

.swiper-top .swiper-button-prev.swiper-button-disabled, 
.swiper-top .swiper-button-next.swiper-button-disabled{ opacity:0; transition: 0.15s ease-out}


@media only screen and (max-width: 768px){
    .top_bnr{ padding: 0;}
    .top_bnr .swiper-slide{ padding: 5%;}
    .swiper-top .swiper-button-prev, 
    .swiper-top .swiper-button-next{ width: 6vw; height: 6vw;}
    .swiper-top .swiper-button-prev:after, 
    .swiper-top .swiper-button-next:after{width: 6vw; height: 6vw;}

}


/* about */
#about{padding: 5vw 0;}
#about .about_outer{display: flex;justify-content: space-between;}
#about .left{width: 45%;}
#about .left figure{width: 64%;line-height: 0;margin: 0 auto 3vw;}
#about .left .tag_list{display: flex;flex-wrap: wrap;justify-content: center;}
#about .left .tag_list li{background-color: #FBE201;border-radius: 50px;font-size: 0.8em;font-weight: bold;line-height: 1.7em;padding: 0 0.8em;margin: 0 0.2em 0.5em;}
#about .right{width: 50%;text-align: left;}
#about .right .tit{font-size: min(4.5vw,62px);font-weight: bold;line-height: 1.1em;margin-bottom: 1em;}
#about .right .tit .yellow{background: linear-gradient(transparent 40%, #FFD800 0%);color: #000;font-size: 1.14em;line-height: 1.1em;}
#about .right .txt{font-size: max(1vw, 16px);line-height: 2em;}
#about .right .txt strong{font-size: 1.3em; display: block; margin-bottom: 1em;}
#about .right figure{width: 70%; margin: 1em auto 0;}

@media only screen and (max-width: 768px){
	/* about */
	#about{padding: 8vw 0 10vw;}
	#about .about_outer{display: block;}
	#about .left{width: 100%;margin-bottom: 40px;}
    #about .left figure{ width: 40%; margin-bottom:30px; }
	#about .right{width: 100%;}
	#about .right .tit{font-size: 9vw; white-space: nowrap;}
	#about .right .txt{font-size: 1.1em;}
    #about .right figure{ margin: 6vw auto 0; width: 65%; }
}

/* features */
.f_txt_anime{display: flex;width: 100%;margin-bottom: -4px;overflow: hidden;}
.f_txt_anime img{-webkit-animation: left_move 30s linear infinite;animation: left_move 30s linear infinite;margin-right: 3vw;}

#features{background-color: #D7000F;position: relative;padding: 100px 0;overflow: hidden;border-bottom-right-radius: 100vw 19vw;border-bottom-left-radius: 100vw 20vw;position: relative;margin-left: -10vw;padding-left: 10vw;margin-right: -10vw;padding-right: 10vw;margin-bottom: min(10vw,180px);}

#features .intit{color: #fff; margin-bottom: 4vw;}

#features .leadtxt{ text-align: left; color: #fff; max-width: 1000px; margin: 0 auto min(180px,18vw); font-size: 18px; line-height: 1.8em;}
#features .leadtxt .leadtit{  width: 90%; margin:0 auto 4vw; line-height: 0;}

#features .contents{background-color: #9D000B;color: #fff;padding: 6%;border-radius: 20px;margin: 0 auto max(100px,10vw);}
#features .contents:last-of-type{margin-bottom: 0;}
#features .contents .stit{width: 80%;margin: -16% auto -10px;position: relative;}
#features .contents .sstit{ font-weight: bold; background-color: #fff; color: var(--keyred); margin: 2em 0 1em; padding: 0.75em 1em;font-size: 24px;}
#features .contents .lead{border-top: 10px solid #fff;border-bottom: 10px solid #fff;font-size: min(2.5em,2.5vw);font-weight: bold;line-height: 1.5em;padding: 0.8em 0; margin-bottom: 1em; text-align: center;}
#features .contents .in_box{text-align: left; font-size: max(1vw, 16px); line-height: 1.8em;}
#features .contents .flex{display: flex;justify-content: space-between;}
#features .contents .flex .left{width: 49%;}
#features .contents .flex .right{width: 48%;}
#features .contents .flex .right.flex{display: flex;justify-content: space-between;}
#features .contents .flex .right.flex figure{width: 49%;}
#features .contents .in_box > figure{line-height: 0;margin-bottom: 2vw;}
#features .contents .in_box p:last-of-type{ margin-bottom: 2em;}
 
#features .contents .flex.feature3 figure{ line-height: 0;}
#features .contents .flex.feature5 figure{ line-height: 0;}

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

	/* features */
	#features{padding: 16vw 0;margin-bottom:16vw;}
	#features .container{ width:76%;}	
	#features .tit{font-size: 3.5em;margin-bottom: 0.6em;}
	#features .leadtxt{ font-size:16px; }
	
	#features .contents{width: 100%; border-radius: 10px; margin-bottom: 12vw;}
	#features .contents .stit{width: 80%;margin: -16% auto -8px;}
	#features .contents .lead{border-top: 6px solid #fff;border-bottom: 6px solid #fff;line-height: 1.4em; font-size: 16px;}
	#features .contents .in_box.flex{display: block;}
	#features .contents .in_box.flex .left{width: 100%;}
	#features .contents .in_box.flex .right{width: 100%;}
    
    #features .contents .flex.feature3{ display: inherit;}
    #features .contents .flex.feature5{ flex-wrap: wrap; justify-content: center;}
    #features .contents .flex.feature5 figure{ width: 33.33%;}
}

/* comment */
#comment{margin-bottom: 180px;}
#comment .container{ max-width: 1200px;}
#comment .com_tit{ font-weight: bold; font-size:36px; line-height: 1.5em; text-align: center; margin-bottom: 0.75em;}
#comment .comment_block{ border: 10px solid #ddd; padding: 2.5% 5%; margin-bottom: 40px; }
#comment .prof{ display: flex; justify-content: space-between; margin-bottom: 1em; padding-bottom: 1em; border-bottom: 1px dashed #ccc;}
#comment .prof .left{ width: 25%; line-height: 0;}
#comment .prof .right{ width: 70%;}
#comment .com_txt{  font-size: 18px; line-height: 1.7em; font-weight: 500;}

/* message */
#message{margin-bottom: 180px;}
#message .container{ max-width: 1200px;}
#message .tit{font-size: 3.5em;font-weight: bold;color: #B1000C;line-height: 1.2em;margin-bottom: 0.5em;}
#message .tit span{display: block;font-size: 0.4em;}
#message .contents{display: flex;justify-content: space-between;font-size: max(0.95vw, 16px); line-height: 2em;}
#message .contents .left{width: 60%;text-align: left; font-weight: 500;}
#message .contents .left p{margin-bottom: 1.5em;}
#message .contents .left p.last{margin-top: 3em;margin-bottom: 0;font-size: 1.2em;}
#message .contents .left p.last span{font-size: 0.9em;line-height: 1em;}
#message .contents .right{width: 33%;}
#message .contents .right figure{line-height: 0;border: 2px solid #b1000c;padding: 4px;}

@media only screen and (max-width: 768px){
	#comment{ margin-bottom: 80px;}
	#comment .comment_block{ padding: 5%; border: 6px solid #ddd; margin-bottom: 20px;}
	#comment .com_tit{ font-size: 22px;}
	#comment .prof{ display: inherit; }
	#comment .prof .left{ width: 70%; margin: 0 auto 10px;}
	#comment .prof .right{ width: 100%;}	
	#comment .com_txt{ font-size: 16px;}
	
	/* message */
	#message{margin-bottom:20vw;}
	#message .tit{font-size: 2.5em; margin-bottom: 0.5em;}
	#message .contents{ display: block;}
	#message .contents .left{width: 100%;margin-bottom: 16px;}
	#message .contents .right{width: 100%;}
    #message .contents .right figure{ padding: 10px;}
}


/* campus */
.campus{}
.campus_block{ display: flex; justify-content: space-between;}
.campus_block .campus_l{ width: 50%;}
.campus_block .campus_r{ width: 45%;}

@media only screen and (max-width: 768px){
    .campus_block{ display: inherit; }
    .campus_block .campus_l{ width: 100%;}
    .campus_block .campus_l iframe{ height: 300px;}    
    .campus_block .campus_r{ width: 100%;}
}


/* teacher */
.teacher{ margin-bottom: 2em;}
.teacher_list{ display: flex; flex-wrap: wrap;}
.teacher_list li{ width: 23.5%; margin-right: 2%; margin-bottom: 2.5%; }
.teacher_list li:nth-child(4n){ margin-right: 0;}

.teacher_list li .name{ font-size: 24px; line-height: 1.7em; }
.teacher_list li .classname{ color: var(--keyred); line-height: 1.5em;}
.teacher_list li a{ color: #000;}

.teacher_list li figure{ position: relative; line-height: 0; margin-bottom: 0.5em;}
.teacher_list li.guest figure:before{ display: block; content: "ゲスト講師"; position: absolute; left: 0; bottom: 0; line-height: 1em; background-color: var(--keyred); color: #fff; padding: 0.5em 0.75em; font-size: 12px;}


.pop_box{ background-color: #fff; padding: 3% 4%; color: #000; text-align: left;}
.pop_box.important{ border: 10px solid #000;}
.pop_box .tit{ text-align: center; font-size: 20px; font-weight: bold; line-height: 1.4em; margin-bottom: 40px;}
.pop_box .txt_box{font-size: 16px; line-height: 1.7em; font-weight: 400; }
.pop_box .txt_box .prof_detail{ margin-bottom: 1.2em; width: 50%;}
.pop_box .txt_box p:last-child{ margin-bottom:0;}
.pop_box .txt_box p span{}
.pop_box .txt_box .prof_box{ display: flex; justify-content: space-between;}
.pop_box .txt_box figure{width: 45%;margin-bottom: 12px;line-height: 0;}
.pop_box .txt_box figure img{width: 100%;}
.pop_box .txt_box .stit{ color: var(--keyred); font-weight: bold; line-height: 1em; margin-bottom: 0.5em; border-bottom: 1px solid var(--keyred); padding: 1em 0 0.5em 0;}
.pop_box .txt_box .name{ font-size: 1.6em; line-height: 1.5em; font-weight: bold; margin-bottom: 0.6em;}
.pop_box .txt_box .classname{ font-weight: bold; margin-bottom: 1.5em; background-color: #f1f1f1; padding: 0.5em 1em;}
.pop_box.guest_pop .txt_box .classname:before{ display: inline-block; content: "ゲスト講師";line-height: 1em; background-color: var(--keyred); color: #fff; padding: 0.5em 0.75em; font-size: 12px; margin-right: 1em;}

.pop_box .txt_box a{ word-break: break-word;}
.pop_box .txt_box ul{ list-style: disc; padding-left: 25px; margin-bottom: 24px;}
.pop_box .txt_box li{ font-size: 14px; line-height: 1.5em; margin-bottom: 8px;}
.pop_box .txt_box .note{ font-size: 12px; font-weight: bold; line-height: 1.5em; margin-bottom: 2em;}
.pop_box .comment_box{ border: 2px solid #cc0001; padding: 30px; background-color:#fff; margin-bottom: 20px;}
.pop_box .comment_box h4{ font-size: 20px; line-height: 1.5em; margin-bottom: 20px;}
.pop_box .comment_box p{ font-size: 16px; line-height: 1.5em; font-weight: 400; margin-bottom: 1.5em;}
.pop_box a{color: #f00;font-weight: bold;}


@media only screen and (max-width: 768px){
	.teacher{ margin-bottom: 1em;}
	.teacher_list li{ width: 49%; margin-right: 2%; margin-bottom: 2.5%;}
	.teacher_list li:nth-child(2n){ margin-right: 0;}
	.teacher_list li .name{ font-size: 20px; }
	
	.pop_box{ /*border: 4px solid #cc0001;*/ padding: 20px;}
	.pop_box.important{ border: 4px solid #000;}
	.pop_box .tit{ text-align:left; font-size:17px; margin-bottom: 20px;}
    
	.pop_box .txt_box .prof_box{ display: inherit; }
	.pop_box .txt_box{ font-size: 14px; margin-bottom: 1em;}
	.pop_box .txt_box figure{ width: 100%;}
	.pop_box .txt_box figure img{ }
	.pop_box .txt_box .prof_detail{ width: 100%;}
	.pop_box .txt_box ul{ padding-left: 18px; margin-bottom: 12px;}
	.pop_box .txt_box li{ font-size: 13px; line-height: 1.4em;}
	.pop_box .comment_box{ padding: 12px; margin-bottom:12px;}
	.pop_box .comment_box h4{ font-size:16px; font-weight:bold; margin-bottom:12px;}
	.pop_box .comment_box p{ font-size: 14px; margin-bottom: 1em; word-break: break-word;}
}

/* certificate */
.certificate{}
.cert_table{ width: 100%;border-collapse: collapse; margin-bottom: 4em;}
.cert_table th,
.cert_table td{ border: 1px solid #ccc; padding: 0.75% 1.5%;}
.cert_table th{ background-color: #c00; color: #fff; text-align: center; font-weight: bold;}

.cert_table .w1{ width: 40%;}
.cert_table .w2{ width: 15%;}
.cert_table .w3{ width: 30%;}
.cert_table .ch{ background-color: #f1f1f1;}


/* welness */
.wellness_logo{ display: flex; justify-content: space-between; margin-bottom: 2em; align-items: center;}
.wellness_logo li{ width: 47%;}

@media only screen and (max-width: 768px){
	.wellness_logo{ display: inherit; margin-bottom: 1em;}
	.wellness_logo li{ width: 90%; margin: 0 auto 0.5em;}
}

/* programs */
.programs{margin-bottom: 100px; text-align: left;}
.programs .pg_lead{ text-align: center; font-size: 20px; line-height: 1.7em;}

.program_list { margin-bottom: 4em;}
.program_list:last-of-type{ margin-bottom: 2em;}
.program_list .info_stit2{ text-align: center; border-bottom: none; padding: 0;}

.program_list ul{ display: flex; flex-wrap: wrap; }
.program_list li{ width: 33%; border: 1px solid var(--keyred); margin: 0 0.5% 0.5% 0; padding: 2%;}
.program_list li:nth-child(3n){ margin-right: 0;}
.program_list li p{margin-bottom: 0;}
.program_list li div{ display: flex; justify-content: center; align-items: center; text-align: center; font-size: 18px; line-height: 1.5em; height: 100%;}

.schedule_table{width: 100%; border-collapse: collapse;}
.schedule_table th,
.schedule_table td{ border: 1px solid #ccc; padding: 0.75% 1.5%;}
.schedule_table th{ background-color: #c00; color: #fff; text-align: center; font-weight: bold;}

.schedule_table .w1{ width: 10%;}
.schedule_table .w2{ width: 22.5%;}

.info_cal{}
.info_cal dl{ border-bottom: 1px dotted var(--keyred); display: flex;margin-bottom: 0.5em; padding-bottom: 0.5em;}
.info_cal dt{ width: 12em;}

@media only screen and (max-width: 768px){
    .programs{ margin-bottom: 50px;}
    .programs .pg_lead{ font-size: 16px; text-align: left;}
	
	.program_list li{ width: 100%; margin: 0 0 2%; padding: 3% 5%;}
	.program_list li div{ font-size: 14px;}
	
	.schedule_table { line-height: 1.5em; font-size: 12px;}
}

/* fee */
.fee{ margin-bottom:75px;}
.fee .fee_wrap{border: 5px solid var(--keyred); padding: 1% 2% 2%; }
.fee dl{ display: flex; font-size: 34px; justify-content: space-between; flex-wrap: wrap; line-height: 1em; font-weight: 500;}
.fee dt{ width: 50%;padding: 2.5% 0; border-bottom: 1px dashed var(--keyred);}
.fee dd{ width: 50%;padding: 2.5% 0; border-bottom: 1px dashed var(--keyred);}

.fee dt:last-of-type,
.fee dd:last-of-type{ border-bottom: none;}

.fee dt.nenji{ font-size: 0.8em;}

.fee .sub{ background-color:rgba(177,0,12,0.05); margin-top: 1%; padding: 1% 3%;}
.fee .sub dl{ font-size: 16px; line-height: 1.5em;}
.fee .sub dt{ width: 30%;padding: 2% 0; }
.fee .sub dt strong{ display: flex; align-items: center; height: 100%; justify-content: center;}
.fee .sub dd{ width: 70%;padding: 2% 0; text-align: left; }

/* organization */
.organization{ text-align: left; margin-bottom: 5vw;}
.organization .org_tbl{ width: 100%; border-collapse: collapse; max-width: 1000px; margin: 0 auto;}
.organization .org_tbl th,
.organization .org_tbl td{ padding: 1.5% 2%; border: 1px solid #ccc;}

.organization .org_tbl th{ background-color: #f5f5f5; width: 30%;}

@media only screen and (max-width: 768px){
    .fee{ margin-bottom: 20px;}    
    .fee dl{  padding: 2.5% 0%; font-size: 20px;}
    .fee dt{padding:  5% 0; width: 60%}
    .fee dd{padding:  5% 0; width: 40%}
    
    .fee .sub { margin-bottom: 2.5%;}
    .fee .sub dl{ font-size: 14px; }
    .fee .sub dt{ width: 30%;}
    .fee .sub dd{ width: 70%; padding-left: 5%;}
}

/* top news */


.news_list{background-color: #fff;margin-bottom: 8vw;width: 95%;position: relative;right: -5%;border-left:1px solid var(--keyred);border-top:1px solid var(--keyred);border-bottom:1px solid var(--keyred); padding-right: 5%; }
.news_list .container{position: relative; margin-top: -45px; max-width: 1200px; }
.news_list .tit{font-family: var(--font1); color: var(--keyred); text-align: left;font-size: 60px;font-weight: bold;line-height: 1.5em;margin-bottom: 2%;}
.news_list .tit span{ display: block; font-size: 0.24em; font-weight: bold; line-height: 1em; font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;}
.news_list li{ border-bottom: 1px solid #eee;}
.news_list li a{color: #000; padding: 2% 0; display:block;}
.news_list li a:hover{ opacity:  0.7;}

.news_list li dl{ display: flex;font-size: 18px; line-height: 1.7em;}
.news_list li dt{ width: 8em; font-weight: bold;}
.news_list li dd{ width: calc(100% - 8em); }

@media only screen and (max-width: 768px){
    .news_list{ width: 100%; right: 0; border-left:none; padding: 5% 0 10%;}
    .news_list .tit{ font-size: 30px;}
    .news_list .container{ margin: 0 auto; width: 90%; }
    
    .news_list li dl{ font-size: 16px; display: inherit;}
    .news_list li dt{ width: 100%; }
    .news_list li dd{ width: 100%; }
    .news_list li a{ padding: 5% 0;}
}

/* adm_form */
.adm_form { text-align: left; background-color: #fff; margin-bottom: 8vw; padding-bottom: 50px;}

.adm_form .block_wrap{ margin-bottom: 0px;}
.adm_form dl{ display: flex; justify-content: flex-start; background-color: #f9f9f9; padding: 2% 3%; margin-bottom: 5px; align-items: center;}
.adm_form dt{ width: 16em;}
.adm_form dt .must{ display: inline-block;color: #fff; font-size: 10px; margin-left: 1em; background-color: var(--keyred); line-height: 1em; padding: 0.25em 0.5em; }
.adm_form dd{ width: calc(100% - 16em);}

.adm_form dl dd dl{ padding:1% 0; }
.adm_form dl dd dt{ width: 8em;}
.adm_form dl dd dd{ width: calc(100% - 8em);}

.adm_form input,
.adm_form textarea{ width: 100%; padding: 1em 1.5em; border:1px solid #ccc; border-radius: 5px; font-size: 18px;
    font-family: var(--font1);}
.adm_form textarea{ height: 8em;}
.adm_form .img_input input{  padding: 2%; font-size: 16px;}
.adm_form .img_input .phtlink{ width: 100%;}
.adm_form .short input{ width:12em; margin-right: 1em; }

.adm_form .sstit{ font-weight: bold; color: var(--keyred);}

.adm_form .submit_btn{ }
.adm_form .submit_btn input{ background-color: var(--keyred); color: #fff; font-family: var(--font1); font-weight: bold; font-size: 18px; border: none;}
.adm_form .submit_btn input:hover{ opacity: 0.8; cursor: pointer;}

.wpcf7-spinner{ display: none!important;}
.wpcf7-response-output{border-color: #c00!important;
    text-align: center!important;
    margin: 0 auto!important;
    width: 90%!important;
    padding: 1em 0!important;}
.wpcf7 form.sent .wpcf7-response-output{border-color: #00a0d2!important;}
.grecaptcha-badge{ display: none;}



@media only screen and (max-width: 768px){
	.adm_form{ font-size: 16px; margin-bottom: 100px;}
	.adm_form .block_wrap{ padding: 0; margin-bottom: 2em;}
	.adm_form .info_stit{ margin-bottom: 5px;}
	
	.adm_form input,
	.adm_form textarea{ padding: 1em; font-size: 16px;}
	
	.adm_form .sstit{ padding-left: 5%; margin-bottom: 0.5em;}
	
	.adm_form dl{ display: inherit; padding:4% 4%;}
	.adm_form dt{ width: 100%; margin-bottom: 0.5em;}
	.adm_form dd{ width: 100%;}
	
	.adm_form dl dd dt{ width: 100%;}
	.adm_form dl dd dd{ width: 100%;}
	
	.adm_form .img_input input{ padding: 1em;}
	
	.adm_form .submit_btn{ width: 92%; margin: 0 auto;}
}

/******* top animation *******/

/* loading */
#loading {position: fixed;top: 0%;left: 0%;height: 100%;width: 100%;z-index: 20000;transition: 0.8s;background-color: #fff;}
#loading .logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(1.4); width: min(240px, 30vw); height: auto; opacity: 0; animation: logoAnime 1.0s; animation-fill-mode:both;}
#loading.open {opacity: 0;pointer-events: none;}
@keyframes logoAnime {
    0%{transform: translate(-50%, -50%) scale(1.4); opacity: 0; filter: blur(10px);}
    100%{transform: translate(-50%, -50%) scale(1.0); opacity: 1; filter: blur(0px);}
}

/* kv */
/* .kv{height: 100svh;margin: 0;}
.kv .main_tit{position: absolute;left: 13%;transition: 3s;}

.kv.open{height: auto;margin: 66px auto 160px;}
.kv.open .main_tit{bottom: initial;top: 0;animation: kv_anime 1.0s; animation-fill-mode:both;transition: 3s;}
.kv.open .main_tit img{transition: 3s;}

@keyframes kv_anime {
    0%{bottom: 0;}
    100%{bottom: initial;top: 0;position: relative;left: inherit;}
} */


/******* lower page *******/


/* Coming soon */
.cs{ color: #000; padding: 300px 0; margin: 0;}

@media only screen and (max-width: 768px){
	.cs{ padding: 240px 0;}
}

/* NAV TAG */
#nav_tag{ margin-bottom: 30px;}
#nav_tag ul{ overflow:hidden;}
#nav_tag li{margin-bottom: 4px;float: left;width: 24.5%;margin-right: 0.66%; transition: 0.2s ease;}
#nav_tag li:nth-child(4n){ margin-right: 0;}
#nav_tag li a{display: block;font-family: futura-pt, sans-serif;width: 100%;font-size: 16px;font-weight: 500;line-height: 1em;vertical-align: middle;padding: 10px 0;border: 1px solid #aaa; transition: 0.2s ease;}
#nav_tag li a:hover{ background-color: #333; border: 1px solid #333; color:#fff;}

#nav_tag li.current-cat{ transition: 0.2s ease;}
#nav_tag li.current-cat a{ background-color: #333; border: 1px solid #333; color: #fff; transition: 0.2s ease;}

@media only screen and (max-width: 768px){
    #nav_tag{ margin-bottom: 12px;}
    #nav_tag li{ width: 49.5%; margin-right: 1%; margin-bottom: 1%;}
    #nav_tag li:nth-child(2n){ margin-right: 0;}
    #nav_tag li a{ width: 100%; font-size: 11px; padding: 6px 0;}
}


/* CONTENTS PARTS */
.news{ overflow:hidden;}
.news li{margin-bottom: 12px;}
.news li dl{ width: 100%; text-align: left; padding: 18px 5%; position: relative;}
.news li dt{font-size: 16px;font-weight: bold;letter-spacing: 0.05em;line-height: 1.5em;margin-bottom: 6px;}
.news li dt span{display: inline-block;font-size: 12px;font-weight: 500;line-height: 1em;vertical-align: middle;padding: 5px 10px 3px;margin-right: 14px;position: relative;top: -2px;}
.news li dt span.new{ background-color:#709ac1; color:#fff;}
.news li dt span.tag{background-color: #e95098;color:#fff;}
.news li dd{ font-size: 16px; font-weight: bold; line-height: 1.5em;}
.news li dd strong{ display: block; margin-bottom: 4px; font-size: 18px; line-height: 1.5em;}
.news li a{ display:block; color: #000;}
.news li a:hover{background-color: rgba(0,0,0, 0.03);}
.news li a:hover dl:after{border-color: #ccc;border-top: 8px solid transparent;border-bottom: 8px solid transparent;}
.news li dl:after{ content: ""; position: absolute; width: 0; height: 0; border-left: 8px solid transparent; border-top: 8px solid transparent; border-bottom: 8px solid transparent; right: 1.6%; top: calc(50% - 8px);}

@media only screen and (max-width: 768px){
    .news li{ margin-bottom: 0px;}
    .news li dl{ display: block; padding: 14px 20px 14px 12px;}
    .news li dt{ display: block; margin-bottom: 8px; font-size: 14px;}
    .news li dt span.tag{ font-size: 11px;}
    .news li dd{ display: block; padding-left: 0; font-size: 14px; line-height: 1.5em;}
    .news li dd strong{ font-size: 16px;}
    .news li dl:after{ border-left: 6px solid #ccc; border-top: 6px solid transparent; border-bottom: 6px solid transparent; top: calc(50% - 6px);}
}


/* SINGLE PARTS */
.single{text-align:left;overflow:hidden;position:relative; background-color: rgba(255,255,255,0.7); padding: 2em;}
.single .tit{text-align: left;font-size: 20px;font-weight: bold;line-height: 1.5;margin-bottom: 16px;opacity:1;}
.single .date{padding-bottom: 14px;border-bottom: 1px solid #ccc;font-size: 16px;font-weight: bold;letter-spacing: 0.05em;line-height: 1.5em;margin-bottom: 14px;}
.single .date span{display: inline-block;font-size: 12px;font-weight: 500;line-height: 1em;vertical-align: middle;padding: 3px 10px;margin-right: 14px;position: relative;top: -2px;}
.single .date span.new{ background-color:#709ac1; color:#fff;}
.single .date span.tag{background-color: #e95098;color:#fff;font-size: 11px;top: -1px;}
.single .date span.tag a{ color:#fff;}
.single .date span.tag a:hover{ color: #537595;}
.single .txt_box{ border-bottom: 1px solid #ccc; padding-bottom: 30px;}
.single .txt_box p{ font-size: 16px; line-height: 1.8em; margin-bottom: 2em;}
.single .txt_box a{ color:#537595; text-decoration:underline;  font-weight: bold;}
.single .txt_box a:hover{ color:#6c92b5;}
.single .txt_box img{ max-width:100%; width:auto; height:auto; display: block; margin-bottom:12px;}


.more_btn{display: block;font-size: 14px;font-weight: bold;line-height: 1.5em;max-width: 240px;width: 94%;margin: 30px 0 42px auto;padding: 5px 0;overflow:hidden;position:relative;border: 1px solid #333; color: #000;}
.more_btn:hover{ background-color: #333; color: #fff;}

@media only screen and (max-width: 768px){
    .single{ padding: 12px;}
    .single .tit{font-size: 16px;line-height: 1.4em;margin-bottom: 8px;}
    .single .date{margin-bottom: 14px;padding-bottom: 10px;font-size: 12px;}
    .single .txt_box{ padding-bottom: 12px;}
    .single .txt_box p{font-size: 14px;line-height: 1.6em;}
    .single .txt_box a{ font-size: 16px;}
    
	.more_btn{ font-size: 12px; margin: 16px auto 0; padding: 1em 0; max-width: inherit; width: 100%;}
	.page_tit{ font-size: 40px; margin-bottom: 30px;}
}


/* PAGINATION */
#pagination{position: relative; overflow: hidden; margin-bottom:2vw; padding-top:1vw; display:table; margin:20px auto 0px;}
#pagination .page-numbers{ margin-right: 8px; text-decoration: none; height:40px; line-height: 40px; font-size: 14px; font-weight: bold; width:40px; float:left; padding: 0 16px !important; display:table-cell !important; background-color: #fff; color: #000;}
#pagination .page-numbers.current{color: #fff; background: #537595;}
#pagination .page-numbers.dots{ padding:0 12px !important;}
#pagination .next.page-numbers,
#pagination .prev.page-numbers{ width:75px;}

@media only screen and (max-width: 768px){
    #pagination .page-numbers{padding: 0px 12px !important; margin-right:5px; height:35px; line-height:35px; width:35px;}
    #pagination .next.page-numbers,
    #pagination .prev.page-numbers{ width:32px;}
    #pagination .next.page-numbers{padding-left: 12px !important;}
    #pagination .page-numbers.dots{ padding:0 9px !important;}
}
@media only screen and (max-width: 768px){
    .in .leadtxt{ margin-bottom: 15px; margin-top: 0; text-align: left; font-size: 18px;}
}


.paging{ text-align: right;}
.pagination {clear: both;padding: 20px 0;position: relative;font-size: 14px;line-height: 14px;text-align: center;display: inline-block;}
.pagination-box {display: inline-block;}
.pagination span, .pagination a {display: block;float: left;margin: 2px 2px 2px 0;padding: 10px 15px 10px 15px;text-decoration: none;width: auto;color: var(--keyc); /* 文字色 */background: var(--keyc2) /* 背景色 */}
.pagination a:hover{color: var(--keyc2); /* マウスホバー時の文字色 */background:var(--keyc) /* マウスホバー時の背景色 */}
.pagination .current{padding: 10px 15px 10px 15px;color: var(--keyc2);background: var(--keyc);}

@media only screen and (max-width: 413px) {
    .pagination {font-size: 12px;line-height: 12px;}
	.pagination span, .pagination a {padding: 8px 10px 8px 10px;}
	.pagination .current{padding: 8px 10px 8px 10px;}
}


/* =opencampus
------------------------------------------------------------------------------------------*/
#ao{ padding-top: 100px; margin-top: -100px;}

.opencampus{font-size: 18px; line-height: 2em;}

.opencampus .lead h1{ width: 100%; margin-bottom: 3vw;}
.opencampus .lead .txt{ text-align: left; max-width: 1200px; margin: 0 auto 5vw; }
.opencampus .lead .txt h2{ text-align: center;font-size: 3vw; color: var(--keyred); font-weight: bold; line-height: 1.5em; margin-bottom: 1em;}
.opencampus .lead .pht ul{ display: flex; flex-wrap: wrap;}
.opencampus .lead .pht li{ width: 33.33%; line-height: 0;}

.opencampus #features{ padding: 5vw 0; margin: 0 0 5vw; border-radius: 0; text-align: left;}
.opencampus #features .date{ font-size: min(10vw,140px); font-family: var(--font2);  line-height: 1em; text-align: center; margin-bottom: 0;}
.opencampus #features .date span{ font-size: 0.5em; font-weight: bold;}
.opencampus #features .lead{ margin-bottom: 1em; text-align: center;}
.opencampus #features .txt{ margin-bottom: 3vw;}
.opencampus #features .info dl{ display: flex; border-bottom: 1px solid #fff; padding: 1em 3%; }
.opencampus #features .info dl:first-of-type{ border-top: 1px solid #fff;}
.opencampus #features .info dt{  width: 10em;}
.opencampus #features .info dd{ width:calc(100% - 10em);}
.opencampus #features .info .btn{ display: block; background-color: #fff;padding: 1em 0;  border: none; text-align: center;}

.opencampus .past{ margin-bottom: 8vw;}
.opencampus .past .tit{ color: var(--keyred); font-size: min(4vw,40px); font-weight: bold; margin-bottom: 1.5em;}
.opencampus .past .past_block{ display: flex; flex-wrap: wrap; justify-content: space-between;}
.opencampus .past .past_block li{ width: 49%;  border: 5px solid #ddd; padding: 3%; text-align: left;}
.opencampus .past .past_block li .stit{ font-size: min(2vw,30px); line-height: 1.5em; font-weight: bold; color: var(--keyred); margin-bottom: 0.5em;}

.adm_info{ text-align: left; margin-bottom: 8vw;}
.adm_info .container{}
.adm_info .stit{ background-color: var(--keyred); color: #fff; padding: 0.75em 1em; font-weight: bold; font-size: min(4vw,40px); line-height: 1em; text-align: center; margin-bottom: 1em;}
.adm_info .ao_wrap{ border: 2px solid var(--keyred);}
.adm_info .ao_block{width: 90%; margin: 0 auto 3em;}
.adm_info .ao_block .sstit{ border-bottom: 1px solid var(--keyred); color: var(--keyred); padding-bottom: 0.5em; margin-bottom: 1em; font-weight: bold; font-size: 24px;}

.adm_info .entry_t{ width: 100%;border-collapse: collapse;}
.adm_info .entry_t th{  background-color: var(--keybl); color: #fff; padding: 1em 0; text-align: center;}
.adm_info .entry_t td{ border: 1px solid  var(--keybl); padding: 1em 0; text-align: center; line-height: 1.5em;}
.adm_info .tb_stit{ background-color: var(--keybl); padding: 0.5em 0; text-align: center; border-bottom: 1px solid #fff; color: #fff; line-height: 1.5em;}

.adm_info .entry_t .w10{ width: 10%;}
.adm_info .entry_t .w18{ width: 18%;}

.adm_info .ao_btn a{ display: block; padding: 1em; background-color: var(--keyred); color:#fff; font-weight: bold; text-align: center;}

.adm_info.ao .stit{ background-color: var(--keybl);}
.adm_info.ao .ao_wrap{ border: 2px solid var(--keybl);}
.adm_info.ao .ao_block .sstit{ border-bottom: 1px solid var(--keybl); color: var(--keybl);}
.adm_info.ao .ao_block .info_stit3{border-left: 5px solid var(--keybl);   color: var(--keybl); margin-top: 1.5em;}


.totop{ margin-bottom: 10vw; }
.totop a{ display: block; padding: 1em; border:3px solid var(--keyred); color: var(--keyred); font-weight: bold;}

.entry_form_link{ margin-bottom: 10vw;}
.entry_form_link a{  display: block; text-align: center;
    background-color: #c00;
    color: #fff;
    padding: 1.4em 0;
    font-weight: bold; font-size: 24px; line-height: 1.5em;}


@media only screen and (max-width: 768px){
    .opencampus{ font-size: 16px; line-height: 1.7em;}
    .opencampus .lead h1{ margin-bottom: 30px;}
    .opencampus .lead .txt{ margin-bottom: 30px;}
    .opencampus .lead .txt h2{ font-size: 5vw; line-height: 1.7em;}
    
    .opencampus .lead .pht li{ width: 50%;}
    
    .opencampus #features{ padding: 30px 0; margin-bottom: 50px;}
    .opencampus #features .contents{ width: 100%; padding: 5%;}
	.opencampus #features .container{ width: 90%;}
    .opencampus #features .lead{ font-size: 4.5vw; border-width: 3px;}
	.opencampus #features .info dl{ display: inherit;}
    .opencampus #features .info dt{ width: 100%; border-bottom: 1px dotted #fff; padding-bottom: 0.5em; margin-bottom: 0.5em;}
    .opencampus #features .info dd{ width:100%;}
    
    .opencampus .past .tit{ font-size: 5.5vw; margin-bottom: 1em;}
    .opencampus .past .past_block li{ width: 100%; margin-bottom: 10px;}
    .opencampus .past .past_block li .stit{ font-size: 16px; margin-bottom:1em;}
    
    .adm_info .stit{ font-size:5.5vw; padding: 1em 0;}
    .adm_info .ao_block{ margin-bottom: 2em;}
    .adm_info .ao_block .sstit{ font-size: 18px;}
    
    .adm_info .entry_t{ font-size: 14px; line-height: 1.5em;}
    .adm_info .entry_t th{min-width: 4em; font-size: 12px; line-height: 1.5em;}
    
    .entry_form_link{ margin-bottom: 50px;}
    .entry_form_link a{ font-size: 20px;}
}

.top_onenews{ border: 8px solid var(--keyred); padding: 5%;}
.top_onenews h2{ font-weight: bold; font-size: min(2.2vw,30px); margin-bottom: 1em; line-height: 1.5em;}
.top_onenews a{display: block; padding: 1em; border: 3px solid var(--keyred); color: var(--keyred); font-weight: bold; margin-bottom: 10px;}
.top_onenews figure{ margin: 50px auto 0; max-width: 800px;}


@media only screen and (max-width: 768px){
	.top_onenews { text-align: left;}
	.top_onenews h2{ font-size: 18px;  }
	.top_onenews figure{ margin: 20px auto 0;}
	
}



/* =colorbox
------------------------------------------------------------------------------------------*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none;}
.cboxIframe{width:100%; height:100%; display:block; border:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box;}
/* 
    User Style:
    Change the following styles to modify the appearance of ColorBox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:var(--keyred);}
#colorbox{outline:none;}
   /* #cboxContent{margin-bottom:60px; overflow:visible;}*/
    #cboxContent{margin-right:60px; overflow:visible; margin-bottom:0;}
        .cboxIframe{background:#000;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        #cboxLoadedContent{background:#fff; position:relative; z-index:10000;}
        #cboxLoadingGraphic{background:url(../images/loading.gif) no-repeat center center;}
        #cboxLoadingOverlay{background:#fff;}
        #cboxTitle{position:absolute; top:-22px; left:0; color:#000;}
        #cboxCurrent{position:absolute; top:-22px; right:205px; text-indent:-9999px;}
        #cboxSlideshow, #cboxClose{text-indent:-9999px; width:40px; height:100%; position:absolute; top:0;background:url(../images/controls2.png) no-repeat 0 0;}
		
        #cboxClose{background-position:7px 0; right:-50px; border:0; outline:none;}
        #cboxClose:hover{background-position:-40px 0;}


@media screen and (max-width: 768px) {
#cboxContent{ margin-right:0; margin-bottom:50px;}
#cboxClose{ right:0; top:inherit; bottom:-35px; height: 22px;}
}
