@charset "utf-8";

.zen-dots-regular {
  font-family: "Zen Dots", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-antique-regular {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}


.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 20
}





/* --------------- base --------------- */



body{
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 16px;
	background-color: #FFF8F8;
}

.logo{
	font-size: 40px;
	font-weight: bold;
}

.logo:hover{
	opacity: 50%;
}

.contents{
	width: 1000px;
	margin-inline: auto;
}

header{
	background-color: #FFBCBC;
	width: 100%;
	height: 80px;
	position: fixed;
	z-index: 10000;
	top: 0;
	padding-block: 20px;
}

header .logo{
	float: left;
	padding-bottom: 10px;
}

header nav{
	float: right;
	padding-block: 10px;
}

header nav button{
	display: none;
}

header nav button{
	width: 50px;
	height: 50px;
	position: relative;
	z-index: 3;
	margin-right: 20px;
}

header nav span{
	width: 40px;
	height: 1px;
	background-color: #000;
	display: block;
	position: absolute;
	top: 15px;
}

header nav button .nav_button_top{
	top: 15px;
}

header nav button .nav_button_middle{
	top: 25px;
}

header nav button .nav_button_bottom{
	top: 35px;
}

header nav button .nav_button_top.open{
	transform: translate(0,12px) rotate(30deg);
	transition: transform .3s;
}

header nav button .nav_button_middle.open{
	opacity: 0;
	transition: opacity .3s;
}

header nav button .nav_button_bottom.open{
	transform: translate(0,-8px) rotate(-30deg);
	transition: transform .3s;
}

header nav ul::after{
	display: block;
	content: "";
	clear: both;
}

header nav li{
	float: left;
	font-weight: 500;
}

header nav li:first-of-type{
	margin-right: 80px;
}

header nav li:hover{
	opacity: 50%;
}

header::after{
	display: block;
	content: "";
	clear: both;
}

h1{
	font-size: 60px;
	font-weight: 600;
}

main{
	margin-top: 80px;
}

footer{
	background-color: #FFBCBC;
	width: 100%;
	text-align: center;
	font-weight: 600;
}

footer small{
	display: block;
	padding-block: 17px;
}





/* --------------- top --------------- */



.training-session-top .top-kv{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 150px;
}

.training-session-top .top-kv div:first-child{
	width: 605px;
}

.training-session-top .top-kv div:first-child div:first-child::before{
	display: inline-block;
	content: "";
	height: 74px;
	width: 32px;
	position: absolute;
	background-color: #FFBCBC;
}

.training-session-top .top-kv div:first-child div:first-child h1,
.training-session-top .top-kv div:first-child div:first-child p{
	padding-left: 52px;
}

.training-session-top .top-kv div:first-child div:first-child p{
	font-weight: 600;
}

.training-session-top .top-kv div:nth-child(2){
	width: 360px;
}

.training-session-top h1{
	font-family: "Zen Dots", sans-serif;
	font-size: 50px;
}

.training-session-top .top-kv div:first-child div p{
	font-size: 24px;
}

.training-session-top .top-kv>div>p{
	margin-top: 20px;
}

.training-session-top .top-kv>div>p strong{
	display: inline-block;
	padding-bottom: 15px;
}

h2::before{
	display: inline-block;
	content: "";
	height: 24px;
	width: 32px;
	position: relative;
	background-color: #FFBCBC;
	left: 0;
	top: 4px;
	margin-right: 20px;
}

h2{
	font-size: 24px;
	font-weight: 600;
	margin-block: 150px 20px;
}

.articles section:first-child p{
	margin-bottom: 15px;
	font-weight: 500;
}

.training-session-top dl{
	margin-block: 50px 150px;
}

.training-session-top dl::after{
	display: block;
	content: "";
	clear: both;
}

.training-session-top dt{
	font-size: 20px;
	font-weight: 600;
	padding-block: 25px;
	width: 170px;
	float: left;
}

.training-session-top dd{
	float: left;
	width: 830px;
	padding-block: 19px;
}

.contact-induction{
	width: 1000px;
	padding: 50px;
	background-color: #FFD2D2;
	margin-bottom: 150px;
}

.contact-induction p{
	width: 510px;
	margin-inline: auto;
}

.contact-induction p strong{
	display: block;
	text-align: center;
	padding-bottom: 15px;
	font-size: 20px;
}

.contact-induction p .material-symbols-outlined{
	vertical-align: -7.5px;
}


.contact-induction a{
	background-color: #FFF8F8;
	font-size: 20px;
	padding-block: 20px;
	width: 150px;
	display: block;
	margin: 50px auto 0 auto;
	text-align: center;
	transition-duration: 0.2s;
}

.contact-induction a:hover{
	background-color: #FFBCBC;
	color: #FFF;
}



/* --------------- company --------------- */

.content_box{
	border-left: 32px solid #FFBCBC;
	padding-left: 20px;
}

.training-session-company main{
	margin-block: 230px 150px;
}

.training-session-company main p{
	margin-top: 40px;
}

.training-session-company main p span{
	font-weight: 600;
	display: inline-block;
	margin-right: 20px;
}



/* --------------- contact --------------- */


.training-session-contact main{
	margin-block: 230px 150px;
}

.training-session-contact main p{
	margin-top: 10px;
}

.contact_list{
	background-color: #FFF;
	padding: 50px 30px;
	margin-top: 50px;
}

.contact_list ul{
	list-style-type: disc;
	font-size: 20px;
	padding-left: 30px;
}

.contact_list ul li:not(:first-child){
	margin-top: 15px;
}

.contact_list ul span{
	color: #D06262;
}

.privacypolicy div{
	height: 200px;
	padding: 15px;
	overflow: scroll;
	background-color: #FFF;
	margin-top: 15px;
}

.training-session-contact .mailtoui{
	text-align: center;
	padding-block: 20px;
	width: 200px;
	background-color: #FFBCBC;
	display: block;
	margin: 100px auto;
}

.training-session-contact .mailtoui:hover{
	background-color: #FFBCBC;
	color: #FFF;
}



/* --------------- Media Queri --------------- */



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

	.contents{
		width: 90%;
	}

	.training-session-top .top-kv div:first-child{
		width: 60%;
	}

	.training-session-top .top-kv div:nth-child(2){
		width: 30%;
	}

	.training-session-top .top-kv div:nth-child(2) img{
		width: 100%;
		height: auto;
	}

	.training-session-top .top-kv div:first-child div:first-child::before{
		height: 124px;
	}

	.training-session-top dt,
	.training-session-top dd{
		float: none;
		width: 100%;
		padding: 0px;
	}

	.training-session-top dt{
		margin: 50px 0 15px 0;
		display: flex;
		align-items: center;
	}

	.training-session-top dt::after{
		margin-left: 20px;
		border-top: 1px solid #000;
		content: "";
		flex-grow: 1;
	}

	.contact-induction{
		width: 100%;
	}
}

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

	h1{
		font-size: 36px;
	}

	.training-session-top h2{
		margin-top: 75px;
	}

	.training-session-top .top-kv{
		flex-direction: column;
	}

	.training-session-top .top-kv div:first-child,
	.training-session-top .top-kv div:nth-child(2){
		width: 100%;
	}

	.training-session-top .top-kv div:first-child div:first-child::before{
		height: 64px;
	}

	.training-session-top h1{
		font-size: 40px;
	}

	.training-session-top .top-kv div:nth-child(2){
		width: 80%;
		margin-top: 50px;
	}

	.contact-induction{
		padding: 35px;
	}

	.contact-induction p{
		width: 80%;
	}

	.contact-induction a{
		margin-top: 30px;
	}

	header nav{
		float: none;
	}

	header nav button{
		display: block;
	}

	header nav .nav_list{
		width: 100%;
		background-color: #FFD2D2;
		position: absolute;
		display: none;
		left: 0;
		text-align: center;
		z-index: 500;
		transition-duration: 0.3s;
	}

	header nav .nav_list.open{
		display: block;
		top: 80px;	}

	header nav li{
		float: none;
		padding-block: 30px;
	}

	header nav li:first-of-type{
		margin-right: 0;
		border-bottom: 2px dashed #000;
	}

	header nav button{
		position: absolute;
		right: 0;
		top: 10px;
		transition-duration: 0.3s;
	}

.nav_close.open{
		position: fixed;
		z-index: 8000;
		width: 100%;
		height: 100vh;
		background-color: rgba(255,255,255,0.5);
		transition-duration: 0.3s;
	}

	.training-session-company main p span{
		display: block;
		margin-bottom: 20px;
	}

	.content_box{
	border-left: 20px solid #FFBCBC;
	padding-left: 5px;
}
}

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

	.training-session-top h1{
		font-size: 36px;
	}

	.training-session-top .top-kv div:first-child div:first-child::before{
		height: 60px;
	}

	.contact-induction p{
		width: 80%;
	}

	.contact-induction{
		padding: 30px 0px;
	}
}

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

	.training-session-top h1{
		font-size: 28px;
	}

	.training-session-top .top-kv div:first-child div:first-child::before{
		height: 52px;
	}


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

	.training-session-top .top-kv div:first-child div:first-child::before{
		height: 80px;
	}

}