@charset "utf-8";
/* CSS Document */

/***********共通***********/

h3 {
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	color: var(--sub-color);
}

h4 {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}

h5{
	font-size:2rem;
	font-weight: bold;
	color: var(--sub-color);
	border-top: 1px solid;
	border-bottom: 2px solid;
	padding: 1rem 0.5rem 1rem;
	margin-top: 150px;
}

a{color: #0071bc;}

@media screen and (max-width: 430px){
	
	h3{
		line-height: 0;
		margin-top: 30px;
	}
}


/***********募集要項***********/

.tl {
	font-size: 1.8rem;
	font-weight: bold;
	border-left: solid 5px var(--sub-color);
	background: transparent;
	padding: 5px 10px;
	margin-top:50px;
}

table.recruit {
	width: 100%;
	margin: 3rem auto 7rem; 
	border-collapse: collapse ;
}

table.recruit caption {
    height: 3rem;
    padding: 0.5rem 1rem;
    font-family: var(--font-kana);
    border-left: 6px solid var(--accent-color); }

table.recruit th {
    background: aliceblue;
    white-space: nowrap;  
}

table.recruit th, table.recruit td {
    padding: 1rem;
    border: solid 1px #ccc;
}

table.recruit th dt, table.recruit td dt {margin-bottom: 1.2rem; }

table.recruit th dd, table.recruit td dd { font-size: 1.2rem; }

table.recruit th p, table.recruit td p {
	font-size: 1.2rem;
	margin-top: 1rem; 
}

table.recruit span{
	color: var(--sub-color);
}

table.recruit em{
	font-size: 1.2rem;
	font-style:normal;
	padding: 0 10px;
}

.entry_address {
	border: solid 1px #ccc;
	padding: 50px;
	margin:50px 0;
}

.entry_address h5{
	font-size:2rem;
	font-weight: bold;
	text-align: center;
	color: var(--sub-color);
	border-top: 1px solid;
	border-bottom: 2px solid;
	padding: 1rem 0.5rem 1rem;
	margin: 0 0 25px;
}

.entry_address p{
	margin: 10px 0;
}


.entry_address em{
	background: linear-gradient(transparent 60%, khaki 60%);
}

.entry_address ul{
	text-align: center;
}


@media screen and (max-width: 400px) {
	
	.entry_address {
		padding: 35px 15px;
	}
}

/***********スケジュール***********/


.orientation ul{
	border: solid 1px var(--sub-color);
	padding: 30px;
	margin-top: 50px;
}

.orientation li{
	margin: 30px 0;
}

.entry_flow{
	margin: 50px 0px 100px;
}

.entry_flow_tl{
	font-size: 1.25em;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	background-color: var(--sub-color);
	padding: 10px;
	margin-bottom: 50px;
}

.entry_flow .line{
	background:linear-gradient(transparent 50%, #ffff66 0%);
}


.flow {
	display: flex;
	align-items: center;
	margin-bottom: 50px;
}

.flow p{ margin-left: 10px;}

/***********教育・研修制度***********/

.tn{ margin: 100px 0 20px;}

.tn .title{
	font-family: var(--font-kana);
	font-size: 2rem;
	font-weight: bold;
	color: #FFF;
	background: linear-gradient(90deg, rgba(100, 124, 189, 1), rgba(0, 185, 239, 1));
	padding: 10px;
	margin: 100px 0 20px;
}

.tn img{
	width: 50%;
	height: auto;
}

.tn ul{
	font-family: var(--font-kana);
	list-style-type: disc;
	margin-bottom: 20px;
}

.tn li{
	font-size: 1.8rem;
}

.tn_l, .tn_r{
	display: flex;
	gap:2em;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 100px;
}

.tn_r{
	 -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media screen and (max-width: 768px){
	
	.tn img{
		width: 100%;
	}
	
	.tn_l, .tn_r{
		flex-wrap: wrap;
	}

}

/***********よくある質問***********/

.faq_all{
	margin: 100px 0;
}

.faq_all h3{
	font-weight: bold;
	color: #FFF;
	background-color: var(--sub-color);
	text-align: left;
	padding: 10px;
	margin: 50px 0 0;
}

.faq_all h4{
	font-size: 1.6rem;
	font-weight: bold;
	text-align: left;
	border-bottom: solid 3px #cce4ff;
	position: relative;
	margin-top: 20px;
}

.faq_all p{
	margin: 25px 0 50px;
}


.faq_all h4:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px var(--sub-color);
	bottom: -3px;
	width: 20%;
}




 @media screen and (max-width: 767px) {
	
.recruit_top_tl {
    margin: 5em 0 0;
}

table.recruit th, table.recruit td {display: block; }
	 
table.recruit th:not(.last-child), table.recruit td:not(.last-child) {border-bottom: none; } 
	 
table.recruit th dd, table.recruit td dd { margin: 0; }
	 
.flow{
	display: block;
	text-align: center;
}
	 
.flow p{
	text-align: left;
}
	 
.training_l, .training_r{
	display: block;
}
	 
.training_tl{
	margin: 50px 0 20px;
}
	 
.training_l img, .training_r img{
	width: 100%;
	height: auto;
	padding: 0px;
}

.training_l p, .training_r p{
	padding: 0px;
	margin-bottom: 100px;
}	 
	 
}


