@charset "utf-8";
/*
 * resources/views/student共通CSS
 *
 * 【注意】デザインに関する定義はdefault_layout.cssに記述すること！！
 */


.row {
	margin-right: 0;
	margin-left: 0;
}


.clickable {
	cursor: pointer;
}



.container-fluid {
	padding-top: 10px;
	padding-left: 0;
	padding-right: 0;
}


.wd_body {
	max-width: 1200px;
	/* margin-left: 0; */
}


.panel-body .control-label {
	color: #40555f;
	width: 150px;
	padding-left: 10px;
	padding-right: 0;
}

.panel-body .form-control-static {
	background: #eee;
	margin: 0 2%;
}

.button_mt {
	margin-top: 5px;
}

.button_yoko {

	display: inline-block
}

/* blockTtl4
-----------------------------------------------------------------*/
.blockTtl4 {
	position: relative;
	margin-bottom: 52px;
	text-align: center;
	font-size: 4rem;
	font-weight: 500;
	font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", serif;
}

.blockTtl4:after {
	position: absolute;
	content: '';
	width: 30%;
	height: 3px;
	/*left: 50%;
	margin: 18px 0 0 -20px;*/
	left: 0;
	right: 0;
	margin: 15px auto;
	display: block;
	background: #c1272d;
}

.blockTtl4.en {
	margin-bottom: 5px;
	font-size: 50px;
	font-family: 'Noto Serif', serif;
}

.blockTtl4.en:after {
	bottom: -6px;
	margin-top: 0;
}





.sankaku_red {
	width: 0;
	height: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 20px solid #c1272d;
	border-right: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid transparent;
}



.blockTtl0 {
	position: relative;
	margin-bottom: 28px;
	margin-top: 80px;
	text-align: center;
	font-size: 3.5rem;
	font-weight: 500;
	color: #c1272d;
	font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", serif;

}

.sankaku_red1 {
	width: 0;
	height: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 30px solid #c1272d;
	border-right: 40px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 40px solid transparent;
}


#subTitle {
	clear: both;
	position: relative;
	margin-bottom: 50px;
	width: 90%;
	margin: 20px auto;
}

#subTitle .stitle {
	margin-bottom: 5px;
	font-size: 2.5rem;
	font-weight: 500;
	color: #333;
	line-height: 1.5em;
	text-align: center;
}

#subTitle .stitle2 {
	margin: 20px 15%;
	font-size: 2.5rem;
	font-weight: 500;
	color: #333;
	line-height: 1.5em;
	text-align: center;
	background: #c1272d;
	border-radius: 30px;
	padding: 10px;
	color: #fff;
	width: 70%;
}



#subTitle .stitle span {
	font-size: 4.5rem;
	color: #c1272d;
	font-weight: 600;
	padding: 0 15px;
	margin-top: 5px;
	line-height: 1.5;
}


#subTitle .text {
	margin-bottom: 2px;
	font-size: 1.4em;
	line-height: 1.47em;
}


#subTitle .titleSub1 {
	margin-bottom: 1px;
	font-size: 1.3em;
	color: #c1272d;
	font-weight: bold;
	text-align: center;
	border-bottom: 1px sloid #fff;
	padding-left: 60px;
}

#subTitle .titleSub2 {
	margin-bottom: 0px;
	font-size: 1.3em;
	color: #4d4d4d;
	/*c1272d*/
	font-weight: bold;
	text-align: left;
	border-bottom: 1px sloid #fff;
	padding-left: 10px;
}



.self-introduction-pictures img {
	width: 100%;
}




.ac-box {
	width: auto;
	margin: 30px auto 5px;
}

.ac-box label {
	max-width: 385px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	background: #f05689;
	margin: auto;
	line-height: 50px;
	position: relative;
	display: block;
	height: 50px;
	border-radius: 8px;
	cursor: pointer;
	color: #fff;
	transition: all 0.5s;
}

.ac-box label:hover {
	background: rgba(240, 86, 137, 0.55);
	-webkit-transition: all .3s;
	transition: all .3s;
}

.ac-box input {
	display: none;
}

.ac-box label:after {
	color: #fff;
	font-family: "FontAwesome";
	content: " \f078";
}

.ac-box input:checked~label::after {
	color: #fff;
	font-family: "FontAwesome";
	content: " \f077";
}

.ac-box div {
	height: 0px;
	padding: 0px;
	overflow: hidden;
	opacity: 0;
	transition: 0.5s;
}

.ac-box input:checked~div {
	height: auto;
	padding: 5px;
	background: #eaeaea;
	opacity: 1;
}

.ac-box div p {
	color: #777;
	line-height: 23px;
	font-size: 14px;
	padding: 20px;
	text-align: justify;
}

.ac-small p {
	margin-bottom: 0px;
}


.instructor_box {
	max-width: 1000px;
	margin: 0 auto;
	width: calc(100% - 20px);
}

.instructor_box .imgArea {
	overflow: hidden;
	position: relative;
	z-index: 1;
	/* background: #f7f6f6; */
	border: #ff8f33 3px solid;
	padding-bottom: 10px;
	margin-top: 50px;
	margin-bottom: 50px;
}

/* .instructor_box .imgArea:before {position: absolute;top: 0;right: 0;bottom: 0;left: 0;content: "";background: #fefefe;z-index: 5;opacity: 0;/* -webkit-transition: all 0.7s ease; */
-moz-transition: all 0.7s ease;
-o-transition: all 0.7s ease;
/* transition: all 0.7s ease; */
}

*/ .instructor_box .imgArea:hover:before {
	content: "";
	background: rgb(247, 244, 241);
	opacity: 0.1;
}

.instructor_box .imgArea img {
	-webkit-transition: all 0.7s ease;
	-moz-transition: all 0.7s ease;
	-o-transition: all 0.7s ease;
	transition: all 0.7s ease;
	width: 100%;
	padding: 1% 3%;
	float: left;
}

/*.instructor_box .imgArea:hover img { -webkit-transform: scale(1.1); -moz-transform: scale(1.1); -o-transform: scale(1.1); -ms-transform: scale(1.1); transform: scale(1.1); opacity: 1; }*/
/* span.plus */
.instructor_box .imgArea span.plus {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 50px;
	height: 50px;
	z-index: 6;
	overflow: hidden;
	text-indent: -999px;
}

.instructor_box .imgArea span.plus:before {
	position: absolute;
	top: 5%;
	left: 5%;
	margin-left: -25px;
	border-bottom: transparent 1px solid;
	width: 0px;
	height: 0;
	content: "";
}

.instructor_box .imgArea span.plus:after {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -25px;
	border-right: transparent 1px solid;
	height: 0;
	content: "";
}

.instructor_box .imgArea span.plus:before,
.instructor_box .imgArea span.plus:after {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.instructor_box .imgArea:hover span.plus:before {
	border-bottom: #fff 1px solid;
	width: 50px;
}

.instructor_box .imgArea:hover span.plus:after {
	border-right: #fff 1px solid;
	height: 50px;
}

/* --- .txtArea --- */
.instructor_box .txtArea {
	text-align: center;
}

.instructor_box .txtArea p.no {
	display: block;
	width: 50px;
	height: 50px;
	margin: -25px auto 0;
	background: #fefefe;
	font-size: 14px;
	/*font-family: 'Catamaran', sans-serif;*/
	font-weight: 700;
	line-height: 50px;
	letter-spacing: 1px;
	position: relative;
	z-index: 3;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

.instructor_box .txtArea p.no:after {
	position: absolute;
	top: -5px;
	left: -5px;
	right: -5px;
	bottom: -5px;
	content: "";
	border: #fefefe 1px solid;
	z-index: 10;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
}

.instructor_box h2 {
	font-size: 20px;
	letter-spacing: 1px;
	line-height: 1.7;
	margin-top: -5px;
	position: relative;
	z-index: 4;
	margin-top: 15px;
	padding: 0 2%;
	/* width: 64%; */
	float: left;
	font-weight: 600;
}

.instructor_box a h2 {
	color: #010590
}

.instructor_box h2 span {
	font-size: 23px;
	color: #de3039
}

.instructor_box h3 {
	font-size: 18px;
	line-height: 1.8;
	text-align: left;
}

.instructor_box p {
	font-size: 17px;
	letter-spacing: 1px;
	line-height: 1.5;
	margin-top: 5px;
	position: relative;
	z-index: 4;
	margin-top: 5px;
	padding: 0 2%;
	width: 100%;
	float: left;
	text-align: left;
}

.instructor_box p:before {
	width: 25px;
	font-size: 18px;
	text-align: left;
	font-family: 'themify';
	content: "\e60a";
	font-family: 'FontAwesome';
	content: "\f14a";
	font-weight: normal;
	color: #ff8f33;
	padding-right: 5px;
}

.instructor_box h4 {
	font-size: 17px;
	letter-spacing: 1px;
	line-height: 1.7;
	margin-top: -5px;
	position: relative;
	z-index: 10;
	margin-top: 0;
	padding: 1% 2%;
	/* width: 100%; */
	float: right;
	text-align: center;
	margin: 0 20px;
}

.instructor_box h1 {
	margin: 1%;
	/* background: #fde6e6; */
	color: #396800;
	font-size: 22px;
	letter-spacing: 1px;
	line-height: 1.7;
	position: relative;
	z-index: 10;
	padding: 1% 2%;
	/* width: 100%; */
	font-weight: 600;
	border-bottom: 1px solid #ddd;
	text-align: left;
}

.instructor_box h1:before {
	width: 25px;
	font-size: 25px;
	text-align: left;
	font-family: 'themify';
	content: "\e60a";
	font-family: 'FontAwesome';
	content: "\f005";
	font-weight: normal;
	padding-right: 5px;
}

@media (min-width : 600px) {
	.flex_movie {
		display: flex;
		/* 		flex-wrap: wrap; */
		flex-direction: row;
		width: 100%;
		/* max-width: 1200px; */
		/* justify-content: center; */
		/* å­è¦ç´ ã‚’flexboxã«ã‚ˆã‚Šä¸­å¤®ã«é…ç½®ã™ã‚‹ */
		/* align-items: center; */
		/* å­è¦ç´ ã‚’flexboxã«ã‚ˆã‚Šä¸­å¤®ã«é…ç½®ã™ã‚‹ */
		/* margin-bottom: 100px; */
	}

	.item_40 {
		width: 45%;
		padding: 2%;
	}

	.item_40 img {
		width: 100%;
		padding: 3%;
	}

	.item_60 {
		width: 54%;
		padding: 2%;
		text-align: left;
	}

	.item_60 img {
		width: 100%;
	}

	.item_40 .tTaisho,
	.item_60 .tTaisho {
		font-size: 20px;
		margin-bottom: 20px;
		font-weight: 600;
		margin-top: 0;
	}

	.item_60 .kyu {
		font-size: 16px;
		color: #000;
		font-weight: 500;
		border: 0px solid #ddd;
		padding: 1%;
		margin: 1%;
		background: #f0d174;
	}


	.item2 {
		width: 100%;
	}

	.item2 img {
		width: 50%;
	}

	.item p,
	.item2 p {
		/* text-align:left; */
		/* font-size: 17px; */
		/* font-weight:600; */
		/* line-height: 1.7; */
		/* padding: 2%; */
	}

	.item2_pic {
		background: #000;
		color: #fff;
		padding: 3px;
		position: absolute;
		top: -35px;
		padding: 1%;
		font-size: 18px;
		left: 40px;
	}

	.item2_picA {
		background: #ffb03f;
		color: #000;
		padding: 3px;
		position: absolute;
		top: -15px;
		padding: 2%;
		font-size: 18px;
	}

	.item2_txt {
		text-align: left;
		font-size: 16px;
		font-weight: 500;
		line-height: 2;
		padding: 2%;
		padding-top: 3%;
	}

	/* 	.item2_title span color:#fff; padding:5px;} */

}

#mainArea {
	width: 100%;
	max-width: 1000px;
	font-family: 'Noto Sans Japanese', "メイリオ", "Meiryo", serif;
}

.clickable .list-inline {
	padding-left: 10px;
	margin-left: 0px;
	/* text-align: center; */
}

.side .form-group {
	display: flex;
	align-items: baseline;
}

.side .form-group select,
.side .form-group #search_cond_self_introduction {
	width: 450px;
}

.side_second {
	display: flex;
}

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

	.side .form-group select,
	.side .form-group #search_cond_self_introduction {
		width: 200px;
	}
}

/* ---------------------------------------------------
sp_nav
------------------------------------------------------ */
#sp_nav,
#sp_nav-top {
	display: none;
}

@media screen and (max-width: 600px) {
	#sp_nav {
		display: block;
		width: 100%;
		position: fixed;
		bottom: 0;
		left: 0;
		background: #fff;
		z-index: 1;
	}

	#sp_nav ul {
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		width: 100%;
		font-size: 12px;
		flex-direction: row;
		padding-right: 70px;
		padding-left: 0;
		margin-top: 10px;
		margin-bottom: 10px;
		margin-bottom: 0;
		margin-top: 0;
		height: 50px;
		align-items: center;
	}

	#sp_nav li {
		-webkit-flex: 1 1 20%;
		-ms-flex: 1 1 20%;
		flex: 1 1 20%;
		text-align: center;
		height: 50px;
		line-height: 50px;
		background: #f7f6f6;
	}

	#sp_nav li a {
		color: #fff;
		display: block;
		padding: 0;
		text-align: center;
	}

	/* #sp_nav li a::before {
        content: ''; display: block;
        width: 40px; height: 40px; margin: 0 auto;
        background: no-repeat center center;
        -webkit-background-size: 100% auto;
        background-size: 100% auto;
    } */
	#sp_nav li a:hover {
		text-decoration: none;
	}

	#sp_nav li .icon_plan::before {
		/* background-image: url(../img/icon_plan_w.svg); */
		font-family: 'Font Awesome 6 pro';
		content: "\f133";
		font-size: 25px;
	}

	#sp_nav li .icon_access::before {
		/* background-image: url(../img/icon_access.svg); */
		font-family: ’’;
		font-family: 'Font Awesome 6 pro';
		content: "\f3c5";
		font-size: 25px;
	}

	#sp_nav li .icon_tel::before {
		/* background-image: url(../img/icon_tel_b.svg); */
		font-family: ’’;
		font-family: 'Font Awesome 6 pro';
		content: "\f095";
		font-size: 25px;
	}

	#sp_nav li #open_menu::before {
		/* background-image: url(../img/icon_menu.svg); */
		font-family: ’’;
		font-family: 'Font Awesome 6 pro';
		content: "\f0c9";
		font-size: 25px;
	}

	#sp_nav li img {
		max-width: 20px;
		max-height: 20px;
		vertical-align: middle;
	}


	#sp_nav li:nth-child(1) {
		background-color: #7ca7bc;
		color: #fff
	}

	#sp_nav li:nth-child(2) {
		background-color: #31708f;
	}

	#sp_nav li:nth-child(3) {
		background-color: #de7400;
	}

}

@media screen and (max-width: 600px) {
	#sp_nav-top {
		display: block;
		position: fixed;
		z-index: 2;
	}

	#sp_nav-top .open_menu::before {
		/* background-image: url(../img/icon_menu.svg); */
		font-family: ’’;
		font-family: 'Font Awesome 6 pro';
		content: "\f0c9";
		font-size: 25px;
	}

	#sp_nav-top {
		/* flex-basis: 40%; */
		/* background: url(../img/btn_bg.jpg) center top; */
		width: 70px;
		height: 70px;
		top: 0;
		right: 0;
		background: #fff;
		z-index: 0;
	}

	.open-menu {
		/* text-align: center; */
		/* position: relative; */
		/* width: 70px; */
		/* height: 70px; */
	}

	#sp_nav-top .open-menu a {
		display: block;
		/* padding: 5px 2px; */
		text-align: center;
		position: absolute;
		top: 0;
		/* right: 6px; */
		width: 70px;
		height: 70px;
	}

	#sp_nav-top .open-menu a::before {
		/* background-image: url(../img/icon_menu.svg); */
		font-family: ’’;
		font-family: 'Font Awesome 6 pro';
		content: "\f0c9";
		font-size: 25px;
		display: block;
		width: 40px;
		height: 40px;
		margin: 0 auto;
		background: no-repeat center center;
		-webkit-background-size: 100% auto;
		background-size: 100% auto;
	}

	#sp_nav-top li:first-child a {
		color: #fff;
	}
}

.boxInfo {
	position: relative;
	margin: 2em 0;
	padding: 2.5em 1.5em 2.0em;
	border: solid 3px #18274d;
	border-radius: 8px;
	/* max-width: 450px;
	width: 88%; */
}

.boxInfo .box-title {
	position: absolute;
	display: inline-block;
	top: -13px;
	left: 10px;
	padding: 0 9px;
	line-height: 1;
	font-size: 19px;
	background: #FFF;
	color: #18274d;
	font-weight: bold;
}

.boxInfo p {
	margin: 0;
	padding: 0;
	text-align: left;
	line-height: 2.2;
	font-size: 1.6rem;
}